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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/path_service.h" | 6 #include "base/path_service.h" |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
8 #include "chrome/browser/chrome_notification_types.h" | 8 #include "chrome/browser/chrome_notification_types.h" |
9 #include "chrome/browser/infobars/infobar_service.h" | 9 #include "chrome/browser/infobars/infobar_service.h" |
10 #include "chrome/browser/ui/browser.h" | 10 #include "chrome/browser/ui/browser.h" |
11 #include "chrome/browser/ui/browser_commands.h" | 11 #include "chrome/browser/ui/browser_commands.h" |
12 #include "chrome/browser/ui/browser_navigator.h" | 12 #include "chrome/browser/ui/browser_navigator.h" |
13 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 13 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
14 #include "chrome/common/chrome_paths.h" | 14 #include "chrome/common/chrome_paths.h" |
15 #include "chrome/common/chrome_switches.h" | 15 #include "chrome/common/chrome_switches.h" |
16 #include "chrome/common/url_constants.h" | 16 #include "chrome/common/url_constants.h" |
17 #include "chrome/grit/theme_resources.h" | 17 #include "chrome/grit/theme_resources.h" |
18 #include "chrome/test/base/in_process_browser_test.h" | 18 #include "chrome/test/base/in_process_browser_test.h" |
19 #include "chrome/test/base/test_launcher_utils.h" | 19 #include "chrome/test/base/test_launcher_utils.h" |
20 #include "chrome/test/base/test_switches.h" | 20 #include "chrome/test/base/test_switches.h" |
21 #include "chrome/test/base/ui_test_utils.h" | 21 #include "chrome/test/base/ui_test_utils.h" |
22 #include "components/infobars/core/confirm_infobar_delegate.h" | 22 #include "components/infobars/core/confirm_infobar_delegate.h" |
23 #include "components/infobars/core/infobar.h" | 23 #include "components/infobars/core/infobar.h" |
24 #include "content/public/browser/gpu_data_manager.h" | 24 #include "content/public/browser/gpu_data_manager.h" |
25 #include "content/public/browser/notification_service.h" | 25 #include "content/public/browser/notification_service.h" |
26 #include "content/public/browser/notification_types.h" | 26 #include "content/public/browser/notification_types.h" |
27 #include "content/public/common/content_paths.h" | 27 #include "content/public/common/content_paths.h" |
28 #include "content/public/common/page_transition_types.h" | |
29 #include "content/public/test/browser_test_utils.h" | 28 #include "content/public/test/browser_test_utils.h" |
30 #include "gpu/config/gpu_test_config.h" | 29 #include "gpu/config/gpu_test_config.h" |
31 #include "testing/gtest/include/gtest/gtest.h" | 30 #include "testing/gtest/include/gtest/gtest.h" |
| 31 #include "ui/base/page_transition_types.h" |
32 #include "ui/gl/gl_implementation.h" | 32 #include "ui/gl/gl_implementation.h" |
33 | 33 |
34 namespace { | 34 namespace { |
35 | 35 |
36 void SimulateGPUCrash(Browser* browser) { | 36 void SimulateGPUCrash(Browser* browser) { |
37 // None of the ui_test_utils entry points supports what we need to | 37 // None of the ui_test_utils entry points supports what we need to |
38 // do here: navigate with the PAGE_TRANSITION_FROM_ADDRESS_BAR flag, | 38 // do here: navigate with the PAGE_TRANSITION_FROM_ADDRESS_BAR flag, |
39 // without waiting for the navigation. It would be painful to change | 39 // without waiting for the navigation. It would be painful to change |
40 // either of the NavigateToURL entry points to support these two | 40 // either of the NavigateToURL entry points to support these two |
41 // constraints, so we use chrome::Navigate directly. | 41 // constraints, so we use chrome::Navigate directly. |
42 chrome::NavigateParams params( | 42 chrome::NavigateParams params( |
43 browser, | 43 browser, |
44 GURL(content::kChromeUIGpuCrashURL), | 44 GURL(content::kChromeUIGpuCrashURL), |
45 static_cast<content::PageTransition>( | 45 ui::PageTransitionFromInt( |
46 content::PAGE_TRANSITION_TYPED | | 46 ui::PAGE_TRANSITION_TYPED | |
47 content::PAGE_TRANSITION_FROM_ADDRESS_BAR)); | 47 ui::PAGE_TRANSITION_FROM_ADDRESS_BAR)); |
48 params.disposition = NEW_BACKGROUND_TAB; | 48 params.disposition = NEW_BACKGROUND_TAB; |
49 chrome::Navigate(¶ms); | 49 chrome::Navigate(¶ms); |
50 } | 50 } |
51 | 51 |
52 } // namespace | 52 } // namespace |
53 | 53 |
54 class WebGLInfoBarTest : public InProcessBrowserTest { | 54 class WebGLInfoBarTest : public InProcessBrowserTest { |
55 protected: | 55 protected: |
56 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { | 56 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { |
57 base::FilePath test_dir; | 57 base::FilePath test_dir; |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 // The page should reload and another message sent to the | 140 // The page should reload and another message sent to the |
141 // DomAutomationController. | 141 // DomAutomationController. |
142 m.clear(); | 142 m.clear(); |
143 ASSERT_TRUE(message_queue.WaitForMessage(&m)); | 143 ASSERT_TRUE(message_queue.WaitForMessage(&m)); |
144 EXPECT_EQ("\"LOADED\"", m); | 144 EXPECT_EQ("\"LOADED\"", m); |
145 } | 145 } |
146 | 146 |
147 // There isn't any point in adding a test which calls Accept() on the | 147 // There isn't any point in adding a test which calls Accept() on the |
148 // ThreeDAPIInfoBarDelegate; doing so doesn't remove the infobar, and | 148 // ThreeDAPIInfoBarDelegate; doing so doesn't remove the infobar, and |
149 // there's no concrete event that could be observed in response. | 149 // there's no concrete event that could be observed in response. |
OLD | NEW |