WebKit-https.git
7 years agoCrash in com.apple.WebKit.WebContent at com.apple.MediaToolbox.
jer.noble@apple.com [Sat, 10 Aug 2013 03:29:16 +0000 (03:29 +0000)]
Crash in com.apple.WebKit.WebContent at com.apple.MediaToolbox.
https://bugs.webkit.org/show_bug.cgi?id=119645

Reviewed by Eric Carlson.

Work around crash caused by <rdar://problem/14688471> by releasing
m_request as soon as keys have been added to it.

* Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
(WebCore::CDMSessionAVFoundation::update):

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

7 years agoArtifacts seen sometimes with layer backed WebKit1 plug-in
andersca@apple.com [Sat, 10 Aug 2013 00:36:10 +0000 (00:36 +0000)]
Artifacts seen sometimes with layer backed WebKit1 plug-in
https://bugs.webkit.org/show_bug.cgi?id=119647
<rdar://problem/14002715>

Reviewed by Beth Dakin.

Don't try to paint layer backed views - they will be painted by Core Animation.

* platform/mac/WidgetMac.mm:
(WebCore::Widget::paint):

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

7 years ago Merge an encoding test from Blink
ap@apple.com [Sat, 10 Aug 2013 00:07:43 +0000 (00:07 +0000)]
    Merge an encoding test from Blink
        https://bugs.webkit.org/show_bug.cgi?id=116943

        Original patch by Adam Barth.

        * fast/encoding/meta-overrules-auto-expected.txt: Added.
        * fast/encoding/meta-overrules-auto.html: Added.
        * fast/encoding/resources/meta-input-encoding.html: Added.

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

