Unreviewed. Reverted expectation changes from r135380 and marked css3/filters/effect-reference-ordering-hw.html as crashing
https://bugs.webkit.org/show_bug.cgi?id=102898

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135402 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Link highlight should display for at least 100ms, and fadeout on GestureTap/Longpress.
https://bugs.webkit.org/show_bug.cgi?id=102823

Reviewed by Adrienne Walker.

Link highlights sometimes disappear so quickly they barely display. Modify
so that the highlight is displayed for minimum 100ms before fading out, and
also fadeout (as opposed to abrupt clear) on GestureTap and GestureLongPress.

* src/LinkHighlight.cpp:
(WebKit::LinkHighlight::LinkHighlight):
(WebKit::LinkHighlight::startHighlightAnimationIfNeeded): Check if min duration achieved, if not add time to fadeout animation.
* src/LinkHighlight.h:
(LinkHighlight):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent): Fadeout instead of clear on GestureTap and GestureLongPress.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed Qt/Windows build fix.
https://bugs.webkit.org/show_bug.cgi?id=102787

Remove inclusion of QtQml, which drags in QtNetwork, which drags in qnetworksession.h, which
defines a member function called "interface". Since windows headers also define a pre-processor
macro called "interface", it has to do that. However we have now a dependency between combaseapi.h,
which #defines interface and is included earlier (before qnetworksession.h) and shlwapi.h, which _needs_
the interface macro and is included afterwards. Since this module-wide QtQml inclusion is unnecessary
and just slows down the build, this patch removes it.

* UIProcess/API/qt/qwebkittest_p.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135404 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

Splits the point() method in HitTestResult into two, innerNodeFramePoint and mainFramePoint().
To do this HitTestResult no longer inherits publically from HitTestLocation, which should also
help to later separate the two classes completely.

Many of the call-sites of hitTestResultAtPoint confuses which coordinates the point is in.
These have not have been fixed in this patch, and they should be audited by the individual ports.

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::nodesFromRect):
* page/EventHandler.cpp:
(WebCore::EventHandler::eventMayStartDrag):
(WebCore::EventHandler::hitTestResultAtPoint):
    Set and maintain pointInMainFrame on the HitTestResult.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult):
    Construct pointInMainFrame as a copy of pointInInnerNodeFrame. This is correct
    for all hit-tests outside of the recursion in EventHandler::hitTestResultAtPoint.
(WebCore::HitTestResult::operator=):
(WebCore::HitTestResult::innerNodeFrame):
(WebCore::HitTestResult::append):
* rendering/HitTestResult.h:
(WebCore::HitTestLocation::point):
(HitTestResult):
    Inherits protected now from HitTestLocation to avoid exposing the ambiguous
    point() and roundedPoint() methods.
    HitTestResult will be split completely from HitTestLocation in a later patch.
(WebCore::HitTestResult::isRectBasedTest):
(WebCore::HitTestResult::pointInMainFrame):
(WebCore::HitTestResult::roundedPointInMainFrame):
(WebCore::HitTestResult::setPointInMainFrame):
(WebCore::HitTestResult::pointInInnerNodeFrame):
(WebCore::HitTestResult::roundedPointInInnerNodeFrame):
(WebCore::HitTestResult::localPoint):
(WebCore::HitTestResult::setLocalPoint):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTest):

Source/WebKit/chromium: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::mouseDidMoveOverElement):
* src/ContextMenuClientImpl.cpp:
(WebKit::selectMisspelledWord):
(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::characterIndexForPoint):

Source/WebKit/efl: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

* ewk/ewk_frame.cpp:
(ewk_frame_hit_test_new):

Source/WebKit/gtk: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

Switched to using point in innerNodeFrame. While the use here seems wrong it has been
left functionally unchanged to be fixed by a later patch.

* webkit/webkithittestresult.cpp:
(WebKit::kit):

Source/WebKit/mac: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

Switch to using HitTestResult::innerNodeFrame and HitTestResult::innerNodeFramePoint.

* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::showContextMenu):

Source/WebKit/qt: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

* Api/qwebframe.cpp:
(QWebHitTestResultPrivate::QWebHitTestResultPrivate):
* Api/qwebpage.cpp:
(QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch):

Source/WebKit/win: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

* WebView.cpp:
(WebView::handleContextMenuEvent):

Source/WebKit2: Disambiguate innerNodeFramePoint and mainFramePoint
https://bugs.webkit.org/show_bug.cgi?id=98139

Reviewed by Julien Chaffraix.

Switch to using HitTestResult::innerNodeFrame and HitTestResult::innerNodeFramePoint.

* WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::show):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::characterIndexForPoint):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled DEPS.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: [Qt] MinGW: Explicitly add OpenGL library dependencies
https://bugs.webkit.org/show_bug.cgi?id=102924

Patch by Kai Koehne <kai.koehne@digia.com> on 2012-11-21
Reviewed by Simon Hausmann.

Adding the dependencies to WebKit1 is too late, because linking will have already failed. Also make sure that
the we link against OpenGLES1 e.g. for Angle.

* WebCore.pri:

Source/WebKit: [Qt] MinGW: Don't add OpenGL library dependencies here
https://bugs.webkit.org/show_bug.cgi?id=102924

Patch by Kai Koehne <kai.koehne@digia.com> on 2012-11-21
Reviewed by Simon Hausmann.

As the comment suggests the dependency is already for WebCore, so add it there instead.

* WebKit1.pri:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135407 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] gardening: fast/writing-mode/japanese-ruby-* are flaky
https://bugs.webkit.org/show_bug.cgi?id=102921

Unreviewed gardening: several tests fail if run after any test that
changes font family mappings. Mark them flaky.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-11-21

* platform/efl-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135408 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IDBRequestTest needs a v8 context
https://bugs.webkit.org/show_bug.cgi?id=102941

Patch by Dan Carney <dcarney@google.com> on 2012-11-21
Reviewed by Jochen Eisinger.

Added v8 context to IDBRequestTest tests.

* tests/IDBRequestTest.cpp:
(IDBRequestTest):
(WebKit::IDBRequestTest::IDBRequestTest):
(WebKit::IDBRequestTest::context):
(WebKit::IDBRequestTest::scriptExecutionContext):
(WebKit):
(WebKit::TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135409 268f45cc-cd09-0410-ab3c-d52691b4dbfc
In-band text tracks infrastructure
https://bugs.webkit.org/show_bug.cgi?id=102830

Reviewed by Philippe Normand.

Add the infrastructure necessary to allow a port-specific media engine to expose in-band text
tracks.

No new tests, this patch only adds plumbing. Existing tests verify that these changes don't
break existing functionality.

* CMakeLists.txt: Add new project files.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState): Call processInbandTextTracks when readyState reaches
    HAVE_METADATA
(WebCore::HTMLMediaElement::processInbandTextTracks): Fetch the in-band text tracks from the 
    media player and processes them.
* html/HTMLMediaElement.h:

* html/track/InbandTextTrack.cpp: Added.
* html/track/InbandTextTrack.h: Added.
* html/track/InbandTextTrackPrivate.h: Added.

* html/track/TextTrack.h:
(TextTrack):
(WebCore::TextTrack::clearClient): Remove virtual, it is unnecessary
(WebCore::TextTrack::mode): Make virtual so derived classes can override.
(WebCore::TextTrack::setMode): Ditto.

* html/track/TextTrackList.cpp:
(TextTrackList::length): Update to deal with in-band tracks.
(TextTrackList::getTrackIndex): Ditto.
(TextTrackList::getTrackIndexRelativeToRenderedTracks): Ditto.
(TextTrackList::item): Ditto.
(TextTrackList::invalidateTrackIndexesAfterTrack): New, invalidate the cached track indexes of
    all tracks after another.
