| OLD | NEW |
| 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 <utility> | |
| 8 | |
| 9 #include "base/memory/ptr_util.h" | |
| 10 #include "base/values.h" | 7 #include "base/values.h" |
| 11 #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" |
| 12 #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" |
| 13 #include "chrome/browser/extensions/chrome_extension_function.h" | 10 #include "chrome/browser/extensions/chrome_extension_function.h" |
| 14 #include "chrome/browser/profiles/profile.h" | 11 #include "chrome/browser/profiles/profile.h" |
| 15 #include "chrome/browser/ui/zoom/chrome_zoom_level_prefs.h" | 12 #include "chrome/browser/ui/zoom/chrome_zoom_level_prefs.h" |
| 16 #include "chrome/common/extensions/api/settings_private.h" | 13 #include "chrome/common/extensions/api/settings_private.h" |
| 17 #include "content/public/common/page_zoom.h" | 14 #include "content/public/common/page_zoom.h" |
| 18 #include "extensions/browser/extension_function_registry.h" | 15 #include "extensions/browser/extension_function_registry.h" |
| 19 | 16 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 37 | 34 |
| 38 SettingsPrivateDelegate* delegate = | 35 SettingsPrivateDelegate* delegate = |
| 39 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context()); | 36 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context()); |
| 40 if (delegate == nullptr) | 37 if (delegate == nullptr) |
| 41 return RespondNow(Error(kDelegateIsNull)); | 38 return RespondNow(Error(kDelegateIsNull)); |
| 42 | 39 |
| 43 PrefsUtil::SetPrefResult result = | 40 PrefsUtil::SetPrefResult result = |
| 44 delegate->SetPref(parameters->name, parameters->value.get()); | 41 delegate->SetPref(parameters->name, parameters->value.get()); |
| 45 switch (result) { | 42 switch (result) { |
| 46 case PrefsUtil::SUCCESS: | 43 case PrefsUtil::SUCCESS: |
| 47 return RespondNow( | 44 return RespondNow(OneArgument(new base::FundamentalValue(true))); |
| 48 OneArgument(base::MakeUnique<base::FundamentalValue>(true))); | |
| 49 case PrefsUtil::PREF_NOT_MODIFIABLE: | 45 case PrefsUtil::PREF_NOT_MODIFIABLE: |
| 50 // Not an error, but return false to indicate setting the pref failed. | 46 // Not an error, but return false to indicate setting the pref failed. |
| 51 return RespondNow( | 47 return RespondNow(OneArgument(new base::FundamentalValue(false))); |
| 52 OneArgument(base::MakeUnique<base::FundamentalValue>(false))); | |
| 53 case PrefsUtil::PREF_NOT_FOUND: | 48 case PrefsUtil::PREF_NOT_FOUND: |
| 54 return RespondNow(Error("Pref not found: *", parameters->name)); | 49 return RespondNow(Error("Pref not found: *", parameters->name)); |
| 55 case PrefsUtil::PREF_TYPE_MISMATCH: | 50 case PrefsUtil::PREF_TYPE_MISMATCH: |
| 56 return RespondNow(Error("Incorrect type used for value of pref *", | 51 return RespondNow(Error("Incorrect type used for value of pref *", |
| 57 parameters->name)); | 52 parameters->name)); |
| 58 case PrefsUtil::PREF_TYPE_UNSUPPORTED: | 53 case PrefsUtil::PREF_TYPE_UNSUPPORTED: |
| 59 return RespondNow(Error("Unsupported type used for value of pref *", | 54 return RespondNow(Error("Unsupported type used for value of pref *", |
| 60 parameters->name)); | 55 parameters->name)); |
| 61 } | 56 } |
| 62 NOTREACHED(); | 57 NOTREACHED(); |
| 63 return RespondNow( | 58 return RespondNow(OneArgument(new base::FundamentalValue(false))); |
| 64 OneArgument(base::MakeUnique<base::FundamentalValue>(false))); | |
| 65 } | 59 } |
| 66 | 60 |
| 67 //////////////////////////////////////////////////////////////////////////////// | 61 //////////////////////////////////////////////////////////////////////////////// |
| 68 // SettingsPrivateGetAllPrefsFunction | 62 // SettingsPrivateGetAllPrefsFunction |
| 69 //////////////////////////////////////////////////////////////////////////////// | 63 //////////////////////////////////////////////////////////////////////////////// |
| 70 | 64 |
| 71 SettingsPrivateGetAllPrefsFunction::~SettingsPrivateGetAllPrefsFunction() { | 65 SettingsPrivateGetAllPrefsFunction::~SettingsPrivateGetAllPrefsFunction() { |
| 72 } | 66 } |
| 73 | 67 |
| 74 ExtensionFunction::ResponseAction SettingsPrivateGetAllPrefsFunction::Run() { | 68 ExtensionFunction::ResponseAction SettingsPrivateGetAllPrefsFunction::Run() { |
| 75 SettingsPrivateDelegate* delegate = | 69 SettingsPrivateDelegate* delegate = |
| 76 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context()); | 70 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context()); |
| 77 | 71 |
| 78 if (delegate == nullptr) | 72 if (delegate == nullptr) |
| 79 return RespondNow(Error(kDelegateIsNull)); | 73 return RespondNow(Error(kDelegateIsNull)); |
| 80 else | 74 else |
| 81 return RespondNow(OneArgument(delegate->GetAllPrefs())); | 75 return RespondNow(OneArgument(delegate->GetAllPrefs().release())); |
| 82 } | 76 } |
| 83 | 77 |
| 84 //////////////////////////////////////////////////////////////////////////////// | 78 //////////////////////////////////////////////////////////////////////////////// |
| 85 // SettingsPrivateGetPrefFunction | 79 // SettingsPrivateGetPrefFunction |
| 86 //////////////////////////////////////////////////////////////////////////////// | 80 //////////////////////////////////////////////////////////////////////////////// |
| 87 | 81 |
| 88 SettingsPrivateGetPrefFunction::~SettingsPrivateGetPrefFunction() { | 82 SettingsPrivateGetPrefFunction::~SettingsPrivateGetPrefFunction() { |
| 89 } | 83 } |
| 90 | 84 |
| 91 ExtensionFunction::ResponseAction SettingsPrivateGetPrefFunction::Run() { | 85 ExtensionFunction::ResponseAction SettingsPrivateGetPrefFunction::Run() { |
| 92 std::unique_ptr<api::settings_private::GetPref::Params> parameters = | 86 std::unique_ptr<api::settings_private::GetPref::Params> parameters = |
| 93 api::settings_private::GetPref::Params::Create(*args_); | 87 api::settings_private::GetPref::Params::Create(*args_); |
| 94 EXTENSION_FUNCTION_VALIDATE(parameters.get()); | 88 EXTENSION_FUNCTION_VALIDATE(parameters.get()); |
| 95 | 89 |
| 96 SettingsPrivateDelegate* delegate = | 90 SettingsPrivateDelegate* delegate = |
| 97 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context()); | 91 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context()); |
| 98 if (delegate == nullptr) | 92 if (delegate == nullptr) |
| 99 return RespondNow(Error(kDelegateIsNull)); | 93 return RespondNow(Error(kDelegateIsNull)); |
| 100 | 94 |
| 101 std::unique_ptr<base::Value> value = delegate->GetPref(parameters->name); | 95 std::unique_ptr<base::Value> value = delegate->GetPref(parameters->name); |
| 102 if (value->IsType(base::Value::TYPE_NULL)) | 96 if (value->IsType(base::Value::TYPE_NULL)) |
| 103 return RespondNow(Error("Pref * does not exist", parameters->name)); | 97 return RespondNow(Error("Pref * does not exist", parameters->name)); |
| 104 else | 98 else |
| 105 return RespondNow(OneArgument(std::move(value))); | 99 return RespondNow(OneArgument(value.release())); |
| 106 } | 100 } |
| 107 | 101 |
| 108 //////////////////////////////////////////////////////////////////////////////// | 102 //////////////////////////////////////////////////////////////////////////////// |
| 109 // SettingsPrivateGetDefaultZoomPercentFunction | 103 // SettingsPrivateGetDefaultZoomPercentFunction |
| 110 //////////////////////////////////////////////////////////////////////////////// | 104 //////////////////////////////////////////////////////////////////////////////// |
| 111 | 105 |
| 112 SettingsPrivateGetDefaultZoomPercentFunction:: | 106 SettingsPrivateGetDefaultZoomPercentFunction:: |
| 113 ~SettingsPrivateGetDefaultZoomPercentFunction() { | 107 ~SettingsPrivateGetDefaultZoomPercentFunction() { |
| 114 } | 108 } |
| 115 | 109 |
| 116 ExtensionFunction::ResponseAction | 110 ExtensionFunction::ResponseAction |
| 117 SettingsPrivateGetDefaultZoomPercentFunction::Run() { | 111 SettingsPrivateGetDefaultZoomPercentFunction::Run() { |
| 118 SettingsPrivateDelegate* delegate = | 112 SettingsPrivateDelegate* delegate = |
| 119 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context()); | 113 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context()); |
| 120 | 114 |
| 121 if (delegate == nullptr) | 115 if (delegate == nullptr) |
| 122 return RespondNow(Error(kDelegateIsNull)); | 116 return RespondNow(Error(kDelegateIsNull)); |
| 123 else | 117 else |
| 124 return RespondNow(OneArgument(delegate->GetDefaultZoomPercent())); | 118 return RespondNow(OneArgument(delegate->GetDefaultZoomPercent().release())); |
| 125 } | 119 } |
| 126 | 120 |
| 127 //////////////////////////////////////////////////////////////////////////////// | 121 //////////////////////////////////////////////////////////////////////////////// |
| 128 // SettingsPrivateSetDefaultZoomPercentFunction | 122 // SettingsPrivateSetDefaultZoomPercentFunction |
| 129 //////////////////////////////////////////////////////////////////////////////// | 123 //////////////////////////////////////////////////////////////////////////////// |
| 130 | 124 |
| 131 SettingsPrivateSetDefaultZoomPercentFunction:: | 125 SettingsPrivateSetDefaultZoomPercentFunction:: |
| 132 ~SettingsPrivateSetDefaultZoomPercentFunction() { | 126 ~SettingsPrivateSetDefaultZoomPercentFunction() { |
| 133 } | 127 } |
| 134 | 128 |
| 135 ExtensionFunction::ResponseAction | 129 ExtensionFunction::ResponseAction |
| 136 SettingsPrivateSetDefaultZoomPercentFunction::Run() { | 130 SettingsPrivateSetDefaultZoomPercentFunction::Run() { |
| 137 std::unique_ptr<api::settings_private::SetDefaultZoomPercent::Params> | 131 std::unique_ptr<api::settings_private::SetDefaultZoomPercent::Params> |
| 138 parameters = | 132 parameters = |
| 139 api::settings_private::SetDefaultZoomPercent::Params::Create(*args_); | 133 api::settings_private::SetDefaultZoomPercent::Params::Create(*args_); |
| 140 EXTENSION_FUNCTION_VALIDATE(parameters.get()); | 134 EXTENSION_FUNCTION_VALIDATE(parameters.get()); |
| 141 | 135 |
| 142 SettingsPrivateDelegate* delegate = | 136 SettingsPrivateDelegate* delegate = |
| 143 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context()); | 137 SettingsPrivateDelegateFactory::GetForBrowserContext(browser_context()); |
| 144 if (delegate == nullptr) | 138 if (delegate == nullptr) |
| 145 return RespondNow(Error(kDelegateIsNull)); | 139 return RespondNow(Error(kDelegateIsNull)); |
| 146 | 140 |
| 147 delegate->SetDefaultZoomPercent(parameters->percent); | 141 delegate->SetDefaultZoomPercent(parameters->percent); |
| 148 return RespondNow( | 142 return RespondNow(OneArgument(new base::FundamentalValue(true))); |
| 149 OneArgument(base::MakeUnique<base::FundamentalValue>(true))); | |
| 150 } | 143 } |
| 151 | 144 |
| 152 } // namespace extensions | 145 } // namespace extensions |
| OLD | NEW |