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

Side by Side Diff: chrome/browser/tab_render_watcher_browsertest.cc

Issue 9582012: TabFirstRenderWatcher -> TabRenderWatcher. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/tab_render_watcher.cc ('k') | chrome/browser/ui/views/html_dialog_view.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 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 "base/message_loop.h" 5 #include "base/message_loop.h"
6 #include "chrome/browser/tab_first_render_watcher.h" 6 #include "chrome/browser/tab_render_watcher.h"
7 #include "chrome/browser/ui/browser.h" 7 #include "chrome/browser/ui/browser.h"
8 #include "chrome/browser/ui/views/dom_view.h" 8 #include "chrome/browser/ui/views/dom_view.h"
9 #include "chrome/common/url_constants.h" 9 #include "chrome/common/url_constants.h"
10 #include "chrome/test/base/in_process_browser_test.h" 10 #include "chrome/test/base/in_process_browser_test.h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 #include "ui/views/widget/widget.h" 12 #include "ui/views/widget/widget.h"
13 13
14 namespace { 14 namespace {
15 15
16 views::Widget* CreateWindowForContents(views::View* contents) { 16 views::Widget* CreateWindowForContents(views::View* contents) {
17 views::Widget::InitParams widget_params( 17 views::Widget::InitParams widget_params(
18 views::Widget::InitParams::TYPE_WINDOW); 18 views::Widget::InitParams::TYPE_WINDOW);
19 19
20 views::Widget* widget = new views::Widget; 20 views::Widget* widget = new views::Widget;
21 widget->Init(widget_params); 21 widget->Init(widget_params);
22 widget->SetContentsView(contents); 22 widget->SetContentsView(contents);
23 23
24 return widget; 24 return widget;
25 } 25 }
26 26
27 } // namespace 27 } // namespace
28 28
29 class TabFirstRenderWatcherTest : public InProcessBrowserTest, 29 class TabRenderWatcherTest : public InProcessBrowserTest,
30 public TabFirstRenderWatcher::Delegate { 30 public TabRenderWatcher::Delegate {
31 public: 31 public:
32 TabFirstRenderWatcherTest() 32 TabRenderWatcherTest()
33 : host_created_(false), 33 : host_created_(false),
34 main_frame_loaded_(false), 34 main_frame_loaded_(false),
35 main_frame_rendered_(false) { 35 main_frame_rendered_(false) {
36 } 36 }
37 37
38 // TabFirstRenderWatcher::Delegate implementation. 38 // TabRenderWatcher::Delegate implementation.
39 virtual void OnRenderHostCreated(RenderViewHost* host) OVERRIDE { 39 virtual void OnRenderHostCreated(RenderViewHost* host) OVERRIDE {
40 host_created_ = true; 40 host_created_ = true;
41 } 41 }
42 42
43 virtual void OnTabMainFrameLoaded() OVERRIDE { 43 virtual void OnTabMainFrameLoaded() OVERRIDE {
44 main_frame_loaded_ = true; 44 main_frame_loaded_ = true;
45 MessageLoop::current()->Quit(); 45 MessageLoop::current()->Quit();
46 } 46 }
47 47
48 virtual void OnTabMainFrameFirstRender() OVERRIDE { 48 virtual void OnTabMainFrameRender() OVERRIDE {
49 main_frame_rendered_ = true; 49 main_frame_rendered_ = true;
50 MessageLoop::current()->Quit(); 50 MessageLoop::current()->Quit();
51 } 51 }
52 52
53 protected: 53 protected:
54 bool host_created_; 54 bool host_created_;
55 bool main_frame_loaded_; 55 bool main_frame_loaded_;
56 bool main_frame_rendered_; 56 bool main_frame_rendered_;
57 }; 57 };
58 58
59 // Migrated from HtmlDialogBrowserTest.TestStateTransition, which times out 59 // Migrated from HtmlDialogBrowserTest.TestStateTransition, which times out
60 // about 5~10% of runs. See crbug.com/86059. 60 // about 5~10% of runs. See crbug.com/86059.
61 IN_PROC_BROWSER_TEST_F(TabFirstRenderWatcherTest, 61 IN_PROC_BROWSER_TEST_F(TabRenderWatcherTest, DISABLED_TestStateTransition) {
62 DISABLED_TestStateTransition) {
63 DOMView* dom_view = new DOMView; 62 DOMView* dom_view = new DOMView;
64 dom_view->Init(browser()->profile(), NULL); 63 dom_view->Init(browser()->profile(), NULL);
65 CreateWindowForContents(dom_view); 64 CreateWindowForContents(dom_view);
66 dom_view->GetWidget()->Show(); 65 dom_view->GetWidget()->Show();
67 66
68 scoped_ptr<TabFirstRenderWatcher> watcher( 67 scoped_ptr<TabRenderWatcher> watcher(
69 new TabFirstRenderWatcher(dom_view->dom_contents()->web_contents(), 68 new TabRenderWatcher(dom_view->dom_contents()->web_contents(), this));
70 this));
71 69
72 EXPECT_FALSE(host_created_); 70 EXPECT_FALSE(host_created_);
73 EXPECT_FALSE(main_frame_loaded_); 71 EXPECT_FALSE(main_frame_loaded_);
74 EXPECT_FALSE(main_frame_rendered_); 72 EXPECT_FALSE(main_frame_rendered_);
75 73
76 dom_view->LoadURL(GURL(chrome::kChromeUIChromeURLsURL)); 74 dom_view->LoadURL(GURL(chrome::kChromeUIChromeURLsURL));
77 EXPECT_TRUE(host_created_); 75 EXPECT_TRUE(host_created_);
78 76
79 // OnTabMainFrameLoaded() will Quit(). 77 // OnTabMainFrameLoaded() will Quit().
80 MessageLoopForUI::current()->Run(); 78 MessageLoopForUI::current()->Run();
81 EXPECT_TRUE(main_frame_loaded_); 79 EXPECT_TRUE(main_frame_loaded_);
82 80
83 // OnTabMainFrameFirstRender() will Quit(). 81 // OnTabMainFrameRender() will Quit().
84 MessageLoopForUI::current()->Run(); 82 MessageLoopForUI::current()->Run();
85 EXPECT_TRUE(main_frame_rendered_); 83 EXPECT_TRUE(main_frame_rendered_);
86 84
87 dom_view->GetWidget()->Close(); 85 dom_view->GetWidget()->Close();
88 } 86 }
OLDNEW
« no previous file with comments | « chrome/browser/tab_render_watcher.cc ('k') | chrome/browser/ui/views/html_dialog_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698