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

Side by Side Diff: chrome/browser/prerender/prerender_browsertest.cc

Issue 8549022: Define DevTools content API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: jam's comments addressed Created 9 years 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <deque> 5 #include <deque>
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "base/stringprintf.h" 9 #include "base/stringprintf.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
(...skipping 14 matching lines...) Expand all
25 #include "chrome/browser/ui/browser.h" 25 #include "chrome/browser/ui/browser.h"
26 #include "chrome/browser/ui/browser_list.h" 26 #include "chrome/browser/ui/browser_list.h"
27 #include "chrome/browser/ui/browser_window.h" 27 #include "chrome/browser/ui/browser_window.h"
28 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 28 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
29 #include "chrome/common/chrome_notification_types.h" 29 #include "chrome/common/chrome_notification_types.h"
30 #include "chrome/common/chrome_paths.h" 30 #include "chrome/common/chrome_paths.h"
31 #include "chrome/common/chrome_switches.h" 31 #include "chrome/common/chrome_switches.h"
32 #include "chrome/common/pref_names.h" 32 #include "chrome/common/pref_names.h"
33 #include "chrome/test/base/in_process_browser_test.h" 33 #include "chrome/test/base/in_process_browser_test.h"
34 #include "chrome/test/base/ui_test_utils.h" 34 #include "chrome/test/base/ui_test_utils.h"
35 #include "content/browser/debugger/devtools_client_host.h"
36 #include "content/browser/debugger/devtools_manager.h"
37 #include "content/browser/renderer_host/render_view_host.h" 35 #include "content/browser/renderer_host/render_view_host.h"
38 #include "content/browser/tab_contents/tab_contents.h" 36 #include "content/browser/tab_contents/tab_contents.h"
37 #include "content/public/browser/devtools_agent_host_registry.h"
38 #include "content/public/browser/devtools_client_host.h"
39 #include "content/public/browser/devtools_manager.h"
39 #include "content/public/browser/notification_service.h" 40 #include "content/public/browser/notification_service.h"
40 #include "content/public/common/url_constants.h" 41 #include "content/public/common/url_constants.h"
41 #include "grit/generated_resources.h" 42 #include "grit/generated_resources.h"
42 #include "net/base/mock_host_resolver.h" 43 #include "net/base/mock_host_resolver.h"
43 #include "net/url_request/url_request_context.h" 44 #include "net/url_request/url_request_context.h"
44 #include "net/url_request/url_request_context_getter.h" 45 #include "net/url_request/url_request_context_getter.h"
45 #include "ui/base/l10n/l10n_util.h" 46 #include "ui/base/l10n/l10n_util.h"
46 47
47 using content::BrowserThread; 48 using content::BrowserThread;
49 using content::DevToolsAgentHost;
50 using content::DevToolsAgentHostRegistry;
51 using content::DevToolsClientHost;
52 using content::DevToolsManager;
48 53
49 // Prerender tests work as follows: 54 // Prerender tests work as follows:
50 // 55 //
51 // A page with a prefetch link to the test page is loaded. Once prerendered, 56 // A page with a prefetch link to the test page is loaded. Once prerendered,
52 // its Javascript function DidPrerenderPass() is called, which returns true if 57 // its Javascript function DidPrerenderPass() is called, which returns true if
53 // the page behaves as expected when prerendered. 58 // the page behaves as expected when prerendered.
54 // 59 //
55 // The prerendered page is then displayed on a tab. The Javascript function 60 // The prerendered page is then displayed on a tab. The Javascript function
56 // DidDisplayPass() is called, and returns true if the page behaved as it 61 // DidDisplayPass() is called, and returns true if the page behaved as it
57 // should while being displayed. 62 // should while being displayed.
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 } 393 }
389 394
390 private: 395 private:
391 FakeSafeBrowsingService* most_recent_service_; 396 FakeSafeBrowsingService* most_recent_service_;
392 }; 397 };
393 #endif 398 #endif
394 399
395 class FakeDevToolsClientHost : public DevToolsClientHost { 400 class FakeDevToolsClientHost : public DevToolsClientHost {
396 public: 401 public:
397 FakeDevToolsClientHost() {} 402 FakeDevToolsClientHost() {}
398 virtual ~FakeDevToolsClientHost() { 403 virtual ~FakeDevToolsClientHost() {}
399 NotifyCloseListener();
400 }
401 virtual void InspectedTabClosing() OVERRIDE {} 404 virtual void InspectedTabClosing() OVERRIDE {}
402 virtual void FrameNavigating(const std::string& url) OVERRIDE {} 405 virtual void FrameNavigating(const std::string& url) OVERRIDE {}
403 virtual void SendMessageToClient(const IPC::Message& msg) OVERRIDE {} 406 virtual void DispatchOnInspectorFrontend(const std::string& msg) OVERRIDE {}
404 virtual void TabReplaced(TabContents* new_tab) OVERRIDE {} 407 virtual void TabReplaced(TabContents* new_tab) OVERRIDE {}
405 }; 408 };
406 409
407 } // namespace 410 } // namespace
408 411
409 class PrerenderBrowserTest : public InProcessBrowserTest { 412 class PrerenderBrowserTest : public InProcessBrowserTest {
410 public: 413 public:
411 PrerenderBrowserTest() 414 PrerenderBrowserTest()
412 : prerender_contents_factory_(NULL), 415 : prerender_contents_factory_(NULL),
413 #if defined(ENABLE_SAFE_BROWSING) 416 #if defined(ENABLE_SAFE_BROWSING)
(...skipping 1415 matching lines...) Expand 10 before | Expand all | Expand 10 after
1829 PrerenderTestURL("files/prerender/prerender_page_with_link.html", 1832 PrerenderTestURL("files/prerender/prerender_page_with_link.html",
1830 FINAL_STATUS_SESSION_STORAGE_NAMESPACE_MISMATCH, 1833 FINAL_STATUS_SESSION_STORAGE_NAMESPACE_MISMATCH,
1831 1); 1834 1);
1832 OpenDestURLViaClickNewBackgroundTab(); 1835 OpenDestURLViaClickNewBackgroundTab();
1833 } 1836 }
1834 1837
1835 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, 1838 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
1836 NavigateToPrerenderedPageWhenDevToolsAttached) { 1839 NavigateToPrerenderedPageWhenDevToolsAttached) {
1837 DisableJavascriptCalls(); 1840 DisableJavascriptCalls();
1838 TabContents* tab_contents = browser()->GetSelectedTabContents(); 1841 TabContents* tab_contents = browser()->GetSelectedTabContents();
1839 RenderViewHost* inspected_rvh = tab_contents->render_view_host(); 1842 DevToolsAgentHost* agent = DevToolsAgentHostRegistry::GetDevToolsAgentHost(
1843 tab_contents->render_view_host());
1840 DevToolsManager* manager = DevToolsManager::GetInstance(); 1844 DevToolsManager* manager = DevToolsManager::GetInstance();
1841 FakeDevToolsClientHost client_host; 1845 FakeDevToolsClientHost client_host;
1842 manager->RegisterDevToolsClientHostFor(inspected_rvh, &client_host); 1846 manager->RegisterDevToolsClientHostFor(agent, &client_host);
1843 const char* url = "files/prerender/prerender_page.html"; 1847 const char* url = "files/prerender/prerender_page.html";
1844 PrerenderTestURL(url, FINAL_STATUS_DEVTOOLS_ATTACHED, 1); 1848 PrerenderTestURL(url, FINAL_STATUS_DEVTOOLS_ATTACHED, 1);
1845 NavigateToURL(url); 1849 NavigateToURL(url);
1850 manager->ClientHostClosing(&client_host);
1846 } 1851 }
1847 1852
1848 // Validate that the sessionStorage namespace remains the same when swapping 1853 // Validate that the sessionStorage namespace remains the same when swapping
1849 // in a prerendered page. 1854 // in a prerendered page.
1850 // http://crbug.com/103563 1855 // http://crbug.com/103563
1851 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, DISABLED_PrerenderSessionStorage) { 1856 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, DISABLED_PrerenderSessionStorage) {
1852 set_loader_path("files/prerender/prerender_loader_with_session_storage.html"); 1857 set_loader_path("files/prerender/prerender_loader_with_session_storage.html");
1853 PrerenderTestURL(GetCrossDomainTestUrl("files/prerender/prerender_page.html"), 1858 PrerenderTestURL(GetCrossDomainTestUrl("files/prerender/prerender_page.html"),
1854 FINAL_STATUS_USED, 1859 FINAL_STATUS_USED,
1855 1); 1860 1);
1856 NavigateToDestURL(); 1861 NavigateToDestURL();
1857 GoBackToPageBeforePrerender(browser()); 1862 GoBackToPageBeforePrerender(browser());
1858 } 1863 }
1859 1864
1860 } // namespace prerender 1865 } // namespace prerender
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_service.cc ('k') | chrome/browser/prerender/prerender_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698