Use -webkit-clip-path shapes to clip HTML elements
https://bugs.webkit.org/show_bug.cgi?id=95646

Reviewed by Dean Jackson.

Source/WebCore:

-webkit-clip-path creates a new layer for HTML elements now. The border,
background and content gets clipped by the clip path after any filter was
applied.

Tests: css3/masking/clip-path-circle-filter.html
       css3/masking/clip-path-circle-overflow.html
       css3/masking/clip-path-circle-overflow-hidden.html
       css3/masking/clip-path-circle-relative-overflow.html
       css3/masking/clip-path-circle.html
       css3/masking/clip-path-ellipse.html
       css3/masking/clip-path-polygon-evenodd.html
       css3/masking/clip-path-polygon-nonzero.html
       css3/masking/clip-path-polygon.html
       css3/masking/clip-path-rectangle.html

* rendering/RenderBox.h: Create new layer on clip-path.
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::requiresLayer): Create new layer on clip-path.
* rendering/RenderInline.h:
(WebCore::RenderInline::requiresLayer): Create new layer on clip-path.
* rendering/RenderLayer.cpp: Apply clip-path on context of object.
(WebCore::RenderLayer::paintLayerContents): Create new layer on clip-path.
* rendering/RenderObject.h:
(WebCore::RenderObject::hasClipPath): Indicates that renderer needs to be clipped by clip-path.
* rendering/RenderTableRow.h: Create new layer on clip-path.

LayoutTests:

Added new tests for the -webkit-clip-path property applied to HTML content.

* css3/masking/clip-path-circle-filter.html: Added.
* css3/masking/clip-path-circle-overflow.html: Added.
* css3/masking/clip-path-circle-relative-overflow.html: Added.
* css3/masking/clip-path-circle-overflow-hidden.html: Added.
* css3/masking/clip-path-circle.html: Added.
* css3/masking/clip-path-ellipse.html: Added.
* css3/masking/clip-path-polygon-evenodd.html: Added.
* css3/masking/clip-path-polygon-nonzero.html: Added.
* css3/masking/clip-path-polygon.html: Added.
* css3/masking/clip-path-rectangle.html: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/css3/masking/clip-path-circle-expected.png: Added.
* platform/mac/css3/masking/clip-path-circle-expected.txt: Added.
* platform/mac/css3/masking/clip-path-circle-filter-expected.png: Added.
* platform/mac/css3/masking/clip-path-circle-filter-expected.txt: Added.
* platform/mac/css3/masking/clip-path-circle-overflow-expected.png: Added.
* platform/mac/css3/masking/clip-path-circle-overflow-expected.txt: Added.
* platform/mac/css3/masking/clip-path-circle-overflow-hidden-expected.png: Added.
* platform/mac/css3/masking/clip-path-circle-overflow-hidden-expected.txt: Added.
* platform/mac/css3/masking/clip-path-circle-relative-overflow-expected.png: Added.
* platform/mac/css3/masking/clip-path-circle-relative-overflow-expected.txt: Added.
* platform/mac/css3/masking/clip-path-ellipse-expected.png: Added.
* platform/mac/css3/masking/clip-path-ellipse-expected.txt: Added.
* platform/mac/css3/masking/clip-path-polygon-evenodd-expected.png: Added.
* platform/mac/css3/masking/clip-path-polygon-evenodd-expected.txt: Added.
* platform/mac/css3/masking/clip-path-polygon-expected.png: Added.
* platform/mac/css3/masking/clip-path-polygon-expected.txt: Added.
* platform/mac/css3/masking/clip-path-polygon-nonzero-expected.png: Added.
* platform/mac/css3/masking/clip-path-polygon-nonzero-expected.txt: Added.
* platform/mac/css3/masking/clip-path-rectangle-expected.png: Added.
* platform/mac/css3/masking/clip-path-rectangle-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MediaStream API: Add the local and remote description functionality to RTCPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=95839

Reviewed by Adam Barth.

Source/Platform:

* Platform.gypi:
* chromium/public/WebRTCPeerConnectionHandler.h:
(WebKit):
(WebRTCPeerConnectionHandler):
* chromium/public/WebRTCVoidRequest.h: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
(WebCore):
(WebKit):
(WebRTCVoidRequest):
(ExtraData):
(WebKit::WebRTCVoidRequest::ExtraData::~ExtraData):
(WebKit::WebRTCVoidRequest::WebRTCVoidRequest):
(WebKit::WebRTCVoidRequest::~WebRTCVoidRequest):
(WebKit::WebRTCVoidRequest::operator=):
(WebKit::WebRTCVoidRequest::isNull):

