WebKit-https.git
7 years agoBuild fix for Qt Windows.
jonlee@apple.com [Tue, 9 Oct 2012 21:49:06 +0000 (21:49 +0000)]
Build fix for Qt Windows.

* html/HTMLPlugInElement.h: Include Image.h.

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

7 years ago[Chromium] Chromium DEPS has a stray directory, turning our Win bots red
jchaffraix@webkit.org [Tue, 9 Oct 2012 21:35:32 +0000 (21:35 +0000)]
[Chromium] Chromium DEPS has a stray directory, turning our Win bots red
https://bugs.webkit.org/show_bug.cgi?id=98817

Reviewed by Dirk Pranke.

* DEPS: Removed the stray directory which solved the redness on several of our bots.

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

7 years agoOnly measure text once instead of twice when performing line layout.
enrica@apple.com [Tue, 9 Oct 2012 21:35:11 +0000 (21:35 +0000)]
Only measure text once instead of twice when performing line layout.
https://bugs.webkit.org/show_bug.cgi?id=98317
<rdar://problem/12080821>

Reviewed by Dan Bernstein.

Since we are measuring each word to find out where the line break should occur,
we should cache that information to avoid measuring the run again when
creating the line box. The bulk of the change is in nextLineBreak, where
the measurements are collected and placed in a vector so that they can
be consumed in setLogicalWidthForTextRun where we used to measure the
text one more time.
Each entry in the vector is a WordMeasurement object that contains information
about the start and end offset in the run, the renderer, the measured width
and, possibly, a list of fallback fonts.
When we need to compute the width of the run to create the line box, we add
all the measurements for the given renderer in the run to get the total width.

* platform/graphics/Font.cpp:
(WebCore::Font::width): Added fallback fonts parameter.
* platform/graphics/Font.h:
(Font): Added fallback fonts parameter to the width static member function.
This method is called when we compute the width using TextLayout.
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::TextLayout::width): Added fallback fonts parameter.
(WebCore::Font::width):
(WebCore::ComplexTextController::advance):
* platform/graphics/mac/ComplexTextController.h:
(ComplexTextController): Added fallback fonts parameter to advance method.
* rendering/RenderBlock.h: Added WordMeasures parameter to few methods.
* rendering/RenderBlockLineLayout.cpp:
(WordMeasurement): Added new class to hold measurement information.
(WebCore::setLogicalWidthForTextRun): This is where we compute the run width using the
cached information.
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Added wordMeasures parameter.
(WebCore::RenderBlock::createLineBoxesFromBidiRuns): Added wordMeasures parameter.
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Added declaration of the WordMeasures
vector and its use.
(WebCore::textWidth): Added fallbackFonts parameter, since now we only measure once.
(WebCore::RenderBlock::LineBreaker::nextLineBreak): This method has been modified to collect
the measurements of the individual words and add them to the vector.

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

7 years ago[Sub pixel layout] Fast-path iframe scrolling can picks up an extra pixel
leviw@chromium.org [Tue, 9 Oct 2012 21:31:55 +0000 (21:31 +0000)]
[Sub pixel layout] Fast-path iframe scrolling can picks up an extra pixel
https://bugs.webkit.org/show_bug.cgi?id=98571

Reviewed by Emil A Eklund.

Source/WebCore:

Refactoring all coordinate-switching functionality to use a single "mode" flag
as opposed to having a bunch of boolean values. This enables the same set of
options across the board, and a consistent interface. This was previously
done for mapLocalToContainer.

The imptetus for this for this stems from the one logical change in this patch
which only effects sub-pixel layout. FrameView::convertToRenderer and
convertFromRenderer return IntPoint coordinates, and need to also snap transform
offsets to determine proper rects for scrolling.

Unlabeled functions below are simply being updated to these new interfaces.

Test: fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html

* WebCore.exp.in:
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getUpperLeftCorner):
(WebCore::ContainerNode::getLowerRightCorner):
* dom/Element.cpp:
(WebCore::Element::boundsInRootViewSpace):
* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::computeRelativePosition):
* dom/Node.cpp:
(WebCore::Node::convertToPage):
(WebCore::Node::convertFromPage):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::setPositionFromPoint):
* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::defaultEventHandler):
* page/FrameView.cpp:
(WebCore::FrameView::convertToRenderer): Now pixel-snaps offsets before passing
them to TransformState, which transforms the coordinates.
(WebCore::FrameView::convertFromRenderer): Ditto.
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::absoluteQuads):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::absoluteQuads):
(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::mapAbsoluteToLocalPoint):
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::userResize):
* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::absolutePoint):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::mapLocalToContainer):
* rendering/RenderInline.h:
(RenderInline):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::absoluteToContents):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderMediaControls.cpp:
(WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::showPopup):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::localToAbsolute):
(WebCore::RenderObject::absoluteToLocal):
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::mapAbsoluteToLocalPoint):
(WebCore::RenderObject::localToContainerQuad):
(WebCore::RenderObject::localToContainerPoint):
* rendering/RenderObject.h:
(RenderObject): MapLocalToContainerFlags is now MapCoordinatesFlags since it's
now used for other conversion methods.
(WebCore::RenderObject::localToAbsoluteQuad):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
* rendering/RenderView.cpp:
(WebCore::RenderView::mapLocalToContainer):
(WebCore::RenderView::mapAbsoluteToLocalPoint):
* rendering/RenderView.h:
(RenderView):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::mapLocalToContainer):
* rendering/svg/RenderSVGForeignObject.h:
(RenderSVGForeignObject):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::mapLocalToContainer):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::mapLocalToContainer):
* rendering/svg/RenderSVGModelObject.h:
(RenderSVGModelObject):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::mapLocalToContainer):
* rendering/svg/RenderSVGRoot.h:
(RenderSVGRoot):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::mapLocalToContainer):
* rendering/svg/RenderSVGText.h:
(RenderSVGText):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::mapLocalToContainer):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::localCoordinateSpaceTransform):

LayoutTests:

Tests scrolling of sub-pixel layers on sub-pixel platforms (Chromium).

* fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html: Added.
* platform/chromium-linux/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png: Added.
* platform/chromium-linux/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt: Added.
* platform/chromium-linux/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
The repaint rect shrinks safely by one pixel.
* platform/chromium/TestExpectations:
* platform/mac-lion/TestExpectations:
* platform/mac-snowleopard/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt-4.8/TestExpectations:
* platform/qt/TestExpectations:
* platform/win-wk2/TestExpectations:
* platform/win-xp/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wk2/TestExpectations:

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

7 years ago[WK2] Have plugins render offscreen to capture snapshot
jonlee@apple.com [Tue, 9 Oct 2012 21:23:32 +0000 (21:23 +0000)]
[WK2] Have plugins render offscreen to capture snapshot
https://bugs.webkit.org/show_bug.cgi?id=98326
<rdar://problem/12426658>

Reviewed by Simon Fraser.

Source/WebCore:

Change updateSnapshot() to use a PassRefPtr<Image> instead of Image*. WebKit2 ultimately
hands the image off to RenderSnapshottedPlugin. A CachedImage instance then manages the
lifetime of the Image.

* html/HTMLPlugInElement.h:
(WebCore::HTMLPlugInElement::updateSnapshot):
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::updateSnapshot):
* html/HTMLPlugInImageElement.h:
(HTMLPlugInImageElement):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::updateSnapshot): Updated to use the PassRefPtr<Image>
pointer.
* rendering/RenderSnapshottedPlugIn.h:
(RenderSnapshottedPlugIn):

Source/WebKit2:

Keep the plugin rendering without compositing to easily grab the snapshot.

PluginView now has two variables referring to snapshots, but are unrelated. The timer
is used to capture a snapshot that acts as a poster for a plugin. The ShareableBitmap
variable m_snapshot is used whenever the plugin paints in software, to avoid side effects
should the plugin run JS during painting.

* WebProcess/Plugins/PluginView.cpp:
(WebKit): Add a named constant for the time delay before a snapshot is taken.
(WebKit::PluginView::PluginView): Initialize a 3-second timer to get the snapshot.
(WebKit::PluginView::~PluginView): Refactor part of the destructor code out into
destroyPluginAndReset() for reuse.
(WebKit::PluginView::destroyPluginAndReset): Contains part of the destructor code.
In addition to destroying the plugin, the destructor cancels pending loads and streams.
(WebKit::PluginView::didInitializePlugin): If the plugin is in a state where it needs
to generate or display a poster, don't setup the compositing layer and start the timer.
(WebKit::PluginView::paint): Avoid painting if the plugin is not running.
(WebKit::PluginView::invalidateRect): Avoid painting if the plugin is not running.
(WebKit::PluginView::isAcceleratedCompositingEnabled): Don't enable accelerated compositing
until the plugin is running.
(WebKit::PluginView::pluginSnapshotTimerFired): When the timer fires, get a snapshot, generate
an Image that WebCore can render, and destroy the plugin.

Rename m_snapshot to m_transientPaintingSnapshot.
* WebProcess/Plugins/PluginView.h:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::paint):
(WebKit::PluginView::notifyWidget):
(WebKit::PluginView::pluginSnapshotTimerFired):

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

7 years agoThese tests also fail with ImageOnlyFailures.
abarth@webkit.org [Tue, 9 Oct 2012 21:20:35 +0000 (21:20 +0000)]
These tests also fail with ImageOnlyFailures.

* platform/chromium/TestExpectations:

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

7 years agoThis test now appears to fail on the bots because
abarth@webkit.org [Tue, 9 Oct 2012 21:17:47 +0000 (21:17 +0000)]
This test now appears to fail on the bots because
http://trac.webkit.org/changeset/130799 removed the ImageOnlyFailure
attribute.

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed. Move this file to where the build systems think it should
abarth@webkit.org [Tue, 9 Oct 2012 21:09:43 +0000 (21:09 +0000)]
Unreviewed. Move this file to where the build systems think it should
be. See https://bugs.webkit.org/show_bug.cgi?id=94755

* platform/graphics/CustomFilterConstants.h: Removed.
* platform/graphics/filters/CustomFilterConstants.h: Copied from Source/WebCore/platform/graphics/CustomFilterConstants.h.

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

7 years agoUse computeLogical* methods instead of updateLogical* methods in RenderImage
tony@chromium.org [Tue, 9 Oct 2012 20:38:54 +0000 (20:38 +0000)]
Use computeLogical* methods instead of updateLogical* methods in RenderImage
https://bugs.webkit.org/show_bug.cgi?id=98802

Reviewed by Eric Seidel.

We were storing the old values of width/height, calling updateLogical{Width,Height}, then restoring
the old values.  Instead, use the computeLogical{Width,Height} methods so we don't have to overwrite
the current values.

No new tests, this is just a refactoring.

* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageDimensionsChanged):

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

7 years agoVCSUtils.pm doesn't support SVN 1.7 diff files
dbates@webkit.org [Tue, 9 Oct 2012 20:36:23 +0000 (20:36 +0000)]
VCSUtils.pm doesn't support SVN 1.7 diff files
<https://bugs.webkit.org/show_bug.cgi?id=80762>

Reviewed by Eric Seidel.

Implement support for the SVN 1.7 diff format.

* Scripts/VCSUtils.pm:
(parseChunkRange): Modified to support parsing an SVN 1.7 chunk range
that begins and ends with "##" (e.g. ## -0,0 +1,7 ##). For comparison,
earlier versions of SVN parsed chunk ranges of the form "@@ -0,0 +1,7 @@".

(parseSvnDiffHeader): Modified to parse an SVN 1.7 binary diff; SVN 1.7
has an unusual display format for a binary diff. It repeats the first
two lines of the diff header.

(parseSvnProperty): Modified to ignore both an SVN 1.7 chunk range and
lines of the form "\ No newline at end of property". SVN 1.7 emits the latter
message after a property value that doesn't end in a newline.

(parseSvnPropertyValue): Stop parsing an SVN property value when we encounter
a line of the form "\ No newline at end of property" (emitted by svn diff as of
SVN 1.7).

* Scripts/webkitperl/VCSUtils_unittest/parseChunkRange.pl:
  - Added the following unit tests:
  "Line count is 0"
  "New line count is 1"

* Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffFooter.pl:
  - Added the following unit tests:
  "svn:executable followed by custom property using SVN 1.7 syntax"
  "svn:executable followed by custom property without newline using SVN 1.7 syntax"

* Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:
  - Updated test results for test "binary file".
  - Added unit test "binary file using SVN 1.7 syntax".

* Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl:
  - Added the following unit tests:
  "simple: add svn:executable using SVN 1.7 syntax"
  "simple: delete svn:executable using SVN 1.7 syntax"
  "add svn:mime-type and add svn:executable using SVN 1.7 syntax"

* Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl:
  - Added the following unit tests:
  "singe-line '+' change using SVN 1.7 syntax"
  "single-line '-' change using SVN 1.7 syntax"

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

7 years ago[BlackBerry] Cleanup FatFingers.cpp
rwlbuis@webkit.org [Tue, 9 Oct 2012 20:35:19 +0000 (20:35 +0000)]
[BlackBerry] Cleanup FatFingers.cpp
https://bugs.webkit.org/show_bug.cgi?id=98806

Reviewed by Antonio Gomes.

Cleanup namespace usage and sync up FatFingers.cpp.

* WebKitSupport/FatFingers.cpp:
(BlackBerry::WebKit::compareDistanceBetweenPoints):
(BlackBerry::WebKit::FatFingers::findBestPoint):
(BlackBerry::WebKit::FatFingers::checkFingerIntersection):
(BlackBerry::WebKit::FatFingers::findIntersectingRegions):
(BlackBerry::WebKit::FatFingers::checkForClickableElement):
(BlackBerry::WebKit::FatFingers::checkForText):
(BlackBerry::WebKit::FatFingers::getNodesFromRect):
(BlackBerry::WebKit::FatFingers::getRelevantInfoFromPoint):

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

7 years ago[chromium] fast/text/international/text-spliced-font.html and fast/writing-mode/Kusa...
enrica@apple.com [Tue, 9 Oct 2012 20:28:21 +0000 (20:28 +0000)]
[chromium] fast/text/international/text-spliced-font.html and fast/writing-mode/Kusa-Makura-
background-canvas.html failing on the Mac after r130443
https://bugs.webkit.org/show_bug.cgi?id=98545

Reviewed by Tony Chang.

Adding back the ! removed by mistake before submitting r130779.

* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataAndPageForCharacter):

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

