Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: chrome/browser/extensions/lazy_background_page_apitest.cc

Issue 2847313002: Update some host_resolver()->AddRules in chrome/browser. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 } 103 }
104 104
105 void SetUpCommandLine(base::CommandLine* command_line) override { 105 void SetUpCommandLine(base::CommandLine* command_line) override {
106 ExtensionApiTest::SetUpCommandLine(command_line); 106 ExtensionApiTest::SetUpCommandLine(command_line);
107 // Disable background network activity as it can suddenly bring the Lazy 107 // Disable background network activity as it can suddenly bring the Lazy
108 // Background Page alive. 108 // Background Page alive.
109 command_line->AppendSwitch(::switches::kDisableBackgroundNetworking); 109 command_line->AppendSwitch(::switches::kDisableBackgroundNetworking);
110 command_line->AppendSwitch(::switches::kNoProxyServer); 110 command_line->AppendSwitch(::switches::kNoProxyServer);
111 } 111 }
112 112
113 void SetUpOnMainThread() override {
114 ExtensionApiTest::SetUpOnMainThread();
115 host_resolver()->AddRule("*", "127.0.0.1");
116 }
117
113 // Loads the extension, which temporarily starts the lazy background page 118 // Loads the extension, which temporarily starts the lazy background page
114 // to dispatch the onInstalled event. We wait until it shuts down again. 119 // to dispatch the onInstalled event. We wait until it shuts down again.
115 const Extension* LoadExtensionAndWait(const std::string& test_name) { 120 const Extension* LoadExtensionAndWait(const std::string& test_name) {
116 LazyBackgroundObserver page_complete; 121 LazyBackgroundObserver page_complete;
117 base::FilePath extdir = test_data_dir_.AppendASCII("lazy_background_page"). 122 base::FilePath extdir = test_data_dir_.AppendASCII("lazy_background_page").
118 AppendASCII(test_name); 123 AppendASCII(test_name);
119 const Extension* extension = LoadExtension(extdir); 124 const Extension* extension = LoadExtension(extdir);
120 if (extension) 125 if (extension)
121 page_complete.Wait(); 126 page_complete.Wait();
122 return extension; 127 return extension;
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 browser()->tab_strip_model()->active_index(), TabStripModel::CLOSE_NONE); 282 browser()->tab_strip_model()->active_index(), TabStripModel::CLOSE_NONE);
278 page_complete.Wait(); 283 page_complete.Wait();
279 284
280 // Lazy Background Page has been shut down. 285 // Lazy Background Page has been shut down.
281 EXPECT_FALSE(IsBackgroundPageAlive(last_loaded_extension_id())); 286 EXPECT_FALSE(IsBackgroundPageAlive(last_loaded_extension_id()));
282 } 287 }
283 288
284 // Tests that the lazy background page stays alive until all network requests 289 // Tests that the lazy background page stays alive until all network requests
285 // are complete. 290 // are complete.
286 IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest, WaitForRequest) { 291 IN_PROC_BROWSER_TEST_F(LazyBackgroundPageApiTest, WaitForRequest) {
287 host_resolver()->AddRule("*", "127.0.0.1");
288 ASSERT_TRUE(StartEmbeddedTestServer()); 292 ASSERT_TRUE(StartEmbeddedTestServer());
289 293
290 LazyBackgroundObserver page_complete; 294 LazyBackgroundObserver page_complete;
291 ResultCatcher catcher; 295 ResultCatcher catcher;
292 base::FilePath extdir = test_data_dir_.AppendASCII("lazy_background_page"). 296 base::FilePath extdir = test_data_dir_.AppendASCII("lazy_background_page").
293 AppendASCII("wait_for_request"); 297 AppendASCII("wait_for_request");
294 const Extension* extension = LoadExtension(extdir); 298 const Extension* extension = LoadExtension(extdir);
295 ASSERT_TRUE(extension); 299 ASSERT_TRUE(extension);
296 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); 300 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
297 301
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 // TODO: background page with timer. 633 // TODO: background page with timer.
630 // TODO: background page that interacts with popup. 634 // TODO: background page that interacts with popup.
631 635
632 // Test class to allow test cases to run in --isolate-extensions mode. 636 // Test class to allow test cases to run in --isolate-extensions mode.
633 class LazyBackgroundPageIsolatedExtensionsApiTest 637 class LazyBackgroundPageIsolatedExtensionsApiTest
634 : public LazyBackgroundPageApiTest { 638 : public LazyBackgroundPageApiTest {
635 public: 639 public:
636 LazyBackgroundPageIsolatedExtensionsApiTest() {} 640 LazyBackgroundPageIsolatedExtensionsApiTest() {}
637 ~LazyBackgroundPageIsolatedExtensionsApiTest() override {} 641 ~LazyBackgroundPageIsolatedExtensionsApiTest() override {}
638 642
639 void SetUpInProcessBrowserTestFixture() override { 643 void SetUpOnMainThread() override {
640 LazyBackgroundPageApiTest::SetUpInProcessBrowserTestFixture(); 644 LazyBackgroundPageApiTest::SetUpOnMainThread();
641 645
642 // This is needed to allow example.com to actually resolve and load in 646 // This is needed to allow example.com to actually resolve and load in
643 // tests. 647 // tests.
644 host_resolver()->AddRule("*", "127.0.0.1"); 648 host_resolver()->AddRule("*", "127.0.0.1");
645 } 649 }
646 650
647 void SetUpCommandLine(base::CommandLine* command_line) override { 651 void SetUpCommandLine(base::CommandLine* command_line) override {
648 LazyBackgroundPageApiTest::SetUpCommandLine(command_line); 652 LazyBackgroundPageApiTest::SetUpCommandLine(command_line);
649 command_line->AppendSwitch(switches::kIsolateExtensions); 653 command_line->AppendSwitch(switches::kIsolateExtensions);
650 } 654 }
651 655
652 private: 656 private:
653 DISALLOW_COPY_AND_ASSIGN(LazyBackgroundPageIsolatedExtensionsApiTest); 657 DISALLOW_COPY_AND_ASSIGN(LazyBackgroundPageIsolatedExtensionsApiTest);
654 }; 658 };
655 659
656 // Ensure that the events page of an extension is properly torn down and the 660 // Ensure that the events page of an extension is properly torn down and the
657 // process does not linger around when running in --isolate-extensions mode. 661 // process does not linger around when running in --isolate-extensions mode.
658 // See https://crbug.com/612668. 662 // See https://crbug.com/612668.
659 IN_PROC_BROWSER_TEST_F(LazyBackgroundPageIsolatedExtensionsApiTest, 663 IN_PROC_BROWSER_TEST_F(LazyBackgroundPageIsolatedExtensionsApiTest,
660 EventProcessCleanup) { 664 EventProcessCleanup) {
661 ASSERT_TRUE(LoadExtensionAndWait("event_page_with_web_iframe")); 665 ASSERT_TRUE(LoadExtensionAndWait("event_page_with_web_iframe"));
662 666
663 // Lazy Background Page doesn't exist anymore. 667 // Lazy Background Page doesn't exist anymore.
664 EXPECT_FALSE(IsBackgroundPageAlive(last_loaded_extension_id())); 668 EXPECT_FALSE(IsBackgroundPageAlive(last_loaded_extension_id()));
665 } 669 }
666 670
667 } // namespace extensions 671 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/isolated_app_browsertest.cc ('k') | chrome/browser/extensions/native_bindings_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698