Source/WebCore:

As well as adding the local/remote descriptions stuff, I removed the source attribute from
RTCSessionDescriptionCallback and RTCErrorCallback since it has been removed from the draft.

Tests: fast/mediastream/RTCPeerConnection-localDescription.html
       fast/mediastream/RTCPeerConnection-remoteDescription.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/RTCErrorCallback.h:
(RTCErrorCallback):
* Modules/mediastream/RTCErrorCallback.idl:
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore):
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::remoteDescription):
* Modules/mediastream/RTCPeerConnection.h:
(WebCore):
(RTCPeerConnection):
* Modules/mediastream/RTCPeerConnection.idl:
* Modules/mediastream/RTCSessionDescriptionCallback.h:
(RTCSessionDescriptionCallback):
* Modules/mediastream/RTCSessionDescriptionCallback.idl:
* Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
(WebCore::RTCSessionDescriptionRequestImpl::create):
(WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
(WebCore::RTCSessionDescriptionRequestImpl::requestSucceeded):
(WebCore::RTCSessionDescriptionRequestImpl::requestFailed):
(WebCore::RTCSessionDescriptionRequestImpl::clear):
* Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
(RTCSessionDescriptionRequestImpl):
* Modules/mediastream/RTCVoidRequestImpl.cpp: Copied from Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp.
(WebCore):
(WebCore::RTCVoidRequestImpl::create):
(WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
(WebCore::RTCVoidRequestImpl::~RTCVoidRequestImpl):
(WebCore::RTCVoidRequestImpl::requestSucceeded):
(WebCore::RTCVoidRequestImpl::requestFailed):
(WebCore::RTCVoidRequestImpl::stop):
(WebCore::RTCVoidRequestImpl::clear):
* Modules/mediastream/RTCVoidRequestImpl.h: Copied from Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.h.
(WebCore):
(RTCVoidRequestImpl):
* WebCore.gypi:
* platform/chromium/support/WebRTCVoidRequest.cpp: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
(WebKit):
(WebKit::WebRTCVoidRequest::WebRTCVoidRequest):
(WebKit::WebRTCVoidRequest::assign):
(WebKit::WebRTCVoidRequest::reset):
(WebKit::WebRTCVoidRequest::requestSucceeded):
(WebKit::WebRTCVoidRequest::requestFailed):
(ExtraDataContainer):
(WebKit::ExtraDataContainer::ExtraDataContainer):
(WebKit::ExtraDataContainer::extraData):
(WebKit::WebRTCVoidRequest::extraData):
(WebKit::WebRTCVoidRequest::setExtraData):
* platform/mediastream/RTCPeerConnectionHandler.cpp:
(RTCPeerConnectionHandlerDummy):
(WebCore::RTCPeerConnectionHandlerDummy::setLocalDescription):
(WebCore):
(WebCore::RTCPeerConnectionHandlerDummy::setRemoteDescription):
(WebCore::RTCPeerConnectionHandlerDummy::localDescription):
(WebCore::RTCPeerConnectionHandlerDummy::remoteDescription):
* platform/mediastream/RTCPeerConnectionHandler.h:
(WebCore):
(RTCPeerConnectionHandler):
* platform/mediastream/RTCVoidRequest.h: Copied from Source/WebCore/Modules/mediastream/RTCErrorCallback.h.
(WebCore):
(RTCVoidRequest):
(ExtraData):
(WebCore::RTCVoidRequest::ExtraData::~ExtraData):
(WebCore::RTCVoidRequest::~RTCVoidRequest):
(WebCore::RTCVoidRequest::extraData):
(WebCore::RTCVoidRequest::setExtraData):
(WebCore::RTCVoidRequest::RTCVoidRequest):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandlerChromium::setLocalDescription):
(WebCore):
(WebCore::RTCPeerConnectionHandlerChromium::setRemoteDescription):
(WebCore::RTCPeerConnectionHandlerChromium::localDescription):
(WebCore::RTCPeerConnectionHandlerChromium::remoteDescription):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
(RTCPeerConnectionHandlerChromium):

Tools:

In addition to adding the new methods to MockWebRTCPeerConnectionHandler I cleaned
up the task definitions a bit. There was no need to have them in the header file.

* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
(RTCSessionDescriptionRequestSuccededTask):
(RTCSessionDescriptionRequestSuccededTask::RTCSessionDescriptionRequestSuccededTask):
(RTCSessionDescriptionRequestFailedTask):
(RTCSessionDescriptionRequestFailedTask::RTCSessionDescriptionRequestFailedTask):
(RTCVoidRequestTask):
(RTCVoidRequestTask::RTCVoidRequestTask):
(MockWebRTCPeerConnectionHandler::createOffer):
(MockWebRTCPeerConnectionHandler::setLocalDescription):
(MockWebRTCPeerConnectionHandler::setRemoteDescription):
(MockWebRTCPeerConnectionHandler::localDescription):
(MockWebRTCPeerConnectionHandler::remoteDescription):
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:
(MockWebRTCPeerConnectionHandler):

LayoutTests:

* fast/mediastream/RTCPeerConnection-createOffer.html:
* fast/mediastream/RTCPeerConnection-localDescription-expected.txt: Added.
* fast/mediastream/RTCPeerConnection-localDescription.html: Copied from LayoutTests/fast/mediastream/RTCPeerConnection-createOffer.html.
* fast/mediastream/RTCPeerConnection-remoteDescription-expected.txt: Added.
* fast/mediastream/RTCPeerConnection-remoteDescription.html: Copied from LayoutTests/fast/mediastream/RTCPeerConnection-createOffer.html.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] PlatformKeyboardEvent::getCurrentModifierState should initialize values.
https://bugs.webkit.org/show_bug.cgi?id=95773

