Add support for text-based repaint testing
https://bugs.webkit.org/show_bug.cgi?id=100584

Reviewed by Simon Fraser.

Allows tracked repaint rects to be dumped as text.

.:

* Source/autotools/symbols.filter:
  Exports for:
    FrameView::setTracksRepaints(bool)
    Frame::trackedRepaintRectsAsText() const

Source/WebCore:

The following layout tests have been converted:
  fast/repaint/layer-full-repaint.html
  fast/repaint/overflow-flipped-writing-mode-table.html

* WebCore.exp.in:
  Exports for:
    FrameView::setTracksRepaints(bool)
    Frame::trackedRepaintRectsAsText() const
* page/Frame.cpp:
(WebCore::Frame::trackedRepaintRectsAsText):
  Returns a string containing information on all tracked repaint rects.
* page/FrameView.cpp:
(WebCore::FrameView::setTracksRepaints):
  Rather than calling m_trackedRepaintRects.clear() directly, I've
  called resetTrackedRepaints(). This will allow us to do more
  sophisticated resetting when we start tracking repaint rects for
  composited layers.
(WebCore::FrameView::trackedRepaintRectsAsText):
  Provides the string returned by Frame::trackedRepaintRectsAsText.
* testing/Internals.cpp:
(WebCore::Internals::repaintRectsAsText):
  Returns Frame::trackedRepaintRectsAsText.
(WebCore):
(WebCore::Internals::startTrackingRepaints):
  Calls FrameView::setTracksRepaints(true)
(WebCore::Internals::stopTrackingRepaints):
  Calls FrameView::setTracksRepaints(false)
* testing/Internals.h:
* testing/Internals.idl:
  Declarations for:
    repaintRectsAsText
    startTrackingRepaints
    stopTrackingRepaints

Source/WebKit2:

* mac/WebKit2.order:
* win/WebKit2.def:
* win/WebKit2CFLite.def:
  Exports for:
    FrameView::setTracksRepaints(bool)
    Frame::trackedRepaintRectsAsText() const

LayoutTests:

* fast/repaint/layer-full-repaint-expected.txt: Added.
* fast/repaint/layer-full-repaint.html:
* fast/repaint/overflow-flipped-writing-mode-table-expected.png: Removed.
* fast/repaint/overflow-flipped-writing-mode-table-expected.txt:
* fast/repaint/overflow-flipped-writing-mode-table.html:
* fast/repaint/resources/repaint.js:
* fast/repaint/resources/text-based-repaint.js: Added.
(runRepaintTest):
  The function calls internals.startTrackingRepaints() rather than display()
  before calling repaintTest(). It also generates a <pre> element and sets
  its innerHTML to internals.repaintRectsAsText().
* platform/chromium-mac/fast/repaint/layer-full-repaint-expected.png: Removed.
* platform/chromium-mac/fast/repaint/overflow-flipped-writing-mode-table-expected.png: Removed.
* platform/chromium-win/fast/repaint/overflow-flipped-writing-mode-table-expected.png: Removed.
* platform/chromium/fast/repaint/layer-full-repaint-expected.png: Removed.
* platform/chromium/fast/repaint/layer-full-repaint-expected.txt: Removed.
* platform/efl/fast/repaint/layer-full-repaint-expected.png: Removed.
* platform/efl/fast/repaint/layer-full-repaint-expected.txt: Removed.
* platform/gtk/fast/repaint/layer-full-repaint-expected.png: Removed.
* platform/gtk/fast/repaint/layer-full-repaint-expected.txt: Removed.
* platform/gtk/fast/repaint/overflow-flipped-writing-mode-table-expected.png: Removed.
* platform/mac/fast/repaint/layer-full-repaint-expected.png: Removed.
* platform/mac/fast/repaint/layer-full-repaint-expected.txt: Removed.
* platform/qt/fast/repaint/layer-full-repaint-expected.png: Removed.
* platform/qt/fast/repaint/layer-full-repaint-expected.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] More unreviewed pixel expectations gardening.

Accept Missing as a valid result for some ietestcenter tests, and
skip another one of them.

* platform/efl/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] WebContext::platformDefaultIconDatabasePath() should return a path to a file
https://bugs.webkit.org/show_bug.cgi?id=100679

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-10-31
Reviewed by Kenneth Rohde Christiansen.

This patch aligns the EFL implementation with other ports. Before
that, we had an inconsistence: the return value of the getter could
not be used on the setter (the setter expects a full path, not a
directory).

* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::faviconDatabase):
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformDefaultIconDatabasePath):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] DRT doesn't clean up after itself
https://bugs.webkit.org/show_bug.cgi?id=100346

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-10-31
Reviewed by Kenneth Rohde Christiansen.

The test driver exports an environment variable DUMPRENDERTREE_TEMP
which is used by both DRT and WTR as the folder for storing icons,
databases, application cache, etc, overriding the default XDG_* path.

We don't need to create these folders because in fact, they are never
used and also never cleaned. Things created inside DUMPRENDERTREE_TEMP
are automatically removed after the test run.

* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort.setup_environ_for_server):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Table with percentage column widths doesn't scale to fill the entire width of a table containing it
https://bugs.webkit.org/show_bug.cgi?id=11645

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-10-31
Reviewed by Julien Chaffraix.

Source/WebCore:

When the inner (or nested) table has auto width and column(s) with
percent width, we should scale our column(s) to the width of the
containing table (unless it has auto width).

Test: fast/table/scale-nested-percent-width-cols.html

* rendering/AutoTableLayout.cpp:
(WebCore::shouldScaleColumns):
If the containing table width was of percent type, we were disallowing
our inner or nested table's column from scaling to the size of the parent
table. We should prohibit the scaling of the nested table columns only
if the parent table has auto width.

LayoutTests:

* fast/table/scale-nested-percent-width-cols-expected.html: Added.
* fast/table/scale-nested-percent-width-cols.html: Added.
Added a ref test verifying that our nested (auto width) table's columns
are scaled and sized appropriately if the containing table has
percent width.

* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:
Added an entry for fast/table/025.html for these ports. It would need
rebaselining as a result of this fix.

* platform/qt/fast/table/025-expected.png:
* platform/qt/fast/table/025-expected.txt:
Modified expected results for the existing test on qt port.

In the given test, our innermost nested table has auto width and consits
of three table cells with percent width specified for the first and the
third cells. Its containing table on the other hand is a percent width
table.

Previously, we were not scaling our inner table's column(s) from expanding
to the width of the containing table if it had percent width type. Because
of this our first and last table cells in the innermost table were being
rendered only with the minimum width (4px).

Post this fix, since now our inner table columns shall scale, the first and
the last table cell would thus expand in width (41px each) and hence the
change in the column and the table dimensions.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133037 268f45cc-cd09-0410-ab3c-d52691b4dbfc