7 years agoTests that dump delegate calls are flaky because of cached redirects
ap@apple.com [Sat, 10 Aug 2013 00:01:53 +0000 (00:01 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@153915 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoASSERTION FAILED: stroke->opacity != other->stroke->opacity in WebCore::SVGRenderStyl...
rwlbuis@webkit.org [Fri, 9 Aug 2013 23:30:32 +0000 (23:30 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@153914 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION (r142755): window.open creates an invisible window when width and height...
ap@apple.com [Fri, 9 Aug 2013 23:25:11 +0000 (23:25 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@153913 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Mac] some track language tags are not recognized
eric.carlson@apple.com [Fri, 9 Aug 2013 23:09:10 +0000 (23:09 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@153912 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago http/tests/navigation/back-twice-without-commit.html times out
ap@apple.com [Fri, 9 Aug 2013 22:56:50 +0000 (22:56 +0000)]
    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: https://svn.webkit.org/repository/webkit/trunk@153910 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCaptions menu needs to reset text-align
dino@apple.com [Fri, 9 Aug 2013 22:46:49 +0000 (22:46 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@153909 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Misses mod_ssl and php in the list of packages required for tests for yum
kov@webkit.org [Fri, 9 Aug 2013 21:12:43 +0000 (21:12 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@153908 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAX: Not able to use arrow keys to read text in a WK2 app
bdakin@apple.com [Fri, 9 Aug 2013 19:58:51 +0000 (19:58 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@153907 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMove static StyleResolver functions to Style namespace
antti@apple.com [Fri, 9 Aug 2013 19:44:07 +0000 (19:44 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@153906 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd support for KeyboardEvent.location attribute
ch.dumez@sisa.samsung.com [Fri, 9 Aug 2013 18:56:16 +0000 (18:56 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@153905 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMake atob() throw an InvalidCharacterError on excess padding characters
ch.dumez@sisa.samsung.com [Fri, 9 Aug 2013 18:54:32 +0000 (18:54 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@153904 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago<unknown> is often dumped instead of path in test output
ap@apple.com [Fri, 9 Aug 2013 18:40:48 +0000 (18:40 +0000)]
<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: https://svn.webkit.org/repository/webkit/trunk@153903 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoModify the existing canvas blending test suite to test both
commit-queue@webkit.org [Fri, 9 Aug 2013 17:35:12 +0000 (17:35 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@153902 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMake DOMImplementation::hasFeature() behave according to specification
ch.dumez@sisa.samsung.com [Fri, 9 Aug 2013 17:31:04 +0000 (17:31 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@153901 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] [EFL] Enable tiled shadow blur for the inset shadows.
alex@webkit.org [Fri, 9 Aug 2013 17:00:35 +0000 (17:00 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@153898 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agomove-by-word-visually-multi-space.html takes 21s and spends most of its time doing...
simon.fraser@apple.com [Fri, 9 Aug 2013 16:53:38 +0000 (16:53 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@153897 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Viewport allows scrolling when it shouldn't after rotation to landscape
commit-queue@webkit.org [Fri, 9 Aug 2013 16:07:29 +0000 (16:07 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@153896 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Don't release the canvas Drawable, flush it directly instead.
commit-queue@webkit.org [Fri, 9 Aug 2013 15:28:24 +0000 (15:28 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@153895 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSwitch the generated images off of PDFs and onto SVGs now that bug 119492 is fixed.
timothy@apple.com [Fri, 9 Aug 2013 15:26:33 +0000 (15:26 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@153894 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt][WK2] Composited and transformed links asserts in tap highlight
allan.jensen@digia.com [Fri, 9 Aug 2013 15:00:02 +0000 (15:00 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@153893 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBuildfix. Fix warning after r153887:
zarvai@inf.u-szeged.hu [Fri, 9 Aug 2013 14:41:25 +0000 (14:41 +0000)]
Buildfix. Fix warning after r153887:
control reaches end of non-void function [-Werror=return-type]

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-08-09
Reviewed by Csaba Osztrogon√°c.

* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::animatedPropertyTypeSupportsAddition):

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

7 years agoText decorations should be listed as non-inheritable
bruno.d@partner.samsung.com [Fri, 9 Aug 2013 14:15:55 +0000 (14:15 +0000)]
Text decorations should be listed as non-inheritable
https://bugs.webkit.org/show_bug.cgi?id=119608

Reviewed by Andreas Kling.

Source/WebCore:

Both "text-decoration" specs (CSS 2.1, CSS 3) and "text-decoration-line"
spec (CSS 3) states these properties are not inherited (w/ exceptions,
which are currently handled by -in-effect property), however those were
listed as inherited for no reason - thus preserving behavior as shown by
layout test results.

Blink: https://codereview.chromium.org/20751008
Updated getComputedStyle tests for both 'text-decoration' and
'text-decoration-line' properties to check that both are not implicitly
inherited.

* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):

LayoutTests:

Added test to verify that 'text-decoration' and 'text-decoration-line'
properties are not implicitly inherited.

* fast/css/getComputedStyle/getComputedStyle-text-decoration-expected.txt:
* fast/css/getComputedStyle/script-tests/getComputedStyle-text-decoration.js:
* fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line-expected.txt:
* fast/css3-text/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-decoration-line.js:

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

7 years agoI wish we had a Windows EWS. :(
akling@apple.com [Fri, 9 Aug 2013 14:14:46 +0000 (14:14 +0000)]
I wish we had a Windows EWS. :(

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::doCollectMatchingRulesForList): No range-based for today.

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

7 years ago[Qt] Unreviewed gardening. Rebaselinnig some new tests.
zarvai@inf.u-szeged.hu [Fri, 9 Aug 2013 14:05:53 +0000 (14:05 +0000)]
[Qt] Unreviewed gardening. Rebaselinnig some new tests.

* platform/qt-5.0-wk1/TestExpectations:
* platform/qt-5.0-wk2/compositing/overflow-trumps-transform-style-expected.txt:
* platform/qt-5.0-wk2/fast/repaint/caret-jump-between-nodes-expected.txt: Added.
* platform/qt/compositing/geometry/preserve-3d-switching-expected.txt:
* platform/qt/fast/forms/search-rtl-expected.png:
* platform/qt/fast/forms/search-rtl-expected.txt:
* platform/qt/fast/repaint/caret-jump-between-nodes-expected.txt: Added.

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

7 years ago[Qt] Buidfix after r153664. Adding ANGLE_WEBKIT_WIN definition.
zarvai@inf.u-szeged.hu [Fri, 9 Aug 2013 13:26:58 +0000 (13:26 +0000)]
[Qt] Buidfix after r153664. Adding ANGLE_WEBKIT_WIN definition.
https://bugs.webkit.org/show_bug.cgi?id=119577

Reviewed by Allan Sandfeld Jensen.

* Target.pri:

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

7 years agoASSERT_NOT_REACHED() touched in WebCore::SVGAnimatedStringAnimator::addAnimatedTypes
rwlbuis@webkit.org [Fri, 9 Aug 2013 13:23:26 +0000 (13:23 +0000)]
ASSERT_NOT_REACHED() touched in WebCore::SVGAnimatedStringAnimator::addAnimatedTypes
https://bugs.webkit.org/show_bug.cgi?id=113224

Source/WebCore:

Reviewed by Darin Adler.

Do not perform from-by animations for non-additive attributes.

Test: svg/animations/non-additive-type-from-by-animation.html

* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::calculateFromAndByValues):
(WebCore::SVGAnimateElement::animatedPropertyTypeSupportsAddition):
(WebCore::SVGAnimateElement::isAdditive):
* svg/SVGAnimateElement.h:

LayoutTests:

Reviewed by Dirk Schulze.

Add a test for animating non-additive attributes in from-by animations

* svg/animations/non-additive-type-from-by-animation-expected.txt: Added.
* svg/animations/non-additive-type-from-by-animation.html: Added.
* svg/animations/resources/non-additive-type-from-by-animation.svg: Added.
* svg/animations/script-tests/non-additive-type-from-by-animation.js: Added.
(sample):
(executeTest):

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

7 years agoASSERT(m_type == toSVGTransform.type())
rwlbuis@webkit.org [Fri, 9 Aug 2013 13:05:37 +0000 (13:05 +0000)]
ASSERT(m_type == toSVGTransform.type())
https://bugs.webkit.org/show_bug.cgi?id=113217

Reviewed by Darin Adler.

Source/WebCore:

For to animations clear the transform list while animating and reset to it after the animation is done.
This matches Firefox and Opera 12 behavior.

Tests: svg/animations/animateTransform-to-scale-expected.svg
       svg/animations/animateTransform-to-scale.svg

* svg/SVGAnimatedTransformList.cpp:
(WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):

LayoutTests:

Add reftest for additive to animation where from and to transform types differ.

* svg/animations/animateTransform-to-scale-expected.svg: Added.
* svg/animations/animateTransform-to-scale.svg: Added.

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

7 years ago[Automake] Clean up OpenGL graphics configuration sections
zandobersek@gmail.com [Fri, 9 Aug 2013 12:46:05 +0000 (12:46 +0000)]
[Automake] Clean up OpenGL graphics configuration sections
https://bugs.webkit.org/show_bug.cgi?id=119554

Reviewed by Martin Robinson.

Clean up sections in the Automake configuration process that are configuring the OpenGL graphics
features and dependencies. Remove unnecessary variable assignments, merge similar code paths,
clarify a couple of comments and error messages and fix a few whitespace problems.

* Source/autotools/FindDependencies.m4:
* Source/autotools/ReadCommandLineArguments.m4:
* Source/autotools/SetupAutomake.m4:

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

7 years ago[Qt] QtWebKit should allow sending domain specific keycode to HTML applications
commit-queue@webkit.org [Fri, 9 Aug 2013 12:11:20 +0000 (12:11 +0000)]
[Qt] QtWebKit should allow sending domain specific keycode to HTML applications
https://bugs.webkit.org/show_bug.cgi?id=118445

Patch by Arunprasad Rajkumar <arurajku@cisco.com> on 2013-08-09
Reviewed by Allan Sandfeld Jensen.

Source/WebCore:

No new test required, it is covered by QtWebKit API test.

This fix allows sending QKeyEvent::nativeVirtualKey as the DOM KeyboardEvent keyCode value instead
of Windows virtual key code. It can be enabled/disabled using "_q_useNativeVirtualKeyAsDOMKey"
dynamic property present in QWebPage.

* platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):

Source/WebKit/qt:

Added API test.

* WebCoreSupport/QWebPageAdapter.cpp:
(QWebPageAdapter::QWebPageAdapter):
(QWebPageAdapter::dynamicPropertyChangeEvent):
(QWebPageAdapter::handleKeyEvent):
* WebCoreSupport/QWebPageAdapter.h:
* tests/qwebpage/tst_qwebpage.cpp:
(tst_QWebPage::domainSpecificKeyEvent):

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

7 years agoMissing NULL check in ApplyStyleCommand::applyInlineStyleToNodeRange()
reni@webkit.org [Fri, 9 Aug 2013 12:08:28 +0000 (12:08 +0000)]
Missing NULL check in ApplyStyleCommand::applyInlineStyleToNodeRange()
https://bugs.webkit.org/show_bug.cgi?id=119570

Reviewed by Ryosuke Niwa.

Source/WebCore:

The m_mutableStyleSet of EditingStyle can be NULL in ApplyStyleCommand::applyInlineStyleToNodeRange but
this scenario was not checked earlier.

Test: editing/execCommand/null-style-crash.html

* css/StylePropertySet.cpp:
(WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict):
* css/StylePropertySet.h:
* css/ViewportStyleResolver.cpp:
(WebCore::ViewportStyleResolver::addViewportRule):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
* editing/EditingStyle.cpp:
(WebCore::styleFromMatchedRulesForElement):
(WebCore::EditingStyle::mergeStyleFromRules):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):

LayoutTests:

* editing/execCommand/null-style-crash-expected.txt: Added.
* editing/execCommand/null-style-crash.html: Added.

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

7 years ago[GTK] [WebKit2] Add an 'authenticate' signal to WebKitWebView
commit-queue@webkit.org [Fri, 9 Aug 2013 10:48:49 +0000 (10:48 +0000)]
[GTK] [WebKit2] Add an 'authenticate' signal to WebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=99352

Patch by Brian Holt <brian.holt@samsung.com> on 2013-08-09
Reviewed by Carlos Garcia Campos.

Add a new public class to the API, WebKitAuthenticationRequest, to be
emitted along with a new WebKitWebView::authenticate signal to
let client applications to provide their own authentication
when the user is challenged with HTTP authentication. The
credential is exposed through a new class WebKitCredential.

* GNUmakefile.list.am:
* UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
(okButtonClicked): Use new API for authentication.
(cancelButtonClicked): Ditto.
(webkitAuthenticationDialogInitialize):Get
authenticationChallenge from request object.
(webkitAuthenticationDialogNew): Ditto.
* UIProcess/API/gtk/WebKitAuthenticationDialog.h:
* UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: Added new
class representing a HTTP authentication request.
(webkitAuthenticationRequestDispose):
(webkit_authentication_request_class_init):
(webkitAuthenticationRequestCreate):
(webkitAuthenticationRequestGetAuthenticationChallenge):
(webkit_authentication_request_can_save_credentials):
(webkit_authentication_request_get_proposed_credential):
(webkit_authentication_request_get_host):
(webkit_authentication_request_get_port):
(webkit_authentication_request_get_realm):
(webkit_authentication_request_get_scheme):
(webkit_authentication_request_is_for_proxy):
(webkit_authentication_request_is_retry):
(webkit_authentication_request_authenticate):
(webkit_authentication_request_cancel):
* UIProcess/API/gtk/WebKitAuthenticationRequest.h: Added.
* UIProcess/API/gtk/WebKitAuthenticationRequestPrivate.h: Added.
* UIProcess/API/gtk/WebKitCredential.cpp: Added new class to
support credentials for HTTP authentication.
(_WebKitCredential::_WebKitCredential):
(webkitCredentialCreate):
(webkitCredentialGetCredential):
(webkit_credential_new):
(webkit_credential_copy):
(webkit_credential_free):
(webkit_credential_get_username):
(webkit_credential_get_password):
(webkit_credential_has_password):
(webkit_credential_get_persistence):
* UIProcess/API/gtk/WebKitCredential.h: Added.
* UIProcess/API/gtk/WebKitCredentialPrivate.h: Added.
* UIProcess/API/gtk/WebKitWebView.cpp: Added authenticate signal.
(webkitWebViewAuthenticate): Default signal handler for authenticate.
(webkit_web_view_class_init): Ditto.
(webkitWebViewHandleAuthenticationChallenge): Create an
authentication request and emit it with authenticate signal.
* UIProcess/API/gtk/WebKitWebView.h: Replaced reserved function
pointer slot with for WebViewClass with function pointer to
authenticate signal handler.
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section for
the authentication request.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
* UIProcess/API/gtk/docs/webkit2gtk.types: Added authentication
request and credential types.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Created a new
unit test for HTTP authentication. A libsoup server callback
handler is installed that creates soup messages with appropriate
headers and body to test HTTP authentication.
(testWebViewAuthenticationRequest): Test the authentication
request and credential API.
(testWebViewAuthenticationCancel): Test cancelled authentication.
(testWebViewAuthenticationFailure): Test repeated authentication failures.
(testWebViewAuthenticationNoCredential): Test continue without
credentials.
(testWebViewAuthenticationStorage): Test credential storage.
(testWebViewAuthenticationSuccess): Test successful authentication.
(beforeAll): Added tests.
* UIProcess/API/gtk/webkit2.h: Added WebKitAuthenticationRequest and
WebKitCredential headers.

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

7 years agoElementRuleCollector: Use range-based for syntax in rule collection loop.
akling@apple.com [Fri, 9 Aug 2013 10:15:09 +0000 (10:15 +0000)]
ElementRuleCollector: Use range-based for syntax in rule collection loop.
<http://webkit.org/b/119617>
<rdar://problem/14695311>

Reviewed by Antti Koivisto.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::doCollectMatchingRulesForList):

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

7 years agoStyleRule*::properties() should return const references.
akling@apple.com [Fri, 9 Aug 2013 09:58:52 +0000 (09:58 +0000)]
StyleRule*::properties() should return const references.
<http://webkit.org/b/119596>

Reviewed by Antti Koivisto.

Source/WebCore:

Make StyleRule::properties() & friends return const-references instead of
pointers. This exposed some pointless null checking, since rules should
always have properties.

All rule objects that contain properties now require a StylePropertySet at
the time of construction instead having you call setProperties() later.

The only rules that could ever have null properties were the default-inserted
animation keyframe rules for 0% and 100% that we'd conjure up if the author
didn't provide them. Now they just have an empty property set instead.

* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::cssText):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::cssText):
* css/CSSParser.cpp:
(WebCore::CSSParser::createFilterRule):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::createFontFaceRule):
(WebCore::CSSParser::rewriteSpecifiers):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::cssText):
* css/ElementRuleCollector.cpp:
(WebCore::leftToRightDeclaration):
(WebCore::rightToLeftDeclaration):
(WebCore::ElementRuleCollector::addElementStyleProperties):
(WebCore::ElementRuleCollector::doCollectMatchingRulesForList):
* css/PageRuleCollector.cpp:
(WebCore::PageRuleCollector::matchPageRulesForList):
* css/StylePropertySet.cpp:
(WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict):
* css/StylePropertySet.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::MatchResult::addMatchedProperties):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::keyframeStylesForAnimation):
* css/StyleResolver.h:
* css/StyleRule.cpp:
(WebCore::StyleRule::StyleRule):
(WebCore::StyleRule::create):
(WebCore::StyleRulePage::StyleRulePage):
(WebCore::StyleRuleFontFace::StyleRuleFontFace):
(WebCore::StyleRuleViewport::StyleRuleViewport):
(WebCore::StyleRuleViewport::mutableProperties):
(WebCore::StyleRuleFilter::StyleRuleFilter):
* css/StyleRule.h:
(WebCore::StyleRule::create):
(WebCore::StyleRule::properties):
(WebCore::StyleRuleFontFace::create):
(WebCore::StyleRuleFontFace::properties):
(WebCore::StyleRulePage::create):
(WebCore::StyleRulePage::properties):
(WebCore::StyleRuleViewport::create):
(WebCore::StyleRuleViewport::properties):
(WebCore::StyleRuleFilter::create):
(WebCore::StyleRuleFilter::properties):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::addSubresourceStyleURLs):
(WebCore::childRulesHaveFailedOrCanceledSubresources):
* css/WebKitCSSFilterRule.cpp:
(WebCore::WebKitCSSFilterRule::cssText):
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::StyleKeyframe::StyleKeyframe):
(WebCore::StyleKeyframe::mutableProperties):
* css/WebKitCSSKeyframeRule.h:
(WebCore::StyleKeyframe::create):
(WebCore::StyleKeyframe::properties):
* css/WebKitCSSViewportRule.cpp:
(WebCore::WebKitCSSViewportRule::cssText):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::mergeStyleFromRules):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::revalidateStyle):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForRule):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::SVGFontFaceElement):
(WebCore::SVGFontFaceElement::fontFamily):
(WebCore::SVGFontFaceElement::rebuildFontFace):

Source/WebKit/qt:

* Api/qwebelement.cpp:
(QWebElement::styleProperty):

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

7 years agoPDFPlugin is disabled by default in nightlies on Mac accidentally
timothy_horton@apple.com [Fri, 9 Aug 2013 09:12:44 +0000 (09:12 +0000)]
PDFPlugin is disabled by default in nightlies on Mac accidentally
https://bugs.webkit.org/show_bug.cgi?id=119615

Rubber-stamped by Andreas Kling.

Enable PDFPlugin by default on Mac at the WebKit2 level.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferencesPrivate.h:

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

7 years ago[Qt] Fix build (broken by changeset r153826).
commit-queue@webkit.org [Fri, 9 Aug 2013 09:04:51 +0000 (09:04 +0000)]
[Qt] Fix build (broken by changeset r153826).
https://bugs.webkit.org/show_bug.cgi?id=119616

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-09
Reviewed by Andreas Kling.

* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):

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

7 years agonavigator.plugins has plugins in it when plugins are disabled
timothy_horton@apple.com [Fri, 9 Aug 2013 06:44:27 +0000 (06:44 +0000)]
navigator.plugins has plugins in it when plugins are disabled
https://bugs.webkit.org/show_bug.cgi?id=119607
<rdar://problem/14678030>

Reviewed by Anders Carlsson.

Test: plugins/navigator-plugins-disabled.html

* page/Settings.cpp:
(WebCore::Settings::setPluginsEnabled):
Refresh the plugin database when plugins are enabled or disabled.
This is necessary to ensure that navigator.plugins will have the
correct set of plugins after dynamically changing whether plugins
are enabled, which makes the test for this patch possible (but it
makes sense in the browser as well).

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getPlugins):
Return a list of all plugins, and a list of only application plugins.

* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::getPluginInfo):
Add applicationPlugin parameter to getPlugins, and storage for the returned list.

(WebKit::WebPlatformStrategies::populatePluginCache):
If plugins are disabled for the given page, give WebCore the list that
only includes application plugins. Otherwise, give it the whole list
as we are doing currently.

* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::getPluginInfo):
If plugins are disabled for the given page, give WebCore an empty list of
plugins. If WebKit1 had any application plugins, we'd return just them
instead.

Add a test that ensures that navigator.plugins only contains
application plugins when plugins are disabled.

* plugins/navigator-plugins-disabled-expected.txt: Added.
* plugins/navigator-plugins-disabled.html: Added.

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

7 years agoAllow SVG images to be drawn into canvas without tainting.
timothy@apple.com [Fri, 9 Aug 2013 06:39:52 +0000 (06:39 +0000)]
Allow SVG images to be drawn into canvas without tainting.
https://bugs.webkit.org/show_bug.cgi?id=119492

Reviewed by Darin Adler.

Source/WebCore:

Tests: svg/as-image/svg-canvas-not-tainted.html
       svg/as-image/svg-canvas-link-not-colored.html
       svg/as-image/svg-canvas-xhtml-tainted.html

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseAttribute): Call shouldProhibitLinks.
(WebCore::shouldProhibitLinks): Added.
* html/HTMLAnchorElement.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute): Call shouldProhibitLinks.
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage): Use isInSVGImage.
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::svgAttributeChanged): Call shouldProhibitLinks.
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::hasSingleSecurityOrigin): Added.
(WebCore::isInSVGImage): Added.
* svg/graphics/SVGImage.h:

LayoutTests:

* fast/canvas/svg-taint-expected.txt: Removed.
* fast/canvas/svg-taint.html: Removed. Obsolete.
* http/tests/security/canvas-remote-read-data-url-svg-image-expected.txt: Removed.
* http/tests/security/canvas-remote-read-data-url-svg-image.html: Removed. Obsolete.
* http/tests/security/canvas-remote-read-svg-image-expected.txt: Removed.
* http/tests/security/canvas-remote-read-svg-image.html: Removed. Obsolete.
* svg/as-image/resources/link-xhtml-svg.svg: Added.
* svg/as-image/resources/link-xhtml.svg: Added.
* svg/as-image/resources/link.svg: Added.
* svg/as-image/svg-canvas-link-not-colored-expected.txt: Added.
* svg/as-image/svg-canvas-link-not-colored.html: Added.
* svg/as-image/svg-canvas-not-tainted-expected.txt: Added.
* svg/as-image/svg-canvas-not-tainted.html: Added.
* svg/as-image/svg-canvas-xhtml-tainted-expected.txt: Added.
* svg/as-image/svg-canvas-xhtml-tainted.html: Added.

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

7 years agoFix ASSERT(m_contentsSolidColor.isValid()) assertion on iOS at nytimes.com
simon.fraser@apple.com [Fri, 9 Aug 2013 02:40:10 +0000 (02:40 +0000)]
Fix ASSERT(m_contentsSolidColor.isValid()) assertion on iOS at nytimes.com
https://bugs.webkit.org/show_bug.cgi?id=119603

Reviewed by Dean Jackson.

On iOS it's possible for a GraphicsLayer to transition between having
a solid background color, and containing media. This happens on nytimes.com
when playing video.

In this case, GraphicsLayerCA::updateContentsColorLayer() would assert
because m_contentsLayer had been already set up to contain media, but
it would be trying to update the color.

Fix by bailing from all the updateContents* functions if there is no
contents layer, or that layer exists for a different purpose.

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateContentsMediaLayer):
(WebCore::GraphicsLayerCA::updateContentsCanvasLayer):
(WebCore::GraphicsLayerCA::updateContentsColorLayer):

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

7 years agoLink to correct DirectX libraries for Win64 ANGLE build.
achristensen@apple.com [Fri, 9 Aug 2013 02:12:02 +0000 (02:12 +0000)]
Link to correct DirectX libraries for Win64 ANGLE build.
https://bugs.webkit.org/show_bug.cgi?id=119600

Reviewed by Brent Fulgham.

* ANGLE.vcxproj/DirectX32.props: Added with x86 DirectX library directory.
* ANGLE.vcxproj/DirectX64.props: Added with x64 DirectX library directory.
* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj:
Use DirectX32.props and DirectX64.props.
* ANGLE.vcxproj/libEGLCommon.props:
* ANGLE.vcxproj/libGLESv2Common.props:
Removed DirectX library directory.

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

7 years agoUnreviewed, rolling out r153847.
commit-queue@webkit.org [Fri, 9 Aug 2013 00:49:25 +0000 (00:49 +0000)]
Unreviewed, rolling out r153847.
http://trac.webkit.org/changeset/153847
https://bugs.webkit.org/show_bug.cgi?id=119609

caused new SVG animation test failures (Requested by smfr on
#webkit).

Source/WebCore:

* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::calculateFromAndByValues):

LayoutTests:

* svg/animations/non-additive-type-from-by-animation-expected.txt: Removed.
* svg/animations/non-additive-type-from-by-animation.html: Removed.
* svg/animations/resources/non-additive-type-from-by-animation.svg: Removed.
* svg/animations/script-tests/non-additive-type-from-by-animation.js: Removed.

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

7 years agoKill updateStyleForAllDocuments()
simon.fraser@apple.com [Fri, 9 Aug 2013 00:47:36 +0000 (00:47 +0000)]
Kill updateStyleForAllDocuments()
https://bugs.webkit.org/show_bug.cgi?id=118093

Reviewed by Geoff Garen.

We should never have to eagerly update style, especially for all documents
that the process knows about. The WebKit model is to update style when
required for layout etc, not to update it eagerly.

This is historical code whose origins are lost in the mists of KHTML.
r42384 makes it possible to do away with this eager updating, and
r55568 removed some calls. Discussion in bug 32580 suggests that
form control code still need this, but tests still pass without it.

* bindings/js/JSCallbackData.cpp:
(WebCore::JSCallbackData::invokeCallback):
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* dom/Document.cpp:
(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::unscheduleStyleRecalc):
* dom/Document.h:
* dom/Element.cpp:
(WebCore::Element::setActive):

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

7 years agoUnreviewed gardening; update test after addKey() was renamed to update().
jer.noble@apple.com [Fri, 9 Aug 2013 00:40:01 +0000 (00:40 +0000)]
Unreviewed gardening; update test after addKey() was renamed to update().

* media/encrypted-media/encrypted-media-v2-events-expected.txt:
* media/encrypted-media/encrypted-media-v2-events.html:

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

7 years agoFix webkit.org content overflowing their content box
benjamin@webkit.org [Fri, 9 Aug 2013 00:11:34 +0000 (00:11 +0000)]
Fix webkit.org content overflowing their content box

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-08-08
Rubberstamped by Simon Fraser.

More fixes to have webkit.org show properly on iPad and iPhone.

* blog/wp-content/themes/webkit/header.php:
Add the correct viewport width for the blog.

* building/debug.html:
* building/launch-debugger-vs2010-small.png: Added.
* building/set-debugging-properties-vs2010-small.png: Added.
Fix the images to make them fit in the page.

* coding/adding-features.html:
Using <pre> for the example of email just make it looks like our code examples.
Change the source to use <blockquote> so that the text can reflow to the content box.
* css/main.css:
(.code, pre, tt, code):
Scroll the content when it overflows the box for code and pre.

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

7 years ago[EME] MediaKey APIs should be prefixed.
jer.noble@apple.com [Fri, 9 Aug 2013 00:07:23 +0000 (00:07 +0000)]
[EME] MediaKey APIs should be prefixed.
https://bugs.webkit.org/show_bug.cgi?id=119606

Reviewed by Anders Carlsson.

Source/WebCore:

No new tests; updated exsisting tests with new names.

Prefix all new classes with "WebKit" and new methods on existing unprefixed
classes with "webkit"

* Modules/encryptedmedia/MediaKeyMessageEvent.idl: MediaKeyMessageEvent -> WebKitMediaKeyMessageEvent
* Modules/encryptedmedia/MediaKeySession.idl: MediaKeySession -> WebKitMediaKeySession
* Modules/encryptedmedia/MediaKeys.idl: MediaKeys -> WebKitMediaKeys
* html/HTMLMediaElement.idl: keys -> webkitKeys, setMediaKeys -> webkitSetMediaKeys
* html/MediaKeyError.idl: MediaKeyError -> WebKitMediaKeyError

LayoutTests:

* media/encrypted-media/encrypted-media-constants-expected.txt:
* media/encrypted-media/encrypted-media-constants.html:
* media/encrypted-media/encrypted-media-events-expected.txt:
* media/encrypted-media/encrypted-media-events.html:
* media/encrypted-media/encrypted-media-is-type-supported-expected.txt:
* media/encrypted-media/encrypted-media-is-type-supported.html:
* media/encrypted-media/encrypted-media-v2-events-expected.txt:
* media/encrypted-media/encrypted-media-v2-events.html:
* media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
* media/encrypted-media/encrypted-media-v2-syntax.html:

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

7 years agoRemove use of prefixed transition event
dino@apple.com [Thu, 8 Aug 2013 23:28:17 +0000 (23:28 +0000)]
Remove use of prefixed transition event
https://bugs.webkit.org/show_bug.cgi?id=119598

Reviewed by Joseph Pecoraro.

"webkitTransitionEnd" -> "transitionend".

* UserInterface/Popover.js:
(WebInspector.Popover):
(WebInspector.Popover.prototype.handleEvent):

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

7 years agoWindows build fixes.
achristensen@apple.com [Thu, 8 Aug 2013 23:28:13 +0000 (23:28 +0000)]
Windows build fixes.

Rubberstamped by Brent Fulgham.

Tools:

* DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreeLauncher.vcxproj:
Removed /SAFESEH link option which doesn't work with x64.

WebKitLibraries:

* win/tools/vsprops/debug_wincairo.props: Removed MinimalRebuild option preventing parallel compiling.

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

7 years agoDisable suppression of plugin process for Java
barraclough@apple.com [Thu, 8 Aug 2013 23:19:17 +0000 (23:19 +0000)]
Disable suppression of plugin process for Java
https://bugs.webkit.org/show_bug.cgi?id=119604

Reviewed by Sam Weinig.

Workaround, the Java plugin doesn't like this.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializeProcess):
    - +1 active task count on the java plugin, to inhibit supression.

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

7 years agoUnreviewed, remove TestExpectations for removed microdata tests.
timothy_horton@apple.com [Thu, 8 Aug 2013 23:12:36 +0000 (23:12 +0000)]
Unreviewed, remove TestExpectations for removed microdata tests.

* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

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

7 years agoAdd iOS support to run-javascriptcore-tests
dbates@webkit.org [Thu, 8 Aug 2013 22:51:14 +0000 (22:51 +0000)]
Add iOS support to run-javascriptcore-tests
https://bugs.webkit.org/show_bug.cgi?id=119602

Reviewed by Joseph Pecoraro.

Make run-javascriptcore-tests work for iOS WebKit.

* Scripts/run-javascriptcore-tests:

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

7 years agoGive a smaller viewport to webkit.org on devices
benjamin@webkit.org [Thu, 8 Aug 2013 22:46:05 +0000 (22:46 +0000)]
Give a smaller viewport to webkit.org on devices

Rubberstamped by Simon Fraser.

The CSS of WebKit.org layout the content on 615px + a right margin of
215px + a left margin of 20px. The total layout width is 850px.

The standard viewport size on mobile devices is 980px. This leaves a gap
on the right side of the content when opening the size on iPhone/iPad.

This patch changes the layout width to be 860 to display more content on devices
while keeping a little margin.

* header.inc:

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

7 years ago [WK2] loader/go-back-cached-main-resource.html fails
ap@apple.com [Thu, 8 Aug 2013 22:38:04 +0000 (22:38 +0000)]
    [WK2] loader/go-back-cached-main-resource.html fails
        https://bugs.webkit.org/show_bug.cgi?id=116491

        Reviewed by Tim Horton.

        * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
        * DumpRenderTree/gtk/DumpRenderTree.cpp:
        * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
        * DumpRenderTree/win/DumpRenderTree.cpp:
        Added FIXMEs about making path printing normalization more compatible.

        * DumpRenderTree/mac/ResourceLoadDelegate.mm: (-[NSURL _drt_descriptionSuitableForTestResult]):
        Return last path component in cases where we used to return a full path, which is
        never desirable. Added a null check to basePath to prevent potentially getting
        an Objective C exception.

        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
        (WTR::pathSuitableForTestResult): Changed to use path for main test window, not
        for a currently loading one (which is different for tests that use multiple windows).
        Changed to return "(null)" for empty URLs to match WK1 output. Changed to return
        last path component as last fallback.
        (WTR::dumpRequestDescriptionSuitableForTestResult): We no longer need to pass main
        frame URL here, and it was potentially a wrong frame.
        (WTR::dumpResponseDescriptionSuitableForTestResult): Ditto.
        (WTR::InjectedBundlePage::willPerformClientRedirectForFrame): Ditto.
        (WTR::InjectedBundlePage::didInitiateLoadForResource): Ditto.
        (WTR::InjectedBundlePage::willSendRequestForFrame): Ditto.
        (WTR::InjectedBundlePage::didReceiveResponseForResource): Ditto.

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

7 years ago[EME] setMediaKeys function as defined in the EME specification does not work
jer.noble@apple.com [Thu, 8 Aug 2013 22:29:16 +0000 (22:29 +0000)]
[EME] setMediaKeys function as defined in the EME specification does not work
https://bugs.webkit.org/show_bug.cgi?id=119597

Reviewed by Anders Carlsson.

Source/WebCore:

No new tests; updated media/encrypted-media/encrypted-media-v2-syntax.html

Rename the mediaKeys attribute 'keys' and make readonly, and add an explicit
setMediaKeys() method in HTMLMediaElement's IDL.

* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::keys):
* html/HTMLMediaElement.idl:

LayoutTests:

* media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
* media/encrypted-media/encrypted-media-v2-syntax.html:

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

7 years agoHashing SecurityOrigin's can lead to trouble if you mutate them :(
weinig@apple.com [Thu, 8 Aug 2013 22:01:05 +0000 (22:01 +0000)]
Hashing SecurityOrigin's can lead to trouble if you mutate them :(
https://bugs.webkit.org/show_bug.cgi?id=119533
<rdar://problem/12978338>

Reviewed by Andreas Kling.

We are getting into trouble in the following circumstance:
- You have a HashMap<RefPtr<SecurityOrigin>, Value> map.
- You add security origin A (http, www.webkit.org, 80) to the map.
- You mutate security origin A by domain relaxation, so that it has the domain webkit.org.
- You add security origin B (http, www.webkit.org, 80) to the map.
- You mutate security origin B by domain relaxation, so that it has the domain webkit.org.
    You now have two identical keys in the map.
- Add few more items to the map causing a rehash.
- When you try to add A and B back into the map, you will have a collision, because they now equal each other.

We should probably stop using SecurityOrigins as keys in HashMaps (and move to using a non-mutable SecurityOriginTuple,
or something), but for now, we can just only use the scheme / host / port part for equality, which is what all the users
really want.

* page/SecurityOriginHash.h:
(WebCore::SecurityOriginHash::equal):
Switch to using isSameSchemeHostPort() for SecurityOriginHash::equal().

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

7 years agoAdd logging to the primary plugin detection
dino@apple.com [Thu, 8 Aug 2013 21:33:37 +0000 (21:33 +0000)]
Add logging to the primary plugin detection
https://bugs.webkit.org/show_bug.cgi?id=119594

Reviewed by Tim Horton.

Add some simple logging to our primary plug-in detection.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::determinePrimarySnapshottedPlugIn):

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

7 years agoASSERT_NOT_REACHED() touched in WebCore::SVGAnimatedStringAnimator::addAnimatedTypes
rwlbuis@webkit.org [Thu, 8 Aug 2013 21:19:27 +0000 (21:19 +0000)]
ASSERT_NOT_REACHED() touched in WebCore::SVGAnimatedStringAnimator::addAnimatedTypes
https://bugs.webkit.org/show_bug.cgi?id=113224

Reviewed by Dirk Schulze.

Source/WebCore:

Do not perform from-by animations for non-additive attributes.

Test: svg/animations/non-additive-type-from-by-animation.html

* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::calculateFromAndByValues):

LayoutTests:

Add a test for animating non-additive attributes in from-by animations

* svg/animations/non-additive-type-from-by-animation-expected.txt: Added.
* svg/animations/non-additive-type-from-by-animation.html: Added.
* svg/animations/resources/non-additive-type-from-by-animation.svg: Added.
* svg/animations/script-tests/non-additive-type-from-by-animation.js: Added.
(sample):
(executeTest):

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

7 years agofullscreen/exit-full-screen-iframe.html is failing
eric.carlson@apple.com [Thu, 8 Aug 2013 21:17:14 +0000 (21:17 +0000)]
fullscreen/exit-full-screen-iframe.html is failing
https://bugs.webkit.org/show_bug.cgi?id=90708

Unreviewed gardening.

* platform/mac/TestExpectations: Mark test as flakey, it doesn't always pass.

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

7 years ago[Windows] Improper Caption Button Displayed to Users
bfulgham@apple.com [Thu, 8 Aug 2013 21:12:24 +0000 (21:12 +0000)]
[Windows] Improper Caption Button Displayed to Users
https://bugs.webkit.org/show_bug.cgi?id=119593

Reviewed by Eric Carlson.

Remove the custom drawing code for the Windows port, and
have it render using the CSS/SVG markup like we do on OS X.

* rendering/RenderThemeWin.cpp: Remove drawing code.
* rendering/RenderThemeWin.h: Remove declaration.

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

7 years agofast/events/scroll-div-with-prevent-default-in-subframe.html is failing
eric.carlson@apple.com [Thu, 8 Aug 2013 21:05:41 +0000 (21:05 +0000)]
fast/events/scroll-div-with-prevent-default-in-subframe.html is failing
https://bugs.webkit.org/show_bug.cgi?id=82747

Unreviewed gardening.

* platform/mac/TestExpectations: Mark test as flakey, it doesn't always pass.

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

7 years agoWork towards WebGL on AppleWin port.
achristensen@apple.com [Thu, 8 Aug 2013 20:19:27 +0000 (20:19 +0000)]
Work towards WebGL on AppleWin port.
https://bugs.webkit.org/show_bug.cgi?id=119562

Reviewed by Brent Fulgham.

* WebCore.vcxproj/WebCore.vcxproj:
Build GLContext.cpp and GraphicsContext3DPrivate.cpp on AppleWin port.
* WebCore.vcxproj/WebCore.vcxproj.filters:
Moved GLContext and GraphicsContext3DPrivate from Cairo filter to graphics.
* platform/graphics/GraphicsContext3D.h:
Added m_webGLLayer for AppleWin port.
* platform/graphics/GraphicsContext3DPrivate.cpp:
Protected inclusion of PlatformContextCairo.h in USE(CAIRO) macro for non-cairo ports.
* platform/graphics/win/GraphicsContext3DWin.cpp:
Removed stub GraphicsContext3DPrivate implementation in favor of GraphicsContext3DPrivate.cpp.
(WebCore::GraphicsContext3D::GraphicsContext3D):
Added GraphicsContext3DPrivate and PlatformCALayer initialization.
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::platformGraphicsContext3D):
Added implementation based on Cairo ports' to be refactored soon.
(WebCore::GraphicsContext3D::platformLayer):
Return PlatformCALayer's PlatformLayer instead of 0.

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

7 years agohttp/tests/navigation/back-twice-without-commit.html is flaky
eric.carlson@apple.com [Thu, 8 Aug 2013 19:53:05 +0000 (19:53 +0000)]
http/tests/navigation/back-twice-without-commit.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=82980

Unreviewed gardening.

* platform/mac/TestExpectations: Unskip passing test.

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

7 years agoLayout Test fast/overflow/scrollbar-click-retains-focus.html is failing on Apple...
eric.carlson@apple.com [Thu, 8 Aug 2013 19:48:44 +0000 (19:48 +0000)]
Layout Test fast/overflow/scrollbar-click-retains-focus.html is failing on Apple Mac WK1 and GTK.
https://bugs.webkit.org/show_bug.cgi?id=104104

Unreviewed gardening.

* platform/mac/TestExpectations: Unskip passing test.

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

7 years agoUnprefix use of transitions in Web Inspector code
dino@apple.com [Thu, 8 Aug 2013 19:22:34 +0000 (19:22 +0000)]
Unprefix use of transitions in Web Inspector code
https://bugs.webkit.org/show_bug.cgi?id=119588

Reviewed by Tim Hatcher.

Replace "-webkit-transition" with "transition".

* UserInterface/CSSCompletions.js:
(WebInspector.CSSCompletions.requestCSSNameCompletions.collectPropertyNameForCodeMirror):
* UserInterface/FindBanner.css:
(.find-banner):
(.find-banner.showing):
(.supports-find-banner.no-find-banner-transition):
(.supports-find-banner):
(.supports-find-banner.showing-find-banner):
* UserInterface/NetworkTimeline.css:
(.network-graph-side:hover .network-graph-label):
* UserInterface/Popover.css:
(.popover.fade-out):

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

7 years ago WKBundleFrameCopyProvisionalURL crashes when there is no provisional loader
ap@apple.com [Thu, 8 Aug 2013 19:22:31 +0000 (19:22 +0000)]
    WKBundleFrameCopyProvisionalURL crashes when there is no provisional loader
        https://bugs.webkit.org/show_bug.cgi?id=119587

        Reviewed by Darin Adler.

        * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::provisionalURL): Added a null
        check, like we already have in WebFrame::url().

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

7 years ago[EME] Implement MediaKeys.isTypeSupported()
jer.noble@apple.com [Thu, 8 Aug 2013 19:17:47 +0000 (19:17 +0000)]
[EME] Implement MediaKeys.isTypeSupported()
https://bugs.webkit.org/show_bug.cgi?id=119586

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/encrypted-media/encrypted-media-is-type-supported.html

The EME spec has removed the extra keySystem parameter from
HTMLMediaElement.canPlayType() in favor of a new isTypeSupported()
method on MediaKeys.

To implement this method, the CDMFactory needs to know whether the
registered CDM supports the specified mime type.  CDMs must register
this new factory method, which requires changes to CDMPrivateAVFoundation
and MockCDM.

Add the new MediaKeys.isTypeSupported() method:
* Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::isTypeSupported):
* Modules/encryptedmedia/MediaKeys.h:
* Modules/encryptedmedia/MediaKeys.idl:

Add the new factory CDMSupportsKeySystemAndMimeType method:
* Modules/encryptedmedia/CDM.cpp:
(WebCore::CDMFactory::CDMFactory): Now takes a third parameter.
(WebCore::installedCDMFactories): When adding the AVFoundation CDM, pass its new method.
(WebCore::CDM::registerCDMFactory): Now takes a third parameter.
(WebCore::CDM::keySystemSupportsMimeType): Added.
* Modules/encryptedmedia/CDM.h:
* WebCore.exp.in:

Register this new method with the factory for all concrete CDMs:
* Modules/encryptedmedia/CDMPrivateAVFoundation.h:
* Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
(WebCore::CDMPrivateAVFoundation::supportsKeySystem):
(WebCore::CDMPrivateAVFoundation::supportsKeySystemAndMimeType):
* testing/Internals.cpp:
(WebCore::Internals::initializeMockCDM):
* testing/MockCDM.cpp:
(WebCore::MockCDM::supportsKeySystem):
(WebCore::MockCDM::supportsKeySystemAndMimeType):
* testing/MockCDM.h:

LayoutTests:

* media/encrypted-media/encrypted-media-is-type-supported-expected.txt: Added.
* media/encrypted-media/encrypted-media-is-type-supported.html: Added.

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

7 years agofast/events/scroll-div-with-prevent-default-in-subframe.html is failing
eric.carlson@apple.com [Thu, 8 Aug 2013 18:47:50 +0000 (18:47 +0000)]
fast/events/scroll-div-with-prevent-default-in-subframe.html is failing
https://bugs.webkit.org/show_bug.cgi?id=82747