Reviewed by Rob Buis.

Properly initialize the passed variables even
though we haven't implemented the modifier state
to ensure the values are deterministic.

* platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
(WebCore::PlatformKeyboardEvent::getCurrentModifierState):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        [WK2] Make visited link tracking work in multi-process mode
        https://bugs.webkit.org/show_bug.cgi?id=95869

        Reviewed by Dan Bernstein.

        * UIProcess/VisitedLinkProvider.h:
        * UIProcess/VisitedLinkProvider.cpp:
        (WebKit::VisitedLinkProvider::VisitedLinkProvider): m_webProcessHasVisitedLinkState
        was making no sense in multi-process world, so it was let go.
        (WebKit::VisitedLinkProvider::processDidFinishLaunching): Track new processes.
        (WebKit::VisitedLinkProvider::processDidClose): Clean up pointers that are going
        to become stale.
        (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): Added comments. Fixed
        a bug where we would churn table size in some cases. Added debug logging in failure
        case. Re-implemented messaging code to work with multiple web processes.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::processDidFinishLaunching): Pass process proxy pointer to
        m_visitedLinkProvider, as it now needs to track processes.
        (WebKit::WebContext::disconnectProcess): Ditto. Also re-enabled visited link provider
        cleanup in multi-process mode.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shaders] Update custom filter tests to use the new security model
https://bugs.webkit.org/show_bug.cgi?id=95760

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-09-05
Reviewed by Dirk Schulze.

This patch updates the custom filter tests to not sample u_texture and not write
to gl_FragColor. Now, the tests use the new security model by writing to
css_MixColor and indirectly blending with the DOM element texture.

This patch prepares us to remove direct DOM texture access via "u_texture":
https://bugs.webkit.org/show_bug.cgi?id=93871

* css3/filters/custom/custom-filter-css-keyword-as-parameter-name-expected.png:
* css3/filters/custom/custom-filter-shader-cache-expected.png:
* css3/filters/custom/custom-filter-shader-cache.html:
    Use the CSS mix function with the updated color-offset.fs.
* css3/filters/custom/effect-color-check-expected.png:
* css3/filters/custom/effect-color-check.html:
    Use the CSS mix function with the updated color-fill.fs.
* css3/filters/custom/effect-custom-combined-missing-expected.png:
* css3/filters/custom/effect-custom-combined-missing.html:
    Use the CSS mix function with the updated color-offset.fs.
* css3/filters/custom/effect-custom-expected.png:
* css3/filters/custom/effect-custom-parameters-expected.png:
* css3/filters/custom/effect-custom-parameters.html:
    Use the mix-color.fs shader instead of color-offset-parameters.fs.
* css3/filters/custom/effect-custom.html:
    Use the CSS mix function with the updated color-offset.fs.
* css3/filters/custom/filter-repaint-custom-clipped-expected.png:
* css3/filters/custom/filter-repaint-custom-clipped.html:
    Use the mix-color.fs shader instead of color-add.fs.
* css3/filters/custom/filter-repaint-custom-expected.png:
* css3/filters/custom/filter-repaint-custom-rotated-expected.png:
* css3/filters/custom/filter-repaint-custom-rotated.html:
    Use the mix-color.fs shader instead of color-add.fs. Fix a small typo in a comment.
