[Qt][WK2] Composited and transformed links asserts in tap highlight
https://bugs.webkit.org/show_bug.cgi?id=94345

Reviewed by Jocelyn Turcotte.

Use a mapping that does not assert when hitting transforms. We still skip
transforms that produces non-rectangular areas.

* page/GestureTapHighlighter.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Switch the generated images off of PDFs and onto SVGs now that bug 119492 is fixed.

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

Reviewed by Joseph Pecoraro.

* UserInterface/ApplicationCacheDetailsSidebarPanel.js:
(WebInspector.ApplicationCacheDetailsSidebarPanel):
* UserInterface/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection):
* UserInterface/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
* UserInterface/ContentBrowser.js:
(WebInspector.ContentBrowser):
* UserInterface/DOMNodeDetailsSidebarPanel.js:
(WebInspector.DOMNodeDetailsSidebarPanel):
* UserInterface/DOMTreeContentView.js:
(WebInspector.DOMTreeContentView):
* UserInterface/DataGrid.js:
(WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded):
* UserInterface/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
* UserInterface/DetailsSection.js:
(WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded):
* UserInterface/FindBanner.js:
(WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded):
* UserInterface/Images/BackArrow.pdf: Removed.
* UserInterface/Images/BottomUpTree.pdf: Removed.
* UserInterface/Images/Breakpoints.pdf: Removed.
* UserInterface/Images/Close.pdf: Removed.
* UserInterface/Images/Crosshair.pdf: Removed.
* UserInterface/Images/DisclosureTriangleSmallClosed.pdf: Removed.
* UserInterface/Images/DisclosureTriangleSmallOpen.pdf: Removed.
* UserInterface/Images/DisclosureTriangleTinyClosed.pdf: Removed.
* UserInterface/Images/DisclosureTriangleTinyOpen.pdf: Removed.
* UserInterface/Images/DockBottom.pdf: Removed.
* UserInterface/Images/DockRight.pdf: Removed.
* UserInterface/Images/ForwardArrow.pdf: Removed.
* UserInterface/Images/GoToArrow.pdf: Removed.
* UserInterface/Images/LayerBorders.pdf: Removed.
* UserInterface/Images/LessColumns.pdf: Removed.
* UserInterface/Images/Locked.pdf: Removed.
* UserInterface/Images/MoreColumns.pdf: Removed.
* UserInterface/Images/NavigationItemAngleBrackets.pdf: Removed.
* UserInterface/Images/NavigationItemBrushAndRuler.pdf: Removed.
* UserInterface/Images/NavigationItemBug.pdf: Removed.
* UserInterface/Images/NavigationItemCurleyBraces.pdf: Removed.
* UserInterface/Images/NavigationItemFile.pdf: Removed.
* UserInterface/Images/NavigationItemLayers.pdf: Removed.
* UserInterface/Images/NavigationItemLog.pdf: Removed.
* UserInterface/Images/NavigationItemMagnifyingGlass.pdf: Removed.
* UserInterface/Images/NavigationItemStopwatch.pdf: Removed.
* UserInterface/Images/NavigationItemStorage.pdf: Removed.
* UserInterface/Images/NavigationItemTrash.pdf: Removed.
* UserInterface/Images/NavigationItemVariable.pdf: Removed.
* UserInterface/Images/Pause.pdf: Removed.
* UserInterface/Images/Percent.pdf: Removed.
* UserInterface/Images/Plus.pdf: Removed.
* UserInterface/Images/Resume.pdf: Removed.
* UserInterface/Images/ShadowDOM.pdf: Removed.
* UserInterface/Images/SortIndicatorDownArrow.pdf: Removed.
* UserInterface/Images/SortIndicatorUpArrow.pdf: Removed.
* UserInterface/Images/SplitToggleDown.pdf: Removed.
* UserInterface/Images/SplitToggleUp.pdf: Removed.
* UserInterface/Images/StepInto.pdf: Removed.
* UserInterface/Images/StepOut.pdf: Removed.
* UserInterface/Images/StepOver.pdf: Removed.
* UserInterface/Images/Undock.pdf: Removed.
* UserInterface/InstrumentSidebarPanel.js:
(WebInspector.InstrumentSidebarPanel):
* UserInterface/JavaScriptProfileView.js:
(WebInspector.JavaScriptProfileView):
* UserInterface/LayerTreeSidebarPanel.js:
(WebInspector.LayerTreeSidebarPanel):
* UserInterface/LogContentView.js:
(WebInspector.LogContentView):
* UserInterface/Main.js:
(WebInspector.contentLoaded):
(WebInspector._updateDockNavigationItems):
(WebInspector._generateDisclosureTriangleImages):
* UserInterface/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded):
* UserInterface/ProfileView.js:
(WebInspector.ProfileView):
* UserInterface/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel):
* UserInterface/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
* UserInterface/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):
* UserInterface/ScriptContentView.js:
(WebInspector.ScriptContentView):
* UserInterface/TextContentView.js:
(WebInspector.TextContentView):
* UserInterface/TextResourceContentView.js:
(WebInspector.TextResourceContentView):
* UserInterface/TimelinesContentView.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153894 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Don't release the canvas Drawable, flush it directly instead.
https://bugs.webkit.org/show_bug.cgi?id=119589
https://jira.bbqnx.net/browse/BRWSR-12531
JIRA 444857

