OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/webui/help/help_handler.h" | 5 #include "chrome/browser/ui/webui/help/help_handler.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 29 matching lines...) Expand all Loading... | |
40 #include "ui/base/l10n/l10n_util.h" | 40 #include "ui/base/l10n/l10n_util.h" |
41 #include "v8/include/v8.h" | 41 #include "v8/include/v8.h" |
42 | 42 |
43 #if defined(OS_MACOSX) | 43 #if defined(OS_MACOSX) |
44 #include "chrome/browser/mac/obsolete_system.h" | 44 #include "chrome/browser/mac/obsolete_system.h" |
45 #endif | 45 #endif |
46 | 46 |
47 #if defined(OS_CHROMEOS) | 47 #if defined(OS_CHROMEOS) |
48 #include "base/files/file_util_proxy.h" | 48 #include "base/files/file_util_proxy.h" |
49 #include "base/i18n/time_formatting.h" | 49 #include "base/i18n/time_formatting.h" |
50 #include "base/path_service.h" | |
50 #include "base/prefs/pref_service.h" | 51 #include "base/prefs/pref_service.h" |
51 #include "base/sys_info.h" | 52 #include "base/sys_info.h" |
53 #include "base/task_runner_util.h" | |
52 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h" | 54 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h" |
53 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos_fact ory.h" | 55 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos_fact ory.h" |
54 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" | 56 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
55 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 57 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
56 #include "chrome/browser/chromeos/settings/cros_settings.h" | 58 #include "chrome/browser/chromeos/settings/cros_settings.h" |
57 #include "chrome/browser/profiles/profile.h" | 59 #include "chrome/browser/profiles/profile.h" |
58 #include "chrome/browser/ui/webui/chromeos/image_source.h" | 60 #include "chrome/browser/ui/webui/chromeos/image_source.h" |
59 #include "chrome/browser/ui/webui/help/help_utils_chromeos.h" | 61 #include "chrome/browser/ui/webui/help/help_utils_chromeos.h" |
60 #include "chrome/browser/ui/webui/help/version_updater_chromeos.h" | 62 #include "chrome/browser/ui/webui/help/version_updater_chromeos.h" |
63 #include "chromeos/chromeos_paths.h" | |
61 #include "chromeos/chromeos_switches.h" | 64 #include "chromeos/chromeos_switches.h" |
62 #include "chromeos/dbus/dbus_thread_manager.h" | 65 #include "chromeos/dbus/dbus_thread_manager.h" |
63 #include "chromeos/dbus/power_manager_client.h" | 66 #include "chromeos/dbus/power_manager_client.h" |
64 #include "components/user_manager/user_manager.h" | 67 #include "components/user_manager/user_manager.h" |
65 #endif | 68 #endif |
66 | 69 |
67 using base::ListValue; | 70 using base::ListValue; |
68 using content::BrowserThread; | 71 using content::BrowserThread; |
69 | 72 |
70 namespace { | 73 namespace { |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
119 chromeos::OwnerSettingsServiceChromeOSFactory::GetInstance() | 122 chromeos::OwnerSettingsServiceChromeOSFactory::GetInstance() |
120 ->GetForBrowserContext(profile); | 123 ->GetForBrowserContext(profile); |
121 // On non managed machines we have local owner who is the only one to change | 124 // On non managed machines we have local owner who is the only one to change |
122 // anything. Ensure that ReleaseChannelDelegated is false. | 125 // anything. Ensure that ReleaseChannelDelegated is false. |
123 if (service && service->IsOwner()) | 126 if (service && service->IsOwner()) |
124 return !value; | 127 return !value; |
125 } | 128 } |
126 return false; | 129 return false; |
127 } | 130 } |
128 | 131 |
132 // Reads the file containing the FCC label text, if found. | |
stevenjb
2014/12/05 23:28:07
nit: Comment that this is called from the blocking
michaelpg
2014/12/08 00:58:19
Done.
| |
133 std::string ReadFCCLabelText() { | |
134 base::FilePath shared_assets_dir; | |
135 std::string contents; | |
136 if (PathService::Get(chromeos::DIR_SHARED_ASSETS, &shared_assets_dir) && | |
satorux1
2014/12/08 00:43:57
Why not just use chrome::kChromeOSAssetPath?
Some
michaelpg
2014/12/08 00:58:19
I don't know whether it would be better to use chr
satorux1
2014/12/08 01:12:27
I'd suggest to keep using chrome::kChromeOSAssetPa
michaelpg
2014/12/08 21:14:57
Done.
| |
137 base::ReadFileToString(shared_assets_dir.AppendASCII(kFCCLabelTextPath), | |
138 &contents)) { | |
139 return contents; | |
140 } | |
141 return std::string(); | |
142 } | |
143 | |
129 #endif // defined(OS_CHROMEOS) | 144 #endif // defined(OS_CHROMEOS) |
130 | 145 |
131 } // namespace | 146 } // namespace |
132 | 147 |
133 HelpHandler::HelpHandler() | 148 HelpHandler::HelpHandler() |
134 : version_updater_(VersionUpdater::Create(nullptr)), weak_factory_(this) { | 149 : version_updater_(VersionUpdater::Create(nullptr)), weak_factory_(this) { |
135 } | 150 } |
136 | 151 |
137 HelpHandler::~HelpHandler() { | 152 HelpHandler::~HelpHandler() { |
138 } | 153 } |
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
396 "help.HelpPage.updateIsEnterpriseManaged", | 411 "help.HelpPage.updateIsEnterpriseManaged", |
397 base::FundamentalValue(IsEnterpriseManaged())); | 412 base::FundamentalValue(IsEnterpriseManaged())); |
398 // First argument to GetChannel() is a flag that indicates whether | 413 // First argument to GetChannel() is a flag that indicates whether |
399 // current channel should be returned (if true) or target channel | 414 // current channel should be returned (if true) or target channel |
400 // (otherwise). | 415 // (otherwise). |
401 version_updater_->GetChannel(true, | 416 version_updater_->GetChannel(true, |
402 base::Bind(&HelpHandler::OnCurrentChannel, weak_factory_.GetWeakPtr())); | 417 base::Bind(&HelpHandler::OnCurrentChannel, weak_factory_.GetWeakPtr())); |
403 version_updater_->GetChannel(false, | 418 version_updater_->GetChannel(false, |
404 base::Bind(&HelpHandler::OnTargetChannel, weak_factory_.GetWeakPtr())); | 419 base::Bind(&HelpHandler::OnTargetChannel, weak_factory_.GetWeakPtr())); |
405 | 420 |
406 BrowserThread::PostTask( | 421 base::PostTaskAndReplyWithResult( |
407 BrowserThread::FILE, FROM_HERE, | 422 content::BrowserThread::GetBlockingPool(), |
408 base::Bind(&HelpHandler::LoadFCCLabelText, weak_factory_.GetWeakPtr())); | 423 FROM_HERE, |
424 base::Bind(&ReadFCCLabelText), | |
425 base::Bind(&HelpHandler::OnFCCLabelTextRead, | |
426 weak_factory_.GetWeakPtr())); | |
409 #endif | 427 #endif |
410 } | 428 } |
411 | 429 |
412 #if defined(OS_MACOSX) | 430 #if defined(OS_MACOSX) |
413 void HelpHandler::PromoteUpdater(const base::ListValue* args) { | 431 void HelpHandler::PromoteUpdater(const base::ListValue* args) { |
414 version_updater_->PromoteUpdater(); | 432 version_updater_->PromoteUpdater(); |
415 } | 433 } |
416 #endif | 434 #endif |
417 | 435 |
418 void HelpHandler::RelaunchNow(const base::ListValue* args) { | 436 void HelpHandler::RelaunchNow(const base::ListValue* args) { |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
580 void HelpHandler::OnCurrentChannel(const std::string& channel) { | 598 void HelpHandler::OnCurrentChannel(const std::string& channel) { |
581 web_ui()->CallJavascriptFunction( | 599 web_ui()->CallJavascriptFunction( |
582 "help.HelpPage.updateCurrentChannel", base::StringValue(channel)); | 600 "help.HelpPage.updateCurrentChannel", base::StringValue(channel)); |
583 } | 601 } |
584 | 602 |
585 void HelpHandler::OnTargetChannel(const std::string& channel) { | 603 void HelpHandler::OnTargetChannel(const std::string& channel) { |
586 web_ui()->CallJavascriptFunction( | 604 web_ui()->CallJavascriptFunction( |
587 "help.HelpPage.updateTargetChannel", base::StringValue(channel)); | 605 "help.HelpPage.updateTargetChannel", base::StringValue(channel)); |
588 } | 606 } |
589 | 607 |
590 void HelpHandler::LoadFCCLabelText() { | 608 void HelpHandler::OnFCCLabelTextRead(std::string text) { |
591 base::FilePath path(std::string(chrome::kChromeOSAssetPath) + | 609 // Remove unnecessary whitespace. |
592 kFCCLabelTextPath); | 610 text = base::CollapseWhitespaceASCII(text, true); |
593 std::string contents; | 611 if (text.empty()) |
594 if (base::ReadFileToString(path, &contents)) { | 612 return; |
595 // Remove unnecessary whitespace. | 613 base::StringValue label(text); |
596 base::StringValue label(base::CollapseWhitespaceASCII(contents, true)); | 614 web_ui()->CallJavascriptFunction("help.HelpPage.setProductLabelText", label); |
597 web_ui()->CallJavascriptFunction("help.HelpPage.setProductLabelText", | |
598 label); | |
599 } | |
600 } | 615 } |
601 | 616 |
602 #endif // defined(OS_CHROMEOS) | 617 #endif // defined(OS_CHROMEOS) |
OLD | NEW |