* css3/filters/custom/filter-repaint-custom.html:
    Use the mix-color.fs shader instead of color-add.fs.
* css3/filters/custom/invalid-custom-filter-shader.html:
    Use the CSS mix function with the updated color-offset.fs.
* css3/filters/custom/missing-custom-filter-shader-expected.png:
* css3/filters/custom/missing-custom-filter-shader.html:
    Use the CSS mix function with the updated color-offset.fs.
* css3/filters/resources/color-add.fs:
    Removed. The mix-color.fs shader can perform this shader's function.
* css3/filters/resources/color-fill.fs:
    Rewrote this shader to write to css_MixColor instead of sampling u_texture and writing
    to gl_FragColor.
* css3/filters/resources/color-offset-parameters.fs:
    Removed. The mix-color.fs shader can perform this shader's function.
* css3/filters/resources/color-offset.fs:
    Rewrote this shader to write to css_MixColor instead of sampling u_texture and writing
    to gl_FragColor.
* platform/chromium-mac/css3/filters/custom/custom-filter-shader-cache-expected.png:
* platform/chromium-mac/css3/filters/custom/effect-color-check-expected.png:
* platform/chromium-mac/css3/filters/custom/effect-custom-combined-missing-expected.png:
* platform/chromium-mac/css3/filters/custom/effect-custom-expected.png:
* platform/chromium-mac/css3/filters/custom/effect-custom-parameters-expected.png:
* platform/chromium-mac/css3/filters/custom/filter-repaint-custom-clipped-expected.png:
* platform/chromium-mac/css3/filters/custom/filter-repaint-custom-expected.png:
* platform/chromium-mac/css3/filters/custom/filter-repaint-custom-rotated-expected.png:
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed test fix.

Including a plugin source file into the build that was added in r127595.

* GNUmakefile.am:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed: WebInspector: remove accidentally committed speed test.

* tests/MemoryInstrumentationTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Enable/disable composited scrolling based on overflow
https://bugs.webkit.org/show_bug.cgi?id=95323

Patch by Sami Kyostila <skyostil@google.com> on 2012-09-05
Reviewed by Simon Fraser.

Source/WebCore:

When an overflow:{auto,overlay} and -webkit-overflow-scrolling:touch
element gains or loses overflow, we should correspondingly enable and
disable composited scrolling depending on whether the element can be
scrolled or not.

The previous logic in RenderLayer::usesCompositedScrolling() already
checked for actual overflow, but we also need to recompute the
compositing requirements when the amount of overflow changes during
layout. Additionally, layers using composited scrolling are marked as
self-painting to ensure they are always promoted to composited layers
when needed.

Test: compositing/overflow/overflow-auto-with-touch-toggle.html

Note that the behavior for maintaining a stacking context even without
the presense of overflow is covered by platform/chromium/compositing/overflow/overflow-scrolling-touch-stacking-context.html.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
(WebCore::RenderLayer::shouldBeSelfPaintingLayer):

LayoutTests:

Added a new test for making sure composited scrolling is enabled when overflow
is introduced.

Note that this test will pass only if OVERFLOW_SCROLLING is enabled.

* compositing/overflow/overflow-auto-with-touch-toggle-expected.txt: Added.
* compositing/overflow/overflow-auto-with-touch-toggle.html: Added.
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Remove getRenderStyleForStrike from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=95363

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/Platform:

* Platform.gypi:
* chromium/public/linux/WebFontInfo.h: Added.
(WebKit):
(WebFontInfo):
* chromium/public/linux/WebFontRenderStyle.h: Added.
(WebKit):

Source/WebCore:

* platform/chromium/PlatformSupport.h:
(PlatformSupport):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
(WebCore::FontPlatformData::operator==):
(WebCore::FontPlatformData::getRenderStyleForStrike):
(WebCore):
(WebCore::FontPlatformData::querySystemForRenderStyle):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
(FontPlatformData):

Source/WebKit/chromium:

* public/linux/WebFontInfo.h:
* public/linux/WebFontRenderStyle.h:
* src/PlatformSupport.cpp:
(WebCore):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove use of JSCell::classInfoOffset() from virtualForThunkGenerator
https://bugs.webkit.org/show_bug.cgi?id=95821

Reviewed by Oliver Hunt.

We can replace the load of the ClassInfo from the object with a load from the Structure.

* dfg/DFGThunks.cpp:
(JSC::DFG::virtualForThunkGenerator):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Slider progress bar goes crazy with negative ranges
https://bugs.webkit.org/show_bug.cgi?id=95753

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