Patch by Jakob Petsovits <jpetsovits@blackberry.com> on 2013-08-09
Reviewed by George Staikos.

The previous code here used releaseBufferDrawable() to
flush painted ImageBuffer contents, but then proceeded
to use that released Drawable for further painting
without ever locking a new one.

In an implementation that actually releases the Drawable
rather than keeping it around and just flushing it,
this will wreak havoc as bad as black screens or crashes.

As a solution that doesn't require the ImageBuffer object
to swap out its m_canvas member for a new Drawable, we can
access the PlatformGraphicsContext::flush() method directly
to achieve the same effect as was previously intended by
calling releaseBufferDrawable(). All it needs is letting
the canvas layer know about the Drawable so it can call
that flush() method by itself.

No new tests, verified by not crashing with an aforementioned
implementation of releaseBufferDrawable().

* platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
(WebCore::CanvasLayerCompositingThreadClient::CanvasLayerCompositingThreadClient):
(WebCore::CanvasLayerCompositingThreadClient::commitPendingTextureUploads):
(WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
* platform/graphics/blackberry/CanvasLayerWebKitThread.h:
(WebCore::CanvasLayerWebKitThread::create):
* platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::~ImageBuffer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153895 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Viewport allows scrolling when it shouldn't after rotation to landscape
https://bugs.webkit.org/show_bug.cgi?id=119595

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-08-09
Reviewed by Rob Buis.
Internally reviewed by Konrad Piascik, Max Feil, Arvid Nilsson and John Griggs.

JIRA 466384
Initial scales of portrait mode and landscape mode can be different due
to different viewport size and contents size. In this case, we restored
to the intial scale of portrait mode instead of the initial scale of current
landscape mode which zoomed in the WebPage a little bit and made the WebPage
scallable as the scale is larger than the initial scale of the current
landscape mode WebPage.
To fix that, we should restore to the current initial scale instead if
the WebPage was at initial scale before fullscreen.
Meanwhile, move the FIXME comments to the right place.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
(BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
* Api/WebPage_p.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153896 268f45cc-cd09-0410-ab3c-d52691b4dbfc
move-by-word-visually-multi-space.html takes 21s and spends most of its time doing spelling and grammar checking
https://bugs.webkit.org/show_bug.cgi?id=119613

Reviewed by Darin Adler.

editing/selection tests are very slow, and much of the time is spent
doing spelling and grammar checking (which is not what these tests are
testing). So call internals.setContinuousSpellCheckingEnabled(false)
to turn that off.

* editing/selection/caret-at-bidi-boundary.html:
* editing/selection/move-by-character-brute-force.html:
* editing/selection/move-left-right.html:
* editing/selection/programmatic-selection-on-mac-is-directionless.html:
* editing/selection/resources/extend-selection.js:
* editing/selection/resources/move-by-word-visually.js:
(runTest):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] [EFL] Enable tiled shadow blur for the inset shadows.
https://bugs.webkit.org/show_bug.cgi?id=119078

Reviewed by Martin Robinson.

Already covered in the tests.

* platform/graphics/GraphicsContext.cpp:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::fillCurrentCairoPath): Added to allow fill the path
without the shadow.
(WebCore::shadowAndFillCurrentCairoPath):
(WebCore::GraphicsContext::fillRectWithRoundedHole): Added cairo
implementation.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153898 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make DOMImplementation::hasFeature() behave according to specification
https://bugs.webkit.org/show_bug.cgi?id=119329

