Index: chrome/browser/extensions/crx_installer_browsertest.cc |
diff --git a/chrome/browser/extensions/crx_installer_browsertest.cc b/chrome/browser/extensions/crx_installer_browsertest.cc |
index 375b57e3b7a9f85995dd2aa5735528094bc7755a..7c583a33efbe3a4dd16c313038b417c1958b4ab8 100644 |
--- a/chrome/browser/extensions/crx_installer_browsertest.cc |
+++ b/chrome/browser/extensions/crx_installer_browsertest.cc |
@@ -10,6 +10,7 @@ |
#include "chrome/browser/extensions/extension_browsertest.h" |
#include "chrome/browser/extensions/extension_install_prompt.h" |
#include "chrome/browser/extensions/extension_service.h" |
+#include "chrome/browser/extensions/extension_util.h" |
#include "chrome/browser/extensions/fake_safe_browsing_database_manager.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/ui/browser.h" |
@@ -50,8 +51,7 @@ class MockInstallPrompt; |
// MockInstallPrompt. We create the MockInstallPrompt but need to pass |
// ownership of it to CrxInstaller, so it isn't safe to hang this data on |
// MockInstallPrompt itself becuase we can't guarantee it's lifetime. |
-class MockPromptProxy : |
- public base::RefCountedThreadSafe<MockPromptProxy> { |
+class MockPromptProxy : public base::RefCountedThreadSafe<MockPromptProxy> { |
public: |
explicit MockPromptProxy(content::WebContents* web_contents); |
@@ -116,10 +116,8 @@ class MockInstallPrompt : public ExtensionInstallPrompt { |
scoped_refptr<MockPromptProxy> proxy_; |
}; |
- |
-MockPromptProxy::MockPromptProxy(content::WebContents* web_contents) : |
- web_contents_(web_contents), |
- confirmation_requested_(false) { |
+MockPromptProxy::MockPromptProxy(content::WebContents* web_contents) |
+ : web_contents_(web_contents), confirmation_requested_(false) { |
} |
MockPromptProxy::~MockPromptProxy() {} |
@@ -366,7 +364,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionCrxInstallerTest, HiDpiThemeTest) { |
base::FilePath crx_path = test_data_dir_.AppendASCII("theme_hidpi_crx"); |
crx_path = crx_path.AppendASCII("theme_hidpi.crx"); |
- ASSERT_TRUE(InstallExtension(crx_path,1)); |
+ ASSERT_TRUE(InstallExtension(crx_path, 1)); |
const std::string extension_id("gllekhaobjnhgeagipipnkpmmmpchacm"); |
ExtensionService* service = extensions::ExtensionSystem::Get( |
@@ -428,7 +426,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionCrxInstallerTest, |
ASSERT_EQ("1.0", extension->version()->GetString()); |
// Make the extension idle again by closing the popup. This should not trigger |
- //the delayed install. |
+ // the delayed install. |
content::RenderProcessHostWatcher terminated_observer( |
extension_host->render_process_host(), |
content::RenderProcessHostWatcher::WATCH_FOR_HOST_DESTRUCTION); |
@@ -535,4 +533,21 @@ IN_PROC_BROWSER_TEST_F(ExtensionCrxInstallerTest, InstallToSharedLocation) { |
} |
#endif |
+IN_PROC_BROWSER_TEST_F(ExtensionCrxInstallerTest, DoNotSync) { |
+ ExtensionService* service = extensions::ExtensionSystem::Get( |
+ browser()->profile())->extension_service(); |
+ scoped_refptr<CrxInstaller> crx_installer( |
+ CrxInstaller::CreateSilent(service)); |
+ crx_installer->set_install_flag(kInstallFlagDoNotSync, true); |
+ crx_installer->InstallCrx(test_data_dir_.AppendASCII("good.crx")); |
+ EXPECT_TRUE(WaitForCrxInstallerDone()); |
+ ASSERT_TRUE(crx_installer->extension()); |
+ |
+ const ExtensionPrefs* extension_prefs = |
+ ExtensionPrefs::Get(browser()->profile()); |
+ EXPECT_TRUE(extension_prefs->DoNotSync(crx_installer->extension()->id())); |
+ EXPECT_FALSE(extensions::util::ShouldSyncApp(crx_installer->extension(), |
+ browser()->profile())); |
+} |
+ |
} // namespace extensions |