| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/crx_installer.h" | 5 #include "chrome/browser/extensions/crx_installer.h" |
| 6 | 6 |
| 7 #include "base/at_exit.h" | 7 #include "base/at_exit.h" |
| 8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "chrome/browser/download/download_crx_util.h" | 10 #include "chrome/browser/download/download_crx_util.h" |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 class MockInstallPrompt : public ExtensionInstallPrompt { | 96 class MockInstallPrompt : public ExtensionInstallPrompt { |
| 97 public: | 97 public: |
| 98 MockInstallPrompt(content::WebContents* web_contents, | 98 MockInstallPrompt(content::WebContents* web_contents, |
| 99 MockPromptProxy* proxy) : | 99 MockPromptProxy* proxy) : |
| 100 ExtensionInstallPrompt(web_contents), | 100 ExtensionInstallPrompt(web_contents), |
| 101 proxy_(proxy) {} | 101 proxy_(proxy) {} |
| 102 | 102 |
| 103 void set_record_oauth2_grant(bool record) { record_oauth2_grant_ = record; } | 103 void set_record_oauth2_grant(bool record) { record_oauth2_grant_ = record; } |
| 104 | 104 |
| 105 // Overriding some of the ExtensionInstallUI API. | 105 // Overriding some of the ExtensionInstallUI API. |
| 106 virtual void ConfirmInstall( | 106 void ConfirmInstall(Delegate* delegate, |
| 107 Delegate* delegate, | 107 const Extension* extension, |
| 108 const Extension* extension, | 108 const ShowDialogCallback& show_dialog_callback) override { |
| 109 const ShowDialogCallback& show_dialog_callback) override { | |
| 110 proxy_->set_confirmation_requested(); | 109 proxy_->set_confirmation_requested(); |
| 111 delegate->InstallUIProceed(); | 110 delegate->InstallUIProceed(); |
| 112 } | 111 } |
| 113 virtual void OnInstallSuccess(const Extension* extension, | 112 void OnInstallSuccess(const Extension* extension, SkBitmap* icon) override { |
| 114 SkBitmap* icon) override { | |
| 115 proxy_->set_extension_id(extension->id()); | 113 proxy_->set_extension_id(extension->id()); |
| 116 base::MessageLoopForUI::current()->Quit(); | 114 base::MessageLoopForUI::current()->Quit(); |
| 117 } | 115 } |
| 118 virtual void OnInstallFailure(const CrxInstallerError& error) override { | 116 void OnInstallFailure(const CrxInstallerError& error) override { |
| 119 proxy_->set_error(error.message()); | 117 proxy_->set_error(error.message()); |
| 120 base::MessageLoopForUI::current()->Quit(); | 118 base::MessageLoopForUI::current()->Quit(); |
| 121 } | 119 } |
| 122 | 120 |
| 123 private: | 121 private: |
| 124 scoped_refptr<MockPromptProxy> proxy_; | 122 scoped_refptr<MockPromptProxy> proxy_; |
| 125 }; | 123 }; |
| 126 | 124 |
| 127 MockPromptProxy::MockPromptProxy(content::WebContents* web_contents) | 125 MockPromptProxy::MockPromptProxy(content::WebContents* web_contents) |
| 128 : web_contents_(web_contents), confirmation_requested_(false) { | 126 : web_contents_(web_contents), confirmation_requested_(false) { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 142 scoped_refptr<MockPromptProxy> CreateMockPromptProxyForBrowser( | 140 scoped_refptr<MockPromptProxy> CreateMockPromptProxyForBrowser( |
| 143 Browser* browser) { | 141 Browser* browser) { |
| 144 return new MockPromptProxy( | 142 return new MockPromptProxy( |
| 145 browser->tab_strip_model()->GetActiveWebContents()); | 143 browser->tab_strip_model()->GetActiveWebContents()); |
| 146 } | 144 } |
| 147 | 145 |
| 148 class ManagementPolicyMock : public extensions::ManagementPolicy::Provider { | 146 class ManagementPolicyMock : public extensions::ManagementPolicy::Provider { |
| 149 public: | 147 public: |
| 150 ManagementPolicyMock() {} | 148 ManagementPolicyMock() {} |
| 151 | 149 |
| 152 virtual std::string GetDebugPolicyProviderName() const override { | 150 std::string GetDebugPolicyProviderName() const override { |
| 153 return "ManagementPolicyMock"; | 151 return "ManagementPolicyMock"; |
| 154 } | 152 } |
| 155 | 153 |
| 156 virtual bool UserMayLoad(const Extension* extension, | 154 bool UserMayLoad(const Extension* extension, |
| 157 base::string16* error) const override { | 155 base::string16* error) const override { |
| 158 *error = base::UTF8ToUTF16("Dummy error message"); | 156 *error = base::UTF8ToUTF16("Dummy error message"); |
| 159 return false; | 157 return false; |
| 160 } | 158 } |
| 161 }; | 159 }; |
| 162 | 160 |
| 163 } // namespace | 161 } // namespace |
| 164 | 162 |
| 165 class ExtensionCrxInstallerTest : public ExtensionBrowserTest { | 163 class ExtensionCrxInstallerTest : public ExtensionBrowserTest { |
| 166 public: | 164 public: |
| 167 scoped_ptr<WebstoreInstaller::Approval> GetApproval( | 165 scoped_ptr<WebstoreInstaller::Approval> GetApproval( |
| (...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 596 // because previously withheld permissions are now being requested. | 594 // because previously withheld permissions are now being requested. |
| 597 enable_scripts_switch.reset(); | 595 enable_scripts_switch.reset(); |
| 598 extension = InstallExtension(crx_path, -1); | 596 extension = InstallExtension(crx_path, -1); |
| 599 EXPECT_FALSE(registry->enabled_extensions().GetByID(extension_id)); | 597 EXPECT_FALSE(registry->enabled_extensions().GetByID(extension_id)); |
| 600 EXPECT_TRUE(registry->disabled_extensions().GetByID(extension_id)); | 598 EXPECT_TRUE(registry->disabled_extensions().GetByID(extension_id)); |
| 601 EXPECT_TRUE(ExtensionPrefs::Get(browser()->profile())->GetDisableReasons( | 599 EXPECT_TRUE(ExtensionPrefs::Get(browser()->profile())->GetDisableReasons( |
| 602 extension_id) & Extension::DISABLE_PERMISSIONS_INCREASE); | 600 extension_id) & Extension::DISABLE_PERMISSIONS_INCREASE); |
| 603 } | 601 } |
| 604 | 602 |
| 605 } // namespace extensions | 603 } // namespace extensions |
| OLD | NEW |