Reviewed by Ryosuke Niwa.

Source/WebCore:

Make DOMImplementation::hasFeature() behave according to the latest specification:
http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature

Specifically, the function should now return true unconditionally for any non-SVG feature.
This behavior is consistent with Firefox and since recently Blink.

hasFeature() originally would report whether the user agent claimed to support a
given DOM feature, but experience proved it was not nearly as reliable or granular
as simply checking whether the desired interfaces, attributes, or methods existed.
As such, it should no longer be used, but continues to exist (and simply returns
true) so that old pages don't stop working.

No new tests, covered by existing tests.

* dom/DOMImplementation.cpp:
(WebCore::isSupportedSVG10Feature):
(WebCore::isSupportedSVG11Feature):
(WebCore::DOMImplementation::hasFeature):

LayoutTests:

Rebaseline several test cases now that DOMImplementation::hasFeature() returns
true unconditionally for non-SVG features.

Also use a valid svg prefix for unknown features in SVG tests so that they are
properly recognized as SVG features and so that hasFeature() returns false as
expected.

* dom/xhtml/level3/core/hasFeature01-expected.txt:
* dom/xhtml/level3/core/hasFeature02-expected.txt:
* dom/xhtml/level3/core/hasFeature03-expected.txt:
* dom/xhtml/level3/core/hasFeature04-expected.txt:
* fast/dom/features-expected.txt:
* platform/efl/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
* platform/efl/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
* platform/qt-mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
* platform/qt/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
* svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
* svg/custom/outer-svg-unknown-feature.svg:
* svg/dynamic-updates/script-tests/SVGCircleElement-dom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGCircleElement-svgdom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGEllipseElement-dom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGEllipseElement-svgdom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGForeignObjectElement-dom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGForeignObjectElement-svgdom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGGElement-dom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGGElement-svgdom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGImageElement-dom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGImageElement-svgdom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGLineElement-dom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGLineElement-svgdom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGPathElement-dom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGPathElement-svgdom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGPolygonElement-dom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGPolygonElement-svgdom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGPolylineElement-dom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGPolylineElement-svgdom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGRectElement-dom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGRectElement-svgdom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGSVGElement-dom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGSVGElement-svgdom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGTextElement-dom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGTextElement-svgdom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGUseElement-dom-requiredFeatures.js:
(repaintTest):
* svg/dynamic-updates/script-tests/SVGUseElement-svgdom-requiredFeatures.js:
(repaintTest):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modify the existing canvas blending test suite to test both
accelerated and non accelerated modes.
https://bugs.webkit.org/show_bug.cgi?id=119628

Patch by Mihai Tica <mitica@adobe.com> on 2013-08-09
Reviewed by Dirk Schulze.