7 years agoUnreviewed, rolling out r128488.
jamesr@google.com [Tue, 9 Oct 2012 20:28:00 +0000 (20:28 +0000)]
Unreviewed, rolling out r128488.
http://trac.webkit.org/changeset/128488
https://bugs.webkit.org/show_bug.cgi?id=96678

The bot is fixed now

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
(.):

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

7 years ago[BlackBerry] EGL Context deleted prematurely in GraphicsContext3D destructor
commit-queue@webkit.org [Tue, 9 Oct 2012 20:12:15 +0000 (20:12 +0000)]
[BlackBerry] EGL Context deleted prematurely in GraphicsContext3D destructor
https://bugs.webkit.org/show_bug.cgi?id=98796

Patch by Artem Simonov <asimonov@rim.com> on 2012-10-09
Reviewed by George Staikos.

Reordered destruction of GraphicsContext3D so that the compositing layer is
destroyed first.

* platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
(WebCore::GraphicsContext3D::~GraphicsContext3D):

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

7 years agoDisable hinting when webkit-font-smoothing:antialiased is used on Mac.
commit-queue@webkit.org [Tue, 9 Oct 2012 20:06:21 +0000 (20:06 +0000)]
Disable hinting when webkit-font-smoothing:antialiased is used on Mac.
https://bugs.webkit.org/show_bug.cgi?id=98061

Patch by Ben Wagner <bungeman@chromium.org> on 2012-10-09
Reviewed by Stephen White.

Normal anti-aliased text matches subpixel anti-aliased text.
However, text marked with webkit-font-smoothing:antialiased should be drawn without hinting to match Safari.
See crbug.com/152304 .

Test is fast/css/font-smoothing.html, but DRT runs with font smoothing disabled, so no change visible.

* platform/graphics/skia/FontSkia.cpp:
(WebCore::setupPaint):
Set kNo_Hinting when webkit-font-smoothing is antialiased.

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

7 years ago[Chromium] More TestExpectation updates for Android
peter@chromium.org [Tue, 9 Oct 2012 20:06:18 +0000 (20:06 +0000)]
[Chromium] More TestExpectation updates for Android
https://bugs.webkit.org/show_bug.cgi?id=98818

Unreviewed test expectation updates.

List more failures (all with bugs assigned) in the TestExpectation file for
Android. Move an older block around, considering we may want to re-triage it.

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed Chromium gardening.
jchaffraix@webkit.org [Tue, 9 Oct 2012 19:55:59 +0000 (19:55 +0000)]
Unreviewed Chromium gardening.

* platform/chromium/TestExpectations:
Removed this entry: there was no need for new baselines.

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

7 years ago[CSS Shaders] Create constants for vertex attribute sizes and offsets
commit-queue@webkit.org [Tue, 9 Oct 2012 19:48:55 +0000 (19:48 +0000)]
[CSS Shaders] Create constants for vertex attribute sizes and offsets
https://bugs.webkit.org/show_bug.cgi?id=94755

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-10-09
Reviewed by Dean Jackson.

Factor out the vertex attribute size and offset constants into a new file,
CustomFilterConstants.h. Replace literals in CustomFilterMeshGenerator with the constants.

I could have added the constants to CustomFilterMeshGenerator.h, but this would make
FECustomFilter depend on CustomFilterMeshGenerator.

I also could have added the constants to CustomFilterMesh.h, but this would make
CustomFilterMeshGenerator depend on CustomFilterMesh.

No new tests. No change in behavior.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/CustomFilterConstants.h: Added.
(WebCore):
* platform/graphics/filters/CustomFilterMeshGenerator.h:
(WebCore::CustomFilterMeshGenerator::floatsPerVertex):
    Use the new constants instead of literal values.
* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::bindProgramAndBuffers):
    Pull the constant definitions out of here.

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

7 years agodfg-cross-global tests are flaky because they misuse js-test-pre.js
abarth@webkit.org [Tue, 9 Oct 2012 19:44:15 +0000 (19:44 +0000)]
dfg-cross-global tests are flaky because they misuse js-test-pre.js
https://bugs.webkit.org/show_bug.cgi?id=98813

Reviewed by Daniel Bates.

These tests have a race between js-test-pre's "done" message and the
timeout. This patch change then to use jsTestIsAsync and finishJSTest()
appropriately.

* fast/js/script-tests/dfg-cross-global-object-inline-new-array-literal-with-variables.js:
* fast/js/script-tests/dfg-cross-global-object-inline-new-array-literal.js:
* fast/js/script-tests/dfg-cross-global-object-inline-new-array-with-elements.js:
* fast/js/script-tests/dfg-cross-global-object-inline-new-array-with-size.js:
* fast/js/script-tests/dfg-cross-global-object-inline-new-array.js:

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

7 years agoMarkupAccumulator should optimally handle 8 bit Strings
msaboff@apple.com [Tue, 9 Oct 2012 19:26:57 +0000 (19:26 +0000)]
MarkupAccumulator should optimally handle 8 bit Strings
https://bugs.webkit.org/show_bug.cgi?id=98224

Reviewed by Ryosuke Niwa.

Updated appendCharactersReplacingEntities to take a string, offset and length and process 8 or 16 bit
data as appropriate.  Also made it a member function of MarkupAccumulator.

No new tests, behavior covered by existing tests.

* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendCharactersReplacingEntities):
(WebCore::MarkupAccumulator::appendAttributeValue):
(WebCore::MarkupAccumulator::appendNodeValue):
* editing/MarkupAccumulator.h:
(MarkupAccumulator):
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendText):
(WebCore::urlToMarkup):

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

7 years agoIndexedDB: Overflowing key generator should throw ConstraintError
jsbell@chromium.org [Tue, 9 Oct 2012 19:25:44 +0000 (19:25 +0000)]
IndexedDB: Overflowing key generator should throw ConstraintError
https://bugs.webkit.org/show_bug.cgi?id=98807

Reviewed by Tony Chang.

Source/WebCore:

After the WebKit implementation landed throwing DataError, public-webapps
consensus was that the exception thrown should be ConstraintError. Trivial
change, and we pass one more W3C test submission.

Test: storage/indexeddb/key-generator.html

* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::putInternal):

LayoutTests:

Verify that overflowing key generator throws ConstraintError.

* storage/indexeddb/key-generator-expected.txt:
* storage/indexeddb/resources/key-generator.js:

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

7 years ago[chromium] Don't run perf/mouse-event on debug builds
dpranke@chromium.org [Tue, 9 Oct 2012 19:23:59 +0000 (19:23 +0000)]
[chromium] Don't run perf/mouse-event on debug builds

Unreviewed, expectations change.

We don't normally run any perf tests on a debug build, but this
one was getting run due to an improperly scoped expectation
overriding the wontfix rule.

* platform/chromium/TestExpectations:

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

7 years agoXvfbDriver unit test is flaky on Linux builders
zandobersek@gmail.com [Tue, 9 Oct 2012 19:23:10 +0000 (19:23 +0000)]
XvfbDriver unit test is flaky on Linux builders
https://bugs.webkit.org/show_bug.cgi?id=98346

Reviewed by Adam Barth.

Temporarily skip the XvfbDriver test case that tests
the display number of the next free display. The test
is flaky on Linux builders.

* Scripts/webkitpy/layout_tests/port/xvfbdriver_unittest.py:
(XvfbDriverTest.disabled_test_next_free_display):

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

7 years agoIndexedDB: open-in-upgradeneeded layout test
dgrogan@chromium.org [Tue, 9 Oct 2012 19:18:32 +0000 (19:18 +0000)]
IndexedDB: open-in-upgradeneeded layout test
https://bugs.webkit.org/show_bug.cgi?id=95912

Reviewed by Tony Chang.

* storage/indexeddb/intversion-open-in-upgradeneeded-expected.txt: Added.
* storage/indexeddb/intversion-open-in-upgradeneeded.html: Added.
* storage/indexeddb/resources/intversion-open-in-upgradeneeded.js: Added.
(test):
(deleteSuccess):
(upgradeNeeded1.transaction.oncomplete):
(upgradeNeeded1):
(openSuccess1):
(onVersionChange):
(onBlocked):
(upgradeNeeded2):
(openSuccess2):

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

7 years agoDon't duplicated build numbers when merging flakiness dashboard JSON
ojan@chromium.org [Tue, 9 Oct 2012 19:16:59 +0000 (19:16 +0000)]
Don't duplicated build numbers when merging flakiness dashboard JSON
https://bugs.webkit.org/show_bug.cgi?id=98812

Reviewed by Dirk Pranke.

In general, build numbers are not unique, but we should basically never
get the same build number uploaded twice in a row. This is a workaround
for https://bugs.webkit.org/show_bug.cgi?id=97643, which frequently hits this
because we update results_small.json and timeout updating results.json and then
we retry the whole request.

* TestResultServer/model/jsonresults.py:
(JsonResults.merge):
* TestResultServer/model/jsonresults_unittest.py:
(JsonResultsTest.test_merge_duplicate_build_number):

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

7 years agoFix the order of the statements in my previous build fix.
mrobinson@webkit.org [Tue, 9 Oct 2012 19:16:22 +0000 (19:16 +0000)]
Fix the order of the statements in my previous build fix.

Reviewed by Gustavo Noronha Silva.

My previous build build fix for ResourceHandleSoup ordered the assignment
of the local ResourceHandleInternal incorrectly. Instead of being before
both assertions, it should be interspersed among them.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::createSoupMessageForHandleAndRequest):

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

7 years agoNeed implement isWordTextBreak for QT, and WinCE for visual word movement functionality
commit-queue@webkit.org [Tue, 9 Oct 2012 19:14:28 +0000 (19:14 +0000)]
Need implement isWordTextBreak for QT, and WinCE for visual word movement functionality
https://bugs.webkit.org/show_bug.cgi?id=81136

Patch by Tullio Lucena <tullio.lucena@openbossa.org> on 2012-10-09
Reviewed by Caio Marcelo de Oliveira Filho.

Uskipping tests that are passing after the merge https://gitorious.org/qtwebkit/testfonts/merge_requests/1

* platform/qt/TestExpectations:

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

7 years agoRTL: selection.modify("move", "forward", "line") when cursor is at start of a line...
commit-queue@webkit.org [Tue, 9 Oct 2012 19:08:20 +0000 (19:08 +0000)]
RTL: selection.modify("move", "forward", "line") when cursor is at start of a line does not move down a line
https://bugs.webkit.org/show_bug.cgi?id=51517

Patch by Tullio Lucena <tullio.lucena@openbossa.org> on 2012-10-09
Reviewed by Caio Marcelo de Oliveira Filho.

Unskipping a test that is passing, with testfonts change in https://gitorious.org/qtwebkit/testfonts/merge_requests/1

* platform/qt/TestExpectations:

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

7 years agoNote that this test is flaky.
abarth@webkit.org [Tue, 9 Oct 2012 19:06:58 +0000 (19:06 +0000)]
Note that this test is flaky.

* platform/chromium/TestExpectations:

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

7 years agoRevert change to TestExpectations in http://trac.webkit.org/changeset/130779.
abarth@webkit.org [Tue, 9 Oct 2012 18:59:21 +0000 (18:59 +0000)]
Revert change to TestExpectations in trac.webkit.org/changeset/130779.
These tests still give the wrong results.

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed Chromium gardening.
jchaffraix@webkit.org [Tue, 9 Oct 2012 18:56:40 +0000 (18:56 +0000)]
Unreviewed Chromium gardening.

* platform/chromium/TestExpectations:
Fix new-run-webkit-tests --lint-test-files after r130778.

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=98457
bdakin@apple.com [Tue, 9 Oct 2012 18:47:49 +0000 (18:47 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=98457
ScrollingStateNodes should be referenced via IDs on
RenderLayerBacking

Reviewed by Simon Fraser.

This patch associates all ScrollingStateNodes with a
RenderLayerBacking via a HashMap from RenderLayerBackings to
ScrollingStateNodes on ScrollingCoordinator. Prior to this patch, the
root ScrollingStateNode was created immediately upon creation of the
ScrollingCoordinator, and it was constantly re-used for every main
FrameView. This doesn't work in the new model since that doesn't
allow that ScrollingStateNode to have a definite association with a
RenderLayerBacking. So this patch does also introduce some lifetime
differences with the ScrollingStateNodes.

If a page is going into the page cache, we should clear the state
tree. When the page is in the cache, we won't have access to the
RenderLayerBacking, and we don't want to be doing anything with the
ScrollingStateNodes anyway.
* dom/Document.cpp:
(WebCore::Document::setInPageCache):

When a page is restored from the page cache, call
frameViewRootLayerDidChange() to re-create the state tree.
* loader/HistoryController.cpp:
(WebCore::HistoryController::restoreScrollPositionAndViewState):

This new FrameView function will return the scrollLayerID for a given FrameView.
* page/FrameView.cpp:
(WebCore::FrameView::scrollLayerID):
(WebCore):
* page/FrameView.h:
(FrameView):

There is a lot of unfortunate fiddling with the terrible
if-defs in ScrollingCoordinator. I added a FIXME to the header
noting how we can avoid this in the future.
* page/scrolling/ScrollingCoordinator.cpp:

All of this code used to refer to the rootStateNode directly.
Instead, now it looks up the proper ScrollingStateNode for the given
FrameView in the HashMap.
(WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::ScrollingCoordinator::frameViewWheelEventHandlerCountChanged):
(WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPosition):
(WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
(WebCore::ScrollingCoordinator::setScrollLayerForNode):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegionForNode):
(WebCore::ScrollingCoordinator::setScrollParametersForNode):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCountForNode):

Returns the existing ScrollingStateNode for a given FrameView by
looking it up in the HashMap.
(WebCore::ScrollingCoordinator::stateNodeForFrameView):

This is called when a RenderLayerBacking is destroyed. At that time,
its associated ScrollingStateNode is destroyed.
(WebCore::ScrollingCoordinator::detachFromStateTree):

clearStateTree() clears the HashMap and destroys all of the nodes in
the current state tree.
(WebCore::ScrollingCoordinator::clearStateTree):

Creates a new root state node for the given FrameView.
(WebCore::ScrollingCoordinator::ensureRootStateNodeForFrameView):

Some new functions for the new node stuff.
* page/scrolling/ScrollingCoordinator.h:
* page/scrolling/ScrollingCoordinatorNone.cpp:
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinator::supportsFixedPositionLayers):
(WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
(WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
(WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange):
(WebCore::ScrollingCoordinator::detachFromStateTree):
(WebCore::ScrollingCoordinator::clearStateTree):
(WebCore::ScrollingCoordinator::ensureRootStateNodeForFrameView):
(WebCore::setScrollParameters):
(WebCore::setWheelEventHandlerCount):

New remove functions are used when the sate tree is cleared and when
a RenderLayerBacking is destroyed.
* page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::removeChild):
(WebCore):
* page/scrolling/ScrollingStateNode.h:
(WebCore::ScrollingStateNode::isScrollingStateScrollingNode):
(ScrollingStateNode):
(WebCore::ScrollingStateNode::parent):

New convenience function for casting to ScrollingStateScrollingNodes.
* page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::toScrollingStateScrollingNode):
(WebCore):

