| 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
|
|
|