[Chromium] Need setPrinting
https://bugs.webkit.org/show_bug.cgi?id=46152

Patch by Stephen Chenney <schenney@chromium.org> on 2011-10-27
Reviewed by Hajime Morita.

Source/WebKit/chromium:

* public/WebFrame.h: Added pure virtual prototype for printPagesWithBoundaries. Added enum
and changed parameters for renderTreeAsText.
* src/WebFrameImpl.cpp:
(WebKit::ChromePrintContext::spoolAllPagesWithBoundaries): Added this method, based on
the static in PrintContext. This uses Chromium specific page spooling and transforms.
(WebKit::WebFrameImpl::renderTreeAsText): Updated to allow text dump in printed format.
(WebKit::WebFrameImpl::printPagesWithBoundaries): Added method for testing printing page
breaks.
* src/WebFrameImpl.h: Added prototype.

Tools:

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController): Added logic for handling setPrinting.
(LayoutTestController::reset): Clearing flags for setPrinting.
(LayoutTestController::setPrinting): Set flags for setPrinting.
* DumpRenderTree/chromium/LayoutTestController.h:
(LayoutTestController::setIsPrinting): Added the setPrinting methods and flags.
(LayoutTestController::isPrinting): Method to return the setPrinting status.
* DumpRenderTree/chromium/TestShell.cpp:
(dumpFramesAsPrintedText): A method for creating a text dump in printed layout.
(TestShell::dump): Modified to dump setPrinting-specific output.
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::paintPagesWithBoundaries): Handling for pixel tests when setPrinting is
active.
* DumpRenderTree/chromium/WebViewHost.h: Prototype for paintPagesWithBoundaries.

LayoutTests:

* platform/chromium/test_expectations.txt: Removing setPrinting tests from the expected failures.
* platform/chromium-linux/printing/setPrinting-expected.png: Added.
* platform/chromium-linux/printing/setPrinting-expected.txt: Added.
* platform/chromium-linux/printing/single-line-must-not-be-split-into-two-pages-expected.png: Added.
* platform/chromium-linux/printing/single-line-must-not-be-split-into-two-pages-expected.txt: Added.
* platform/chromium-mac/printing/setPrinting-expected.png: Added.
* platform/chromium-mac/printing/setPrinting-expected.txt: Added.
* platform/chromium-mac/printing/single-line-must-not-be-split-into-two-pages-expected.png: Added.
* platform/chromium-mac/printing/single-line-must-not-be-split-into-two-pages-expected.txt: Added.
* platform/chromium-win/printing/setPrinting-expected.png: Added.
* platform/chromium-win/printing/setPrinting-expected.txt: Added.
* platform/chromium-win/printing/single-line-must-not-be-split-into-two-pages-expected.png: Added.
* platform/chromium-win/printing/single-line-must-not-be-split-into-two-pages-expected.txt: Added.
* platform/mac/printing/setPrinting-expected.png: Rebaselined for the change to the test html.
* platform/mac/printing/setPrinting-expected.txt: Rebaselined for the change to the test html.
* printing/setPrinting.html: Modified the test to make the box have a colored border
  instead of the solid background, as the solid background does not print on chromium.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@98634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
27 files changed