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

Side by Side Diff: chrome/browser/extensions/api/settings_private/settings_private_api.cc

Issue 1287913005: Refactor prefs.js for MD-Settings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add return after switch for non-clang Created 5 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/extensions/api/settings_private/settings_private_api.h" 5 #include "chrome/browser/extensions/api/settings_private/settings_private_api.h"
6 6
7 #include "base/values.h" 7 #include "base/values.h"
8 #include "chrome/browser/extensions/api/settings_private/settings_private_delega te.h" 8 #include "chrome/browser/extensions/api/settings_private/settings_private_delega te.h"
9 #include "chrome/browser/extensions/api/settings_private/settings_private_delega te_factory.h" 9 #include "chrome/browser/extensions/api/settings_private/settings_private_delega te_factory.h"
10 #include "chrome/browser/extensions/chrome_extension_function.h" 10 #include "chrome/browser/extensions/chrome_extension_function.h"
(...skipping 11 matching lines...) Expand all
22 } 22 }
23 23
24 ExtensionFunction::ResponseAction SettingsPrivateSetPrefFunction::Run() { 24 ExtensionFunction::ResponseAction SettingsPrivateSetPrefFunction::Run() {
25 scoped_ptr<api::settings_private::SetPref::Params> parameters = 25 scoped_ptr<api::settings_private::SetPref::Params> parameters =
26 api::settings_private::SetPref::Params::Create(*args_); 26 api::settings_private::SetPref::Params::Create(*args_);
27 EXTENSION_FUNCTION_VALIDATE(parameters.get()); 27 EXTENSION_FUNCTION_VALIDATE(parameters.get());
28 28
29 SettingsPrivateDelegate* delegate = 29 SettingsPrivateDelegate* delegate =
30 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context()); 30 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context());
31 31
32 return RespondNow(OneArgument(new base::FundamentalValue( 32 PrefsUtil::SetPrefResult result =
33 delegate->SetPref(parameters->name, parameters->value.get())))); 33 delegate->SetPref(parameters->name, parameters->value.get());
34 switch (result) {
35 case PrefsUtil::SUCCESS:
36 return RespondNow(OneArgument(new base::FundamentalValue(true)));
37 case PrefsUtil::PREF_NOT_MODIFIABLE:
38 // Not an error, but return false to indicate setting the pref failed.
39 return RespondNow(OneArgument(new base::FundamentalValue(false)));
40 case PrefsUtil::PREF_NOT_FOUND:
41 return RespondNow(Error("Pref not found: *", parameters->name));
42 case PrefsUtil::PREF_TYPE_MISMATCH:
43 return RespondNow(Error("Incorrect type used for value of pref *",
44 parameters->name));
45 case PrefsUtil::PREF_TYPE_UNSUPPORTED:
46 return RespondNow(Error("Unsupported type used for value of pref *",
47 parameters->name));
48 }
49 NOTREACHED();
50 return RespondNow(OneArgument(new base::FundamentalValue(false)));
34 } 51 }
35 52
36
37 //////////////////////////////////////////////////////////////////////////////// 53 ////////////////////////////////////////////////////////////////////////////////
38 // SettingsPrivateGetAllPrefsFunction 54 // SettingsPrivateGetAllPrefsFunction
39 //////////////////////////////////////////////////////////////////////////////// 55 ////////////////////////////////////////////////////////////////////////////////
40 56
41 SettingsPrivateGetAllPrefsFunction::~SettingsPrivateGetAllPrefsFunction() { 57 SettingsPrivateGetAllPrefsFunction::~SettingsPrivateGetAllPrefsFunction() {
42 } 58 }
43 59
44 ExtensionFunction::ResponseAction SettingsPrivateGetAllPrefsFunction::Run() { 60 ExtensionFunction::ResponseAction SettingsPrivateGetAllPrefsFunction::Run() {
45 SettingsPrivateDelegate* delegate = 61 SettingsPrivateDelegate* delegate =
46 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context()); 62 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context());
(...skipping 17 matching lines...) Expand all
64 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context()); 80 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context());
65 81
66 scoped_ptr<base::Value> value = delegate->GetPref(parameters->name); 82 scoped_ptr<base::Value> value = delegate->GetPref(parameters->name);
67 if (value->IsType(base::Value::TYPE_NULL)) 83 if (value->IsType(base::Value::TYPE_NULL))
68 return RespondNow(Error("Pref * does not exist", parameters->name)); 84 return RespondNow(Error("Pref * does not exist", parameters->name));
69 else 85 else
70 return RespondNow(OneArgument(value.release())); 86 return RespondNow(OneArgument(value.release()));
71 } 87 }
72 88
73 } // namespace extensions 89 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698