Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(434)

Unified Diff: chrome/browser/extensions/system/system_api.cc

Issue 12089062: Move API functions registrations out of ExtensionFunctionRegistry. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/system/system_api.h ('k') | chrome/browser/extensions/system/system_apitest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/system/system_api.cc
===================================================================
--- chrome/browser/extensions/system/system_api.cc (revision 181773)
+++ chrome/browser/extensions/system/system_api.cc (working copy)
@@ -1,157 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/extensions/system/system_api.h"
-
-#include "base/prefs/pref_service.h"
-#include "base/values.h"
-#include "chrome/browser/browser_process.h"
-#include "chrome/browser/extensions/event_router_forwarder.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/common/pref_names.h"
-
-#if defined(OS_CHROMEOS)
-#include "chromeos/dbus/dbus_thread_manager.h"
-#include "chromeos/dbus/update_engine_client.h"
-#else
-#include "chrome/browser/upgrade_detector.h"
-#endif
-
-namespace {
-
-// Maps prefs::kIncognitoModeAvailability values (0 = enabled, ...)
-// to strings exposed to extensions.
-const char* kIncognitoModeAvailabilityStrings[] = {
- "enabled",
- "disabled",
- "forced"
-};
-
-// Property keys.
-const char kBrightnessKey[] = "brightness";
-const char kDownloadProgressKey[] = "downloadProgress";
-const char kIsVolumeMutedKey[] = "isVolumeMuted";
-const char kStateKey[] = "state";
-const char kUserInitiatedKey[] = "userInitiated";
-const char kVolumeKey[] = "volume";
-
-// System update states.
-const char kNotAvailableState[] = "NotAvailable";
-const char kUpdatingState[] = "Updating";
-const char kNeedRestartState[] = "NeedRestart";
-
-// Event names.
-const char kOnBrightnessChanged[] = "systemPrivate.onBrightnessChanged";
-const char kOnVolumeChanged[] = "systemPrivate.onVolumeChanged";
-const char kOnScreenUnlocked[] = "systemPrivate.onScreenUnlocked";
-const char kOnWokeUp[] = "systemPrivate.onWokeUp";
-
-// Dispatches an extension event with |argument|
-void DispatchEvent(const std::string& event_name, base::Value* argument) {
- scoped_ptr<base::ListValue> list_args(new base::ListValue());
- if (argument) {
- list_args->Append(argument);
- }
- g_browser_process->extension_event_router_forwarder()->
- BroadcastEventToRenderers(event_name, list_args.Pass(), GURL());
-}
-
-} // namespace
-
-namespace extensions {
-
-bool GetIncognitoModeAvailabilityFunction::RunImpl() {
- PrefService* prefs = profile_->GetPrefs();
- int value = prefs->GetInteger(prefs::kIncognitoModeAvailability);
- EXTENSION_FUNCTION_VALIDATE(
- value >= 0 &&
- value < static_cast<int>(arraysize(kIncognitoModeAvailabilityStrings)));
- SetResult(Value::CreateStringValue(kIncognitoModeAvailabilityStrings[value]));
- return true;
-}
-
-bool GetUpdateStatusFunction::RunImpl() {
- std::string state;
- double download_progress = 0;
-#if defined(OS_CHROMEOS)
- // With UpdateEngineClient, we can provide more detailed information about
- // system updates on ChromeOS.
- const chromeos::UpdateEngineClient::Status status =
- chromeos::DBusThreadManager::Get()->GetUpdateEngineClient()->
- GetLastStatus();
- // |download_progress| is set to 1 after download finishes
- // (i.e. verify, finalize and need-reboot phase) to indicate the progress
- // even though |status.download_progress| is 0 in these phases.
- switch (status.status) {
- case chromeos::UpdateEngineClient::UPDATE_STATUS_ERROR:
- state = kNotAvailableState;
- break;
- case chromeos::UpdateEngineClient::UPDATE_STATUS_IDLE:
- state = kNotAvailableState;
- break;
- case chromeos::UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE:
- state = kNotAvailableState;
- break;
- case chromeos::UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE:
- state = kUpdatingState;
- break;
- case chromeos::UpdateEngineClient::UPDATE_STATUS_DOWNLOADING:
- state = kUpdatingState;
- download_progress = status.download_progress;
- break;
- case chromeos::UpdateEngineClient::UPDATE_STATUS_VERIFYING:
- state = kUpdatingState;
- download_progress = 1;
- break;
- case chromeos::UpdateEngineClient::UPDATE_STATUS_FINALIZING:
- state = kUpdatingState;
- download_progress = 1;
- break;
- case chromeos::UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT:
- state = kNeedRestartState;
- download_progress = 1;
- break;
- case chromeos::UpdateEngineClient::UPDATE_STATUS_REPORTING_ERROR_EVENT:
- state = kNotAvailableState;
- break;
- }
-#else
- if (UpgradeDetector::GetInstance()->notify_upgrade()) {
- state = kNeedRestartState;
- download_progress = 1;
- } else {
- state = kNotAvailableState;
- }
-#endif
- DictionaryValue* dict = new DictionaryValue();
- dict->SetString(kStateKey, state);
- dict->SetDouble(kDownloadProgressKey, download_progress);
- SetResult(dict);
-
- return true;
-}
-
-void DispatchVolumeChangedEvent(double volume, bool is_volume_muted) {
- DictionaryValue* dict = new DictionaryValue();
- dict->SetDouble(kVolumeKey, volume);
- dict->SetBoolean(kIsVolumeMutedKey, is_volume_muted);
- DispatchEvent(kOnVolumeChanged, dict);
-}
-
-void DispatchBrightnessChangedEvent(int brightness, bool user_initiated) {
- DictionaryValue* dict = new DictionaryValue();
- dict->SetInteger(kBrightnessKey, brightness);
- dict->SetBoolean(kUserInitiatedKey, user_initiated);
- DispatchEvent(kOnBrightnessChanged, dict);
-}
-
-void DispatchScreenUnlockedEvent() {
- DispatchEvent(kOnScreenUnlocked, NULL);
-}
-
-void DispatchWokeUpEvent() {
- DispatchEvent(kOnWokeUp, NULL);
-}
-
-} // namespace extensions
« no previous file with comments | « chrome/browser/extensions/system/system_api.h ('k') | chrome/browser/extensions/system/system_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698