Unreviewed gardening.

* platform/mac/TestExpectations: Unskip passing test.

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

7 years agoREGRESSION(r130839): fast/canvas/webgl/arraybuffer-transfer-of-control.html is failing
eric.carlson@apple.com [Thu, 8 Aug 2013 18:40:59 +0000 (18:40 +0000)]
REGRESSION(r130839): fast/canvas/webgl/arraybuffer-transfer-of-control.html is failing
https://bugs.webkit.org/show_bug.cgi?id=99096

Unreviewed gardening.

* platform/mac/TestExpectations: Unskip passing test.

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

7 years agoCrash in WTF::RefPtr<WebCore::SpaceSplitStringData>::operator UnspecifiedBoolType
rwlbuis@webkit.org [Thu, 8 Aug 2013 18:38:53 +0000 (18:38 +0000)]
Crash in WTF::RefPtr<WebCore::SpaceSplitStringData>::operator UnspecifiedBoolType
https://bugs.webkit.org/show_bug.cgi?id=118839

Reviewed by Darin Adler.

Source/WebCore:

Take into account that elementData() can be null in classAttributeChanged.

Test: svg/animations/classAttributeSettingCrash.html

* dom/Element.cpp:
(WebCore::Element::classAttributeChanged):

LayoutTests:

Add testcase that showed up to cause a crash by the fuzzer.