No longer automatically create a root node upon creation of the
ScrollingStateTree. We now want to wait to create the root node until
we have a RenderLayerBacking to associate it with.
* page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::ScrollingStateTree):
(WebCore::ScrollingStateTree::removeNode):
(WebCore):
* page/scrolling/ScrollingStateTree.h:
(WebCore::ScrollingStateTree::setRootStateNode):
(ScrollingStateTree):

RenderLayerBacking has a new data member called m_scrollLayerID. If
this RenderLayerBacking is represented in the scrolling tree, then
the ID with be unique and non-zero.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::~RenderLayerBacking):
(WebCore::generateScrollLayerID):
(WebCore):
(WebCore::RenderLayerBacking::attachToScrollingCoordinator):
(WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
(WebCore::RenderLayerBacking::scrollLayerID):

Move the call to ScrollingCooridinator::frameViewRootLayerDidChange()
from RenderLayerCompositor::attachRootLayer() to
RenderLayerCompositor:: updateBacking(). The problem with the old call
site is that there is no backing at that time, so we are trying to set
state on the root scrolling state node before we have enough
information to create that node and add it to the HashMap.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::attachRootLayer):

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

7 years ago[Qt] modify-up-on-rtl-wrapping-text.html fails on DRT
commit-queue@webkit.org [Tue, 9 Oct 2012 18:37:39 +0000 (18:37 +0000)]
[Qt] modify-up-on-rtl-wrapping-text.html fails on DRT
https://bugs.webkit.org/show_bug.cgi?id=50291

Patch by Tullio Lucena <tullio.lucena@openbossa.org> on 2012-10-09
Reviewed by Csaba Osztrogonác.

Unskipping editing/selection/modify-up-on-rtl-wrapping-text.html

* platform/qt/TestExpectations:

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

7 years ago[GTK] Shadow builds are not working anymore.
alexis@webkit.org [Tue, 9 Oct 2012 18:37:29 +0000 (18:37 +0000)]
[GTK] Shadow builds are not working anymore.
https://bugs.webkit.org/show_bug.cgi?id=98785

Reviewed by Martin Robinson.

When setting WEBKITOUTPUTDIR the build was failing with a python
error : the os.execve expect three arguments. Also the condition
to check whether we build the GTK port with jhbuild or not was buggy
as it was always assuming an in source build. We can use now jhbuildutils
which has a convenient function to locate the directory where
the dependencies built with jhbuild are and take into account WEBKITOUTPUTDIR.
If the Dependencies path does not exist then the build was not done using
jhbuild so we can fallback to a regular build against system libraries.

* gtk/run-with-jhbuild:

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

7 years agoSVGResources should use HashSet<AtomicString> instead of HashSet<AtomicStringImpl*>
fmalita@chromium.org [Tue, 9 Oct 2012 18:36:17 +0000 (18:36 +0000)]
SVGResources should use HashSet<AtomicString> instead of HashSet<AtomicStringImpl*>
https://bugs.webkit.org/show_bug.cgi?id=98683

Reviewed by Darin Adler.

Eric's notes:

SVGResources should use HashSet<AtomicString> instead of HashSet<AtomicStringImpl*>
They do basically the same thing, and the former is much more common (and less code). It's
also safe, on the off-chance that we're using AtomicStrings which might otherwise go away.

No new tests, refactoring.

* rendering/svg/SVGResources.cpp:
(WebCore::clipperFilterMaskerTags):
(WebCore::markerTags):
(WebCore::fillAndStrokeTags):
(WebCore::chainableResourceTags):
(WebCore::SVGResources::buildCachedResources):

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

7 years ago[chromium] fast/text/international/text-spliced-font.html and fast/writing-mode/Kusa...
enrica@apple.com [Tue, 9 Oct 2012 18:09:28 +0000 (18:09 +0000)]
[chromium] fast/text/international/text-spliced-font.html and fast/writing-mode/Kusa-Makura-background-canvas.html
failing on the Mac after r130443
https://bugs.webkit.org/show_bug.cgi?id=98545

Reviewed by Tony Chang.

Source/WebCore:

Fixes a regression introduced with r130443.
No new tests added since we already have tests covering this.
Updated TestExpectations for chromium and mac.

* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataAndPageForCharacter): Text orientation should not be
taken into account if the character is an ideograph or a symbol.

LayoutTests:

Updated TextExpectations for Chromium and Mac.
Moved existing expected results from mac to mac-lion and added new results for Mountain Lion.

* platform/chromium/TestExpectations:
* platform/mac-lion/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Added.
* platform/mac/TestExpectations:
* platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:

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

7 years agoUpdate expectations in preparation for enabling float-src-rect behavior in SkCanvas...
reed@google.com [Tue, 9 Oct 2012 18:06:43 +0000 (18:06 +0000)]
Update expectations in preparation for enabling float-src-rect behavior in SkCanvas::drawBitmapRect
https://bugs.webkit.org/show_bug.cgi?id=98795

Reviewed by NOBODY.

Expectations change only.

* platform/chromium/TestExpectations:

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

7 years agoPrevent animation when CSS attributeType is invalid.
pdr@google.com [Tue, 9 Oct 2012 17:49:59 +0000 (17:49 +0000)]
Prevent animation when CSS attributeType is invalid.
https://bugs.webkit.org/show_bug.cgi?id=94569

Reviewed by Dirk Schulze.

Source/WebCore:

This patch changes hasValidAttributeType() to return false when
we have attributeType=CSS with a non-CSS attribute name.

Previously we would animate non-CSS attributes when attributeType was
CSS which resulted in crashes. To track this case, this patch catches
changes to targetElement, attributeName, and attributeType and checks
if an invalid combination is present. If invalid, hasInvalidCSSAttributeType()
will return true causing hasValidAttributeType() to return false and prevent
the animation from running.

Tests: svg/animations/animate-css-xml-attributeType.html
       svg/animations/invalid-css-attribute-crash-expected.svg
       svg/animations/invalid-css-attribute-crash.svg

* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::hasValidAttributeType):
(WebCore::SVGAnimateElement::targetElementWillChange):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::SVGAnimationElement):
(WebCore::SVGAnimationElement::isSupportedAttribute):

    This now supports the attributeType attribute which is stored in m_attributeType.

(WebCore::SVGAnimationElement::parseAttribute):
(WebCore::SVGAnimationElement::setAttributeType):

    Changes to attributeType, attributeName, and targetElement need to be tracked
    to determine when an invalid combination happens.

(WebCore::SVGAnimationElement::targetElementWillChange):
(WebCore):
(WebCore::SVGAnimationElement::setAttributeName):
(WebCore::SVGAnimationElement::checkInvalidCSSAttributeType):
* svg/SVGAnimationElement.h:
(WebCore::SVGAnimationElement::attributeType):
(SVGAnimationElement):
(WebCore::SVGAnimationElement::hasInvalidCSSAttributeType):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::targetElement):
* svg/animation/SVGSMILElement.h:
(SVGSMILElement):

LayoutTests:

Adding a test to prove this patch works (invalid-css-attribute-crash.svg)
and an additional test to show that switching between XML and CSS
attributeTypes works as expected (animate-css-xml-attributeType.html).

* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* svg/animations/animate-css-xml-attributeType-expected.txt: Added.
* svg/animations/animate-css-xml-attributeType.html: Added.
* svg/animations/invalid-css-attribute-crash-expected.svg: Added.
* svg/animations/invalid-css-attribute-crash.svg: Added.
* svg/animations/script-tests/animate-css-xml-attributeType.js: Added.
(sample1):
(sample6):
(executeTest):

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

7 years agoRemove DRT/WTR implementations of layerTreeAsText
simon.fraser@apple.com [Tue, 9 Oct 2012 17:17:50 +0000 (17:17 +0000)]
Remove DRT/WTR implementations of layerTreeAsText
https://bugs.webkit.org/show_bug.cgi?id=98697

Reviewed by Tim Horton, James Robinson, Alexey Proskuryakov.

Tools:

Remove code related to layerTreeAsText(), which is now on window.internals.

* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/efl/TestRunnerEfl.cpp:
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
* DumpRenderTree/mac/TestRunnerMac.mm:
* DumpRenderTree/qt/TestRunnerQt.cpp:
* DumpRenderTree/qt/TestRunnerQt.h:
(TestRunner):
* DumpRenderTree/win/TestRunnerWin.cpp:
* DumpRenderTree/wx/TestRunnerWx.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.h:

LayoutTests:

Fix a couple of tests missed in the previous chnage.

* compositing/geometry/preserve-3d-switching.html:
* compositing/visibility/visibility-image-layers-dynamic.html:

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

7 years agoAdd missing compile flag for compositing
zoltan@webkit.org [Tue, 9 Oct 2012 16:59:26 +0000 (16:59 +0000)]
Add missing compile flag for compositing
https://bugs.webkit.org/show_bug.cgi?id=98681

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-10-09
Reviewed by Dirk Schulze.

This flag is needed in case there is a difference in API
when compositing is enabled

* Configurations/FeatureDefines.xcconfig:

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

7 years agomax-width property is does not overriding the width properties for css tables(display...
commit-queue@webkit.org [Tue, 9 Oct 2012 16:55:46 +0000 (16:55 +0000)]
max-width property is does not overriding the width properties for css tables(display:table)
https://bugs.webkit.org/show_bug.cgi?id=98455

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-10-09
Reviewed by Tony Chang.

Source/WebCore:

The max-width property determines the maximum computed width an element can have. In case of css tables(display:table),
the computed was not being limited by the max-width property. The current patch fixes this issue.

Test: fast/table/css-table-max-width.html

* rendering/RenderTable.cpp:
(WebCore::RenderTable::updateLogicalWidth):
 Logic to compute the logical width of an element such that it does not exceed the max-width value.
 Also when both min-width and max-width are present, the following contraint is used to compute the logical width:
   1) min-width < Computed LogicalWidth < max-width, when min-width < max-width.
   2) Computed LogicalWidth = min-width, when min-width > max-width.

LayoutTests:

* fast/table/css-table-max-width-expected.txt: Added.
* fast/table/css-table-max-width.html: Added.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 9 Oct 2012 16:50:26 +0000 (16:50 +0000)]
Unreviewed GTK gardening.

Expanding failure expectation for editing/pasteboard/drag-drop-list.html to
again include debug configurations as well.

* platform/gtk/TestExpectations:

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

7 years agoUnreviewed, rolling out r130680.
commit-queue@webkit.org [Tue, 9 Oct 2012 16:25:37 +0000 (16:25 +0000)]
Unreviewed, rolling out r130680.
http://trac.webkit.org/changeset/130680
https://bugs.webkit.org/show_bug.cgi?id=98720

