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