* svg/animations/classAttributeSettingCrash-expected.txt: Added.
* svg/animations/classAttributeSettingCrash.html: Added.

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

7 years agofullscreen/exit-full-screen-iframe.html is failing
eric.carlson@apple.com [Thu, 8 Aug 2013 18:35:49 +0000 (18:35 +0000)]
fullscreen/exit-full-screen-iframe.html is failing
https://bugs.webkit.org/show_bug.cgi?id=90708

Unreviewed gardening.

* platform/mac/TestExpectations: Unskip passing test.

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

7 years agosvg/custom/use-href-update-crash.svg failing on certain platforms
rwlbuis@webkit.org [Thu, 8 Aug 2013 18:17:36 +0000 (18:17 +0000)]
svg/custom/use-href-update-crash.svg failing on certain platforms
https://bugs.webkit.org/show_bug.cgi?id=104054

Reviewed by Darin Adler.

Fix mistake in use-href-update-crash.svg which caused the gc() not found problem. Update the test expectations
that had this marked as failure, it passes after the test fix.

* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* svg/custom/use-href-update-crash.svg:

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

7 years agoREGRESSION(r147019): Page has extra space
robert@webkit.org [Thu, 8 Aug 2013 18:13:22 +0000 (18:13 +0000)]
REGRESSION(r147019): Page has extra space
https://bugs.webkit.org/show_bug.cgi?id=119424

Reviewed by David Hyatt.

Clear the overflow rect before recomputing it in table sections.

No new tests: the reduction uses jquery and I was unable to simulate the reduction without it.

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::computeOverflowFromCells):

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

7 years ago WTR::pathSuitableForTestResult should behave the same as _drt_descriptionSuit...
ap@apple.com [Thu, 8 Aug 2013 17:41:55 +0000 (17:41 +0000)]
    WTR::pathSuitableForTestResult should behave the same as _drt_descriptionSuitableForTestResult so we can unskip tests.
        https://bugs.webkit.org/show_bug.cgi?id=116125

        Reviewed by Tim Horton. Tweaked and re-landed by Alexey Proskuryakov.

        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
        (WTR::pathSuitableForTestResult):
        Changed string operations to match _drt_descriptionSuitableForTestResult.
        (WTR::dumpRequestDescriptionSuitableForTestResult):
        (WTR::dumpResponseDescriptionSuitableForTestResult):
        (WTR::InjectedBundlePage::willPerformClientRedirectForFrame):
        (WTR::InjectedBundlePage::didInitiateLoadForResource):
        (WTR::InjectedBundlePage::willSendRequestForFrame):
        (WTR::InjectedBundlePage::didReceiveResponseForResource):
        Pass the main frame's URL to pathSuitableForTestResult.
        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
        Added WKBundlePageRef to willPerformClientRedirectForFrame.

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

7 years agoInserting multiple rules into an empty style sheet should avoid style recalc if possible.
akling@apple.com [Thu, 8 Aug 2013 17:41:11 +0000 (17:41 +0000)]
Inserting multiple rules into an empty style sheet should avoid style recalc if possible.
<http://webkit.org/b/119568>

Reviewed by Antti Koivisto.

As a follow-up to <http://webkit.org/b/119475>, where I added a hack for inserting
a single rule into an empty style sheet, this broadens the optimization to support
any number of rules.

This optimizes the scenario where a style sheet is added to the DOM and then populated
rule-by-rule via CSSOM insertRule()/addRule() calls. Previously we'd do a full style
recalc for this case, but now we'll treat it the same as a full sheet added at once.

* css/CSSStyleSheet.h:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::willMutateRules):

    Made willMutateRules() return whether the style sheet contents were cloned by the
    copy-on-write mechanism.

* dom/Document.h:
(WebCore::CSSStyleSheet::didMutateRules):
(WebCore::CSSStyleSheet::insertRule):

    Replaced the InsertionIntoEmptySheet mutation type by a general RuleInsertion.
    The mutation callback checks if we're inserting into a rule that's not (yet) part
    of the document's active sheet set. In that case, we defer doing the style sheet
    until all the insertions are done (or something forces us to style+layout.)

    Note that this optimization only happens if the style sheet had a single client.
    Shared style sheets that just got cloned before mutation may have pointers into
    them from the Document's StyleResolver, so we're forced to do an immediate sheet
    update in that case.

(WebCore::CSSStyleSheet::RuleMutationScope::RuleMutationScope):
(WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):

    Moved these out-of-line.

(WebCore::CSSStyleSheet::didMutateRuleFromCSSStyleDeclaration):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::StyleRuleCSSStyleDeclaration::didMutate):

    Made a separate mutation callback for CSSStyleDeclaration since its needs are
    so simple compared to the mutation callback from CSSStyleSheet. Seems better
    than adding yet another mode to the enum.

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::recalcStyle):
(WebCore::Document::styleResolverChanged):
(WebCore::Document::optimizedStyleSheetUpdateTimerFired):
(WebCore::Document::scheduleOptimizedStyleSheetUpdate):

    Added mechanism to defer doing a RecalcStyleIfNeeded.