(TextTrackList::append): Update to deal with in-band tracks.
(TextTrackList::remove): Update to deal with in-band tracks.
(TextTrackList::scheduleAddTrackEvent): Remove typo.
* html/track/TextTrackList.h:

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::getTextTracks): New, pass through to the media engine.
(WebCore::MediaPlayer::setTextTrackClient):
* platform/graphics/MediaPlayer.h:

* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setPreload): Cleanup.
(WebCore::MediaPlayerPrivateInterface::sourceEndOfStream): Ditto.
(WebCore::MediaPlayerPrivateInterface::getTextTracks): New client method.
(WebCore::MediaPlayerPrivateInterface::setTextTrackClient): Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Avoid creating degenerate cubics at corners of rounded rects.
https://bugs.webkit.org/show_bug.cgi?id=102945

Patch by Tom Hudson <tomhudson@chromium.org> on 2012-11-21
Reviewed by Stephen White.

Covered by existing layout tests.

* platform/graphics/Path.cpp:
(Path::addBeziersForRoundedRect):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135411 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Ctrl+A closes breakpoint condition editor
https://bugs.webkit.org/show_bug.cgi?id=102906

Patch by Andrey Lushnikov <lushnikov@chromium.com> on 2012-11-21
Reviewed by Pavel Feldman.

Check if e.target has no ancestors with className
"webkit-line-decorations" in DefaultTextEditor._handleKeyDown

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.DefaultTextEditor.prototype._handleKeyDown): Add check

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, build fix after r135410.

* html/track/InbandTextTrack.cpp:
(WebCore::InbandTextTrack::addCue): Prevent unused parameter error.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135413 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Add flag to enable/disable touch adjustment at runtime.
https://bugs.webkit.org/show_bug.cgi?id=102534

Patch by Kevin Ellis <kevers@chromium.org> on 2012-11-21
Reviewed by Antonio Gomes.

Source/WebCore:

Add setting for enabling or disabling touch adjustment.  Note that for
touch adjustment to apply, the compile flag must also be enabled.  A
compile only option is insufficient as it does not allow developers to
quickly test the impact of touch adjustemnt without recompiling.  Nor
does it allow end users to disable touch adjustemnt if they find that
touch adjustment is not working well for a particular site.

No new tests required.

* page/EventHandler.cpp:
(WebCore::EventHandler::handleGestureEvent): Move enable check to adjustGesturePosition.
(WebCore::EventHandler::handleGestureTap): Move enable check to adjustGesturePosition.
(WebCore::EventHandler::shouldApplyTouchAdjustment): Checks if touch adjustment is enabled.
(WebCore):
(WebCore::EventHandler::adjustGesturePosition): Add check for enabling of touch adjustment.
(WebCore::EventHandler::sendContextMenuEventForGesture): Move enable check to adjustGesturePosition.
* page/EventHandler.h:
(EventHandler):
* page/Settings.in:

Source/WebKit/chromium:

Add setting for enabling or disabling touch adjustment.
For touch adjustemnt to apply, the compile option must
also be enabled.

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setEnableTouchAdjustment):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r135409.
http://trac.webkit.org/changeset/135409
https://bugs.webkit.org/show_bug.cgi?id=102959

