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 |