(WebCore::Document::updateStyleIfNeeded):

    Synchronize the optimized style sheet update if there's one scheduled.
    This ensures that stuff like layout-dependent property access won't operate
    on stale style.

* dom/DocumentStyleSheetCollection.h:
(WebCore::DocumentStyleSheetCollection::pendingUpdateType):
(WebCore::DocumentStyleSheetCollection::setPendingUpdateType):
(WebCore::DocumentStyleSheetCollection::flushPendingUpdates):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):

    Have DSSC track the kind of style sheet update it needs to do (instead of just
    a boolean "needs update.") This is used by Document::recalcStyle() to make sure
    the right kind of update happens if there's one scheduled.

(WebCore::DocumentStyleSheetCollection::activeStyleSheetsContains):

    Added helper to check if a CSSStyleSheet is part of the active set.

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

7 years ago[WK1] NPStream::headers not initialized
allan.jensen@digia.com [Thu, 8 Aug 2013 17:38:06 +0000 (17:38 +0000)]
[WK1] NPStream::headers not initialized
https://bugs.webkit.org/show_bug.cgi?id=119574

Reviewed by Alexey Proskuryakov.

Initialize the header field. According to user feedback that should solve some
cases of random crashes when loading plugins on Mac and Windows.

* plugins/PluginStream.cpp:
(WebCore::PluginStream::PluginStream):

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

7 years agoOops, didn't mean to implicate Mark Lam in the ChangeLog there.
akling@apple.com [Thu, 8 Aug 2013 17:27:46 +0000 (17:27 +0000)]
Oops, didn't mean to implicate Mark Lam in the ChangeLog there.

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

7 years agoElement: Modernize attribute storage accessor functions.
akling@apple.com [Thu, 8 Aug 2013 17:25:50 +0000 (17:25 +0000)]
Element: Modernize attribute storage accessor functions.
<http://webkit.org/b/119578>

Source/WebCore:

Patch by Mark Lam <mark.lam@apple.com> on 2013-08-08
Reviewed by Antti Koivisto.

Rename these functions to more WebKit-style names.

- const Attribute* attributeItem(index) => const Attribute& attributeAt(index)
- const Attribute* getAttributeItem(name) => const Attribute* findAttributeByName(name)
- unsigned getAttributeItemIndex(name) => unsigned findAttributeIndexByName(name)

Note that attributeAt() now returns a reference instead of a pointer. That's right.

* css/SelectorChecker.cpp:
(WebCore::attributeValueMatches):
(WebCore::anyAttributeMatches):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::checkExactAttribute):
* dom/Attr.cpp:
(WebCore::Attr::elementAttribute):
* dom/DatasetDOMStringMap.cpp:
(WebCore::DatasetDOMStringMap::getNames):
(WebCore::DatasetDOMStringMap::item):
(WebCore::DatasetDOMStringMap::contains):
* dom/Element.cpp:
(WebCore::Element::detachAttribute):
(WebCore::Element::removeAttribute):
(WebCore::Element::getAttribute):
(WebCore::Element::setAttribute):
(WebCore::Element::setSynchronizedLazyAttribute):
(WebCore::Element::setAttributeInternal):
(WebCore::Element::setAttributeNode):
(WebCore::Element::removeAttributeNode):
(WebCore::Element::removeAttributeInternal):
(WebCore::Element::getAttributeNode):
(WebCore::Element::getAttributeNodeNS):
(WebCore::Element::hasAttribute):
(WebCore::Element::hasAttributeNS):
(WebCore::Element::computeInheritedLanguage):
(WebCore::Element::normalizeAttributes):
(WebCore::Element::getURLAttribute):
(WebCore::Element::getNonEmptyURLAttribute):
(WebCore::Element::detachAllAttrNodesFromElement):
(WebCore::Element::cloneAttributesFromElement):
(WebCore::ElementData::isEquivalent):
(WebCore::ElementData::findAttributeIndexByNameSlowCase):
(WebCore::ElementData::findAttributeIndexByNameForAttributeNode):
(WebCore::UniqueElementData::findAttributeByName):
(WebCore::UniqueElementData::attributeAt):
* dom/Element.h:
(WebCore::Element::findAttributeIndexByName):
(WebCore::Element::fastHasAttribute):
(WebCore::Element::fastGetAttribute):
(WebCore::Element::attributeAt):
(WebCore::Element::findAttributeByName):
(WebCore::ElementData::findAttributeByName):
(WebCore::ElementData::findAttributeIndexByName):
(WebCore::ElementData::attributeAt):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::removeNamedItem):
(WebCore::NamedNodeMap::removeNamedItemNS):
(WebCore::NamedNodeMap::item):
* dom/Node.cpp:
(WebCore::Node::dumpStatistics):
(WebCore::Node::isDefaultNamespace):
(WebCore::Node::lookupNamespaceURI):
(WebCore::Node::lookupNamespacePrefix):
(WebCore::Node::compareDocumentPosition):
* dom/StyledElement.cpp:
(WebCore::StyledElement::makePresentationAttributeCacheKey):
(WebCore::StyledElement::rebuildPresentationAttributeStyle):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendElement):
* editing/markup.cpp:
(WebCore::completeURLs):
(WebCore::StyledMarkupAccumulator::appendElement):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parametersForPlugin):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::parseAttribute):
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::innerPatchNode):
(WebCore::DOMPatchSupport::createDigest):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setAttributesAsText):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
* page/PageSerializer.cpp:
(WebCore::isCharsetSpecifyingNode):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::getPresentationAttribute):
* xml/XPathFunctions.cpp:
(WebCore::XPath::FunLang::evaluate):
* xml/XPathNodeSet.cpp:
(WebCore::XPath::NodeSet::traversalSort):
* xml/XPathStep.cpp:
(WebCore::XPath::Step::nodesInAxis):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::XMLDocumentParser):

Source/WebKit/blackberry:

Reviewed by Antti Koivisto.

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

Source/WebKit/qt:

Reviewed by Antti Koivisto.

* Api/qwebelement.cpp:
(QWebElement::attributeNames):

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

7 years agoRestoring use of StackIterator instead of Interpreter::getStacktrace().
mark.lam@apple.com [Thu, 8 Aug 2013 16:57:07 +0000 (16:57 +0000)]
Restoring use of StackIterator instead of Interpreter::getStacktrace().
https://bugs.webkit.org/show_bug.cgi?id=119575.

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

* interpreter/Interpreter.h:
- Made getStackTrace() private.
* interpreter/StackIterator.cpp:
(JSC::StackIterator::StackIterator):
(JSC::StackIterator::numberOfFrames):
- Computes the number of frames by iterating through the whole stack
  from the starting frame. The iterator will save its current frame
  position before counting the frames, and then restoring it after
  the counting.
(JSC::StackIterator::gotoFrameAtIndex):
(JSC::StackIterator::gotoNextFrame):
(JSC::StackIterator::resetIterator):
- Points the iterator to the starting frame.
* interpreter/StackIteratorPrivate.h:

Source/WebCore:

No new tests.

* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStack):

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

7 years agoSunSpider: Move the 3d-morph fix from version 1.0 to version 1.0.1
commit-queue@webkit.org [Thu, 8 Aug 2013 16:55:05 +0000 (16:55 +0000)]
SunSpider: Move the 3d-morph fix from version 1.0 to version 1.0.1
https://bugs.webkit.org/show_bug.cgi?id=117993

Patch by Cosmin Truta <ctruta@blackberry.com> on 2013-08-08
Reviewed by George Staikos.

PerformanceTests/SunSpider:

Bump the SunSpider version to 1.0.1.

Unroll r149548 in order to restore version 1.0 to its original,
and add the 3d-morph fix to version 1.0.1 instead.

* hosted/sunspider.html: Updated to version 1.0.1.
* hosted/versions.html: Updated to version 1.0.1.
* make-hosted: Added support for version 1.0.1.
* resources/driver-TEMPLATE.html: Updated to version 1.0.1.
* resources/results-TEMPLATE.html: Updated to version 1.0.1.
* sunspider: Updated to version 1.0.1.
* sunspider-compare-results: Updated to version 1.0.1.
* tests/sunspider-1.0/3d-morph.js: Rolled back to the original version.
* tests/sunspider-1.0.1/LIST: Added.
* tests/sunspider-1.0.1/3d-cube.js: Added.
* tests/sunspider-1.0.1/3d-morph.js: Added.
* tests/sunspider-1.0.1/3d-raytrace.js: Added.
* tests/sunspider-1.0.1/access-binary-trees.js: Added.
* tests/sunspider-1.0.1/access-fannkuch.js: Added.
* tests/sunspider-1.0.1/access-nbody.js: Added.
* tests/sunspider-1.0.1/access-nsieve.js: Added.
* tests/sunspider-1.0.1/bitops-3bit-bits-in-byte.js: Added.
* tests/sunspider-1.0.1/bitops-bits-in-byte.js: Added.
* tests/sunspider-1.0.1/bitops-bitwise-and.js: Added.
* tests/sunspider-1.0.1/bitops-nsieve-bits.js: Added.
* tests/sunspider-1.0.1/controlflow-recursive.js: Added.
* tests/sunspider-1.0.1/crypto-aes.js: Added.
* tests/sunspider-1.0.1/crypto-md5.js: Added.
* tests/sunspider-1.0.1/crypto-sha1.js: Added.
* tests/sunspider-1.0.1/date-format-tofte.js: Added.
* tests/sunspider-1.0.1/date-format-xparb.js: Added.
* tests/sunspider-1.0.1/math-cordic.js: Added.
* tests/sunspider-1.0.1/math-partial-sums.js: Added.
* tests/sunspider-1.0.1/math-spectral-norm.js: Added.
* tests/sunspider-1.0.1/regexp-dna.js: Added.
* tests/sunspider-1.0.1/string-base64.js: Added.
* tests/sunspider-1.0.1/string-fasta.js: Added.
* tests/sunspider-1.0.1/string-tagcloud.js: Added.
* tests/sunspider-1.0.1/string-unpack-code.js: Added.
* tests/sunspider-1.0.1/string-validate-input.js: Added.

Websites/webkit.org:

* perf/sunspider-1.0.1/json2.js: Added.
* perf/sunspider-1.0.1/sunspider-1.0.1/driver.html: Added.
* perf/sunspider-1.0.1/sunspider-1.0.1/results.html: Added.
* perf/sunspider-1.0.1/sunspider-1.0.1/sunspider-test-contents.js: Added.
* perf/sunspider-1.0.1/sunspider-1.0.1/sunspider-test-prefix.js: Added.
* perf/sunspider-1.0.1/sunspider-analyze-results.js: Added.
* perf/sunspider-1.0.1/sunspider-compare-results.js: Added.
* perf/sunspider-1.0.1/sunspider.css: Added.
* perf/sunspider-1.0.1/sunspider.html: Added.
* perf/sunspider/sunspider.html: Updated to version 1.0.1.
* perf/sunspider/versions.html: Updated to version 1.0.1.

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

