| 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 "chrome/browser/printing/print_preview_dialog_controller.h" | 5 #include "chrome/browser/printing/print_preview_dialog_controller.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 #include "components/printing/common/print_messages.h" | 30 #include "components/printing/common/print_messages.h" |
| 31 #include "content/public/browser/browser_accessibility_state.h" | 31 #include "content/public/browser/browser_accessibility_state.h" |
| 32 #include "content/public/browser/plugin_service.h" | 32 #include "content/public/browser/plugin_service.h" |
| 33 #include "content/public/browser/render_frame_host.h" | 33 #include "content/public/browser/render_frame_host.h" |
| 34 #include "content/public/browser/render_process_host.h" | 34 #include "content/public/browser/render_process_host.h" |
| 35 #include "content/public/browser/web_contents_observer.h" | 35 #include "content/public/browser/web_contents_observer.h" |
| 36 #include "content/public/test/browser_test_utils.h" | 36 #include "content/public/test/browser_test_utils.h" |
| 37 #include "ipc/ipc_message_macros.h" | 37 #include "ipc/ipc_message_macros.h" |
| 38 #include "ui/base/l10n/l10n_util.h" | 38 #include "ui/base/l10n/l10n_util.h" |
| 39 #include "url/gurl.h" | 39 #include "url/gurl.h" |
| 40 #include "url/origin.h" |
| 40 | 41 |
| 41 using content::WebContents; | 42 using content::WebContents; |
| 42 using content::WebContentsObserver; | 43 using content::WebContentsObserver; |
| 43 | 44 |
| 44 namespace { | 45 namespace { |
| 45 | 46 |
| 46 class RequestPrintPreviewObserver : public WebContentsObserver { | 47 class RequestPrintPreviewObserver : public WebContentsObserver { |
| 47 public: | 48 public: |
| 48 explicit RequestPrintPreviewObserver(WebContents* dialog) | 49 explicit RequestPrintPreviewObserver(WebContents* dialog) |
| 49 : WebContentsObserver(dialog) { | 50 : WebContentsObserver(dialog) { |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 content::RenderFrameHost* frame) { | 143 content::RenderFrameHost* frame) { |
| 143 ++(*frame_count); | 144 ++(*frame_count); |
| 144 } | 145 } |
| 145 | 146 |
| 146 void CheckPdfPluginForRenderFrame(content::RenderFrameHost* frame) { | 147 void CheckPdfPluginForRenderFrame(content::RenderFrameHost* frame) { |
| 147 content::WebPluginInfo pdf_plugin_info; | 148 content::WebPluginInfo pdf_plugin_info; |
| 148 ASSERT_TRUE(GetPdfPluginInfo(&pdf_plugin_info)); | 149 ASSERT_TRUE(GetPdfPluginInfo(&pdf_plugin_info)); |
| 149 | 150 |
| 150 ChromePluginServiceFilter* filter = ChromePluginServiceFilter::GetInstance(); | 151 ChromePluginServiceFilter* filter = ChromePluginServiceFilter::GetInstance(); |
| 151 EXPECT_TRUE(filter->IsPluginAvailable( | 152 EXPECT_TRUE(filter->IsPluginAvailable( |
| 152 frame->GetProcess()->GetID(), | 153 frame->GetProcess()->GetID(), frame->GetRoutingID(), nullptr, |
| 153 frame->GetRoutingID(), | 154 GURL(kDummyPrintUrl), url::Origin(), &pdf_plugin_info)); |
| 154 nullptr, | |
| 155 GURL(kDummyPrintUrl), | |
| 156 GURL(), | |
| 157 &pdf_plugin_info)); | |
| 158 } | 155 } |
| 159 | 156 |
| 160 } // namespace | 157 } // namespace |
| 161 | 158 |
| 162 class PrintPreviewDialogControllerBrowserTest : public InProcessBrowserTest { | 159 class PrintPreviewDialogControllerBrowserTest : public InProcessBrowserTest { |
| 163 public: | 160 public: |
| 164 PrintPreviewDialogControllerBrowserTest() : initiator_(nullptr) {} | 161 PrintPreviewDialogControllerBrowserTest() : initiator_(nullptr) {} |
| 165 ~PrintPreviewDialogControllerBrowserTest() override {} | 162 ~PrintPreviewDialogControllerBrowserTest() override {} |
| 166 | 163 |
| 167 WebContents* initiator() { | 164 WebContents* initiator() { |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 300 base::Bind(&PluginEnabledCallback, run_loop.QuitClosure())); | 297 base::Bind(&PluginEnabledCallback, run_loop.QuitClosure())); |
| 301 run_loop.Run(); | 298 run_loop.Run(); |
| 302 } | 299 } |
| 303 | 300 |
| 304 // Make sure it is actually disabled for webpages. | 301 // Make sure it is actually disabled for webpages. |
| 305 ChromePluginServiceFilter* filter = ChromePluginServiceFilter::GetInstance(); | 302 ChromePluginServiceFilter* filter = ChromePluginServiceFilter::GetInstance(); |
| 306 content::WebPluginInfo dummy_pdf_plugin_info = pdf_plugin_info; | 303 content::WebPluginInfo dummy_pdf_plugin_info = pdf_plugin_info; |
| 307 EXPECT_FALSE(filter->IsPluginAvailable( | 304 EXPECT_FALSE(filter->IsPluginAvailable( |
| 308 initiator()->GetRenderProcessHost()->GetID(), | 305 initiator()->GetRenderProcessHost()->GetID(), |
| 309 initiator()->GetMainFrame()->GetRoutingID(), | 306 initiator()->GetMainFrame()->GetRoutingID(), |
| 310 browser()->profile()->GetResourceContext(), | 307 browser()->profile()->GetResourceContext(), GURL(), |
| 311 GURL("http://google.com"), | 308 url::Origin(GURL("http://google.com")), &dummy_pdf_plugin_info)); |
| 312 GURL(), | |
| 313 &dummy_pdf_plugin_info)); | |
| 314 | 309 |
| 315 PrintPreview(); | 310 PrintPreview(); |
| 316 | 311 |
| 317 // Check a new print preview dialog got created. | 312 // Check a new print preview dialog got created. |
| 318 WebContents* preview_dialog = GetPrintPreviewDialog(); | 313 WebContents* preview_dialog = GetPrintPreviewDialog(); |
| 319 ASSERT_TRUE(preview_dialog); | 314 ASSERT_TRUE(preview_dialog); |
| 320 ASSERT_NE(initiator(), preview_dialog); | 315 ASSERT_NE(initiator(), preview_dialog); |
| 321 | 316 |
| 322 // Wait until the <iframe> in the print preview renderer has loaded. | 317 // Wait until the <iframe> in the print preview renderer has loaded. |
| 323 // |frame_count| should be 2. The other frame is the main frame. | 318 // |frame_count| should be 2. The other frame is the main frame. |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 content::BrowserAccessibilityState::GetInstance()->EnableAccessibility(); | 394 content::BrowserAccessibilityState::GetInstance()->EnableAccessibility(); |
| 400 ui_test_utils::NavigateToURL(browser(), GURL("data:text/html,HelloWorld")); | 395 ui_test_utils::NavigateToURL(browser(), GURL("data:text/html,HelloWorld")); |
| 401 PrintPreview(); | 396 PrintPreview(); |
| 402 WebContents* preview_dialog = GetPrintPreviewDialog(); | 397 WebContents* preview_dialog = GetPrintPreviewDialog(); |
| 403 WaitForAccessibilityTreeToContainNodeWithName(preview_dialog, "HelloWorld"); | 398 WaitForAccessibilityTreeToContainNodeWithName(preview_dialog, "HelloWorld"); |
| 404 } | 399 } |
| 405 | 400 |
| 406 } // namespace | 401 } // namespace |
| 407 | 402 |
| 408 #endif // defined(ENABLE_TASK_MANAGER) | 403 #endif // defined(ENABLE_TASK_MANAGER) |
| OLD | NEW |