this patch has a typo so was ineffective (Requested by
cabanier on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-10-09

* Configurations/FeatureDefines.xcconfig:

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

7 years ago[Chromium] Test expectation updates for Android
peter@chromium.org [Tue, 9 Oct 2012 16:21:05 +0000 (16:21 +0000)]
[Chromium] Test expectation updates for Android
https://bugs.webkit.org/show_bug.cgi?id=98786

Unreviewed test expectation update.

Update the test expectations for Android. Nineteen bugs were filed,
which are all blocking bug 96398.

* platform/chromium-android/TestExpectations:
* platform/chromium/TestExpectations:

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

7 years agoUnreviewed. Remove myself from QtWebKit2 subscriptions.
zoltan@webkit.org [Tue, 9 Oct 2012 16:03:50 +0000 (16:03 +0000)]
Unreviewed. Remove myself from QtWebKit2 subscriptions.

* Scripts/webkitpy/common/config/watchlist:

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

7 years ago[EFL] Unreviewed gardening.
rakuco@webkit.org [Tue, 9 Oct 2012 15:57:02 +0000 (15:57 +0000)]
[EFL] Unreviewed gardening.

* platform/efl-wk1/TestExpectations:
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

7 years agoSource/Platform: Change PeerConnection getStats function to single value local /...
commit-queue@webkit.org [Tue, 9 Oct 2012 15:56:07 +0000 (15:56 +0000)]
Source/Platform: Change PeerConnection getStats function to single value local / remote
elements in RTCStatsReport.
https://bugs.webkit.org/show_bug.cgi?id=98753

Patch by Harald Alvestrand <hta@google.com> on 2012-10-09
Reviewed by Adam Barth.

* chromium/public/WebRTCStatsResponse.h:
(WebRTCStatsResponse):

Source/WebCore: Change PeerConnection getStats function to single value local / remote
elements in RTCStatsReport.

https://bugs.webkit.org/show_bug.cgi?id=98753

Patch by Harald Alvestrand <hta@google.com> on 2012-10-09
Reviewed by Adam Barth.

IDL of RTCStatsReport has been changed to make local/remote
single valued RTCStatsElement attributes.
The RTCStatsReport argument to index the list of RTCStatsElement
in the local and remote functions has been removed.

Tested by modifications to RTCPeerConnection-stats.html

* Modules/mediastream/RTCStatsReport.cpp:
(WebCore::RTCStatsReport::addElement):
(WebCore::RTCStatsReport::addStatistic):
* Modules/mediastream/RTCStatsReport.h:
(WebCore::RTCStatsReport::local):
(WebCore::RTCStatsReport::remote):
(RTCStatsReport):
* Modules/mediastream/RTCStatsReport.idl:
* Modules/mediastream/RTCStatsResponse.cpp:
(WebCore::RTCStatsResponse::addElement):
(WebCore::RTCStatsResponse::addStatistic):
* Modules/mediastream/RTCStatsResponse.h:
(RTCStatsResponse):
* platform/chromium/support/WebRTCStatsResponse.cpp:
(WebKit::WebRTCStatsResponse::addElement):
(WebKit::WebRTCStatsResponse::addStatistic):
* platform/mediastream/RTCStatsResponseBase.h:
(RTCStatsResponseBase):

Tools: Change PeerConnection getStats function to single value local / remote
elements in RTCStatsReport.
https://bugs.webkit.org/show_bug.cgi?id=98753

Patch by Harald Alvestrand <hta@google.com> on 2012-10-09
Reviewed by Adam Barth.

* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
(MockWebRTCPeerConnectionHandler::getStats):

LayoutTests: Change PeerConnection getStats function to single value local / remote
elements in RTCStatsReport.
https://bugs.webkit.org/show_bug.cgi?id=98753

Patch by Harald Alvestrand <hta@google.com> on 2012-10-09
Reviewed by Adam Barth.

* fast/mediastream/RTCPeerConnection-stats-expected.txt:
* fast/mediastream/RTCPeerConnection-stats.html:

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

7 years agoUnreviewed. Add chromium-mac specific results for these tests. They
abarth@webkit.org [Tue, 9 Oct 2012 15:54:04 +0000 (15:54 +0000)]
Unreviewed. Add chromium-mac specific results for these tests. They
differ from the expected results only in text rendering.

* platform/chromium-mac-snowleopard/fast/text/hyphenate-character-expected.png:
* platform/chromium-mac-snowleopard/fast/text/hyphens-expected.png:
* platform/chromium-mac/fast/text/hyphenate-character-expected.png: Added.
* platform/chromium-mac/fast/text/hyphenate-limit-before-after-expected.png: Added.
* platform/chromium-mac/fast/text/hyphens-expected.png: Added.

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

7 years ago[EFL] Mark svg/text/selection-tripleclick.svg as flaky on WK2.
rakuco@webkit.org [Tue, 9 Oct 2012 15:33:05 +0000 (15:33 +0000)]
[EFL] Mark svg/text/selection-tripleclick.svg as flaky on WK2.

* platform/efl-wk2/TestExpectations:

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

7 years ago[chromium] Make sure events are transformed correctly for plugins.
commit-queue@webkit.org [Tue, 9 Oct 2012 15:13:30 +0000 (15:13 +0000)]
[chromium] Make sure events are transformed correctly for plugins.
https://bugs.webkit.org/show_bug.cgi?id=89250

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-10-09
Reviewed by Tony Chang.

Source/WebKit/chromium:

The events arriving in WebPluginContainerImpl are in the coordinate
space of the page containing the plugin. Before the events are
dispatched to the plugin, it is necessary to convert them into the
plugin's own coordinate system.

* src/WebInputEventConversion.cpp:
(WebKit::convertLocationForRenderObject): Transforms an event location for the specified RenderObject.
(WebKit):
(WebKit::updateWebMouseEventFromWebCoreMouseEvent): Refactored code to reduce code-duplication for mouse and wheel events.
(WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
(WebKit::WebMouseWheelEventBuilder::WebMouseWheelEventBuilder):
(WebKit::addTouchPoints):
(WebKit::WebTouchEventBuilder::WebTouchEventBuilder):
(WebKit::WebGestureEventBuilder::WebGestureEventBuilder):
* src/WebInputEventConversion.h:
(WebCore):
(WebKit):
(WebMouseEventBuilder):
(WebMouseWheelEventBuilder):
(WebTouchEventBuilder):
(WebGestureEventBuilder):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::handleMouseEvent):
(WebKit::WebPluginContainerImpl::handleWheelEvent):

Tools:

Update the test plugin to print event details for mouse and gesture events.

* DumpRenderTree/chromium/TestWebPlugin.cpp:
(printEventDetails):

LayoutTests:

Added tests to make sure that events are transformed properly. Note that
for touch-events, each point in the three touch-point lists in the
touch-event is printed, so the same touch-point is printed out three
times.

* platform/chromium/plugins/transformed-events-expected.txt: Added.
* platform/chromium/plugins/transformed-events.html: Added.

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

7 years ago[EFL][WK2] Inform the PageProxy about visibility changes when the view is shown/hidden.
rakuco@webkit.org [Tue, 9 Oct 2012 15:03:43 +0000 (15:03 +0000)]
[EFL][WK2] Inform the PageProxy about visibility changes when the view is shown/hidden.
https://bugs.webkit.org/show_bug.cgi?id=98757

Reviewed by Kenneth Rohde Christiansen.

SVN r130720 exposed a bug in our code: the PageProxy is not
notified when one calls evas_object_show() or evas_object_hide()
on the view, so the visibility it has when the WebPageProxy is
constructed remained set forever.

This made the ewk_context_vibration_client_callbacks_set unit test
start running forever, because WebPageProxy's constructor now sets
the page's visibility to hidden by the default for us, since it is
called from within ewk_view_smart_add() and before
evas_object_show().

We now listen to the EVAS_CALLBACK_SHOW and EVAS_CALLBACK_HIDE
callbacks and update the WebPageProxy accordingly. Note that we
could not do this from the smart_show and smart_hide functions we
already had, since they are called before the object's actual
visibility is updated.

* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_on_show):
(_ewk_view_on_hide):
(_ewk_view_smart_add):

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

7 years agoGet rid of FIXED_POSITION_CREATES_STACKING_CONTEXT in favor of Settings::fixedPositio...
tonikitoo@webkit.org [Tue, 9 Oct 2012 15:00:42 +0000 (15:00 +0000)]
Get rid of FIXED_POSITION_CREATES_STACKING_CONTEXT in favor of Settings::fixedPositionCreatesStackingContext()
https://bugs.webkit.org/show_bug.cgi?id=98756

Reviewed by Rob Buis.
Patch by Antonio Gomes <agomes@rim.com>

Source/WebCore:

No behavior change so no new tests.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):

Source/WebKit/blackberry:

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::init):

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

7 years agoCorrected reviewer that webkit-patch got wrong.
msaboff@apple.com [Tue, 9 Oct 2012 14:48:49 +0000 (14:48 +0000)]
Corrected reviewer that webkit-patch got wrong.

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

7 years agoAfter r130344, OpaqueJSString::identifier() adds wrapped String to identifier table
msaboff@apple.com [Tue, 9 Oct 2012 14:46:53 +0000 (14:46 +0000)]
After r130344, OpaqueJSString::identifier() adds wrapped String to identifier table
https://bugs.webkit.org/show_bug.cgi?id=98693
REGRESSION (r130344): Install failed in Install Environment
<rdar://problem/12450118>

Reviewed by Filip Pizlo.

Use Identifier(LChar*, length) or Identifier(UChar*, length) constructors so that we don't
add the String instance in the OpaqueJSString to any identifier tables.

* API/OpaqueJSString.cpp:
(OpaqueJSString::identifier):

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

7 years agoUnreviewed trivial Qt build fix: Remove stray closing braces from r130758.
hausmann@webkit.org [Tue, 9 Oct 2012 14:15:49 +0000 (14:15 +0000)]
Unreviewed trivial Qt build fix: Remove stray closing braces from r130758.

* qmake/mkspecs/features/features.prf:

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

7 years ago[Qt] Fix build with QtMultimedia
hausmann@webkit.org [Tue, 9 Oct 2012 14:03:21 +0000 (14:03 +0000)]
[Qt] Fix build with QtMultimedia

Reviewed by Tor Arne Vestbø.

Source/WebCore:

This is an initial rudimentary port to of the QtMultimedia back-end,
adapted to slight API changes and (more importantly) to the
implementation of QAbstractVideoSurface instead of using
QGraphicsVideoItem (which is in QtMultimediaWidgets).