Source/WebCore:

Now the calculation of what the current value represents in terms
of progress (from 0 to 1) is correctly done.

Test: fast/forms/range/input-range-progress-indicator.html

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::paintThemePart):

LayoutTests:

Added ref test to check if rendering results of sliders using
negative value ranges are coherent.

* fast/forms/range/input-range-progress-indicator-expected.html: Added.
* fast/forms/range/input-range-progress-indicator.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Rotation and then reload causes less sized webpage (PR 190469)
https://bugs.webkit.org/show_bug.cgi?id=95870

Reviewed by George Staikos.
Reviewed internally by Jacky Jiang.

Use the new zoom to fit scale if the page was zoomed to fit initial scale
When a page is reloaded the layout size may be changed. So the contents
size on which the initial scale depends may be changed. Use the new initial
scale in this case to make sure the page will be zoomed to correct scale.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::restoreViewState):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127628 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Put webcore_platform_files in separate gyp target instead of relying on exclusion patterns
https://bugs.webkit.org/show_bug.cgi?id=95876

Reviewed by Tony Chang.

This puts the list of WebCore/platform files in a webcore_platform_files gyp variable instead of filtering by
path out of webcore_files. This simplifies the .gyp a bit and makes it possible to split this target up further.

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:

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

Broke build

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Put webcore_platform_files in separate gyp target instead of relying on exclusion patterns
https://bugs.webkit.org/show_bug.cgi?id=95876

Reviewed by Tony Chang.

This puts the list of WebCore/platform files in a webcore_platform_files gyp variable instead of filtering by
path out of webcore_files. This simplifies the .gyp a bit and makes it possible to split this target up further.

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
More fixes for String::operator+=() on Mac
https://bugs.webkit.org/show_bug.cgi?id=95880

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-09-05
Reviewed by Adam Barth.

Source/WebCore: 

Followup for r127574, I forgot some use of strings.

* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getShorthandValue): Use String builder to construct the shorthand.

Source/WebKit/mac: 

* WebView/WebRenderLayer.mm:
(+[WebRenderLayer nameForLayer:]): Use StringBuilder to concatenate the class names
efficiently.
* WebView/WebView.mm:
(+[WebView _decodeData:]): This is a legitimate use of String::append(), there
is no other concatenation done on that string.

Source/WebKit2: 

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage): This is a legitimate use of append(),
there is no other concatenation outside that branch.
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::parseRFC822HeaderFields): Use string operators instead of +=.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::userAgent): Another legitimate use of append().


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Ignore-metrics includes scroll offsets.
https://bugs.webkit.org/show_bug.cgi?id=95845

Reviewed by Dirk Pranke.

Strip scroll-offsets the same way scroll-height and scroll-width is stripped.

* Scripts/old-run-webkit-tests:
(stripMetrics):
* Scripts/webkitpy/layout_tests/port/driver.py:
(DriverOutput):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactored callee access in the DFG to support it in the general case
https://bugs.webkit.org/show_bug.cgi?id=95887

Reviewed by Phil Pizlo and Gavin Barraclough.

To support named function expressions, the DFG needs to understand the
callee register being used in arbitrary expressions, and not just
create_this.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getDirect): 
(JSC::DFG::ByteCodeParser::getCallee): Remap access to the callee register
into a GetCallee node. Otherwise, we get confused and think we have a
negatively indexed argument.

(ByteCodeParser):
(JSC::DFG::ByteCodeParser::InlineStackEntry::remapOperand): Inlining also
needs to remap, but to the callee in the inline frame, and not the caller's
callee.

(JSC::DFG::ByteCodeParser::parseBlock): Since we support the callee in
the general case now, there's no need to handle it in a special way for
create_this.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] JavaScriptVariant can crash when operator= is called with itself
https://bugs.webkit.org/show_bug.cgi?id=95859

Patch by Benjamin C Meyer <bmeyer@rim.com> on 2012-09-05
Reviewed by George Staikos.

* Api/JavaScriptVariant.cpp:
(BlackBerry::WebKit::JavaScriptVariant::operator=):
When JavaScriptVariant contains a string and operator= is
called with itself the memory will be free'd in 'this' and
then a copy will be attempted from 'that' resulting in a crash.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Added expected results for this test from r127620 for the Mac port, which does not have
OVERFLOW_SCROLLING enabled at this time.

* platform/mac/compositing/overflow/overflow-with-touch-toggle-expected.txt: Added.



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