* fast/canvas/canvas-blending-clipping-expected.txt:
* fast/canvas/canvas-blending-clipping.html:
* fast/canvas/canvas-blending-color-over-color-expected.txt:
* fast/canvas/canvas-blending-color-over-color.html:
* fast/canvas/canvas-blending-color-over-gradient-expected.txt:
* fast/canvas/canvas-blending-color-over-gradient.html:
* fast/canvas/canvas-blending-color-over-image-expected.txt:
* fast/canvas/canvas-blending-color-over-image.html:
* fast/canvas/canvas-blending-color-over-pattern-expected.txt:
* fast/canvas/canvas-blending-color-over-pattern.html:
* fast/canvas/canvas-blending-fill-style-expected.txt:
* fast/canvas/canvas-blending-fill-style.html:
* fast/canvas/canvas-blending-global-alpha-expected.txt:
* fast/canvas/canvas-blending-global-alpha.html:
* fast/canvas/canvas-blending-gradient-over-color-expected.txt:
* fast/canvas/canvas-blending-gradient-over-color.html:
* fast/canvas/canvas-blending-gradient-over-gradient-expected.txt:
* fast/canvas/canvas-blending-gradient-over-gradient.html:
* fast/canvas/canvas-blending-gradient-over-image-expected.txt:
* fast/canvas/canvas-blending-gradient-over-image.html:
* fast/canvas/canvas-blending-gradient-over-pattern-expected.txt:
* fast/canvas/canvas-blending-gradient-over-pattern.html:
* fast/canvas/canvas-blending-image-over-color-expected.txt:
* fast/canvas/canvas-blending-image-over-color.html:
* fast/canvas/canvas-blending-image-over-gradient-expected.txt:
* fast/canvas/canvas-blending-image-over-gradient.html:
* fast/canvas/canvas-blending-image-over-image-expected.txt:
* fast/canvas/canvas-blending-image-over-image.html:
* fast/canvas/canvas-blending-image-over-pattern-expected.txt:
* fast/canvas/canvas-blending-image-over-pattern.html:
* fast/canvas/canvas-blending-pattern-over-color-expected.txt:
* fast/canvas/canvas-blending-pattern-over-color.html:
* fast/canvas/canvas-blending-pattern-over-gradient-expected.txt:
* fast/canvas/canvas-blending-pattern-over-gradient.html:
* fast/canvas/canvas-blending-pattern-over-image-expected.txt:
* fast/canvas/canvas-blending-pattern-over-image.html:
* fast/canvas/canvas-blending-pattern-over-pattern-expected.txt:
* fast/canvas/canvas-blending-pattern-over-pattern.html:
* fast/canvas/canvas-blending-shadow-expected.txt:
* fast/canvas/canvas-blending-shadow.html:
* fast/canvas/canvas-blending-text-expected.txt:
* fast/canvas/canvas-blending-text.html:
* fast/canvas/canvas-blending-transforms-expected.txt:
* fast/canvas/canvas-blending-transforms.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153902 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<unknown> is often dumped instead of path in test output
https://bugs.webkit.org/show_bug.cgi?id=119590

Reviewed by Anders Carlsson.

Tools:

There were two reasons for <unknown>:
1. When delegate logging is enabled via a testRunner call, that obviously happens
after main resource load starts, so we don't record its URL.
2. Authentication delegate logging relied on URL recording, but it's only turned on
when enabling resource loading delegate logging, not auth one.

URL recording was made conditional in <http://trac.webkit.org/r19316>, which was
landed without posted rationale and unreviewed. Just undoing that change now.

* DumpRenderTree/mac/ResourceLoadDelegate.mm:
(-[ResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::didInitiateLoadForResource):

LayoutTests:

Updating test results.

* fast/loader/file-protocol-fragment-expected.txt:
* fast/loader/main-document-url-for-non-http-loads-expected.txt:
* http/tests/cache/iframe-304-crash-expected.txt:
* http/tests/cache/willsendrequest-returns-null-for-memory-cache-load-expected.txt:
* http/tests/loading/307-after-303-after-post-expected.txt:
* http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt:
* http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
* http/tests/loading/basic-credentials-sent-automatically-expected.txt:
* http/tests/loading/redirect-methods-expected.txt:
* http/tests/misc/401-alternative-content-expected.txt:
* http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt:
* http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt:
* http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt:
* http/tests/misc/favicon-loads-with-images-disabled-expected.txt:
* http/tests/misc/link-rel-icon-beforeload-expected.txt:
* http/tests/misc/will-send-request-returns-null-on-redirect-expected.txt:
* http/tests/misc/window-dot-stop-expected.txt:
* http/tests/security/401-logout/401-logout-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-allowall-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-invalid-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-multiple-headers-conflict-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-allow-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:
* http/tests/xmlhttprequest/failed-auth-expected.txt:
* http/tests/xmlhttprequest/remember-bad-password-expected.txt:
* loader/go-back-cached-main-resource-expected.txt:
* platform/efl-wk2/loader/go-back-cached-main-resource-expected.txt:
* platform/mac/fast/images/support-broken-image-delegate-expected.txt:
* platform/mac/security/block-test-expected.txt:
* platform/mac/security/block-test-no-port-expected.txt:
* platform/mac/webarchive/loading/cache-expired-subresource-expected.txt:
* webarchive/loading/test-loading-archive-expected.txt:
* webarchive/loading/test-loading-archive-subresource-null-mimetype-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153903 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make atob() throw an InvalidCharacterError on excess padding characters
https://bugs.webkit.org/show_bug.cgi?id=118898

Reviewed by Darin Adler.

Source/WebCore:

According to the latest specification, window.atob() should throw an
InvalidCharacterError on excess padding characters:
http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#dom-windowbase64-atob

This behavior is consistent with both Firefox, IE10 and recently Blink.

No new tests, already covered by:
fast/dom/Window/atob-btoa.html

* page/DOMWindow.cpp:
(WebCore::DOMWindow::atob):

Source/WTF:

Add a Base64FailOnInvalidCharacterOrExcessPadding value to the Base64DecodePolicy
enumeration so that the caller can request strict padding validation in addition
to strict character validation. This is needed so that we can use
WTF::base64Decode() for window.atob().

* wtf/text/Base64.cpp:
(WTF::base64DecodeInternal):
* wtf/text/Base64.h:

LayoutTests:

Update and rebaseline fast/dom/Window/atob-btoa.html now that window.atob()'s
behavior has changed and now that we throw an InvalidCharacterError on excess
pad characters.

* fast/dom/Window/atob-btoa-expected.txt:
* fast/dom/Window/atob-btoa.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add support for KeyboardEvent.location attribute
https://bugs.webkit.org/show_bug.cgi?id=119326

Reviewed by Benjamin Poulain.

Source/WebCore:

Add support for KeyboardEvent.location attribute as per the latest specification:
http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-KeyboardEvent

IE10, Firefox 22 and recently Blink all support KeyboardEvent.location already.

The deprecated 'keyLocation' attribute was not removed to maintain backward
compatibility.

No new tests, covered by existing tests.

* bindings/objc/PublicDOMInterfaces.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorDefinition):
* dom/KeyboardEvent.cpp:
(WebCore::KeyboardEventInit::KeyboardEventInit):
(WebCore::KeyboardEvent::KeyboardEvent):
(WebCore::KeyboardEvent::initKeyboardEvent):
* dom/KeyboardEvent.h:
(WebCore::KeyboardEvent::location):
* dom/KeyboardEvent.idl:

Source/WebKit/win:

Add new location attribute to DOMKeyboardEvent.

* DOMEventsClasses.cpp:
(DOMKeyboardEvent::location):
* DOMEventsClasses.h:
* Interfaces/DOMEvents.idl:

Tools:

Rename the deprecated 'keyLocation' to 'location' in Mac's DRT code.

* DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController keyDown:withModifiers:withLocation:]):
(-[EventSendingController keyDownWrapper:withModifiers:withLocation:]):
(-[EventSendingController scheduleAsynchronousKeyDown:withModifiers:withLocation:]):
(-[EventSendingController handleEvent:]):
(-[EventSendingController fireKeyboardEventsToElement:]):

LayoutTests:

Rename KeyboardEvent.keyLocation to KeyboardEvent.location in the
tests and add test cases to make sure that the deprecated
KeyboardEvent.keyLocation still works.

* fast/events/arrow-keys-on-body-expected.txt:
* fast/events/arrow-keys-on-body.html:
* fast/events/constructors/keyboard-event-constructor-expected.txt:
* fast/events/constructors/keyboard-event-constructor.html:
* fast/events/init-events-expected.txt:
* fast/events/js-keyboard-event-creation.html:
* fast/events/keydown-leftright-keys-expected.txt:
* fast/events/keydown-leftright-keys.html:
* fast/events/keydown-numpad-keys-expected.txt:
* fast/events/script-tests/init-events.js:
* fast/events/script-tests/keydown-numpad-keys.js:
(recordKeyEvent):
(testKeyEventWithLocation):
* platform/mac/fast/events/objc-keyboard-event-creation.html:
* platform/win/fast/events/keyLocation-numpad.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153905 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move static StyleResolver functions to Style namespace
https://bugs.webkit.org/show_bug.cgi?id=119629

Reviewed by Sam Weinig and Andreas Kling.

- Move static font size computation functions to StyleFontSizeFunctions.h/.cpp
- Move StyleResolver::styleForDocument to Style::resolveForDocument