* WebCore.pri:
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
(WebCore::MediaPlayerPrivateQt::supportsType):
(WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
(WebCore::MediaPlayerPrivateQt::~MediaPlayerPrivateQt):
(WebCore::MediaPlayerPrivateQt::didLoadingProgress):
(WebCore::MediaPlayerPrivateQt::totalBytes):
(WebCore::MediaPlayerPrivateQt::setVisible):
(WebCore::MediaPlayerPrivateQt::surfaceFormatChanged):
(WebCore::MediaPlayerPrivateQt::setSize):
(WebCore::MediaPlayerPrivateQt::removeVideoItem):
(WebCore::MediaPlayerPrivateQt::restoreVideoItem):
(WebCore):
(WebCore::MediaPlayerPrivateQt::start):
(WebCore::MediaPlayerPrivateQt::supportedPixelFormats):
(WebCore::MediaPlayerPrivateQt::present):
(WebCore::MediaPlayerPrivateQt::paint):
(WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
* platform/graphics/qt/MediaPlayerPrivateQt.h:
(MediaPlayerPrivateQt):

Source/WebKit:

* WebKit1.pri: WK1 needs QtMultimediaWidgets for QVideoWidget and friends.

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

7 years ago[Qt] Clean up Qt module detection
hausmann@webkit.org [Tue, 9 Oct 2012 14:02:52 +0000 (14:02 +0000)]
[Qt] Clean up Qt module detection

Reviewed by Tor Arne Vestbø.

Replace the use of MOBILITY_CONFIG (not supported anymore) with modern use of haveQtModule.

* qmake/mkspecs/features/features.prf:

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

7 years ago[GTK] Respect WEBKITOUTPUTDIR in run-with-jhbuild.
rakuco@webkit.org [Tue, 9 Oct 2012 13:45:52 +0000 (13:45 +0000)]
[GTK] Respect WEBKITOUTPUTDIR in run-with-jhbuild.
https://bugs.webkit.org/show_bug.cgi?id=98732

Reviewed by Gustavo Noronha Silva.

Follow-up to r113066: if the WEBKITOUTPUTDIR environment variable
was used when running update-webkitgtk-libs,
WebKitBuild/Dependencies will not exist, so we now check its
contents first and then fall back to WebKitBuild/.

* gtk/run-with-jhbuild:

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

7 years agoAllow users to specify a different hover image for TextFieldDecorationElement
commit-queue@webkit.org [Tue, 9 Oct 2012 13:43:14 +0000 (13:43 +0000)]
Allow users to specify a different hover image for TextFieldDecorationElement
https://bugs.webkit.org/show_bug.cgi?id=93662

Patch by Garrett Casto <gcasto@chromium.org> on 2012-10-09
Reviewed by Kent Tamura.

Source/WebCore:

* html/shadow/TextFieldDecorationElement.cpp:
(WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
(WebCore::TextFieldDecorationElement::updateImage):
(WebCore::TextFieldDecorationElement::defaultEventHandler): Handles mouseover and mouseout events.
(WebCore::TextFieldDecorationElement::willRespondToMouseMoveEvents): Now returns true if the element is not disabled.
(WebCore):
* html/shadow/TextFieldDecorationElement.h:
(TextFieldDecorator):
(TextFieldDecorationElement):

Source/WebKit/chromium:

* public/WebTextFieldDecoratorClient.h:
(WebTextFieldDecoratorClient):
(WebKit::WebTextFieldDecoratorClient::imageNameForHoverState): Allow users to specify the name of the image for mouseover.
* src/TextFieldDecoratorImpl.cpp:
(WebKit::TextFieldDecoratorImpl::imageForReadonlyState):
(WebKit::TextFieldDecoratorImpl::imageForHoverState):
(WebKit):
* src/TextFieldDecoratorImpl.h:
(TextFieldDecoratorImpl):

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

7 years ago[GTK] Add support for running JavaScript from GResources
commit-queue@webkit.org [Tue, 9 Oct 2012 13:31:18 +0000 (13:31 +0000)]
[GTK] Add support for running JavaScript from GResources
https://bugs.webkit.org/show_bug.cgi?id=98488

Patch by Simon Pena <spena@igalia.com> on 2012-10-09
Reviewed by Carlos Garcia Campos.

GResources allow embedding certain resources, frequently used, in a "bundle"
which can be kept separated or stored in the binary. This patch adds
support for running JavaScript from GResources.

.:

* configure.ac: Add support for compiling GResources

Source/WebKit2:

For this, methods run_javascript_from_gresource and
run_javascript_from_gresource_finish are added, which load the resource
asynchronously and, when it is ready, run the JavaScript.

* UIProcess/API/gtk/WebKitWebView.cpp: Include the new methods.
(resourcesStreamReadCallback):
(webkit_web_view_run_javascript_from_gresource):
(webkit_web_view_run_javascript_from_gresource_finish):
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new
methods in the documentation.
* UIProcess/API/gtk/tests/GNUmakefile.am: Add the test resources to the
build infrastructure.
* UIProcess/API/gtk/tests/TestMain.cpp: Register the resources in the tests,
so that they can be accessed in all of them.
(register_gresource):
(main):
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Test the
run_javascript_from_gresource method.
(testWebViewRunJavaScript):
* UIProcess/API/gtk/tests/WebViewTest.cpp: Add a method for testing the
new run_javascript_from_gresource method.
(runJavaScriptFromGResourceReadyCallback):
(WebViewTest::runJavaScriptFromGResourceAndWaitUntilFinished):
* UIProcess/API/gtk/tests/WebViewTest.h:
* UIProcess/API/gtk/tests/resources/webkit2gtk-tests.gresource.xml: Added.
Resource bundle containing the resources.
* UIProcess/API/gtk/tests/resources/webkit2gtk-tests.test.js: Added.
Example JavaScript file to test the GResources support.

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

7 years ago[EFL] Rebaseline some svg/text tests.
rakuco@webkit.org [Tue, 9 Oct 2012 13:07:47 +0000 (13:07 +0000)]
[EFL] Rebaseline some svg/text tests.

Some pixel tests now have the red rectangle drawn around some
areas like other ports.

While here, also add an expectation for selection-tripleclick.svg,
which seems to be passing now.

* platform/efl/TestExpectations:
* platform/efl/svg/text/foreignObject-text-clipping-bug-expected.png:
* platform/efl/svg/text/selection-tripleclick-expected.png: Added.
* platform/efl/svg/text/selection-tripleclick-expected.txt: Added.
* platform/efl/svg/text/text-align-01-b-expected.png:
* platform/efl/svg/text/text-align-02-b-expected.png:
* platform/efl/svg/text/text-align-03-b-expected.png:
* platform/efl/svg/text/text-align-04-b-expected.png:
* platform/efl/svg/text/text-align-05-b-expected.png:
* platform/efl/svg/text/text-align-06-b-expected.png:
* platform/efl/svg/text/text-altglyph-01-b-expected.png:
* platform/efl/svg/text/text-deco-01-b-expected.png:
* platform/efl/svg/text/text-fonts-01-t-expected.png:
* platform/efl/svg/text/text-fonts-02-t-expected.png:
* platform/efl/svg/text/text-intro-05-t-expected.png:
* platform/efl/svg/text/text-path-01-b-expected.png:
* platform/efl/svg/text/text-spacing-01-b-expected.png:
* platform/efl/svg/text/text-text-01-b-expected.png:
* platform/efl/svg/text/text-text-03-b-expected.png:
* platform/efl/svg/text/text-text-04-t-expected.png:
* platform/efl/svg/text/text-text-05-t-expected.png:
* platform/efl/svg/text/text-text-06-t-expected.png:
* platform/efl/svg/text/text-text-07-t-expected.png:
* platform/efl/svg/text/text-text-08-b-expected.png:
* platform/efl/svg/text/text-tref-01-b-expected.png:
* platform/efl/svg/text/text-tselect-01-b-expected.png:
* platform/efl/svg/text/text-tselect-02-f-expected.png:
* platform/efl/svg/text/text-tspan-01-b-expected.png:
* platform/efl/svg/text/text-ws-01-t-expected.png:
* platform/efl/svg/text/text-ws-02-t-expected.png:

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

7 years ago[Qt] Uploading images to Google+ using QtWebKit does not work.
allan.jensen@digia.com [Tue, 9 Oct 2012 13:00:45 +0000 (13:00 +0000)]
[Qt] Uploading images to Google+ using QtWebKit does not work.
https://bugs.webkit.org/show_bug.cgi?id=72329

Reviewed by Jocelyn Turcotte.

Source/WebCore:

Implement handling of Blob FormData, including its extensions to the File FormData.

* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::FormDataIODevice::FormDataIODevice):
(WebCore::appendBlobResolved):
(WebCore::FormDataIODevice::prepareFormElements):
(WebCore::FormDataIODevice::computeSize):
(WebCore::FormDataIODevice::moveToNextElement):
(WebCore::FormDataIODevice::prepareCurrentElement):
(WebCore::FormDataIODevice::openFileForCurrentElement):
(WebCore::FormDataIODevice::readData):
(WebCore::QNetworkReplyHandler::sendNetworkRequest):
* platform/network/qt/QNetworkReplyHandler.h:
(FormDataIODevice):

LayoutTests:

Unskip the two BLOB tests that now passes. The rest of the BLOB tests unfortunately depend
on features we do not have.

* platform/qt/TestExpectations:

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

7 years ago[Qt] Unskip and rebase now passing tests.
ossy@webkit.org [Tue, 9 Oct 2012 12:47:10 +0000 (12:47 +0000)]
[Qt] Unskip and rebase now passing tests.

* platform/qt/TestExpectations:
* platform/qt/compositing/overflow/clip-descendents-expected.txt: Added.
* platform/qt/css1/formatting_model/floating_elements-expected.png:
* platform/qt/css1/formatting_model/floating_elements-expected.txt:
* platform/qt/editing/selection/caret-ltr-2-expected.png:
* platform/qt/editing/selection/caret-ltr-2-expected.txt:
* platform/qt/editing/selection/caret-ltr-2-left-expected.png:
* platform/qt/editing/selection/caret-ltr-2-left-expected.txt:
* platform/qt/editing/selection/caret-ltr-expected.png:
* platform/qt/editing/selection/caret-ltr-expected.txt:
* platform/qt/editing/selection/caret-ltr-right-expected.png:
* platform/qt/editing/selection/caret-ltr-right-expected.txt:
* platform/qt/editing/selection/caret-rtl-2-left-expected.png:
* platform/qt/editing/selection/caret-rtl-2-left-expected.txt:
* platform/qt/editing/selection/caret-rtl-right-expected.png:
* platform/qt/editing/selection/caret-rtl-right-expected.txt:
* platform/qt/fast/backgrounds/size/zero-expected.png: Added.
* platform/qt/fast/backgrounds/size/zero-expected.txt:
* platform/qt/fast/block/basic/fieldset-stretch-to-legend-expected.png:
* platform/qt/fast/block/basic/fieldset-stretch-to-legend-expected.txt:
* platform/qt/fast/forms/basic-buttons-expected.png:
* platform/qt/fast/forms/basic-buttons-expected.txt:
* platform/qt/fast/multicol/overflow-across-columns-expected.png: Added.
* platform/qt/fast/multicol/overflow-across-columns-expected.txt: Added.
* platform/qt/fast/multicol/overflow-unsplittable-expected.png: Added.
* platform/qt/fast/multicol/overflow-unsplittable-expected.txt: Added.
* platform/qt/fast/multicol/positive-leading-expected.png: Added.
* platform/qt/fast/multicol/positive-leading-expected.txt: Added.
* platform/qt/fast/multicol/shadow-breaking-expected.png:
* platform/qt/fast/multicol/span/span-as-immediate-child-property-removal-expected.png:
* platform/qt/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
* platform/qt/fast/multicol/span/span-as-immediate-columns-child-removal-expected.png:
* platform/qt/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt:
* platform/qt/fast/overflow/003-expected.png:
* platform/qt/fast/overflow/003-expected.txt:
* platform/qt/fast/regions/overflow-size-change-with-stacking-context-expected.txt: Added.
* platform/qt/fast/replaced/table-percent-height-expected.txt:
* platform/qt/fast/text/line-initial-and-final-swashes-expected.txt: Added.
* platform/qt/fonts/cursive-expected.png: Added.
* platform/qt/fonts/cursive-expected.txt: Added.
* platform/qt/fonts/default-expected.png: Added.
* platform/qt/fonts/default-expected.txt: Added.
* platform/qt/fonts/fantasy-expected.png: Added.
* platform/qt/fonts/fantasy-expected.txt: Added.
* platform/qt/fonts/monospace-expected.png: Added.
* platform/qt/fonts/monospace-expected.txt: Added.
* platform/qt/fonts/sans-serif-expected.png: Added.
* platform/qt/fonts/sans-serif-expected.txt: Added.
* platform/qt/fonts/serif-expected.png: Added.
* platform/qt/fonts/serif-expected.txt: Added.
* platform/qt/printing/page-count-relayout-shrink-expected.txt: Added.
* platform/qt/printing/return-from-printing-mode-expected.png: Added.
* platform/qt/printing/return-from-printing-mode-expected.txt: Added.
* platform/qt/printing/setPrinting-expected.png: Added.
* platform/qt/printing/setPrinting-expected.txt: Added.
* platform/qt/printing/single-line-must-not-be-split-into-two-pages-expected.txt: Added.
* platform/qt/svg/custom/clip-mask-negative-scale-expected.png: Added.
* platform/qt/tables/mozilla/bugs/bug10296-1-expected.png:
* platform/qt/tables/mozilla/bugs/bug10296-1-expected.txt:
* platform/qt/tables/mozilla/bugs/bug12384-expected.png: Added.
* platform/qt/tables/mozilla/bugs/bug12384-expected.txt:
* platform/qt/tables/mozilla/bugs/bug99948-expected.png: Added.
* platform/qt/tables/mozilla/bugs/bug99948-expected.txt:
* platform/qt/tables/mozilla/marvin/colgroup_width_pct-expected.png: Added.
* platform/qt/tables/mozilla/marvin/colgroup_width_pct-expected.txt:
* platform/qt/tables/mozilla/marvin/table_overflow_hidden_td-expected.png: Added.
* platform/qt/tables/mozilla/marvin/table_overflow_hidden_td-expected.txt:
* platform/qt/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png:
* platform/qt/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.png: Added.
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.txt:
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.png: Added.
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.txt:
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden-expected.png: Added.
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden-expected.txt:
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden_table-expected.png: Added.
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden_table-expected.txt:
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.png: Added.
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.txt:
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.png: Added.
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.txt:
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.png: Added.
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.txt:
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.png: Added.
* platform/qt/tables/mozilla_expected_failures/marvin/table_overflow_hidden_table-expected.txt:

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

7 years ago[EFL] remove duplicate failure expectations
commit-queue@webkit.org [Tue, 9 Oct 2012 11:55:05 +0000 (11:55 +0000)]
[EFL] remove duplicate failure expectations
https://bugs.webkit.org/show_bug.cgi?id=98736

Unreviewed gardening.

Many tests are listed in both efl and wk2 expectations. Remove the efl expectations
in cases where the bug seems to be a wk2 issue.

Most expectations are also added into the efl-wk1 expectations (which is where
they should have been all along).

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-10-09

* platform/efl-wk1/TestExpectations:
* platform/efl/TestExpectations:

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

7 years agoText decorations specified on the containing block are not properly applied when...
commit-queue@webkit.org [Tue, 9 Oct 2012 11:42:11 +0000 (11:42 +0000)]
Text decorations specified on the containing block are not properly applied when ::first-line is present.
https://bugs.webkit.org/show_bug.cgi?id=93829

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-10-09
Reviewed by Abhishek Arya.

Source/WebCore:

If a container's style and its pseudo :first-line style have unique
text-decorations specified for them, only the :first-line text-decoarations
were being applied.

The uploaded patch intends to first compute the text decoration colors
for the containing box, followed by that of the first-line (if specified).

This thus avoids the condition wherein our containing box's text-decorations
were not getting applied at all since initially we were only computing
for the first-line style.

Test: fast/css/text-decorations-on-first-line-and-containing-block.html

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
getTextDecorationColors() is first called for computing the containing box's
text-decoration values and then for first-line style's text-decorations,
if specified.

LayoutTests:

* fast/css/text-decorations-on-first-line-and-containing-block-expected.html: Added.
* fast/css/text-decorations-on-first-line-and-containing-block.html: Added.
Tests added for verifying the behavior of text-decorations when specified
both for the ::first-line as well as its containing block.

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

7 years agoUnreviewed, rolling out r130746.
commit-queue@webkit.org [Tue, 9 Oct 2012 11:33:42 +0000 (11:33 +0000)]
Unreviewed, rolling out r130746.
http://trac.webkit.org/changeset/130746
https://bugs.webkit.org/show_bug.cgi?id=98749

It made 45 tests crash on Qt (Requested by Ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-10-09

Source/WebCore:

* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::FormDataIODevice::FormDataIODevice):
(WebCore::FormDataIODevice::computeSize):
(WebCore::FormDataIODevice::moveToNextElement):
(WebCore::FormDataIODevice::openFileForCurrentElement):
(WebCore::FormDataIODevice::readData):
(WebCore::QNetworkReplyHandler::getIODevice):
(WebCore::QNetworkReplyHandler::sendNetworkRequest):
* platform/network/qt/QNetworkReplyHandler.h:
(QNetworkReplyHandler):
(FormDataIODevice):

LayoutTests:

* platform/qt/TestExpectations:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 9 Oct 2012 11:05:27 +0000 (11:05 +0000)]
Unreviewed GTK gardening.

Skipping the accept-policy test in TestCookieManager API test that's
currently failing. The test failure is covered by
https://bugs.webkit.org/show_bug.cgi?id=98738.

* Scripts/run-gtk-tests:
(TestRunner):

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

7 years ago[EFL] Mark a few tests skipped in r130745 as failures instead of timeouts.
rakuco@webkit.org [Tue, 9 Oct 2012 10:49:29 +0000 (10:49 +0000)]
[EFL] Mark a few tests skipped in r130745 as failures instead of timeouts.

* platform/efl/TestExpectations:

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

7 years ago[Qt] Uploading images to Google+ using QtWebKit does not work.
allan.jensen@digia.com [Tue, 9 Oct 2012 10:18:38 +0000 (10:18 +0000)]
[Qt] Uploading images to Google+ using QtWebKit does not work.
https://bugs.webkit.org/show_bug.cgi?id=72329

Reviewed by Jocelyn Turcotte.

Source/WebCore:

Implement handling of Blob FormData, including its extensions to the File FormData.

* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::FormDataIODevice::FormDataIODevice):
(WebCore::FormDataIODevice::computeSize):
(WebCore::FormDataIODevice::moveToNextElement):
(WebCore::FormDataIODevice::prepareCurrentElement):
(WebCore::FormDataIODevice::openFileForCurrentElement):
(WebCore::FormDataIODevice::readData):
(WebCore::QNetworkReplyHandler::getIODevice):
(WebCore::QNetworkReplyHandler::handleBlobDataIfAny):
(WebCore::QNetworkReplyHandler::sendNetworkRequest):
* platform/network/qt/QNetworkReplyHandler.h:
(QNetworkReplyHandler):
(FormDataIODevice):

LayoutTests:

Unskip the two BLOB tests that now passes. The rest of the BLOB tests unfortunately depend
on features we do not have.

* platform/qt/TestExpectations:

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

7 years ago[EFL] Skip a few tests after r130699.
rakuco@webkit.org [Tue, 9 Oct 2012 09:44:47 +0000 (09:44 +0000)]
[EFL] Skip a few tests after r130699.

* platform/efl/TestExpectations:

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

7 years ago[EFL] Remove comment added in r130650 now that I've run the GTK+ tests.
rakuco@webkit.org [Tue, 9 Oct 2012 09:35:40 +0000 (09:35 +0000)]
[EFL] Remove comment added in r130650 now that I've run the GTK+ tests.