This patch causes compiling error to Chromium build (Requested
by jianli_ on #webkit).

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

* tests/IDBRequestTest.cpp:
(WebCore::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135415 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Relayout the slider track when a data list is set
https://bugs.webkit.org/show_bug.cgi?id=102851

Reviewed by Ojan Vafai.

Previously, we would relayout the <input>.  Once we fix bug 102352, this
causes the slider track to not relayout.  It should relayout because it
draws the data list tick marks and needs to provide space for them.

No new tests, not testable until bug 102352 is fixed. Specifically,
fast/forms/datalist/update-range-with-datalist.html reveals the bug.

* html/RangeInputType.cpp:
(WebCore::RangeInputType::listAttributeTargetChanged):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135416 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] webkit_unit_tests should depend on forwarder2 for Android
https://bugs.webkit.org/show_bug.cgi?id=102934

Reviewed by Tony Chang.

Running webkit_unit_tests and TestWebKitAPI in the WebKit tree will defer
to the test runner used by Chromium, which in turn relies on forwarder2.
forwarder2 will eventually be required by layout tests as well.

* WebKitUnitTests.gyp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135417 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Change default tap highlight color for Chromium Windows & Linux.
https://bugs.webkit.org/show_bug.cgi?id=102939

Reviewed by Adam Barth.

Change default tap highlight colour on Chromium Win/Linux to be 18% black.

* rendering/RenderThemeChromiumSkia.h:
(RenderThemeChromiumSkia): Override platformTapHighlightColor() to change default highlight colour.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135418 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Replace NodeRendererFactory class with a function
https://bugs.webkit.org/show_bug.cgi?id=102950

Reviewed by Andreas Kling.

Simplify the code by turning NodeRendererFactory single-use class into function of NodeRenderingContext.

* dom/Node.cpp:
(WebCore::Node::createRendererIfNeeded):
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore):
(WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
(WebCore::NodeRenderingContext::createRendererIfNeeded):
* dom/NodeRenderingContext.h:
(NodeRenderingContext):
(WebCore::NodeRenderingContext::style):
(WebCore):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135419 268f45cc-cd09-0410-ab3c-d52691b4dbfc
update expectations in advance of skia deps roll
https://bugs.webkit.org/show_bug.cgi?id=102964

Reviewed by NOBODY. expectations change only.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make it possible for elements with different tag names to share attribute data.
<http://webkit.org/b/102845>

Reviewed by Antti Koivisto.

Allow all elements to share ElementAttributeData with one another. This means that the elements
in this hypothetical markup will all point to the same attribute data:

    <div class="foo">
        <span class="foo">
            <hr class="foo"/>
        </span>
    </div>

This optimization happens at the expense of an old one. We no longer share attribute data
between elements that have presentation attributes, since they map to different CSS properties
depending on what tag they're attached to. These are mostly used in ye olde web 1.0 content
though, and we should prefer optimizing in favor of modern markup. The global cache for
presentation attribute style in StyledElement.cpp still prevents redundant parsing.

On the upside, excluding elements with presentation attributes from the data cache means that
we can move one pointer (m_presentationAttributeStyle) from ImmutableElementAttributeData
to MutableElementAttributeData.

800kB progression on Membuster3.

* dom/Document.h:
* dom/Document.cpp:
(WebCore::ImmutableAttributeDataCacheKey::ImmutableAttributeDataCacheKey):
(WebCore::ImmutableAttributeDataCacheKey::operator!=):
(WebCore::ImmutableAttributeDataCacheKey::hash):
(ImmutableAttributeDataCacheKey):
(WebCore::Document::cachedImmutableAttributeData):
* dom/Element.cpp:
(WebCore::Element::parserSetAttributes):

    Don't use the element's tag name in the key for the immutable attribute data cache.

(WebCore::Element::cloneAttributesFromElement):

    Prevent cloneNode() from converting mutable attribute data to immutable if it has
    presentation attributes.

* dom/ElementAttributeData.cpp:
(WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):

    Add an assertion that mutable-to-immutable conversion never happens with presentation
    attribute style present.

(WebCore::ElementAttributeData::ElementAttributeData):
(WebCore::MutableElementAttributeData::MutableElementAttributeData):
(WebCore::ElementAttributeData::reportMemoryUsage):
* dom/ElementAttributeData.h:
(ElementAttributeData):
(MutableElementAttributeData):
(WebCore::ElementAttributeData::presentationAttributeStyle):
(WebCore):
(WebCore::ElementAttributeData::setPresentationAttributeStyle):

    Move the RefPtr<StylePropertySet> that holds presentation attribute-derived style
    from the common ElementAttributeData base class to MutableElementAttributeData.

* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):

    Always dirty the presentation attribute style when a presentation attribute changes.

(WebCore::StyledElement::rebuildPresentationAttributeStyle):

    Force promotion to mutable attribute data when it turns out that we need to hang a
    StylePropertySet with the presentation attribute style off of it.

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