| 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/passwords_private/passwords_private_api.
    h" | 5 #include "chrome/browser/extensions/api/passwords_private/passwords_private_api.
    h" | 
| 6 | 6 | 
| 7 #include "base/values.h" | 7 #include "base/values.h" | 
| 8 #include "chrome/browser/extensions/api/passwords_private/passwords_private_dele
    gate_factory.h" | 8 #include "chrome/browser/extensions/api/passwords_private/passwords_private_dele
    gate_factory.h" | 
| 9 #include "chrome/common/extensions/api/passwords_private.h" | 9 #include "chrome/common/extensions/api/passwords_private.h" | 
| 10 #include "components/password_manager/core/common/experiments.h" | 10 #include "components/password_manager/core/common/experiments.h" | 
| 11 #include "content/public/browser/web_contents.h" | 11 #include "content/public/browser/web_contents.h" | 
| 12 #include "extensions/browser/extension_function_registry.h" | 12 #include "extensions/browser/extension_function_registry.h" | 
| 13 | 13 | 
| 14 namespace extensions { | 14 namespace extensions { | 
| 15 | 15 | 
| 16 //////////////////////////////////////////////////////////////////////////////// | 16 //////////////////////////////////////////////////////////////////////////////// | 
| 17 // PasswordsPrivateRemoveSavedPasswordFunction | 17 // PasswordsPrivateRemoveSavedPasswordFunction | 
| 18 | 18 | 
| 19 PasswordsPrivateRemoveSavedPasswordFunction:: | 19 PasswordsPrivateRemoveSavedPasswordFunction:: | 
| 20     ~PasswordsPrivateRemoveSavedPasswordFunction() {} | 20     ~PasswordsPrivateRemoveSavedPasswordFunction() {} | 
| 21 | 21 | 
| 22 ExtensionFunction::ResponseAction | 22 ExtensionFunction::ResponseAction | 
| 23     PasswordsPrivateRemoveSavedPasswordFunction::Run() { | 23     PasswordsPrivateRemoveSavedPasswordFunction::Run() { | 
| 24   scoped_ptr<api::passwords_private::RemoveSavedPassword::Params> | 24   std::unique_ptr<api::passwords_private::RemoveSavedPassword::Params> | 
| 25       parameters = api::passwords_private::RemoveSavedPassword::Params:: | 25       parameters = | 
| 26           Create(*args_); | 26           api::passwords_private::RemoveSavedPassword::Params::Create(*args_); | 
| 27   EXTENSION_FUNCTION_VALIDATE(parameters.get()); | 27   EXTENSION_FUNCTION_VALIDATE(parameters.get()); | 
| 28 | 28 | 
| 29   PasswordsPrivateDelegate* delegate = | 29   PasswordsPrivateDelegate* delegate = | 
| 30       PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(), | 30       PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(), | 
| 31                                                             true /* create */); | 31                                                             true /* create */); | 
| 32   delegate->RemoveSavedPassword( | 32   delegate->RemoveSavedPassword( | 
| 33       parameters->login_pair.origin_url, | 33       parameters->login_pair.origin_url, | 
| 34       parameters->login_pair.username); | 34       parameters->login_pair.username); | 
| 35 | 35 | 
| 36   return RespondNow(NoArguments()); | 36   return RespondNow(NoArguments()); | 
| 37 } | 37 } | 
| 38 | 38 | 
| 39 //////////////////////////////////////////////////////////////////////////////// | 39 //////////////////////////////////////////////////////////////////////////////// | 
| 40 // PasswordsPrivateRemovePasswordExceptionFunction | 40 // PasswordsPrivateRemovePasswordExceptionFunction | 
| 41 | 41 | 
| 42 PasswordsPrivateRemovePasswordExceptionFunction:: | 42 PasswordsPrivateRemovePasswordExceptionFunction:: | 
| 43     ~PasswordsPrivateRemovePasswordExceptionFunction() {} | 43     ~PasswordsPrivateRemovePasswordExceptionFunction() {} | 
| 44 | 44 | 
| 45 ExtensionFunction::ResponseAction | 45 ExtensionFunction::ResponseAction | 
| 46     PasswordsPrivateRemovePasswordExceptionFunction::Run() { | 46     PasswordsPrivateRemovePasswordExceptionFunction::Run() { | 
| 47   scoped_ptr<api::passwords_private::RemovePasswordException::Params> | 47   std::unique_ptr<api::passwords_private::RemovePasswordException::Params> | 
| 48       parameters = api::passwords_private::RemovePasswordException:: | 48       parameters = | 
| 49           Params::Create(*args_); | 49           api::passwords_private::RemovePasswordException::Params::Create( | 
|  | 50               *args_); | 
| 50   EXTENSION_FUNCTION_VALIDATE(parameters.get()); | 51   EXTENSION_FUNCTION_VALIDATE(parameters.get()); | 
| 51 | 52 | 
| 52   PasswordsPrivateDelegate* delegate = | 53   PasswordsPrivateDelegate* delegate = | 
| 53       PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(), | 54       PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(), | 
| 54                                                             true /* create */); | 55                                                             true /* create */); | 
| 55   delegate->RemovePasswordException(parameters->exception_url); | 56   delegate->RemovePasswordException(parameters->exception_url); | 
| 56 | 57 | 
| 57   return RespondNow(NoArguments()); | 58   return RespondNow(NoArguments()); | 
| 58 } | 59 } | 
| 59 | 60 | 
| 60 //////////////////////////////////////////////////////////////////////////////// | 61 //////////////////////////////////////////////////////////////////////////////// | 
| 61 // PasswordsPrivateRequestPlaintextPasswordFunction | 62 // PasswordsPrivateRequestPlaintextPasswordFunction | 
| 62 | 63 | 
| 63 PasswordsPrivateRequestPlaintextPasswordFunction:: | 64 PasswordsPrivateRequestPlaintextPasswordFunction:: | 
| 64     ~PasswordsPrivateRequestPlaintextPasswordFunction() {} | 65     ~PasswordsPrivateRequestPlaintextPasswordFunction() {} | 
| 65 | 66 | 
| 66 ExtensionFunction::ResponseAction | 67 ExtensionFunction::ResponseAction | 
| 67     PasswordsPrivateRequestPlaintextPasswordFunction::Run() { | 68     PasswordsPrivateRequestPlaintextPasswordFunction::Run() { | 
| 68   scoped_ptr<api::passwords_private::RequestPlaintextPassword::Params> | 69   std::unique_ptr<api::passwords_private::RequestPlaintextPassword::Params> | 
| 69       parameters = api::passwords_private::RequestPlaintextPassword::Params:: | 70       parameters = | 
| 70           Create(*args_); | 71           api::passwords_private::RequestPlaintextPassword::Params::Create( | 
|  | 72               *args_); | 
| 71   EXTENSION_FUNCTION_VALIDATE(parameters.get()); | 73   EXTENSION_FUNCTION_VALIDATE(parameters.get()); | 
| 72 | 74 | 
| 73   PasswordsPrivateDelegate* delegate = | 75   PasswordsPrivateDelegate* delegate = | 
| 74       PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(), | 76       PasswordsPrivateDelegateFactory::GetForBrowserContext(browser_context(), | 
| 75                                                             true /* create */); | 77                                                             true /* create */); | 
| 76 | 78 | 
| 77   delegate->RequestShowPassword(parameters->login_pair.origin_url, | 79   delegate->RequestShowPassword(parameters->login_pair.origin_url, | 
| 78                                 parameters->login_pair.username, | 80                                 parameters->login_pair.username, | 
| 79                                 GetSenderWebContents()); | 81                                 GetSenderWebContents()); | 
| 80 | 82 | 
| 81   // No response given from this API function; instead, listeners wait for the | 83   // No response given from this API function; instead, listeners wait for the | 
| 82   // chrome.passwordsPrivate.onPlaintextPasswordRetrieved event to fire. | 84   // chrome.passwordsPrivate.onPlaintextPasswordRetrieved event to fire. | 
| 83   return RespondNow(NoArguments()); | 85   return RespondNow(NoArguments()); | 
| 84 } | 86 } | 
| 85 | 87 | 
| 86 }  // namespace extensions | 88 }  // namespace extensions | 
| OLD | NEW | 
|---|