* platform/efl-wk1/TestExpectations:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 9 Oct 2012 09:18:48 +0000 (09:18 +0000)]
Unreviewed GTK gardening.

Adding more failure expectations for regressions after r130699.

* platform/gtk/TestExpectations:

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

7 years ago[Qt] Unskip now passing tests.
ossy@webkit.org [Tue, 9 Oct 2012 09:11:06 +0000 (09:11 +0000)]
[Qt] Unskip now passing tests.

* platform/qt-5.0-wk2/TestExpectations:
* platform/qt/TestExpectations:

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

7 years ago[Qt] /editing/selection/caret-bidi-first-and-last-letters.html fails
commit-queue@webkit.org [Tue, 9 Oct 2012 09:09:38 +0000 (09:09 +0000)]
[Qt] /editing/selection/caret-bidi-first-and-last-letters.html fails
https://bugs.webkit.org/show_bug.cgi?id=51884

Patch by Tullio Lucena <tullio.lucena@openbossa.org> on 2012-10-09
Reviewed by Ryosuke Niwa.

This test pass with this change in testfonts https://gitorious.org/qtwebkit/testfonts/merge_requests/1

* platform/qt/TestExpectations:

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

7 years ago[Qt] editing/selection/caret-at-bidi-boundary.html fails
commit-queue@webkit.org [Tue, 9 Oct 2012 09:04:50 +0000 (09:04 +0000)]
[Qt] editing/selection/caret-at-bidi-boundary.html fails
https://bugs.webkit.org/show_bug.cgi?id=66514

Patch by Tullio Lucena <tullio.lucena@openbossa.org> on 2012-10-09
Reviewed by Yuta Kitamura.

Unskipping test. The update in testfonts solved this bug.

* platform/qt/TestExpectations:

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

7 years ago[Qt] Unskip and rebase a now passing test.
ossy@webkit.org [Tue, 9 Oct 2012 08:55:16 +0000 (08:55 +0000)]
[Qt] Unskip and rebase a now passing test.

* platform/qt/TestExpectations:
* platform/qt/fast/repaint/line-flow-with-floats-in-regions-expected.png:
* platform/qt/fast/repaint/line-flow-with-floats-in-regions-expected.txt:

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

7 years ago[Qt] Unskip fast/transforms/scrollIntoView-transformed.html.
ossy@webkit.org [Tue, 9 Oct 2012 08:50:40 +0000 (08:50 +0000)]
[Qt] Unskip fast/transforms/scrollIntoView-transformed.html.

* platform/qt-5.0-wk2/TestExpectations:
* platform/qt/TestExpectations:

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

7 years ago[Qt] Unskip and rebase now passing tests.
ossy@webkit.org [Tue, 9 Oct 2012 08:46:53 +0000 (08:46 +0000)]
[Qt] Unskip and rebase now passing tests.

* platform/qt-5.0/TestExpectations:
* platform/qt/TestExpectations:
* platform/qt/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.png:
* platform/qt/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
* platform/qt/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.png:
* platform/qt/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 9 Oct 2012 08:37:15 +0000 (08:37 +0000)]
Unreviewed GTK gardening.

Adding failure expectations for regressions after r130699 and
a failing multipart test introduced in r130651.

* platform/gtk/TestExpectations:

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

7 years ago[Qt] Unskip and rebasing now passing tests.
ossy@webkit.org [Tue, 9 Oct 2012 08:27:20 +0000 (08:27 +0000)]
[Qt] Unskip and rebasing now passing tests.

* platform/qt-5.0-wk1/TestExpectations:
* platform/qt/fast/css/word-space-extra-expected.png:
* platform/qt/fast/css/word-space-extra-expected.txt:
* platform/qt/fast/history/history-back-initial-vs-final-url-expected.txt: Added.
* platform/qt/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png:
* platform/qt/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
* platform/qt/fast/transforms/transformed-focused-text-input-expected.png:
* platform/qt/fast/transforms/transformed-focused-text-input-expected.txt:
* platform/qt/http/tests/navigation/postredirect-frames-expected.txt:
* platform/qt/http/tests/navigation/postredirect-goback2-expected.txt:

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

7 years agoPage popup should be smarter about its layout
keishi@webkit.org [Tue, 9 Oct 2012 08:17:44 +0000 (08:17 +0000)]
Page popup should be smarter about its layout
https://bugs.webkit.org/show_bug.cgi?id=98499

Reviewed by Kent Tamura.

Source/WebCore:

This change fixes these two issues:
1. Page popup should reposition itself so it won't get clipped by screen(Win/Linux) or rootview(Mac) bounds.
2. Page popup should resize itself when it doesn't fit.

Test: platform/chromium/fast/forms/page-popup/page-popup-adjust-rect.html

* Resources/pagepopups/calendarPicker.js:
(initialize): We need to set global.params at the beginning because we need it for resizeWindow().
* Resources/pagepopups/colorSuggestionPicker.js: Added global.params.
(handleMessage):
(initialize):
(handleArgumentsTimeout):
* Resources/pagepopups/pickerCommon.js:
(Rect): Represents an axis aligned rectangle.
(Rect.prototype.get maxX): Gets position of right edge.
(Rect.prototype.get maxY): Gets position of bottom edge.
(Rect.prototype.toString):
(Rect.intersection): Returns the intersection of two rectangles.
(resizeWindow): Resize window to a certain size. Don't allow shrinking.
(adjustWindowRect): Calculates the best position and size for the popup.
(_adjustWindowRectVertically):
(_adjustWindowRectHorizontally):
(setWindowRect): Sets the position and size of the popup to the given rect.
* Resources/pagepopups/suggestionPicker.css:
(.suggestion-list): Don't show horizontal scroll bar.
* Resources/pagepopups/suggestionPicker.js:
(SuggestionPicker.prototype._fixWindowSize):
* page/PagePopupClient.cpp:
(WebCore::PagePopupClient::addProperty): For adding an int to JSON.
(WebCore::PagePopupClient::addProperty): For adding an IntRect to JSON.
(WebCore):
* page/PagePopupClient.h:
(PagePopupClient):

Source/WebKit/chromium:

* src/ColorChooserUIController.cpp:
(WebKit::ColorChooserUIController::writeDocument): Send anchorRectInScreen, rootViewRectInScreen, and confineToRootView.
* src/DateTimeChooserImpl.cpp:
(WebKit::DateTimeChooserImpl::writeDocument): Send anchorRectInScreen, rootViewRectInScreen, and confineToRootView.
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::init): We keep the originBoundsInRootView argument for MockPagePopupDriver.
(WebKit::WebPagePopupImpl::resize): WebPagePopupImpl isn't in charge of setting the popup position any more.
* src/WebPagePopupImpl.h:
(WebPagePopupImpl):

LayoutTests:

* platform/chromium/fast/forms/page-popup/page-popup-adjust-rect-expected.txt: Added.
* platform/chromium/fast/forms/page-popup/page-popup-adjust-rect.html: Added.
* platform/chromium-android/TestExpectations: Added platform/chromium/fast/forms/page-popup.

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

7 years ago[Qt] Unskip now passing tests.
ossy@webkit.org [Tue, 9 Oct 2012 08:07:56 +0000 (08:07 +0000)]
[Qt] Unskip now passing tests.

* platform/qt/TestExpectations:

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

7 years ago[Refactoring] Scoped Style related code should have its own class.
morrita@google.com [Tue, 9 Oct 2012 08:00:53 +0000 (08:00 +0000)]
[Refactoring] Scoped Style related code should have its own class.
https://bugs.webkit.org/show_bug.cgi?id=98244

Reviewed by Dimitri Glazkov.

This change extracts StyleScopeResolver from StyleResolver to clarify
the responsibility of the style scope handling. Now we can easily see
where the style scoping needs to be involed.

Coming Shadow DOM related change like @host rules will fit within this class.

No new tests, refactoring.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAllInOne.cpp:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::collectFeatures):
(WebCore::StyleResolver::appendAuthorStylesheets):
(WebCore::StyleResolver::pushParentElement):
(WebCore::StyleResolver::popParentElement):
(WebCore::StyleResolver::pushParentShadowRoot):
(WebCore::StyleResolver::popParentShadowRoot):
(WebCore::StyleResolver::matchScopedAuthorRules):
(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::StyleResolver::reportMemoryUsage):
* css/StyleResolver.h:
(StyleResolver):
* css/StyleScopeResolver.cpp: Added.
(WebCore):
(WebCore::StyleScopeResolver::StyleScopeResolver):
(WebCore::StyleScopeResolver::~StyleScopeResolver):
(WebCore::StyleScopeResolver::scopeFor):
(WebCore::StyleScopeResolver::ruleSetFor):
(WebCore::StyleScopeResolver::ensureRuleSetFor):
(WebCore::StyleScopeResolver::setupStack):
(WebCore::StyleScopeResolver::push):
(WebCore::StyleScopeResolver::pop):
(WebCore::StyleScopeResolver::collectFeaturesTo):
(WebCore::StyleScopeResolver::reportMemoryUsage):
* css/StyleScopeResolver.h: Added.
(WebCore):
(StyleScopeResolver):
(WebCore::StyleScopeResolver::StackFrame::StackFrame):
(StackFrame):
(WebCore::StyleScopeResolver::hasScopedStyles):
(WebCore::StyleScopeResolver::stackSize):
(WebCore::StyleScopeResolver::stackFrameAt):
(WebCore::StyleScopeResolver::matchesStyleBounds):
(WebCore::StyleScopeResolver::stackIsConsistent):
(WebCore::StyleScopeResolver::ensureStackConsistency):
(WebCore::StyleScopeResolver::scopeFor):
(WebCore::StyleScopeResolver::ensureRuleSetFor):

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

7 years ago[Qt] Unskip now passing tests.
ossy@webkit.org [Tue, 9 Oct 2012 07:58:40 +0000 (07:58 +0000)]
[Qt] Unskip now passing tests.

* platform/qt/TestExpectations:

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

7 years ago[Qt] Unskip now passing tests.
ossy@webkit.org [Tue, 9 Oct 2012 07:50:30 +0000 (07:50 +0000)]
[Qt] Unskip now passing tests.

* platform/qt-5.0-wk1/TestExpectations:
* platform/qt-5.0-wk2/TestExpectations:
* platform/qt-5.0/TestExpectations:

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

7 years ago[BlackBerry] Need API to control the DNS Prefetching
charles.wei@torchmobile.com.cn [Tue, 9 Oct 2012 07:40:05 +0000 (07:40 +0000)]
[BlackBerry] Need API to control the DNS Prefetching
https://bugs.webkit.org/show_bug.cgi?id=98713

Reviewed by George Staikos.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::init):
(BlackBerry::WebKit::WebPage::enableDNSPrefetch):
(WebKit):
(BlackBerry::WebKit::WebPage::disableDNSPrefetch):
(BlackBerry::WebKit::WebPage::isDNSPrefetchEnabled):
* Api/WebPage.h:

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

7 years ago[Qt] Remove redundant JAVASCRIPTCORE_JIT variable
commit-queue@webkit.org [Tue, 9 Oct 2012 07:22:53 +0000 (07:22 +0000)]
[Qt] Remove redundant JAVASCRIPTCORE_JIT variable
https://bugs.webkit.org/show_bug.cgi?id=50000

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-10-09
Reviewed by Simon Hausmann.

Use ENABLE_JIT instead.

* qmake/mkspecs/features/valgrind.prf:

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

7 years agoUnreviewed gadening after r130709.
ossy@webkit.org [Tue, 9 Oct 2012 07:18:10 +0000 (07:18 +0000)]
Unreviewed gadening after r130709.

* fast/harness/results-expected.txt:

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

7 years agoRenamed RegisterFile to JSStack, and removed prototype of the
mark.lam@apple.com [Tue, 9 Oct 2012 07:12:56 +0000 (07:12 +0000)]
Renamed RegisterFile to JSStack, and removed prototype of the
previously deleted Interpreter::privateExecute().
https://bugs.webkit.org/show_bug.cgi?id=98717.