* WebCore.xcodeproj/project.pbxproj:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyFontFamily::applyInitialValue):
(WebCore::ApplyPropertyFontFamily::applyValue):
(WebCore::ApplyPropertyFontSize::applyInitialValue):
(WebCore::ApplyPropertyFontSize::applyValue):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
(WebCore::checkForOrientationChange):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::checkForGenericFamilyChange):
(WebCore::StyleResolver::initializeFontStyle):
(WebCore::StyleResolver::setFontSize):
* css/StyleResolver.h:
* dom/Document.cpp:
(WebCore::Document::recalcStyle):
* editing/EditingStyle.cpp:
(WebCore::legacyFontSizeFromCSSValue):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::getFontAndGlyphOrientation):
        
    Moved from StyleResolver.cpp so it can be used by Style::resolveForDocument().
    This depends on RenderStyle only so it is a natural member function.

* rendering/style/RenderStyle.h:
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
* style/StyleFontSizeFunctions.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
(WebCore::Style::computedFontSizeFromSpecifiedSize):
(WebCore::Style::computedFontSizeFromSpecifiedSizeForSVGInlineText):
(WebCore::Style::fontSizeForKeyword):
(WebCore::Style::legacyFontSizeForPixelSize):
* style/StyleFontSizeFunctions.h: Added.
* style/StyleResolveForDocument.cpp: Added.
(WebCore::Style::resolveForDocument):
* style/StyleResolveForDocument.h: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Not able to use arrow keys to read text in a WK2 app
https://bugs.webkit.org/show_bug.cgi?id=119605
-and corresponding-
<rdar://problem/14281275>

Reviewed by Darin Adler.

Source/WebCore: 

This code from defaultKeyboardEventHandler() is the magic that makes this AX 
functionality work. This patch moves that into a separate function so that we can 
call it from WK2.
* WebCore.exp.in:
* page/EventHandler.cpp:
(WebCore::EventHandler::handleKeyboardSelectionMovementForAccessibility):
(WebCore::EventHandler::defaultKeyboardEventHandler):
* page/EventHandler.h:

Source/WebKit2: 

Make all of these scrolling functions actually return the WebCore bools that 
indicate whether or not scrolling happened. 
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scroll):
(WebKit::WebPage::logicalScroll):
(WebKit::WebPage::scrollBy):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::executeKeypressCommandsInternal):

This function now gives accessibility a chance to handle the event too. And it 
also actually tracks whether or not the event was handled by scrolling instead of 
assuming that it was and universally returning true.
(WebKit::WebPage::performNonEditingBehaviorForSelector):

Tools: 

New test verifies that didNotHandleKeyEvent will be called when there is nothing 
to scroll. 
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/DidNotHandleKeyDown.cpp: Added.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::didNotHandleKeyEventCallback):
(TestWebKitAPI::TEST):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Misses mod_ssl and php in the list of packages required for tests for yum
https://bugs.webkit.org/show_bug.cgi?id=115751

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-08-09
Reviewed by Martin Robinson.

* gtk/install-dependencies: add mod_ssl and php to the packages installed for tests
with yum.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Captions menu needs to reset text-align
https://bugs.webkit.org/show_bug.cgi?id=119637

Reviewed by Eric Carlson.

Reset the text-align property on the menu so that it
doesn't get the inherited value. The full fix for all
controls is http://webkit.org/b/116100.

* css/mediaControlsQuickTime.css:
(video::-webkit-media-controls-closed-captions-container):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        http/tests/navigation/back-twice-without-commit.html times out
        https://bugs.webkit.org/show_bug.cgi?id=82980

        * platform/mac/TestExpectations: Marked as such again, reverting r153842.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] some track language tags are not recognized
https://bugs.webkit.org/show_bug.cgi?id=119643

Reviewed by Dean Jackson.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Always call languageOfPrimaryAudioTrack(),
    a track may have changed so we may have a new language.
(WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Call [AVAssetTrack languageCode]
    if [AVAssetTrack extendedLanguageTag] returns NULL in case the media file has an old
    QuickTime language code.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r142755): window.open creates an invisible window when width and height are 0
https://bugs.webkit.org/show_bug.cgi?id=119633

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/dom/Window/open-zero-size-as-default.html

Relying on each WebKit to refuse setting size to zero was fragile - because this
required each one to have the check, and because by the time the client was called,
the initially zero size was not necessarily zero.

* loader/FrameLoader.cpp: (WebCore::createWindow): When sizes are zero, keep the
size the window was created with, because that's the default one by definition.

