| 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 <vector> | 5 #include <vector> |
| 6 | 6 |
| 7 #include "base/file_path.h" | 7 #include "base/file_path.h" |
| 8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 | 37 |
| 38 namespace extensions { | 38 namespace extensions { |
| 39 | 39 |
| 40 namespace { | 40 namespace { |
| 41 | 41 |
| 42 class WebstoreInstallListener : public WebstoreInstaller::Delegate { | 42 class WebstoreInstallListener : public WebstoreInstaller::Delegate { |
| 43 public: | 43 public: |
| 44 WebstoreInstallListener() | 44 WebstoreInstallListener() |
| 45 : received_failure_(false), received_success_(false), waiting_(false) {} | 45 : received_failure_(false), received_success_(false), waiting_(false) {} |
| 46 | 46 |
| 47 void OnExtensionInstallSuccess(const std::string& id) OVERRIDE { | 47 virtual void OnExtensionInstallSuccess(const std::string& id) OVERRIDE { |
| 48 received_success_ = true; | 48 received_success_ = true; |
| 49 id_ = id; | 49 id_ = id; |
| 50 | 50 |
| 51 if (waiting_) { | 51 if (waiting_) { |
| 52 waiting_ = false; | 52 waiting_ = false; |
| 53 MessageLoopForUI::current()->Quit(); | 53 MessageLoopForUI::current()->Quit(); |
| 54 } | 54 } |
| 55 } | 55 } |
| 56 | 56 |
| 57 void OnExtensionInstallFailure( | 57 virtual void OnExtensionInstallFailure( |
| 58 const std::string& id, | 58 const std::string& id, |
| 59 const std::string& error, | 59 const std::string& error, |
| 60 WebstoreInstaller::FailureReason reason) OVERRIDE { | 60 WebstoreInstaller::FailureReason reason) OVERRIDE { |
| 61 received_failure_ = true; | 61 received_failure_ = true; |
| 62 id_ = id; | 62 id_ = id; |
| 63 error_ = error; | 63 error_ = error; |
| 64 | 64 |
| 65 if (waiting_) { | 65 if (waiting_) { |
| 66 waiting_ = false; | 66 waiting_ = false; |
| 67 MessageLoopForUI::current()->Quit(); | 67 MessageLoopForUI::current()->Quit(); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 84 bool waiting_; | 84 bool waiting_; |
| 85 std::string id_; | 85 std::string id_; |
| 86 std::string error_; | 86 std::string error_; |
| 87 }; | 87 }; |
| 88 | 88 |
| 89 } // namespace | 89 } // namespace |
| 90 | 90 |
| 91 // A base class for tests below. | 91 // A base class for tests below. |
| 92 class ExtensionWebstorePrivateApiTest : public ExtensionApiTest { | 92 class ExtensionWebstorePrivateApiTest : public ExtensionApiTest { |
| 93 public: | 93 public: |
| 94 void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 94 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { |
| 95 ExtensionApiTest::SetUpCommandLine(command_line); | 95 ExtensionApiTest::SetUpCommandLine(command_line); |
| 96 command_line->AppendSwitchASCII( | 96 command_line->AppendSwitchASCII( |
| 97 switches::kAppsGalleryURL, | 97 switches::kAppsGalleryURL, |
| 98 "http://www.example.com/files/extensions/api_test"); | 98 "http://www.example.com/files/extensions/api_test"); |
| 99 command_line->AppendSwitchASCII( | 99 command_line->AppendSwitchASCII( |
| 100 switches::kAppsGalleryInstallAutoConfirmForTests, "accept"); | 100 switches::kAppsGalleryInstallAutoConfirmForTests, "accept"); |
| 101 } | 101 } |
| 102 | 102 |
| 103 void SetUpInProcessBrowserTestFixture() OVERRIDE { | 103 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { |
| 104 // Start up the test server and get us ready for calling the install | 104 // Start up the test server and get us ready for calling the install |
| 105 // API functions. | 105 // API functions. |
| 106 host_resolver()->AddRule("www.example.com", "127.0.0.1"); | 106 host_resolver()->AddRule("www.example.com", "127.0.0.1"); |
| 107 ASSERT_TRUE(test_server()->Start()); | 107 ASSERT_TRUE(test_server()->Start()); |
| 108 ExtensionInstallUI::DisableFailureUIForTests(); | 108 ExtensionInstallUI::DisableFailureUIForTests(); |
| 109 | 109 |
| 110 ASSERT_TRUE(tmp_.CreateUniqueTempDirUnderPath(test_data_dir_)); | 110 ASSERT_TRUE(tmp_.CreateUniqueTempDirUnderPath(test_data_dir_)); |
| 111 ASSERT_TRUE(file_util::CreateDirectory(tmp_.path())); | 111 ASSERT_TRUE(file_util::CreateDirectory(tmp_.path())); |
| 112 ASSERT_TRUE(file_util::CopyDirectory( | 112 ASSERT_TRUE(file_util::CopyDirectory( |
| 113 test_data_dir_.AppendASCII("webstore_private"), | 113 test_data_dir_.AppendASCII("webstore_private"), |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 ExtensionService* service() { | 149 ExtensionService* service() { |
| 150 return browser()->profile()->GetExtensionService(); | 150 return browser()->profile()->GetExtensionService(); |
| 151 } | 151 } |
| 152 | 152 |
| 153 base::ScopedTempDir tmp_; | 153 base::ScopedTempDir tmp_; |
| 154 }; | 154 }; |
| 155 | 155 |
| 156 class ExtensionWebstorePrivateBundleTest | 156 class ExtensionWebstorePrivateBundleTest |
| 157 : public ExtensionWebstorePrivateApiTest { | 157 : public ExtensionWebstorePrivateApiTest { |
| 158 public: | 158 public: |
| 159 void SetUpInProcessBrowserTestFixture() OVERRIDE { | 159 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { |
| 160 ExtensionWebstorePrivateApiTest::SetUpInProcessBrowserTestFixture(); | 160 ExtensionWebstorePrivateApiTest::SetUpInProcessBrowserTestFixture(); |
| 161 | 161 |
| 162 // The test server needs to have already started, so setup the switch here | 162 // The test server needs to have already started, so setup the switch here |
| 163 // rather than in SetUpCommandLine. | 163 // rather than in SetUpCommandLine. |
| 164 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 164 CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
| 165 switches::kAppsGalleryDownloadURL, | 165 switches::kAppsGalleryDownloadURL, |
| 166 GetTestServerURL("bundle/%s.crx").spec()); | 166 GetTestServerURL("bundle/%s.crx").spec()); |
| 167 } | 167 } |
| 168 | 168 |
| 169 void TearDownInProcessBrowserTestFixture() OVERRIDE { | 169 virtual void TearDownInProcessBrowserTestFixture() OVERRIDE { |
| 170 ExtensionWebstorePrivateApiTest::TearDownInProcessBrowserTestFixture(); | 170 ExtensionWebstorePrivateApiTest::TearDownInProcessBrowserTestFixture(); |
| 171 for (size_t i = 0; i < test_crx_.size(); ++i) | 171 for (size_t i = 0; i < test_crx_.size(); ++i) |
| 172 ASSERT_TRUE(file_util::Delete(test_crx_[i], false)); | 172 ASSERT_TRUE(file_util::Delete(test_crx_[i], false)); |
| 173 } | 173 } |
| 174 | 174 |
| 175 protected: | 175 protected: |
| 176 // Packs the |manifest| file into a CRX using |id|'s PEM key. | 176 // Packs the |manifest| file into a CRX using |id|'s PEM key. |
| 177 void PackCRX(const std::string& id, const std::string& manifest) { | 177 void PackCRX(const std::string& id, const std::string& manifest) { |
| 178 // Move the extension to a temporary directory. | 178 // Move the extension to a temporary directory. |
| 179 base::ScopedTempDir tmp; | 179 base::ScopedTempDir tmp; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 | 217 |
| 218 test_crx_.push_back(crx_path); | 218 test_crx_.push_back(crx_path); |
| 219 } | 219 } |
| 220 | 220 |
| 221 private: | 221 private: |
| 222 std::vector<FilePath> test_crx_; | 222 std::vector<FilePath> test_crx_; |
| 223 }; | 223 }; |
| 224 | 224 |
| 225 class ExtensionWebstoreGetWebGLStatusTest : public InProcessBrowserTest { | 225 class ExtensionWebstoreGetWebGLStatusTest : public InProcessBrowserTest { |
| 226 public: | 226 public: |
| 227 void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 227 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { |
| 228 // In linux, we need to launch GPU process to decide if WebGL is allowed. | 228 // In linux, we need to launch GPU process to decide if WebGL is allowed. |
| 229 // Run it on top of osmesa to avoid bot driver issues. | 229 // Run it on top of osmesa to avoid bot driver issues. |
| 230 #if defined(OS_LINUX) | 230 #if defined(OS_LINUX) |
| 231 CHECK(test_launcher_utils::OverrideGLImplementation( | 231 CHECK(test_launcher_utils::OverrideGLImplementation( |
| 232 command_line, gfx::kGLImplementationOSMesaName)) << | 232 command_line, gfx::kGLImplementationOSMesaName)) << |
| 233 "kUseGL must not be set multiple times!"; | 233 "kUseGL must not be set multiple times!"; |
| 234 #endif | 234 #endif |
| 235 } | 235 } |
| 236 | 236 |
| 237 protected: | 237 protected: |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 GpuFeatureType type = | 477 GpuFeatureType type = |
| 478 content::GpuDataManager::GetInstance()->GetBlacklistedFeatures(); | 478 content::GpuDataManager::GetInstance()->GetBlacklistedFeatures(); |
| 479 EXPECT_EQ((type & content::GPU_FEATURE_TYPE_WEBGL), | 479 EXPECT_EQ((type & content::GPU_FEATURE_TYPE_WEBGL), |
| 480 content::GPU_FEATURE_TYPE_WEBGL); | 480 content::GPU_FEATURE_TYPE_WEBGL); |
| 481 | 481 |
| 482 bool webgl_allowed = false; | 482 bool webgl_allowed = false; |
| 483 RunTest(webgl_allowed); | 483 RunTest(webgl_allowed); |
| 484 } | 484 } |
| 485 | 485 |
| 486 } // namespace extensions | 486 } // namespace extensions |
| OLD | NEW |