Reviewed by Filip Pizlo.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.order:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/BytecodeConventions.h:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::nameForRegister):
* bytecode/CodeBlock.h:
(CodeBlock):
* bytecode/ValueRecovery.h:
(JSC::ValueRecovery::alreadyInJSStack):
(JSC::ValueRecovery::alreadyInJSStackAsUnboxedInt32):
(JSC::ValueRecovery::alreadyInJSStackAsUnboxedCell):
(JSC::ValueRecovery::alreadyInJSStackAsUnboxedBoolean):
(JSC::ValueRecovery::alreadyInJSStackAsUnboxedDouble):
(JSC::ValueRecovery::displacedInJSStack):
(JSC::ValueRecovery::isAlreadyInJSStack):
(JSC::ValueRecovery::virtualRegister):
(JSC::ValueRecovery::dump):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::resolveCallee):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::registerFor):
* dfg/DFGAbstractState.h:
(AbstractState):
* dfg/DFGAssemblyHelpers.h:
(JSC::DFG::AssemblyHelpers::emitGetFromCallFrameHeaderPtr):
(JSC::DFG::AssemblyHelpers::emitPutToCallFrameHeader):
(JSC::DFG::AssemblyHelpers::emitPutImmediateToCallFrameHeader):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getDirect):
(JSC::DFG::ByteCodeParser::findArgumentPositionForLocal):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::InlineStackEntry::remapOperand):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGGenerationInfo.h:
(GenerationInfo):
(JSC::DFG::GenerationInfo::needsSpill):
* dfg/DFGGraph.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileEntry):
(JSC::DFG::JITCompiler::compileFunction):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::beginCall):
* dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGRepatch.cpp:
(JSC::DFG::tryBuildGetByIDList):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::spill):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillInteger):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGThunks.cpp:
(JSC::DFG::throwExceptionFromCallSlowPathGenerator):
(JSC::DFG::slowPathFor):
(JSC::DFG::virtualForThunkGenerator):
* dfg/DFGValueSource.cpp:
(JSC::DFG::ValueSource::dump):
* dfg/DFGValueSource.h:
(JSC::DFG::dataFormatToValueSourceKind):
(JSC::DFG::valueSourceKindToDataFormat):
(JSC::DFG::isInJSStack):
(JSC::DFG::ValueSource::forSpeculation):
(JSC::DFG::ValueSource::isInJSStack):
(JSC::DFG::ValueSource::valueRecovery):
* dfg/DFGVariableEventStream.cpp:
(JSC::DFG::VariableEventStream::reconstruct):
* heap/Heap.cpp:
(JSC::Heap::stack):
(JSC::Heap::getConservativeRegisterRoots):
(JSC::Heap::markRoots):
* heap/Heap.h:
(JSC):
(Heap):
* interpreter/CallFrame.cpp:
(JSC::CallFrame::stack):
* interpreter/CallFrame.h:
(JSC::ExecState::calleeAsValue):
(JSC::ExecState::callee):
(JSC::ExecState::codeBlock):
(JSC::ExecState::scope):
(JSC::ExecState::callerFrame):
(JSC::ExecState::returnPC):
(JSC::ExecState::hasReturnPC):
(JSC::ExecState::clearReturnPC):
(JSC::ExecState::bytecodeOffsetForNonDFGCode):
(JSC::ExecState::setBytecodeOffsetForNonDFGCode):
(JSC::ExecState::inlineCallFrame):
(JSC::ExecState::codeOriginIndexForDFG):
(JSC::ExecState::currentVPC):
(JSC::ExecState::setCurrentVPC):
(JSC::ExecState::setCallerFrame):
(JSC::ExecState::setScope):
(JSC::ExecState::init):
(JSC::ExecState::argumentCountIncludingThis):
(JSC::ExecState::offsetFor):
(JSC::ExecState::setArgumentCountIncludingThis):
(JSC::ExecState::setCallee):
(JSC::ExecState::setCodeBlock):
(JSC::ExecState::setReturnPC):
(JSC::ExecState::setInlineCallFrame):
(ExecState):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::slideRegisterWindowForCall):
(JSC::eval):
(JSC::loadVarargs):
(JSC::Interpreter::dumpRegisters):
(JSC::Interpreter::throwException):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::endRepeatCall):
* interpreter/Interpreter.h:
(JSC::Interpreter::stack):
(Interpreter):
(JSC::Interpreter::execute):
(JSC):
* interpreter/JSStack.cpp: Copied from Source/JavaScriptCore/interpreter/RegisterFile.cpp.
(JSC::stackStatisticsMutex):
(JSC::JSStack::~JSStack):
(JSC::JSStack::growSlowCase):
(JSC::JSStack::gatherConservativeRoots):
(JSC::JSStack::releaseExcessCapacity):
(JSC::JSStack::initializeThreading):
(JSC::JSStack::committedByteCount):
(JSC::JSStack::addToCommittedByteCount):
* interpreter/JSStack.h: Copied from Source/JavaScriptCore/interpreter/RegisterFile.h.
(JSStack):
(JSC::JSStack::JSStack):
(JSC::JSStack::shrink):
(JSC::JSStack::grow):
* interpreter/RegisterFile.cpp: Removed.
* interpreter/RegisterFile.h: Removed.
* interpreter/VMInspector.cpp:
(JSC::VMInspector::dumpFrame):
* jit/JIT.cpp:
(JSC::JIT::JIT):
(JSC::JIT::privateCompile):
* jit/JIT.h:
(JSC):
(JIT):
* jit/JITCall.cpp:
(JSC::JIT::compileLoadVarargs):
(JSC::JIT::compileCallEval):
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCall):
* jit/JITCall32_64.cpp:
(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_ret_object_or_this):
(JSC::JIT::compileLoadVarargs):
(JSC::JIT::compileCallEval):
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCall):
* jit/JITCode.h:
(JSC):
(JSC::JITCode::execute):
* jit/JITInlineMethods.h:
(JSC::JIT::emitPutToCallFrameHeader):
(JSC::JIT::emitPutCellToCallFrameHeader):
(JSC::JIT::emitPutIntToCallFrameHeader):
(JSC::JIT::emitPutImmediateToCallFrameHeader):
(JSC::JIT::emitGetFromCallFrameHeaderPtr):
(JSC::JIT::emitGetFromCallFrameHeader32):
(JSC::JIT::updateTopCallFrame):
(JSC::JIT::unmap):
* jit/JITOpcodes.cpp:
(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::privateCompileCTINativeCall):
(JSC::JIT::emit_op_end):
(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_ret_object_or_this):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emit_op_get_arguments_length):
(JSC::JIT::emit_op_get_argument_by_val):
(JSC::JIT::emit_op_resolve_global_dynamic):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::privateCompileCTINativeCall):
(JSC::JIT::emit_op_end):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emit_op_get_arguments_length):
(JSC::JIT::emit_op_get_argument_by_val):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_scoped_var):
(JSC::JIT::emit_op_put_scoped_var):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_scoped_var):
(JSC::JIT::emit_op_put_scoped_var):
* jit/JITStubs.cpp:
(JSC::ctiTrampoline):
(JSC::JITThunks::JITThunks):
(JSC):
(JSC::DEFINE_STUB_FUNCTION):
* jit/JITStubs.h:
(JSC):
(JITStackFrame):
* jit/JSInterfaceJIT.h:
* jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::SpecializedThunkJIT):
(JSC::SpecializedThunkJIT::returnJSValue):
(JSC::SpecializedThunkJIT::returnDouble):
(JSC::SpecializedThunkJIT::returnInt32):
(JSC::SpecializedThunkJIT::returnJSCell):
* llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
* llint/LLIntOffsetsExtractor.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::genericCall):
* llint/LLIntSlowPaths.h:
(LLInt):
* llint/LowLevelInterpreter.asm:
* runtime/Arguments.cpp:
(JSC::Arguments::tearOffForInlineCallFrame):
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::arityCheckFor):
* runtime/InitializeThreading.cpp:
(JSC::initializeThreadingOnce):
* runtime/JSActivation.cpp:
(JSC::JSActivation::visitChildren):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::globalExec):
* runtime/JSGlobalObject.h:
(JSC):
(JSGlobalObject):
* runtime/JSLock.cpp:
(JSC):
* runtime/JSVariableObject.h:
(JSVariableObject):
* runtime/MemoryStatistics.cpp:
(JSC::globalMemoryStatistics):

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

7 years agoUnreviewed GTK build fix after r130689.
zandobersek@gmail.com [Tue, 9 Oct 2012 07:10:56 +0000 (07:10 +0000)]
Unreviewed GTK build fix after r130689.

Adding a required symbol to symbols.filter.

* Source/autotools/symbols.filter:

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

7 years ago[Qt][WK2] Unskip now passing tests.
ossy@webkit.org [Tue, 9 Oct 2012 07:06:52 +0000 (07:06 +0000)]
[Qt][WK2] Unskip now passing tests.

* platform/qt-5.0-wk2/TestExpectations:

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

7 years ago[Qt] Make RenderThemeQStyle/ScrollbarThemeQStyle compile without QStyle/QtWidgets
hausmann@webkit.org [Tue, 9 Oct 2012 07:06:37 +0000 (07:06 +0000)]
[Qt] Make RenderThemeQStyle/ScrollbarThemeQStyle compile without QStyle/QtWidgets
https://bugs.webkit.org/show_bug.cgi?id=98268

Reviewed by Tor Arne Vestbø.

Source/WebCore:

Extracted QStyle/QWidget related code into a QWebStyle class that implements the QStyleFacade interface.

QStyleFacade is a pure interface that lives in WebCore/platform/qt
(next to RenderThemeQStyle and ScrollbarThemeQStyle) and provides a
minimal interface of what we need to draw with QStyle as well as basic
hit testing and metric retrieval. It also provides a
QStyleFacadeOption class that aggregates common meta-data for
rendering primitives, such as direction, rectangle, state (sunken,
enabled, etc.) or palette. It also provides some more slider/scrollbar
specific fields in a slider sub-structure.

RenderThemeQStyle/ScrollbarThemeQStyle used to instantiate specific QStyleOption sub-classes and populate
them with state information from render objects, before calling straight to QStyle. Most of the common code
was encapsulated in StylePainterQStyle.

The new RenderThemeQStyle/ScrolllbarThemeQStyle uses common code in
StylePainterQStyle to populate state into QStyleFacadeOption before
calling into QStyleFacade.

The style facade is then implemented by QStyleFacadeImp, which extracts
meta-data from QStyleFacadeOption arguments, populates style
primitive specific QStyleOption objects and then calls on QStyle.

RenderThemeQStyle/ScrollbarThemeQStyle can only use interface methods
from QStyleFacade. QStyleFacadeImp on the other hand will live in the
separate QtWebKitWidgets library in the future and therefore cannot use
any WebCore types.

