Index: chrome/browser/ui/pdf/pdf_browsertest.cc |
diff --git a/chrome/browser/ui/pdf/pdf_browsertest.cc b/chrome/browser/ui/pdf/pdf_browsertest.cc |
deleted file mode 100644 |
index 8d39960d0562a24efa74badd4af5f2f0de53eb55..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/pdf/pdf_browsertest.cc |
+++ /dev/null |
@@ -1,219 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "base/files/file_enumerator.h" |
-#include "base/hash.h" |
-#include "chrome/browser/chrome_notification_types.h" |
-#include "chrome/browser/ui/browser.h" |
-#include "chrome/browser/ui/pdf/pdf_browsertest_base.h" |
-#include "chrome/browser/ui/tabs/tab_strip_model.h" |
-#include "chrome/test/base/ui_test_utils.h" |
-#include "content/public/browser/navigation_controller.h" |
-#include "content/public/browser/notification_source.h" |
-#include "content/public/browser/render_view_host.h" |
-#include "content/public/browser/web_contents.h" |
-#include "content/public/test/browser_test_utils.h" |
-#include "third_party/WebKit/public/web/WebInputEvent.h" |
- |
-using content::NavigationController; |
-using content::WebContents; |
- |
-// Note: All tests in here require the internal PDF plugin, so they're disabled |
-// in non-official builds. We still compile them though, to prevent bitrot. |
- |
-namespace { |
- |
-// Tests basic PDF rendering. This can be broken depending on bad merges with |
-// the vendor, so it's important that we have basic sanity checking. |
-#if defined(GOOGLE_CHROME_BUILD) && defined(OS_LINUX) |
-#define MAYBE_Basic DISABLED_Basic |
-#else |
-#define MAYBE_Basic DISABLED_Basic |
-#endif |
-IN_PROC_BROWSER_TEST_F(PDFBrowserTest, MAYBE_Basic) { |
- ASSERT_NO_FATAL_FAILURE(Load()); |
- ASSERT_NO_FATAL_FAILURE(WaitForResponse()); |
- // OS X uses CoreText, and FreeType renders slightly different on Linux and |
- // Win. |
-#if defined(OS_MACOSX) |
- // The bots render differently than locally, see http://crbug.com/142531. |
- ASSERT_TRUE(VerifySnapshot("pdf_browsertest_mac.png") || |
- VerifySnapshot("pdf_browsertest_mac2.png")); |
-#elif defined(OS_LINUX) |
- ASSERT_TRUE(VerifySnapshot("pdf_browsertest_linux.png")); |
-#else |
- ASSERT_TRUE(VerifySnapshot("pdf_browsertest.png")); |
-#endif |
-} |
- |
-#if defined(GOOGLE_CHROME_BUILD) && \ |
- (defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))) |
-#define MAYBE_Scroll DISABLED_Scroll |
-#else |
-// TODO(thestig): http://crbug.com/79837, http://crbug.com/332778, |
-// http://crbug.com/446221 Possibly a race between mouse event processing and |
-// JavaScript execution in the renderer. The failure goes away if you Sleep() |
-// after SwapBuffers. |
-#define MAYBE_Scroll DISABLED_Scroll |
-#endif |
-// Tests that scrolling works. |
-IN_PROC_BROWSER_TEST_F(PDFBrowserTest, MAYBE_Scroll) { |
- ASSERT_NO_FATAL_FAILURE(Load()); |
- |
- // We use wheel mouse event since that's the only one we can easily push to |
- // the renderer. There's no way to push a cross-platform keyboard event at |
- // the moment. |
- blink::WebMouseWheelEvent wheel_event; |
- wheel_event.type = blink::WebInputEvent::MouseWheel; |
- wheel_event.deltaY = -200; |
- wheel_event.wheelTicksY = -2; |
- WebContents* web_contents = |
- browser()->tab_strip_model()->GetActiveWebContents(); |
- web_contents->GetRenderViewHost()->ForwardWheelEvent(wheel_event); |
- ASSERT_NO_FATAL_FAILURE(WaitForResponse()); |
- |
- int y_offset = 0; |
- ASSERT_TRUE(content::ExecuteScriptAndExtractInt( |
- browser()->tab_strip_model()->GetActiveWebContents(), |
- "window.domAutomationController.send(plugin.pageYOffset())", |
- &y_offset)); |
- ASSERT_GT(y_offset, 0); |
-} |
- |
-const int kLoadingNumberOfParts = 10; |
- |
-// Tests that loading async pdfs works correctly (i.e. document fully loads). |
-// This also loads all documents that used to crash, to ensure we don't have |
-// regressions. |
-// If it flakes, reopen http://crbug.com/74548. |
-#if defined(GOOGLE_CHROME_BUILD) |
-#define MAYBE_Loading DISABLED_Loading |
-#else |
-#define MAYBE_Loading DISABLED_Loading |
-#endif |
-IN_PROC_BROWSER_TEST_P(PDFBrowserTest, MAYBE_Loading) { |
- ASSERT_TRUE(pdf_test_server()->InitializeAndWaitUntilReady()); |
- |
- NavigationController* controller = |
- &(browser()->tab_strip_model()->GetActiveWebContents()->GetController()); |
- content::NotificationRegistrar registrar; |
- registrar.Add(this, |
- content::NOTIFICATION_LOAD_STOP, |
- content::Source<NavigationController>(controller)); |
- std::string base_url = std::string("/"); |
- |
- base::FileEnumerator file_enumerator( |
- ui_test_utils::GetTestFilePath( |
- base::FilePath(FILE_PATH_LITERAL("pdf_private")), base::FilePath()), |
- false, |
- base::FileEnumerator::FILES, |
- FILE_PATH_LITERAL("*.pdf")); |
- for (base::FilePath file_path = file_enumerator.Next(); |
- !file_path.empty(); |
- file_path = file_enumerator.Next()) { |
- std::string filename = file_path.BaseName().MaybeAsASCII(); |
- ASSERT_FALSE(filename.empty()); |
- |
-#if defined(OS_POSIX) |
- if (filename == "sample.pdf") |
- continue; // Crashes on Mac and Linux. http://crbug.com/63549 |
-#endif |
- |
- // Split the test into smaller sub-tests. Each one only loads |
- // every k-th file. |
- if (static_cast<int>(base::Hash(filename) % kLoadingNumberOfParts) != |
- GetParam()) { |
- continue; |
- } |
- |
- LOG(WARNING) << "PDFBrowserTest.Loading: " << filename; |
- |
- GURL url = pdf_test_server()->GetURL(base_url + filename); |
- ui_test_utils::NavigateToURL(browser(), url); |
- |
- while (true) { |
- int last_count = load_stop_notification_count(); |
- // We might get extraneous chrome::LOAD_STOP notifications when |
- // doing async loading. This happens when the first loader is cancelled |
- // and before creating a byte-range request loader. |
- bool complete = false; |
- ASSERT_TRUE(content::ExecuteScriptAndExtractBool( |
- browser()->tab_strip_model()->GetActiveWebContents(), |
- "window.domAutomationController.send(plugin.documentLoadComplete())", |
- &complete)); |
- if (complete) |
- break; |
- |
- // Check if the LOAD_STOP notification could have come while we run a |
- // nested message loop for the JS call. |
- if (last_count != load_stop_notification_count()) |
- continue; |
- content::WaitForLoadStop( |
- browser()->tab_strip_model()->GetActiveWebContents()); |
- } |
- } |
-} |
- |
-INSTANTIATE_TEST_CASE_P(PDFTestFiles, |
- PDFBrowserTest, |
- testing::Range(0, kLoadingNumberOfParts)); |
- |
-#if defined(GOOGLE_CHROME_BUILD) && (defined(OS_WIN) || defined(OS_LINUX)) |
-#define MAYBE_Action DISABLED_Action |
-#else |
-// http://crbug.com/315160 |
-#define MAYBE_Action DISABLED_Action |
-#endif |
-IN_PROC_BROWSER_TEST_F(PDFBrowserTest, MAYBE_Action) { |
- ASSERT_NO_FATAL_FAILURE(Load()); |
- |
- ASSERT_TRUE(content::ExecuteScript( |
- browser()->tab_strip_model()->GetActiveWebContents(), |
- "document.getElementsByName('plugin')[0].fitToHeight();")); |
- |
- std::string zoom1, zoom2; |
- ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
- browser()->tab_strip_model()->GetActiveWebContents(), |
- "window.domAutomationController.send(" |
- " document.getElementsByName('plugin')[0].getZoomLevel().toString())", |
- &zoom1)); |
- |
- ASSERT_TRUE(content::ExecuteScript( |
- browser()->tab_strip_model()->GetActiveWebContents(), |
- "document.getElementsByName('plugin')[0].fitToWidth();")); |
- |
- ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
- browser()->tab_strip_model()->GetActiveWebContents(), |
- "window.domAutomationController.send(" |
- " document.getElementsByName('plugin')[0].getZoomLevel().toString())", |
- &zoom2)); |
- ASSERT_NE(zoom1, zoom2); |
-} |
- |
-#if defined(GOOGLE_CHROME_BUILD) && defined(OS_LINUX) |
-#define MAYBE_OnLoadAndReload DISABLED_OnLoadAndReload |
-#else |
-// Flaky as per http://crbug.com/74549. |
-#define MAYBE_OnLoadAndReload DISABLED_OnLoadAndReload |
-#endif |
-IN_PROC_BROWSER_TEST_F(PDFBrowserTest, MAYBE_OnLoadAndReload) { |
- ASSERT_TRUE(pdf_test_server()->InitializeAndWaitUntilReady()); |
- |
- GURL url = pdf_test_server()->GetURL("/onload_reload.html"); |
- ui_test_utils::NavigateToURL(browser(), url); |
- WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents(); |
- |
- content::WindowedNotificationObserver observer( |
- content::NOTIFICATION_LOAD_STOP, |
- content::Source<NavigationController>( |
- &contents->GetController())); |
- ASSERT_TRUE(content::ExecuteScript( |
- browser()->tab_strip_model()->GetActiveWebContents(), |
- "reloadPDF();")); |
- observer.Wait(); |
- |
- ASSERT_EQ("success", contents->GetURL().query()); |
-} |
- |
-} // namespace |