7 years agoMoved ErrorConstructor and NativeErrorConstructor helper functions into
mark.lam@apple.com [Thu, 8 Aug 2013 16:38:31 +0000 (16:38 +0000)]
Moved ErrorConstructor and NativeErrorConstructor helper functions into
the Interpreter class.
https://bugs.webkit.org/show_bug.cgi?id=119576.

Reviewed by Oliver Hunt.

This change is needed to prepare for making Interpreter::getStackTrace()
private. It does not change the behavior of the code, only the lexical
scoping.

* interpreter/Interpreter.h:
- Added helper functions for ErrorConstructor and NativeErrorConstructor.
* runtime/ErrorConstructor.cpp:
(JSC::Interpreter::constructWithErrorConstructor):
(JSC::ErrorConstructor::getConstructData):
(JSC::Interpreter::callErrorConstructor):
(JSC::ErrorConstructor::getCallData):
- Don't want ErrorConstructor to call Interpreter::getStackTrace()
  directly. So, we moved the helper functions into the Interpreter
  class.
* runtime/NativeErrorConstructor.cpp:
(JSC::Interpreter::constructWithNativeErrorConstructor):
(JSC::NativeErrorConstructor::getConstructData):
(JSC::Interpreter::callNativeErrorConstructor):
(JSC::NativeErrorConstructor::getCallData):
- Don't want NativeErrorConstructor to call Interpreter::getStackTrace()
  directly. So, we moved the helper functions into the Interpreter
  class.

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

7 years agoREGRESSION (r121551) Incorrect handling of invalid media query list.
zalan@apple.com [Thu, 8 Aug 2013 14:49:44 +0000 (14:49 +0000)]
REGRESSION (r121551) Incorrect handling of invalid media query list.
https://bugs.webkit.org/show_bug.cgi?id=119164

Reviewed by Antti Koivisto.

Differentiate between syntactically invalid media queries and media queries with empty expressions.

Introduce a dedicated function for valid, but empty expression queries, so that passing NULL MediaQuerySet
object to CSSParser::createMediaRule() can indicate invalid media query.

Source/WebCore:

Test: fast/media/invalid-media-query-list.html

* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::createMediaRule):
(WebCore::CSSParser::createEmptyMediaRule):
* css/CSSParser.h:

LayoutTests:

* fast/media/invalid-media-query-list-expected.html: Added.
* fast/media/invalid-media-query-list.html: Added.

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

7 years ago[Qt] Unreviewed rebaselining after r153647.
zarvai@inf.u-szeged.hu [Thu, 8 Aug 2013 13:30:15 +0000 (13:30 +0000)]
[Qt] Unreviewed rebaselining after r153647.

* platform/qt/fast/css/input-search-padding-expected.png:
* platform/qt/fast/css/input-search-padding-expected.txt:
* platform/qt/fast/css/text-overflow-input-expected.png:
* platform/qt/fast/css/text-overflow-input-expected.txt:
* platform/qt/fast/forms/box-shadow-override-expected.png:
* platform/qt/fast/forms/box-shadow-override-expected.txt:
* platform/qt/fast/forms/control-restrict-line-height-expected.png:
* platform/qt/fast/forms/control-restrict-line-height-expected.txt:
* platform/qt/fast/forms/placeholder-position-expected.png:
* platform/qt/fast/forms/placeholder-position-expected.txt:
* platform/qt/fast/forms/placeholder-pseudo-style-expected.png:
* platform/qt/fast/forms/placeholder-pseudo-style-expected.txt:
* platform/qt/fast/forms/search-cancel-button-style-sharing-expected.png:
* platform/qt/fast/forms/search-cancel-button-style-sharing-expected.txt:
* platform/qt/fast/forms/search-display-none-cancel-button-expected.png:
* platform/qt/fast/forms/search-display-none-cancel-button-expected.txt:
* platform/qt/fast/forms/search-rtl-expected.png:
* platform/qt/fast/forms/search-rtl-expected.txt:
* platform/qt/fast/forms/search-styled-expected.png:
* platform/qt/fast/forms/search-styled-expected.txt:
* platform/qt/fast/forms/search-vertical-alignment-expected.png:
* platform/qt/fast/forms/search-vertical-alignment-expected.txt:
* platform/qt/fast/forms/search/search-size-with-decorations-expected.png: Added.
* platform/qt/fast/forms/search/search-size-with-decorations-expected.txt: Added.
* platform/qt/fast/repaint/search-field-cancel-expected.png:
* platform/qt/fast/repaint/search-field-cancel-expected.txt:

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

7 years agoIntroduce toSVGMPathElement(), and use it
gyuyoung.kim@samsung.com [Thu, 8 Aug 2013 11:00:29 +0000 (11:00 +0000)]
Introduce toSVGMPathElement(), and use it
https://bugs.webkit.org/show_bug.cgi?id=119566

Reviewed by Andreas Kling.

As a step to change static_cast with toSVGXXX, static_cast<SVGMPathElement*> can
be changed with toSVGMPathElement().

* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::updateAnimationPath):
* svg/SVGMPathElement.h:
(WebCore::toSVGMPathElement):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::invalidateMPathDependencies):

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

7 years ago<rdar://problem/14680524> REGRESSION(153806): Crash @ yahoo.com when WebKit is built...
slewis@apple.com [Thu, 8 Aug 2013 10:25:45 +0000 (10:25 +0000)]
<rdar://problem/14680524> REGRESSION(153806): Crash @ yahoo.com when WebKit is built with a .order file

Unreviewed.

Ensure llint symbols are in source order.

* JavaScriptCore.order:

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

7 years ago[Qt] Skip more tests depending on canvas blending.
allan.jensen@digia.com [Thu, 8 Aug 2013 09:54:57 +0000 (09:54 +0000)]
[Qt] Skip more tests depending on canvas blending.
https://bugs.webkit.org/show_bug.cgi?id=100072

Unreviewed gardening.

* platform/qt/TestExpectations:

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

7 years agoWeb Inspector: Use granular DOMStorage modification events to avoid complete DataGrid...
vivek.vg@samsung.com [Thu, 8 Aug 2013 07:58:01 +0000 (07:58 +0000)]
Web Inspector: Use granular DOMStorage modification events to avoid complete DataGrid update.
https://bugs.webkit.org/show_bug.cgi?id=119541

Reviewed by Joseph Pecoraro.

InspectorDOMStorageAgent sends more granular events about the storage modifications.
Using these would avoid the complete rebuilding of the DataGrid.

* UserInterface/DOMStorageContentView.js:
(WebInspector.DOMStorageContentView.prototype.itemsCleared):
(WebInspector.DOMStorageContentView.prototype.itemRemoved):
(WebInspector.DOMStorageContentView.prototype.itemAdded):
(WebInspector.DOMStorageContentView.prototype.itemUpdated):
* UserInterface/DOMStorageObserver.js:
(WebInspector.DOMStorageObserver.prototype.domStorageItemsCleared):
(WebInspector.DOMStorageObserver.prototype.domStorageItemRemoved):
(WebInspector.DOMStorageObserver.prototype.domStorageItemAdded):
(WebInspector.DOMStorageObserver.prototype.domStorageItemUpdated):
* UserInterface/StorageManager.js:
(WebInspector.StorageManager.prototype.domStorageItemsCleared):
(WebInspector.StorageManager.prototype.domStorageItemRemoved):
(WebInspector.StorageManager.prototype.domStorageItemAdded):
(WebInspector.StorageManager.prototype.domStorageItemUpdated):

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

7 years agoMove more style recalc code to StyleResolveTree.cpp
antti@apple.com [Thu, 8 Aug 2013 07:18:36 +0000 (07:18 +0000)]
Move more style recalc code to StyleResolveTree.cpp
https://bugs.webkit.org/show_bug.cgi?id=119553

Reviewed by Andreas Kling.

* css/StyleResolver.cpp:
* css/StyleResolver.h:

    Remove now unused StyleResolver::styleForText.

* dom/ElementShadow.cpp:
* dom/ElementShadow.h:

    Remove ElementShadow::recalcStyle.

* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::setResetStyleInheritance):

    Use Style::resolveTree instead of ElementShadow::recalcStyle.

* dom/ShadowRoot.h:

    Remove ShadowRoot::recalcStyle.

* dom/Text.cpp:
* dom/Text.h:

    Remove Text::recalcTextStyle.

* style/StyleResolveTree.cpp:
(WebCore::Style::updateTextStyle):

    Moved from Text::recalcTextStyle. Speed up by just setting the parent style on common case.

(WebCore::Style::resolveShadowTree):

    Moved from ShadowRoot::recalcStyle.
    Simplified to cover only cases that can occur with the current shadow DOM support.

(WebCore::Style::resolveTree):

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

7 years agoREGRESSION(r139282): Old caret sometimes gets "stuck" (not repainted) in contentedita...
akling@apple.com [Thu, 8 Aug 2013 07:16:51 +0000 (07:16 +0000)]
REGRESSION(r139282): Old caret sometimes gets "stuck" (not repainted) in contenteditable elements.
<http://webkit.org/b/119520>
<rdar://problem/14658929>

Reviewed by Simon Fraser.

Source/WebCore:

When computing a new caret rect, don't forget to repaint the old rect if the caret jumped
from one node to another.
We were being a little too clever, assuming that oldRect==newRect meant that no repaint was
necessary, but moving from (0,0) in one node to (0,0) in another would cause a ghost caret
in the old node.

Test: fast/repaint/caret-jump-between-nodes.html

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::recomputeCaretRect):

    Fall through all the way down to caret repaints if the selection's new anchor node is not
    the same as m_previousCaretNode.

LayoutTests:

* fast/repaint/caret-jump-between-nodes-expected.txt: Added.
* fast/repaint/caret-jump-between-nodes.html: Added.

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

7 years ago[CSS Regions] Propagate overflow from the flow thread to the first and last region
abucur@adobe.com [Thu, 8 Aug 2013 06:28:02 +0000 (06:28 +0000)]
[CSS Regions] Propagate overflow from the flow thread to the first and last region
https://bugs.webkit.org/show_bug.cgi?id=118526

Reviewed by David Hyatt.

Source/WebCore:

The patch implements layout overflow propagation for the first and last regions. The approach
taken is triggering a simple layout on the regions after the named flows are laid out
that extracts the layout overflow from the flow thread and adds it to the regions.

