Add support for WebCrypto RSA-OAEP
https://bugs.webkit.org/show_bug.cgi?id=125084

Build fix.

* crypto/CommonCryptoUtilities.h:
* crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
* crypto/mac/CryptoKeyRSAMac.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: popover can overlap target frame
https://bugs.webkit.org/show_bug.cgi?id=125069

Reviewed by Joseph Pecoraro.

Fix a regression introduced in http://trac.webkit.org/changeset/159286. We should only
offset the frame of the popover in the y-axis if the target edge is on the x-axis, and
vice versa. We also remove the needsToDrawBackground check since it incorrectly disregarded
the anchor point. We now always draw the background which is a lot safer and guarantees
we'll always draw an adequate frame and anchor point.

* UserInterface/Popover.js:
(WebInspector.Popover.prototype._update):
(WebInspector.Popover.prototype._bestMetricsForEdge):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[css shapes] Parse new ellipse shape syntax
https://bugs.webkit.org/show_bug.cgi?id=124620

Patch by Rob Buis <rob.buis@samsung.com> on 2013-12-02
Reviewed by Dirk Schulze.

Source/WebCore:

Implement parsing of the new ellipse shape syntax. This closely follows the patch
for the new circle syntax (https://bugs.webkit.org/show_bug.cgi?id=124618), with
some refactoring of functionality shared by both.

Updated existing parsing tests to cover this.

* css/BasicShapeFunctions.cpp:
(WebCore::BasicShapeRadiusToCSSValue):
(WebCore::valueForBasicShape):
(WebCore::CSSValueToBasicShapeRadius):
(WebCore::basicShapeForValue):
* css/CSSBasicShapes.cpp:
(WebCore::buildEllipseString):
(WebCore::CSSBasicShapeEllipse::cssText):
(WebCore::CSSBasicShapeEllipse::equals):
(WebCore::buildDeprecatedEllipseString):
(WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
(WebCore::CSSDeprecatedBasicShapeEllipse::equals):
* css/CSSBasicShapes.h:
(WebCore::CSSDeprecatedBasicShapeEllipse::create):
(WebCore::CSSDeprecatedBasicShapeEllipse::centerX):
(WebCore::CSSDeprecatedBasicShapeEllipse::centerY):
(WebCore::CSSDeprecatedBasicShapeEllipse::radiusX):
(WebCore::CSSDeprecatedBasicShapeEllipse::radiusY):
(WebCore::CSSDeprecatedBasicShapeEllipse::setCenterX):
(WebCore::CSSDeprecatedBasicShapeEllipse::setCenterY):
(WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusX):
(WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusY):
(WebCore::CSSDeprecatedBasicShapeEllipse::CSSDeprecatedBasicShapeEllipse):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseBasicShapeEllipse):
(WebCore::CSSParser::parseDeprecatedBasicShapeEllipse):
(WebCore::CSSParser::parseBasicShape):
* css/CSSParser.h:
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape):
* rendering/style/BasicShapes.cpp:
(WebCore::DeprecatedBasicShapeEllipse::path):
(WebCore::DeprecatedBasicShapeEllipse::blend):
(WebCore::BasicShapeEllipse::path):
(WebCore::BasicShapeEllipse::blend):
* rendering/style/BasicShapes.h:
(WebCore::BasicShapeEllipse::centerX):
(WebCore::BasicShapeEllipse::centerY):
(WebCore::BasicShapeEllipse::radiusX):
(WebCore::BasicShapeEllipse::radiusY):
(WebCore::BasicShapeEllipse::setCenterX):
(WebCore::BasicShapeEllipse::setCenterY):
(WebCore::BasicShapeEllipse::setRadiusX):
(WebCore::BasicShapeEllipse::setRadiusY):
(WebCore::BasicShapeEllipse::BasicShapeEllipse):
(WebCore::DeprecatedBasicShapeEllipse::create):
(WebCore::DeprecatedBasicShapeEllipse::DeprecatedBasicShapeEllipse):

LayoutTests:

Test that the new ellipse syntax is properly parsed.

* fast/shapes/parsing/parsing-shape-inside-expected.txt:
* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-test-utils.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
run-jsc-stress-tests should be able to package its tests and move them places
https://bugs.webkit.org/show_bug.cgi?id=124549

Reviewed by Filip Pizlo.

* Scripts/jsc-stress-test-helpers/check-mozilla-failure: Removed. Was just a ruby reimplementation
of grep -i -q
* Scripts/run-javascriptcore-tests: Pass through the --tarball flag.
* Scripts/run-jsc-stress-tests: Changed to create a bundle of tests inside the results directory.
We now also copy whatever VM was specified, along with its associated framework, into this directory.
All of the generated scripts now are completely relative within the results directory. This allows
run-jsc-stress-tests to execute a bundle from anywhere. Also added a --tarball flag which creates a
tarball of the generated results directory. Also refactored several portions of the script into
separate functions to make it easier to run them conditionally depending on which mode we're running in.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remote Layer Tree: Hook up setLayerTreeStateIsFrozen
https://bugs.webkit.org/show_bug.cgi?id=124872

Reviewed by Brent Fulgham.

setLayerTreeStateIsFrozen is the mechanism used to ensure that
layer property changes (including new backing store) aren't committed
while e.g. the page is reconfigured for printing.

* WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
(WebKit::RemoteLayerTreeContext::flushLayers):
(WebKit::RemoteLayerTreeContext::setIsFlushingSuspended):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159956 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix after r159955

* Scripts/run-jsc-stress-tests:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[MediaStream] Use iterator-based loops instead of index-based loops
https://bugs.webkit.org/show_bug.cgi?id=125021

Patch by Roger Zanoni <rogerzanoni@gmail.com> on 2013-12-02
Reviewed by Eric Carlson.

Also, changing iterator variable names from iter to it and
initializing an 'end' variable in each loop instead of evaluating
'collection.end()' multiple times.

No new tests, covered by existing ones.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::cloneMediaStreamTrackVector):
(WebCore::MediaStream::haveTrackWithSource):
(WebCore::MediaStream::getTrackById):
(WebCore::MediaStream::trackDidEnd):
(WebCore::MediaStream::scheduledEventTimerFired):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159958 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a setting to opt into a mode where the background extends and fixed elements 
don't move on rubber-band
https://bugs.webkit.org/show_bug.cgi?id=124745

Reviewed by Tim Horton.

Source/WebCore: 

New setting backgroundShouldExtendBeyondPage() will cause the tile cache to have a 
margin, and it will also cause fixed elements and backgrounds to stick to the 
viewport on scroll instead of sticking to the document. 

* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::scrollBehaviorForFixedElements):
* page/Settings.in:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):

Source/WebKit: 

Keep Windows happy.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit2: 

Add SPI to enable the new setting.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetBackgroundShouldExtendBeyondPage):
(WKPreferencesGetBackgroundShouldExtendBeyondPage):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):



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