* Target.pri:
* platform/qt/QStyleFacade.cpp: Added.
(WebCore):
(WebCore::QStyleFacade::styleForPage):
* platform/qt/QStyleFacade.h: Added.
(WebCore):
(QStyleFacade):
(WebCore::QStyleFacade::~QStyleFacade):
(WebCore::QStyleFacadeOption::QStyleFacadeOption):
(QStyleFacadeOption):
* platform/qt/RenderThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.cpp.
(WebCore):
(WebCore::RenderThemeQStyle::getStylePainter):
(WebCore::StylePainterQStyle::StylePainterQStyle):
(WebCore::StylePainterQStyle::init):
(WebCore::RenderThemeQStyle::create):
(WebCore::RenderThemeQStyle::setStyleFactoryFunction):
(WebCore::RenderThemeQStyle::styleFactory):
(WebCore::RenderThemeQStyle::RenderThemeQStyle):
(WebCore::RenderThemeQStyle::~RenderThemeQStyle):
(WebCore::RenderThemeQStyle::setPaletteFromPageClientIfExists):
(WebCore::RenderThemeQStyle::inflateButtonRect):
(WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
(WebCore::RenderThemeQStyle::adjustButtonStyle):
(WebCore::RenderThemeQStyle::setButtonPadding):
(WebCore::RenderThemeQStyle::paintButton):
(WebCore::RenderThemeQStyle::paintTextField):
(WebCore::RenderThemeQStyle::adjustTextAreaStyle):
(WebCore::RenderThemeQStyle::paintTextArea):
(WebCore::RenderThemeQStyle::setPopupPadding):
(WebCore::RenderThemeQStyle::colorPalette):
(WebCore::RenderThemeQStyle::paintMenuList):
(WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
(WebCore::RenderThemeQStyle::paintMenuListButton):
(WebCore::RenderThemeQStyle::animationDurationForProgressBar):
(WebCore::RenderThemeQStyle::paintProgressBar):
(WebCore::RenderThemeQStyle::paintSliderTrack):
(WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
(WebCore::RenderThemeQStyle::paintSliderThumb):
(WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
(WebCore::RenderThemeQStyle::paintSearchField):
(WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
(WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
(WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeQStyle::paintInnerSpinButton):
(WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
(WebCore::RenderThemeQStyle::adjustSliderThumbSize):
* platform/qt/RenderThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.h.
(WebCore):
(RenderThemeQStyle):
(WebCore::RenderThemeQStyle::qStyle):
(StylePainterQStyle):
(WebCore::StylePainterQStyle::isValid):
(WebCore::StylePainterQStyle::paintButton):
(WebCore::StylePainterQStyle::paintTextField):
(WebCore::StylePainterQStyle::paintComboBox):
(WebCore::StylePainterQStyle::paintComboBoxArrow):
(WebCore::StylePainterQStyle::paintSliderTrack):
(WebCore::StylePainterQStyle::paintSliderThumb):
(WebCore::StylePainterQStyle::paintInnerSpinButton):
(WebCore::StylePainterQStyle::paintProgressBar):
(WebCore::StylePainterQStyle::paintScrollCorner):
(WebCore::StylePainterQStyle::paintScrollBar):
* platform/qt/ScrollbarThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.cpp.
(WebCore):
(WebCore::ScrollbarThemeQStyle::ScrollbarThemeQStyle):
(WebCore::ScrollbarThemeQStyle::~ScrollbarThemeQStyle):
(WebCore::scPart):
(WebCore::scrollbarPart):
(WebCore::initSliderStyleOption):
(WebCore::ScrollbarThemeQStyle::paint):
(WebCore::ScrollbarThemeQStyle::hitTest):
(WebCore::ScrollbarThemeQStyle::shouldCenterOnThumb):
(WebCore::ScrollbarThemeQStyle::invalidatePart):
(WebCore::ScrollbarThemeQStyle::scrollbarThickness):
(WebCore::ScrollbarThemeQStyle::thumbPosition):
(WebCore::ScrollbarThemeQStyle::thumbLength):
(WebCore::ScrollbarThemeQStyle::trackPosition):
(WebCore::ScrollbarThemeQStyle::trackLength):
(WebCore::ScrollbarThemeQStyle::paintScrollCorner):
* platform/qt/ScrollbarThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.h.
(WebCore):
(ScrollbarThemeQStyle):
(WebCore::ScrollbarThemeQStyle::qStyle):

Source/WebKit:

* WebKit1.pro: Add new files to the build.

Source/WebKit/qt:

Extracted QStyle/QWidget related code into a QWebStyle class that implements the QStyleFacade interface.

QStyleFacade is a pure interface that lives in WebCore/platform/qt
(next to RenderThemeQStyle and ScrollbarThemeQStyle) and provides a
minimal interface of what we need to draw with QStyle as well as basic
hit testing and metric retrieval. It also provides a
QStyleFacadeOption class that aggregates common meta-data for
rendering primitives, such as direction, rectangle, state (sunken,
enabled, etc.) or palette. It also provides some more slider/scrollbar
specific fields in a slider sub-structure.

RenderThemeQStyle/ScrollbarThemeQStyle used to instantiate specific QStyleOption sub-classes and populate
them with state information from render objects, before calling straight to QStyle. Most of the common code
was encapsulated in StylePainterQStyle.

The new RenderThemeQStyle/ScrolllbarThemeQStyle uses common code in
StylePainterQStyle to populate state into QStyleFacadeOption before
calling into QStyleFacade.

The style facade is then implemented by QStyleFacadeImp, which extracts
meta-data from QStyleFacadeOption arguments, populates style
primitive specific QStyleOption objects and then calls on QStyle.

RenderThemeQStyle/ScrollbarThemeQStyle can only use interface methods
from QStyleFacade. QStyleFacadeImp on the other hand will live in the
separate QtWebKitWidgets library in the future and therefore cannot use
any WebCore types.

* WebCoreSupport/InitWebCoreQt.cpp:
(WebCore::initializeWebCoreQt):
* WebCoreSupport/QStyleFacadeImp.cpp: Added.
(WebKit):
(WebKit::convertToQStyleState):
(WebKit::convertToQStyleSubControl):
(WebKit::initGenericStyleOption):
(WebKit::initSpecificStyleOption):
(MappedStyleOption):
(WebKit::MappedStyleOption::MappedStyleOption):
(WebKit::convertPixelMetric):
(WebKit::convertToQStyleFacadeSubControl):
(WebKit::QStyleFacadeImp::QStyleFacadeImp):
(WebKit::QStyleFacadeImp::~QStyleFacadeImp):
(WebKit::QStyleFacadeImp::buttonSubElementRect):
(WebKit::QStyleFacadeImp::findFrameLineWidth):
(WebKit::QStyleFacadeImp::simplePixelMetric):
(WebKit::QStyleFacadeImp::buttonMargin):
(WebKit::QStyleFacadeImp::sliderLength):
(WebKit::QStyleFacadeImp::sliderThickness):
(WebKit::QStyleFacadeImp::progressBarChunkWidth):
(WebKit::QStyleFacadeImp::getButtonMetrics):
(WebKit::QStyleFacadeImp::sizeFromContents):
(WebKit::QStyleFacadeImp::paintButton):
(WebKit::QStyleFacadeImp::paintTextField):
(WebKit::QStyleFacadeImp::paintComboBox):
(WebKit::QStyleFacadeImp::paintComboBoxArrow):
(WebKit::QStyleFacadeImp::paintSliderTrack):
(WebKit::QStyleFacadeImp::paintSliderThumb):
(WebKit::QStyleFacadeImp::paintInnerSpinButton):
(WebKit::QStyleFacadeImp::paintProgressBar):
(WebKit::QStyleFacadeImp::scrollBarExtent):
(WebKit::QStyleFacadeImp::scrollBarMiddleClickAbsolutePositionStyleHint):
(WebKit::QStyleFacadeImp::paintScrollCorner):
(WebKit::QStyleFacadeImp::hitTestScrollBar):
(WebKit::QStyleFacadeImp::scrollBarSubControlRect):
(WebKit::QStyleFacadeImp::paintScrollBar):
(WebKit::QStyleFacadeImp::widgetForPainter):
(WebKit::QStyleFacadeImp::style):
* WebCoreSupport/QStyleFacadeImp.h: Added.
(WebCore):
(WebKit):
(QStyleFacadeImp):
(WebKit::QStyleFacadeImp::create):
(WebKit::QStyleFacadeImp::isValid):

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

7 years ago[Qt]REGRESSION(r128699): It made 2 fast/js/dfg tests assert
ossy@webkit.org [Tue, 9 Oct 2012 06:35:53 +0000 (06:35 +0000)]
[Qt]REGRESSION(r128699): It made 2 fast/js/dfg tests assert
https://bugs.webkit.org/show_bug.cgi?id=96907

Patch by Tullio Lucena <tullio.lucena@openbossa.org> on 2012-10-08
Reviewed by Csaba Osztrogonác.

Unskipping tests.

* platform/qt/TestExpectations:

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

7 years agoThrottle DOM timers on hidden pages.
commit-queue@webkit.org [Tue, 9 Oct 2012 05:45:48 +0000 (05:45 +0000)]
Throttle DOM timers on hidden pages.
https://bugs.webkit.org/show_bug.cgi?id=98474

Patch by Kiran Muppala <cmuppala@apple.com> on 2012-10-08
Reviewed by Maciej Stachowiak.

Source/JavaScriptCore:

Add HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

When the visibility of a page changes to "hidden", all it's DOM timers are
updated to align their fire times on one second intervals.  This limits the
number of CPU wakes due to a hidden pages to one per second.

Test: fast/dom/timer-throttling-hidden-page.html

* Configurations/FeatureDefines.xcconfig:
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore):
(WebCore::Document::timerAlignmentInterval):
Read Page::timerAlignmentInterval and pass it along to DOMTimer.

* dom/Document.h:
(Document):
* dom/ScriptExecutionContext.cpp:
(WebCore):
(WebCore::ScriptExecutionContext::didChangeTimerAlignmentInterval):
Scan through self DOM Timers and tell them to recompute their fire
time based on the updated alignment interval.
(WebCore::ScriptExecutionContext::timerAlignmentInterval):

* dom/ScriptExecutionContext.h:
(ScriptExecutionContext):
* page/DOMTimer.cpp:
(WebCore):
(WebCore::DOMTimer::alignedFireTime):
If the document's alignment interval is non zero, round up the fire
time to the next multiple of alignment interval.

* page/DOMTimer.h:
(DOMTimer):
(WebCore::DOMTimer::defaultTimerAlignmentInterval):
(WebCore::DOMTimer::setDefaultTimerAlignmentInterval):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore):
(WebCore::Page::setTimerAlignmentInterval):
(WebCore::Page::timerAlignmentInterval):
(WebCore::Page::setVisibilityState):
Getter and Setter for alignment interval.  Expose setVisibilityState
if either PAGE_VISIBILITY_API is enabled or if HIDDEN_PAGE_DOM_TIMER_REDUCTION
is enabled.

* page/Page.h:
(Page):
* page/Settings.cpp:
(WebCore):
(WebCore::Settings::setDefaultDOMTimerAlignmentInterval):
(WebCore::Settings::defaultDOMTimerAlignmentInterval):
(WebCore::Settings::setDOMTimerAlignmentInterval):
(WebCore::Settings::domTimerAlignmentInterval):
* page/Settings.h:
(Settings):
* page/SuspendableTimer.cpp:
(WebCore::SuspendableTimer::suspend):
Save the time remaining to the original unaligned fire time, so that
on resuming, the fire time will be correctly aligned using the latest
alignment interval.

* platform/ThreadTimers.cpp:
(WebCore::ThreadTimers::sharedTimerFiredInternal):
Clear m_unalignedNextFireTime along with m_nextFireTime to keep
them always in sync.

* platform/Timer.cpp:
(WebCore::TimerBase::TimerBase):
(WebCore::TimerBase::setNextFireTime):
Save the requested fire time in m_unalignedNextFireTime and
set m_nextFireTime to the aligned value.  The unalinged value
is used to recompute fire time if alignment interval changes.
(WebCore):
(WebCore::TimerBase::didChangeAlignmentInterval):
Recompute next fire time from m_unalignedNextFireTime.
(WebCore::TimerBase::nextUnalignedFireInterval):
Interval from current time to the original unaligned fire time.

* platform/Timer.h:
(TimerBase):
(WebCore::TimerBase::alignedFireTime):

Source/WebKit/mac:

Add HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define and provide a SPI for
DumpRenderTree to modify the visibility state of a page.  The latter
is needed to test throttling of timers on hidden pages through DumpRenderTree.

* Configurations/FeatureDefines.xcconfig:
* WebView/WebView.mm:
(-[WebView _setVisibilityState:isInitialState:]):
* WebView/WebViewPrivate.h:

Source/WebKit2:

Add HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define.  Use existing code of
PAGE_VISIBILITY_API to detect changes to page visibility state.

* Configurations/FeatureDefines.xcconfig:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
Check visibility state on construction.
(WebKit::WebPageProxy::initializeWebPage):
Send initial visibility state message if HIDDEN_PAGE_DOM_TIMER_THROTTLING
is enabled or if PAGE_VISIBILITY_API is enabled.
(WebKit::WebPageProxy::viewStateDidChange):
When PAGE_VISIBILITY_API is not enabled, compare new visibility against
WebPageProxy::m_isVisible, to minimize number of messages sent.
Remove unnecessary second call to PageClient::isViewVisible for updating
visibility state.

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setPageVisibilityState):
WebKitTestRunner uses this method to implement testRunner.setPageVisibility(),
hence enable it for testing hidden page timer throttling as well.

* WebProcess/WebPage/WebPage.cpp:
(WebKit):
(WebKit::WebPage::setVisibilityState):
Ensure Page::setVisibilityState is called either if PAGE_VISIBILITY_API is
enabled or if HIDDEN_PAGE_DOM_TIMER_THROTTLING is enabled.

* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:

Tools:

Implement testRunner.setPageVisibility on mac for testing throttling
of timers on hidden pages using DumpRenderTree.

* DumpRenderTree/mac/Configurations/Base.xcconfig:
Fix build error on mac-ews bot.  Add JSC copy of ICU headers to search path.

* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::resetPageVisibility):
(TestRunner::setPageVisibility):

WebKitLibraries:

Add HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define.

* win/tools/vsprops/FeatureDefines.vsprops:
* win/tools/vsprops/FeatureDefinesCairo.vsprops:

LayoutTests:

Add a test for DOM timer throttling on hidden pages.

* fast/dom/timer-throttling-hidden-page-expected.txt: Added.
* fast/dom/timer-throttling-hidden-page.html: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
Skip the test since HIDDEN_PAGE_DOM_TIMER_THROTTLING is not enabled by default.

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

7 years ago1.18MB below RenderTableSection::setCachedCollapsedBorderValue() on Membuster3.
kling@webkit.org [Tue, 9 Oct 2012 05:12:56 +0000 (05:12 +0000)]
1.18MB below RenderTableSection::setCachedCollapsedBorderValue() on Membuster3.
<http://webkit.org/b/98670>
<rdar://problem/12454276>

Reviewed by Anders Carlsson.

Refactor CollapsedBorderValue to only store the bits and pieces from the BorderValue
that it actually needs. Packed the whole thing into 64 bits.

Reduces memory consumption by 547kB on Membuster3.

* rendering/RenderTableCell.cpp:

    Add compile-time size assertion for CollapsedBorderValue.

* rendering/style/CollapsedBorderValue.h:
(WebCore::CollapsedBorderValue::CollapsedBorderValue):
(WebCore::CollapsedBorderValue::width):
(WebCore::CollapsedBorderValue::style):
(WebCore::CollapsedBorderValue::color):
(WebCore::CollapsedBorderValue::isTransparent):
(WebCore::CollapsedBorderValue::precedence):
(WebCore::CollapsedBorderValue::isSameIgnoringColor):
(CollapsedBorderValue):

    Apply shrinkwrap to CollapsedBorderValue. Removed specialized copy constructor since
    the class only has primitive members now.

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

7 years agoHTMLSelectElement::typeAheadFind depends on implementation dependent behavior
yosin@chromium.org [Tue, 9 Oct 2012 04:47:07 +0000 (04:47 +0000)]
HTMLSelectElement::typeAheadFind depends on implementation dependent behavior
https://bugs.webkit.org/show_bug.cgi?id=98710

Reviewed by Kent Tamura.

Source/WebCore:

This patch gets rid of C/C++ implementation dependent behavior from
HTMLSelectElement::typeAheadFind() which does modulo operation with
a negative operand.

HTMLSelectElement::typeAheadFind() contains expression with modulo
operator and dividend can be -1 when the "select" element without
"option" element but "optgroup" element.

Test: fast/forms/select/select-typeahead-crash.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::typeAheadFind): Changed to do modulo
operation with both operands are non-negative.

LayoutTests:

This patch adds a test for checking HTMLSelectElement::typeAheadFind
doesn't crash.

* fast/forms/select/select-typeahead-crash-expected.txt: Added.
* fast/forms/select/select-typeahead-crash.html: Added.

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

7 years agoTake account of overflowing values for width calculation of a year sub-field
tkent@chromium.org [Tue, 9 Oct 2012 02:18:20 +0000 (02:18 +0000)]
Take account of overflowing values for width calculation of a year sub-field
https://bugs.webkit.org/show_bug.cgi?id=98506

Reviewed by Eric Seidel.

Source/WebCore:

When we decide the width of a year field of an input[type=date]
with the multiple fields UI, we need to take account of the
current value width because we allow to set overflowing values to
the input[type=date].

This change affects only platforms with INPUT_TYPE_DATE &&
INPUT_MULTIPLE_FIELDS_UI.

Test: fast/forms/date-multiple-fields/date-multiple-fields-change-layout-by-value.html

* html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::customStyleForRenderer):
Take account of the current value width.

LayoutTests:

* fast/forms/date-multiple-fields/date-multiple-fields-change-layout-by-value-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-change-layout-by-value.html: Added.

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

7 years agoChromium DEPS roll r160657:160764.
dpranke@chromium.org [Tue, 9 Oct 2012 01:52:58 +0000 (01:52 +0000)]
Chromium DEPS roll r160657:160764.

Unreviewed.

* DEPS:

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

7 years agoimage not displayed in flexbox
tony@chromium.org [Tue, 9 Oct 2012 01:52:21 +0000 (01:52 +0000)]
image not displayed in flexbox
https://bugs.webkit.org/show_bug.cgi?id=98611

Reviewed by Ojan Vafai.

Source/WebCore:

Flexbox will override the width of a child and when stretching, will override the height of the child.
When this happens, when an image loads, it checks to see if it's width/height has
changed, and if so, does a relayout.  The overridden width/height was preventing this
relayout from happening.

To fix, we clear all the override sizes when we're done laying out the flex children.

Test: css3/flexbox/relayout-image-load.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock): Clear child override sizes.
(WebCore::RenderFlexibleBox::clearChildOverrideSizes):
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): No longer need to clear the override size
here since it should have already been cleared.
* rendering/RenderFlexibleBox.h:

LayoutTests:

Load an image after flexbox layout has happened.

* css3/flexbox/relayout-image-load-expected.txt: Added.
* css3/flexbox/relayout-image-load.html: Added.
* platform/chromium/TestExpectations: Remove css3/flexbox/flexitem-stretch-image.html
since it should no longer be flaky.

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

7 years agoSkip Layout/subtree-detaching.html temporarily as it's very noisy and
rniwa@webkit.org [Tue, 9 Oct 2012 01:48:12 +0000 (01:48 +0000)]
Skip Layout/subtree-detaching.html temporarily as it's very noisy and
takes 112s to run on Chromium Mac. This is tracked by the bug 98708.

* Skipped:

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