* page/DOMWindow.cpp: (WebCore::DOMWindow::adjustWindowRect): It's too late to
check for zero size now, it's been mangled to adjust for the difference between
window and viewport size.

Source/WebKit/efl:

* WebCoreSupport/ChromeClientEfl.cpp: (WebCore::ChromeClientEfl::setWindowRect):
Once again, the passed rect cannot be empty.

Source/WebKit/gtk:

* WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::setWindowRect):
Once again, the passed rect cannot be empty.

LayoutTests:

* fast/dom/Window/open-zero-size-as-default-expected.txt: Added.
* fast/dom/Window/open-zero-size-as-default.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ASSERTION FAILED: stroke->opacity != other->stroke->opacity in WebCore::SVGRenderStyle::diff
https://bugs.webkit.org/show_bug.cgi?id=119623

Reviewed by Dirk Schulze.

Source/WebCore:

Include all the stroke attributes in the style diff comparison, the visited links ones were missing.

Test: svg/animations/animate-stroke-crasher.html

* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::diff):

LayoutTests:

Add testcase from bug with small adjustments.

* svg/animations/animate-stroke-crasher-expected.txt: Added.
* svg/animations/animate-stroke-crasher.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tests that dump delegate calls are flaky because of cached redirects
https://bugs.webkit.org/show_bug.cgi?id=119641

Reviewed by Brady Eidson.

Made redirect.php emit Cache-Control: no store as a workaround for bug 77538.
Removed several reimplementations of it, and changed the test to use the
central copy.

* http/tests/permissionclient/resources/redir.php: Removed.
* http/tests/resources/redirect.php:
* http/tests/security/beforeload-iframe-server-redirect-expected.txt:
* http/tests/security/beforeload-iframe-server-redirect.html:
* http/tests/security/cannot-read-cssrules-redirect.html:
* http/tests/security/canvas-remote-read-redirect-to-remote-image.html:
* http/tests/security/canvas-remote-read-remote-image-redirect.html:
* http/tests/security/contentSecurityPolicy/frame-src-redirect-blocked.html:
* http/tests/security/contentSecurityPolicy/resources/multiple-iframe-test.js:
* http/tests/security/contentSecurityPolicy/resources/redir.php: Removed.
* http/tests/security/contentSecurityPolicy/script-src-redirect-expected.txt:
* http/tests/security/contentSecurityPolicy/script-src-redirect.html:
* http/tests/security/cross-origin-css.html:
* http/tests/security/cross-origin-script-window-onerror-redirected.html:
* http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame-expected.txt:
* http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe-expected.txt:
* http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame-expected.txt:
* http/tests/security/mixedContent/resources/frame-with-redirect-http-to-https-frame.html:
* http/tests/security/mixedContent/resources/frame-with-redirect-http-to-https-script.html:
* http/tests/security/mixedContent/resources/frame-with-redirect-https-to-http-frame.html:
* http/tests/security/mixedContent/resources/frame-with-redirect-https-to-http-script.html:
* http/tests/security/redirect-BLOCKED-to-localURL.html:
* http/tests/security/resources/cross-origin-xsl-redirect.xml:
* http/tests/security/resources/redir.php: Removed.
* http/tests/security/resources/xsl-using-document-redirect.xsl:
* http/tests/security/resources/xsl-using-external-entity-redirect.xsl:
* http/tests/security/stylesheet-href-redirect-expected.txt:
* http/tests/security/stylesheet-href-redirect.html:
* http/tests/security/xssAuditor/block-does-not-leak-referrer.html:
* http/tests/security/xssAuditor/resources/redir.php: Removed.
* http/tests/security/xssAuditor/script-tag-open-redirect.html:
* http/tests/security/xssAuditor/script-tag-redirect.html:
* http/tests/xmlhttprequest/redirect-cross-origin-2.html:
* http/tests/xmlhttprequest/redirect-cross-origin-post-sync.html:
* http/tests/xmlhttprequest/redirect-cross-origin-post.html:
* http/tests/xmlhttprequest/redirect-cross-origin-sync-double.html:
* http/tests/xmlhttprequest/redirect-cross-origin-sync.html:
* http/tests/xmlhttprequest/redirect-cross-origin.html:
* http/tests/xmlhttprequest/resources/redirect.php: Removed.
* http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect.html:


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