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

Unified Diff: content/shell/layout_test_controller_host.cc

Issue 10860037: [content shell] rename layout_test_controller{,_host,_bindings}.* to webkit_test_runner (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: patch for landing Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/shell/layout_test_controller_host.h ('k') | content/shell/shell_browser_main.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/shell/layout_test_controller_host.cc
diff --git a/content/shell/layout_test_controller_host.cc b/content/shell/layout_test_controller_host.cc
deleted file mode 100644
index 34636f3274a41af0c55a031e54237f6eebaba978..0000000000000000000000000000000000000000
--- a/content/shell/layout_test_controller_host.cc
+++ /dev/null
@@ -1,220 +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 "content/shell/layout_test_controller_host.h"
-
-#include "base/command_line.h"
-#include "base/message_loop.h"
-#include "content/public/browser/render_view_host.h"
-#include "content/shell/shell_messages.h"
-#include "content/shell/shell_switches.h"
-#include "webkit/support/webkit_support_gfx.h"
-
-namespace content {
-
-namespace {
-const int kTestTimeoutMilliseconds = 30 * 1000;
-} // namespace
-
-std::map<RenderViewHost*, LayoutTestControllerHost*>
- LayoutTestControllerHost::controllers_;
-std::string LayoutTestControllerHost::expected_pixel_hash_;
-
-// static
-LayoutTestControllerHost* LayoutTestControllerHost::FromRenderViewHost(
- RenderViewHost* render_view_host) {
- const std::map<RenderViewHost*, LayoutTestControllerHost*>::iterator it =
- controllers_.find(render_view_host);
- if (it == controllers_.end())
- return NULL;
- return it->second;
-}
-
-// static
-void LayoutTestControllerHost::Init(const std::string& expected_pixel_hash) {
- // TODO(jochen): We should only dump the results for the "main window".
- expected_pixel_hash_ = expected_pixel_hash;
-}
-
-LayoutTestControllerHost::LayoutTestControllerHost(
- RenderViewHost* render_view_host)
- : RenderViewHostObserver(render_view_host),
- captured_dump_(false),
- dump_as_text_(false),
- dump_child_frames_(false),
- is_printing_(false),
- should_stay_on_page_after_handling_before_unload_(false),
- wait_until_done_(false) {
- controllers_[render_view_host] = this;
-}
-
-LayoutTestControllerHost::~LayoutTestControllerHost() {
- controllers_.erase(render_view_host());
- watchdog_.Cancel();
-}
-
-void LayoutTestControllerHost::CaptureDump() {
- if (captured_dump_)
- return;
- captured_dump_ = true;
-
- render_view_host()->Send(
- new ShellViewMsg_CaptureTextDump(render_view_host()->GetRoutingID(),
- dump_as_text_,
- is_printing_,
- dump_child_frames_));
- if (!dump_as_text_) {
- render_view_host()->Send(
- new ShellViewMsg_CaptureImageDump(render_view_host()->GetRoutingID(),
- expected_pixel_hash_));
- }
-}
-
-void LayoutTestControllerHost::TimeoutHandler() {
- printf("FAIL: Timed out waiting for notifyDone to be called\n");
- fprintf(stderr, "FAIL: Timed out waiting for notifyDone to be called\n");
- CaptureDump();
-}
-
-bool LayoutTestControllerHost::OnMessageReceived(
- const IPC::Message& message) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(LayoutTestControllerHost, message)
- IPC_MESSAGE_HANDLER(ShellViewHostMsg_DidFinishLoad, OnDidFinishLoad)
- IPC_MESSAGE_HANDLER(ShellViewHostMsg_TextDump, OnTextDump)
- IPC_MESSAGE_HANDLER(ShellViewHostMsg_ImageDump, OnImageDump)
- IPC_MESSAGE_HANDLER(ShellViewHostMsg_NotifyDone, OnNotifyDone)
- IPC_MESSAGE_HANDLER(ShellViewHostMsg_DumpAsText, OnDumpAsText)
- IPC_MESSAGE_HANDLER(ShellViewHostMsg_DumpChildFramesAsText,
- OnDumpChildFramesAsText)
- IPC_MESSAGE_HANDLER(ShellViewHostMsg_SetPrinting, OnSetPrinting)
- IPC_MESSAGE_HANDLER(
- ShellViewHostMsg_SetShouldStayOnPageAfterHandlingBeforeUnload,
- OnSetShouldStayOnPageAfterHandlingBeforeUnload)
- IPC_MESSAGE_HANDLER(ShellViewHostMsg_WaitUntilDone, OnWaitUntilDone)
- IPC_MESSAGE_HANDLER(ShellViewHostMsg_NotImplemented, OnNotImplemented)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
-
- return handled;
-}
-
-void LayoutTestControllerHost::OnDidFinishLoad() {
- if (wait_until_done_)
- return;
-
- CaptureDump();
-}
-
-void LayoutTestControllerHost::OnTextDump(const std::string& dump) {
- printf("%s#EOF\n", dump.c_str());
- fprintf(stderr, "#EOF\n");
-
- if (dump_as_text_)
- MessageLoop::current()->PostTask(FROM_HERE, MessageLoop::QuitClosure());
-}
-
-void LayoutTestControllerHost::OnImageDump(
- const std::string& actual_pixel_hash,
- const SkBitmap& image) {
- SkAutoLockPixels image_lock(image);
-
- printf("\nActualHash: %s\n", actual_pixel_hash.c_str());
- if (!expected_pixel_hash_.empty())
- printf("\nExpectedHash: %s\n", expected_pixel_hash_.c_str());
-
- // Only encode and dump the png if the hashes don't match. Encoding the
- // image is really expensive.
- if (actual_pixel_hash != expected_pixel_hash_) {
- std::vector<unsigned char> png;
-
- // Only the expected PNGs for Mac have a valid alpha channel.
-#if defined(OS_MACOSX)
- bool discard_transparency = false;
-#else
- bool discard_transparency = true;
-#endif
-
- bool success = false;
-#if defined(OS_ANDROID)
- success = webkit_support::EncodeRGBAPNGWithChecksum(
- reinterpret_cast<const unsigned char*>(image.getPixels()),
- image.width(),
- image.height(),
- static_cast<int>(image.rowBytes()),
- discard_transparency,
- actual_pixel_hash,
- &png);
-#else
- success = webkit_support::EncodeBGRAPNGWithChecksum(
- reinterpret_cast<const unsigned char*>(image.getPixels()),
- image.width(),
- image.height(),
- static_cast<int>(image.rowBytes()),
- discard_transparency,
- actual_pixel_hash,
- &png);
-#endif
- if (success) {
- printf("Content-Type: image/png\n");
- printf("Content-Length: %u\n", static_cast<unsigned>(png.size()));
- fwrite(&png[0], 1, png.size(), stdout);
- }
- }
-
- MessageLoop::current()->PostTask(FROM_HERE, MessageLoop::QuitClosure());
-}
-
-void LayoutTestControllerHost::OnNotifyDone() {
- if (!wait_until_done_)
- return;
- watchdog_.Cancel();
- CaptureDump();
-}
-
-void LayoutTestControllerHost::OnDumpAsText() {
- dump_as_text_ = true;
-}
-
-void LayoutTestControllerHost::OnSetPrinting() {
- is_printing_ = true;
-}
-
-void LayoutTestControllerHost::OnSetShouldStayOnPageAfterHandlingBeforeUnload(
- bool should_stay_on_page) {
- should_stay_on_page_after_handling_before_unload_ = should_stay_on_page;
-}
-
-void LayoutTestControllerHost::OnDumpChildFramesAsText() {
- dump_child_frames_ = true;
-}
-
-void LayoutTestControllerHost::OnWaitUntilDone() {
- if (wait_until_done_)
- return;
- if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoTimeout)) {
- watchdog_.Reset(base::Bind(&LayoutTestControllerHost::TimeoutHandler,
- base::Unretained(this)));
- MessageLoop::current()->PostDelayedTask(
- FROM_HERE,
- watchdog_.callback(),
- base::TimeDelta::FromMilliseconds(kTestTimeoutMilliseconds));
- }
- wait_until_done_ = true;
-}
-
-void LayoutTestControllerHost::OnNotImplemented(
- const std::string& object_name,
- const std::string& property_name) {
- if (captured_dump_)
- return;
- printf("FAIL: NOT IMPLEMENTED: %s.%s\n",
- object_name.c_str(), property_name.c_str());
- fprintf(stderr, "FAIL: NOT IMPLEMENTED: %s.%s\n",
- object_name.c_str(), property_name.c_str());
- watchdog_.Cancel();
- CaptureDump();
-}
-
-} // namespace content
« no previous file with comments | « content/shell/layout_test_controller_host.h ('k') | content/shell/shell_browser_main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698