The process is based on adding two new layout phases: the overflow phase and the final phase.
The overflow phase is set after the flow threads are laid out and it marks the regions as
needing to extract the overflow from the flow thread. In case there are blocks with auto overflow
it's possible the overflow to create scrollbars that shrink the regions. In this case the flow
thread is relaid out and set in the final phase, forcing the regions to recollect the layout
overflow. In theory this would be an N-step layout because scrollbars can force content to change
regions and create overflow for other blocks (and thus creating more scrollbars). For now, we are
limiting this to the first pass by inserting this new final layout phase.

A short description of the processing model for a document:
- layout the document (all the flow threads should be in the constrained layout phase after this step)
- reverse iterate through the flow threads and mark the regions for simplified layout (we need to
reverse iterate so the overflow can correctly propagate with nested regions)
- if the layout changes the size of a region, invalidate the flow thread and when laying it out mark
it as needing a new pass
- make a secondary pass through the flow threads that changed after scrollbars have been added and
recompute the overflow for their regions; mark the flow threads in the final phase (flow threads can't
be invalidated in the final phase)
- after the overflow was propagated update all the flow threads in the normal layout phase

There are some issues with the patch:
- the simplified layout doesn't compute correct overflow values for inline blocks
- the layout overflow from the flow thread doesn't take the region size into account

The first issue is not related to regions and will be fixed in a future patch. The second issue
will be fixed when box overflow will be region bound.

Tests: fast/regions/overflow-scrollable-1.html
       fast/regions/overflow-scrollable-2.html
       fast/regions/overflow-scrollable-3.html
       fast/regions/overflow-scrollable-fit-complex.html
       fast/regions/overflow-scrollable-fit.html
       fast/regions/overflow-scrollable-nested.html

* rendering/FlowThreadController.cpp: Flow threads layout driver functions.
(WebCore::FlowThreadController::updateFlowThreadsNeedingLayout):
(WebCore::FlowThreadController::updateFlowThreadsIntoConstrainedPhase):
(WebCore::FlowThreadController::updateFlowThreadsIntoOverflowPhase):
(WebCore::FlowThreadController::updateFlowThreadsIntoMeasureContentPhase):
(WebCore::FlowThreadController::updateFlowThreadsIntoFinalPhase):
* rendering/FlowThreadController.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::simplifiedNormalFlowLayout):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::invalidateRegions):
(WebCore::RenderFlowThread::validateRegions):
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::firstRegion): This getter should work even though the region chain is invalid.
(WebCore::RenderFlowThread::lastRegion): This getter should work even though the region chain is invalid.
(WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight):
(WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded): If the flow thread has no overflow do nothing.
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
(WebCore::RenderFlowThread::addForcedRegionBreak):
* rendering/RenderFlowThread.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::pageLogicalHeight):
(WebCore::RenderRegion::maxPageLogicalHeight):
(WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
(WebCore::RenderRegion::flowThreadPortionOverflowRect):
(WebCore::RenderRegion::overflowRectForFlowThreadPortion): Used to get the flow thread visual or layout overflow.
(WebCore::RenderRegion::layoutBlock):
(WebCore::RenderRegion::computeOverflowFromFlowThread):
(WebCore::RenderRegion::updateLogicalHeight):
* rendering/RenderRegion.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::layoutContentToComputeOverflowInRegions):
(WebCore::RenderView::layout):
* rendering/RenderView.h:

LayoutTests:

Add tests for scrolling of regions in containers in different situations: regions with
transforms, nested regions, regions affected by scrollbars etc.

* fast/regions/overflow-scrollable-1-expected.html: Added.
* fast/regions/overflow-scrollable-1.html: Added.
* fast/regions/overflow-scrollable-2-expected.html: Added.
* fast/regions/overflow-scrollable-2.html: Added.
* fast/regions/overflow-scrollable-3-expected.html: Added.
* fast/regions/overflow-scrollable-3.html: Added.
* fast/regions/overflow-scrollable-fit-complex-expected.html: Added.
* fast/regions/overflow-scrollable-fit-complex.html: Added.
* fast/regions/overflow-scrollable-fit-expected.html: Added.
* fast/regions/overflow-scrollable-fit.html: Added.
* fast/regions/overflow-scrollable-nested-expected.txt: Added.
* fast/regions/overflow-scrollable-nested.html: Added.

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

7 years agoUpdate the images for the blog size-matters
benjamin@webkit.org [Thu, 8 Aug 2013 04:20:56 +0000 (04:20 +0000)]
Update the images for the blog size-matters

* blog-files/size-matters/JavaScriptCore-relative-binary-growth.png: Added.
* blog-files/size-matters/WebCore-relative-binary-growth.png: Added.
* blog-files/size-matters/WebKit-relative-binary-growth.png: Added.

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

7 years agoUnreviewed build fix on Efl port after r153785.
ryuan.choi@samsung.com [Thu, 8 Aug 2013 04:08:27 +0000 (04:08 +0000)]
Unreviewed build fix on Efl port after r153785.

* CMakeLists.txt: Added "${WEBCORE_DIR}/style" in include list.

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

7 years agoAllow the DumpRenderTree runloop to be idle while waiting for a test to complete
simon.fraser@apple.com [Thu, 8 Aug 2013 02:13:14 +0000 (02:13 +0000)]
Allow the DumpRenderTree runloop to be idle while waiting for a test to complete
https://bugs.webkit.org/show_bug.cgi?id=119317

Reviewed by Tim Horton.

The change in r55200 made DumpRenderTree spin a busy-loop while waiting for
the test to complete, which is not power friendly. Although DRT instances
are generally busy anyway, not sitting in a busy loop should free up some CPU
cycles for other instances of DRT.

Editing tests continue to pass. All Java tests are skipped and were not
tested, but when run fail similarly with and without the patch.

* DumpRenderTree/mac/DumpRenderTree.mm:
(dump):
(runTest):

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

7 years agoAvoid spurious "all repaint" layouts when scrolling WebViews on Retina displays
simon.fraser@apple.com [Thu, 8 Aug 2013 02:00:07 +0000 (02:00 +0000)]
Avoid spurious "all repaint" layouts when scrolling WebViews on Retina displays
https://bugs.webkit.org/show_bug.cgi?id=119564

Reviewed by Beth Dakin.

When scrolling WebViews on Macs with Retina displays, AppKit uses
device pixels for the scroll offset, so [scrollView() documentVisibleRect]
can return a CGRect with non-integral origin. This rect is used by layout,
via layoutSize(), to decide whether the view size changed, which prompts
a full repaint. However, FrameView gets a value which has been rounded
by enclosingIntRect(), which increases the height or width by 1px if the
y or x offset is on a half-pixel, causing spurious full repaints.

Fix by plumbing through platformVisibleContentSize(), which just
gets the size of the -documentVisibleRect.

* page/FrameView.cpp:
(WebCore::FrameView::layout): Don't get layoutHeight and layoutWidth
separately, since that is two calls down into platformVisibleContentSize.
* platform/ScrollView.cpp:
(WebCore::ScrollView::unscaledVisibleContentSize):
(WebCore::ScrollView::platformVisibleContentSize):
* platform/ScrollView.h:
* platform/mac/ScrollViewMac.mm:
(WebCore::ScrollView::platformVisibleContentSize):

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

7 years agoBe more aggressive about sending fake mouse events less frequently
simon.fraser@apple.com [Thu, 8 Aug 2013 01:31:36 +0000 (01:31 +0000)]
Be more aggressive about sending fake mouse events less frequently
https://bugs.webkit.org/show_bug.cgi?id=119563
<rdar://problem/14669029>

Reviewed by Tim Horton.

r109151 added code that throttles back the fake mouse events that we
send during scrolling, but in such a way that a page could take up to
100ms to handle a single mousemove, and we'd still send fake mousemove
events every 100ms. This could cause serious scrolling stutter.

Fix by changing when we drop back to sending events every 250ms, rather than every
100ms: if the slowest mousemove takes 10ms or more (less than one frame), drop back
to a 250ms fake move interval.

* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):

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

7 years ago[BlackBerry] Remove pointless const in InputHandler
commit-queue@webkit.org [Thu, 8 Aug 2013 00:51:36 +0000 (00:51 +0000)]
[BlackBerry] Remove pointless const in InputHandler
https://bugs.webkit.org/show_bug.cgi?id=119550

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-08-07
Reviewed by Rob Buis.
Internally reviewed by Leo Yang and Mike Fenton.

* Api/WebPageClient.h:
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
(BlackBerry::WebKit::InputHandler::redrawSpellCheckDialogIfRequired):
* WebKitSupport/InputHandler.h:

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

7 years ago[rendering] Implement PaintInfo interfaces
cavalcantii@gmail.com [Wed, 7 Aug 2013 23:05:31 +0000 (23:05 +0000)]
[rendering] Implement PaintInfo interfaces
https://bugs.webkit.org/show_bug.cgi?id=119388

Reviewed by Benjamin Poulain.

In discussion in IRC, it was decided to remove this comment since implementing such change
would have a vast impact on rendering classes.

* rendering/PaintInfo.h:

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

7 years agoDon't remove contents layer from its parent unless necessary
dino@apple.com [Wed, 7 Aug 2013 22:16:09 +0000 (22:16 +0000)]
Don't remove contents layer from its parent unless necessary
https://bugs.webkit.org/show_bug.cgi?id=119560

Reviewed by Simon Fraser.

RenderLayerBacking::updateInternalHierarchy() is called in some
instances where there doesn't need to be a complete reparenting of the
the m_graphicsLayer. For example, on OS X when the user changes the
scrollbar styles to/from always visible. We don't need to always
remove the graphics layer from its parent - any reparenting does that
automatically.

Unfortunately we can't trigger this situation in an automated test.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateInternalHierarchy): Don't call removeFromParent().

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

7 years agoClean up: Simplifying the printing of the command line arguments passed to jsDriver.pl
dbates@webkit.org [Wed, 7 Aug 2013 22:00:42 +0000 (22:00 +0000)]
Clean up: Simplifying the printing of the command line arguments passed to jsDriver.pl
<https://bugs.webkit.org/show_bug.cgi?id=119558>

Reviewed by Martin Robinson.

Currently we build the command line to execute jsDriver.pl twice so as to both
print it to standard output and actually execute it. We should only build up
this command line once. Moreover, we should print to standard output the actual
command line that we are going to use including the GTK- and EFL-specific call
to /Tools/jhbuild/jhbuild-wrapper.

* Scripts/run-javascriptcore-tests:

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

7 years agoFixed wrong definition for AppleWin port's WebGL after r153768.
achristensen@apple.com [Wed, 7 Aug 2013 21:38:45 +0000 (21:38 +0000)]
Fixed wrong definition for AppleWin port's WebGL after r153768.

Rubberstamped by Benjamin Poulain.

* wtf/Platform.h: Replaced WTF_USE_SURFACE with WTF_USE_GRAPHICS_SURFACE.

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