WebKit-https.git
6 years ago[iOS] Cherokee language is drawn as boxes
mmaxfield@apple.com [Tue, 16 Dec 2014 23:25:38 +0000 (23:25 +0000)]
[iOS] Cherokee language is drawn as boxes
https://bugs.webkit.org/show_bug.cgi?id=139706

Reviewed by Simon Fraser.

Source/WebCore:

Test: platform/ios-simulator/fast/text/cherokee.html

* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::languageSpecificFallbackFont):

LayoutTests:

* platform/ios-simulator/fast/text/cherokee-expected.html: Added.
* platform/ios-simulator/fast/text/cherokee.html: Added.

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

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=139708
ap@apple.com [Tue, 16 Dec 2014 23:24:03 +0000 (23:24 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=139708
http/tests/media/video-buffered-range-contains-currentTime.html frequently times out

* platform/mac/TestExpectations: Added an expectation.

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

6 years agoAdd a progress indicator to the preview popover
conrad_shultz@apple.com [Tue, 16 Dec 2014 23:14:55 +0000 (23:14 +0000)]
Add a progress indicator to the preview popover
https://bugs.webkit.org/show_bug.cgi?id=139699

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _setPreviewLoading:]):
Wrap -[WKImmediateActionController setPreviewLoading:].

* UIProcess/mac/WKImmediateActionController.h:
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _createPreviewPopoverIfNeededForURL:]):
Flag the preview view controller as loading before beginning the load.
(-[WKImmediateActionController setPreviewLoading:]):
Wrap -[WKPagePreviewViewController setLoading:].

* UIProcess/mac/WKPagePreviewViewController.h:
* UIProcess/mac/WKPagePreviewViewController.mm:
(-[WKPagePreviewViewController setLoading:]):
Toggle the progress indicator animation state.
(-[WKPagePreviewViewController isLoading]):
Accessor.
(-[WKPagePreviewViewController loadView]):
Create and center an indeterminate progress indicator that won't scale with the preview content.

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

6 years agoUnreviewed, rolling out r177380.
commit-queue@webkit.org [Tue, 16 Dec 2014 23:08:24 +0000 (23:08 +0000)]
Unreviewed, rolling out r177380.
https://bugs.webkit.org/show_bug.cgi?id=139707

"Breaks js/regres/elidable-new-object-* tests" (Requested by
msaboff_ on #webkit).

Reverted changeset:

"Fixes operationPutByIdOptimizes such that they check that the
put didn't"
https://bugs.webkit.org/show_bug.cgi?id=139500
http://trac.webkit.org/changeset/177380

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

6 years agoMore test gardening.
ap@apple.com [Tue, 16 Dec 2014 23:07:07 +0000 (23:07 +0000)]
More test gardening.

Fix syntax of one entry, extend two flakiness entries to cover Yosemite, where
these tests recently failed.

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

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

6 years agoFix iOS builders for 8.0
enrica@apple.com [Tue, 16 Dec 2014 23:03:22 +0000 (23:03 +0000)]
Fix iOS builders for 8.0
https://bugs.webkit.org/show_bug.cgi?id=139495

Reviewed by Jer Noble

Source/WebCore:

* WebCore.exp.in:
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
(-[WebVideoFullscreenController enterFullscreen:mode:]):
(-[WebVideoFullscreenController requestHideAndExitFullscreen]):
(-[WebVideoFullscreenController enterFullscreen:]): Deleted.
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

Source/WebKit2:

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _mayAutomaticallyShowVideoOptimized]):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

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

6 years agoRuby overhang uses ints instead of floats
mmaxfield@apple.com [Tue, 16 Dec 2014 22:53:19 +0000 (22:53 +0000)]
Ruby overhang uses ints instead of floats
https://bugs.webkit.org/show_bug.cgi?id=139624

Reviewed by Dave Hyatt.

Source/WebCore:

Simply change the type.

Updated existing tests.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::setMarginsForRubyRun):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::getOverhang):
* rendering/RenderRubyRun.h:
* rendering/line/LineWidth.cpp:
(WebCore::LineWidth::applyOverhang):

LayoutTests:

Updating tests.

* fast/ruby/overhang-horizontal-expected.png:
* fast/ruby/overhang-horizontal-expected.txt:
* fast/ruby/overhang-vertical-expected.png:
* fast/ruby/overhang-vertical-expected.txt:
* platform/mac/fast/ruby/ruby-beforeafter-expected.png:
* platform/mac/fast/ruby/ruby-beforeafter-expected.txt:
* platform/mac/fast/ruby/ruby-length-expected.png:
* platform/mac/fast/ruby/ruby-length-expected.txt:
* platform/mac/fast/ruby/ruby-run-break-expected.png:
* platform/mac/fast/ruby/ruby-run-break-expected.txt:
* platform/mac/fast/ruby/ruby-runs-expected.png:
* platform/mac/fast/ruby/ruby-runs-expected.txt:
* platform/mac/fast/ruby/ruby-runs-spans-expected.png:
* platform/mac/fast/ruby/ruby-runs-spans-expected.txt:
* platform/mac/fast/ruby/ruby-trailing-expected.png:
* platform/mac/fast/ruby/ruby-trailing-expected.txt:
* platform/mac/fast/ruby/rubyDOM-insert-rt-expected.png:
* platform/mac/fast/ruby/rubyDOM-insert-rt-expected.txt:
* platform/mac/fast/ruby/rubyDOM-insert-text1-expected.png:
* platform/mac/fast/ruby/rubyDOM-insert-text1-expected.txt:
* platform/mac/fast/ruby/rubyDOM-insert-text2-expected.png:
* platform/mac/fast/ruby/rubyDOM-insert-text2-expected.txt:
* platform/mac/fast/ruby/rubyDOM-insert-text3-expected.png:
* platform/mac/fast/ruby/rubyDOM-insert-text3-expected.txt:
* platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.png:
* platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt:
* platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.png:
* platform/mac/fast/ruby/rubyDOM-remove-rt2-expected.txt:
* platform/mac/fast/ruby/rubyDOM-remove-text1-expected.png:
* platform/mac/fast/ruby/rubyDOM-remove-text1-expected.txt:
* platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.png:
* platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:

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

6 years ago[iOS] Update expected results for LayoutTest/{inspector-obsolete, inspector-protocol,
dbates@webkit.org [Tue, 16 Dec 2014 22:43:02 +0000 (22:43 +0000)]
[iOS] Update expected results for LayoutTest/{inspector-obsolete, inspector-protocol,
media, mhtml, perf, platform, plugins, scrollingcoordinator, userscripts, webarchive}

* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:
[...]

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

6 years agoMove Mac process suppression from WebCore to WebKit2
barraclough@apple.com [Tue, 16 Dec 2014 22:28:49 +0000 (22:28 +0000)]
Move Mac process suppression from WebCore to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=139705

Reviewed by Geoff Garen.

Currently PageThrottler constructs the PageActivityState, holds a copy of the ViewState,
and an optional UserActivity.

Instead, still construct the PageActivityState but just pass this out via the Page to WebPage.
Logic From PageThrottler::updateUserActivity merged into WebPage::updateUserActivity.

Source/WebCore:

* WebCore.exp.in:
    - removed createUserActivity.
* page/ChromeClient.h:
(WebCore::ChromeClient::setPageActivityState):
    - added to propagate PageActivityState to WebPage.
* page/Page.cpp:
(WebCore::Page::Page):
    - PageThrottler constructor now takes a Page&.
(WebCore::Page::setViewState):
    - no longer necessary to pass this to PageThrottler.
(WebCore::Page::setPageActivityState):
    - added to propagate PageActivityState to WebPage.
(WebCore::Page::enablePageThrottler): Deleted.
    - PageThrottler no longer has a UserActivity.
* page/Page.h:
(WebCore::Page::pageThrottler):
    - added setPageActivityState, removed enablePageThrottler.
* page/PageThrottler.cpp:
(WebCore::PageThrottler::PageThrottler):
    - removed m_viewState, added m_page.
(WebCore::PageThrottler::setActivityFlag):
    - propagate PageActivityState via Page to WebPage.
(WebCore::PageThrottler::createUserActivity): Deleted.
(WebCore::PageThrottler::updateUserActivity): Deleted.
(WebCore::PageThrottler::setViewState): Deleted.
    - removed; PageThrottler no longer has a PageThrottler or UserActivity.
* page/PageThrottler.h:
    - removed createUserActivity, setViewState, m_viewState, m_activity; added m_page.

Source/WebKit2:

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::setPageActivityState):
    - added to propagate PageActivityState to WebPage.
* WebProcess/WebCoreSupport/WebChromeClient.h:
    - added setPageActivityState to propagate PageActivityState to WebPage.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
    - calls to updateUserActivity.
(WebKit::WebPage::setPageActivityState):
    - calls to updateUserActivity.
(WebKit::WebPage::updateUserActivity):
    - incorporate logic from PageThrottler::updateUserActivity.
(WebKit::WebPage::setViewState):
    - calls to updateUserActivity.
(WebKit::WebPage::updatePreferences):
    - calls to updateUserActivity.
* WebProcess/WebPage/WebPage.h:
    - added setPageActivityState, m_activityState.

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

6 years agoMore StorageManager modernization
andersca@apple.com [Tue, 16 Dec 2014 22:07:16 +0000 (22:07 +0000)]
More StorageManager modernization
https://bugs.webkit.org/show_bug.cgi?id=139704

Reviewed by Andreas Kling.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):
(WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
(WebKit::StorageManager::createSessionStorageMap):
(WebKit::StorageManager::destroyStorageMap):
(WebKit::StorageManager::findStorageArea):
(WebKit::StorageManager::getOrCreateLocalStorageNamespace):

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

6 years ago[iOS] WTF fails to build with public SDK due to missing header CPAggregateDictionary.h
dbates@webkit.org [Tue, 16 Dec 2014 21:47:38 +0000 (21:47 +0000)]
[iOS] WTF fails to build with public SDK due to missing header CPAggregateDictionary.h
https://bugs.webkit.org/show_bug.cgi?id=139695

Reviewed by Chris Dumez.

Add USE(APPLE_INTERNAL_SDK)-guard around iOS-specific feature counter implementation
as we are only interested in counting features in builds of iOS WebKit that were built
with the Apple Internal SDK.

* wtf/FeatureCounter.cpp:
* wtf/ios/FeatureCounter.mm:

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

6 years agoUse Ref in another StorageManager function
andersca@apple.com [Tue, 16 Dec 2014 21:38:52 +0000 (21:38 +0000)]
Use Ref in another StorageManager function
https://bugs.webkit.org/show_bug.cgi?id=139700

Reviewed by Andreas Kling.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):

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

6 years agoUse Ref in StorageManager
andersca@apple.com [Tue, 16 Dec 2014 21:26:56 +0000 (21:26 +0000)]
Use Ref in StorageManager
https://bugs.webkit.org/show_bug.cgi?id=139698

Reviewed by Andreas Kling.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::TransientLocalStorageNamespace::create):
(WebKit::StorageManager::TransientLocalStorageNamespace::getOrCreateStorageArea):
(WebKit::StorageManager::StorageArea::create):
(WebKit::StorageManager::StorageArea::clone):
(WebKit::StorageManager::LocalStorageNamespace::create):
(WebKit::StorageManager::SessionStorageNamespace::create):
(WebKit::StorageManager::create):
* UIProcess/Storage/StorageManager.h:

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

6 years agoUnreviewed build fix after r177375; explicitly cast to NSUInteger.
jer.noble@apple.com [Tue, 16 Dec 2014 21:22:13 +0000 (21:22 +0000)]
Unreviewed build fix after r177375; explicitly cast to NSUInteger.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions):
(WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions):

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

6 years ago[Win] Compiling WebCore fails because of invalid project file.
commit-queue@webkit.org [Tue, 16 Dec 2014 20:59:06 +0000 (20:59 +0000)]
[Win] Compiling WebCore fails because of invalid project file.
https://bugs.webkit.org/show_bug.cgi?id=139686

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-12-16
Reviewed by Alex Christensen.

A WebCore project file contains illegal characters.

* WebCore.vcxproj/WebCore.vcxproj.filters:

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

6 years agoSplit UserActivity from disabled flag in WebPage
barraclough@apple.com [Tue, 16 Dec 2014 20:45:03 +0000 (20:45 +0000)]
Split UserActivity from disabled flag in WebPage
https://bugs.webkit.org/show_bug.cgi?id=139696

Reviewed by Geoffrey Garen.

In preparation for other things driving the UserActivity.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
    - initialize new members.
(WebKit::WebPage::updateUserActivity):
    - start/stop the m_userActivity, based on m_processSupressionEnabled
(WebKit::WebPage::updatePreferences):
    - call updateUserActivity to account for m_processSupressionEnabled changes.
* WebProcess/WebPage/WebPage.h:
    - split m_processSuppressionDisabledByWebPreference -> m_processSupressionEnabled, m_userActivity.

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

6 years agoGet rid of PassRefPtr inside StorageManager
andersca@apple.com [Tue, 16 Dec 2014 20:36:41 +0000 (20:36 +0000)]
Get rid of PassRefPtr inside StorageManager
https://bugs.webkit.org/show_bug.cgi?id=139693

Reviewed by Andreas Kling.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::TransientLocalStorageNamespace::getOrCreateStorageArea):
(WebKit::StorageManager::StorageArea::create):
(WebKit::StorageManager::StorageArea::StorageArea):
(WebKit::StorageManager::StorageArea::clone):
(WebKit::StorageManager::LocalStorageNamespace::create):
(WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):
(WebKit::StorageManager::SessionStorageNamespace::create):
(WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
(WebKit::StorageManager::create):
* UIProcess/Storage/StorageManager.h:

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

6 years agoEnable FastMalloc in debug builds
ggaren@apple.com [Tue, 16 Dec 2014 20:35:45 +0000 (20:35 +0000)]
Enable FastMalloc in debug builds
https://bugs.webkit.org/show_bug.cgi?id=139692

Reviewed by Alexey Proskuryakov.

This will give debug builds greater fidelity to the real thing.

FastMalloc now transparently supports all the malloc debugging APIs I
know of by disabling itself at runtime -- and it should be easy to add
support for any APIs I missed -- so there's no need to turn it off in
debug builds.

* wtf/FastMalloc.cpp:

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

6 years agoMore expectations updated to Timeout.
ap@apple.com [Tue, 16 Dec 2014 20:28:41 +0000 (20:28 +0000)]
More expectations updated to Timeout.

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

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

6 years agoMore expectations updated to Timeout.
ap@apple.com [Tue, 16 Dec 2014 20:20:15 +0000 (20:20 +0000)]
More expectations updated to Timeout.

* platform/mac-wk1/TestExpectations:
* platform/mac/TestExpectations:

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

6 years agoFixes operationPutByIdOptimizes such that they check that the put didn't
mmirman@apple.com [Tue, 16 Dec 2014 20:11:00 +0000 (20:11 +0000)]
Fixes operationPutByIdOptimizes such that they check that the put didn't
change the structure of the object who's property access is being
cached.
https://bugs.webkit.org/show_bug.cgi?id=139500

Reviewed by Geoffrey Garen.

* jit/JITOperations.cpp:
(JSC::operationPutByIdStrictOptimize): saved the structure before the put.
(JSC::operationPutByIdNonStrictOptimize): ditto.
(JSC::operationPutByIdDirectStrictOptimize): ditto.
(JSC::operationPutByIdDirectNonStrictOptimize): ditto.
* jit/Repatch.cpp:
(JSC::tryCachePutByID): Added argument for the old structure
(JSC::repatchPutByID): Added argument for the old structure
* jit/Repatch.h:
* tests/stress/put-by-id-build-list-order-recurse.js:
Added test that fails without this patch.

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

6 years agoRefPtr::copyRef should be const
andersca@apple.com [Tue, 16 Dec 2014 19:55:54 +0000 (19:55 +0000)]
RefPtr::copyRef should be const
https://bugs.webkit.org/show_bug.cgi?id=139689

Reviewed by Andreas Kling.

copyRef() doesn't modify the original object so it should be const.
Also, add a && qualified overload and mark it deleted so that calls to copyRef() where
the object is an rvalue will fail to compile.

* wtf/RefPtr.h:

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

6 years agoIntroduce PageActivityState
barraclough@apple.com [Tue, 16 Dec 2014 19:50:36 +0000 (19:50 +0000)]
Introduce PageActivityState
https://bugs.webkit.org/show_bug.cgi?id=139687

Reviewed by Anders Carlsson.

Add a bitfield to track each of the activities on the page separately.
Split the hysteresis & counters so we can track these separately.

* page/PageThrottler.cpp:
(WebCore::PageThrottler::PageThrottler):
    - initialze new hysteresis, counters; closures call setActivityFlag.
(WebCore::PageThrottler::mediaActivityToken):
(WebCore::PageThrottler::pageLoadActivityToken):
    - split m_pageActivityCounter -> m_mediaActivityCounter, m_pageLoadActivityCounter.
(WebCore::PageThrottler::updateUserActivity):
    - use m_activityState to check for activity.
(WebCore::PageThrottler::setActivityFlag):
    - helper to clear/set a bit in m_activityState, and call updateUserActivity as necessary.
* page/PageThrottler.h:
(WebCore::PageThrottler::didReceiveUserInput):
(WebCore::PageThrottler::pluginDidEvaluateWhileAudioIsPlaying):
    - split m_hysteresis -> m_userInputHysteresis, m_audiblePluginHysteresis

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

6 years agoRuby does not preserve expansion opportunities from enclosing context
commit-queue@webkit.org [Tue, 16 Dec 2014 19:28:57 +0000 (19:28 +0000)]
Ruby does not preserve expansion opportunities from enclosing context
https://bugs.webkit.org/show_bug.cgi?id=139618

Source/WebCore:

Patch by Myles C. Maxfield <litherum@gmail.com> on 2014-12-16
Reviewed by David Hyatt.

There is currently no sharing of expansion opportunity information between
ruby bases and the text surrounding the ruby. This patch adds a bit on
RenderText, m_contentIsKnownToFollow, which affects how expansion
opportunities are handled at paint-time, as well as a bit on RenderRubyBase,
m_isAfterExpansion, which affects how expansions are calculated when laying
out a line. This patch also adds a field to RenderRubyBase which represents
the base's starting position within a ruby. This field is necessary because
an expansion from a line might occur at the very beginning of a ruby base,
so we have to remember some state from expansion time to RenderRubyBase
layout time.

Added more tests to fast/ruby/ruby-justification.html.

* rendering/InlineBox.h:
(WebCore::InlineBox::setExpansionWithoutGrowing):
(WebCore::InlineBox::expansion):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::removeChild): Keep the bit on InlineTextBox up to
date.
(WebCore::InlineFlowBox::placeBoxRangeInInlineDirection): Set expansion
information in InlineFlowBoxes so the total expansion for a whole line
is held in the RootInlineBox's expansion.
* rendering/InlineTextBox.h:
(WebCore::InlineTextBox::expansionBehavior):
* rendering/RenderBlockFlow.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::updateRubyForJustifiedText):
updateRubyForJustifiedText() had a bunch of problems with it. First of all,
it didn't actually set the InlineBoxes as dirty, so the second layout pass
sometimes wouldn't perform any updates. Secondarily, it didn't take
overhangs into account. Thirdly, it didn't mark the ruby base and text as
needing layout so that subsequent layouts would actually traverse into them.
(WebCore::RenderBlockFlow::computeExpansionForJustifiedText):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
This nested if triangle is super nasty, but I'm not sure of a better way to
write it.
(WebCore::updateRubyForJustifiedText): Deleted.
(WebCore::computeExpansionForJustifiedText): Deleted.
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::RenderRubyBase):
(WebCore::RenderRubyBase::adjustInlineDirectionLineBounds):
* rendering/RenderRubyBase.h:
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layout):
* rendering/RenderText.cpp:
(WebCore::RenderText::RenderText):
* rendering/RenderText.h:
(WebCore::RenderText::contentIsKnownToFollow):
(WebCore::RenderText::setContentIsKnownToFollow):

LayoutTests:

Updating test for new expansion logic.

Patch by Myles C. Maxfield <litherum@gmail.com> on 2014-12-16
Reviewed by David Hyatt.

* fast/ruby/ruby-justification-expected.html:
* fast/ruby/ruby-justification.html:

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

6 years agoMore expectations updated to Timeout.
ap@apple.com [Tue, 16 Dec 2014 19:27:23 +0000 (19:27 +0000)]
More expectations updated to Timeout.

Also, undone some accidental skips. It may be right to skip tests that always time
out, but let's do that intentionally, and with a review.

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

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

6 years ago[iOS] Crash in WebKit::WebPageProxy::dispatchViewStateChange() tapping a link from...
jer.noble@apple.com [Tue, 16 Dec 2014 19:20:46 +0000 (19:20 +0000)]
[iOS] Crash in WebKit::WebPageProxy::dispatchViewStateChange() tapping a link from another app while playing a video
https://bugs.webkit.org/show_bug.cgi?id=139550

Reviewed by Anders Carlsson.

The existing "dispatch to WebThread, then release" model is insufficient and still
can result in RefPtr race conditions between the main thread and the web thread.
Make WebVideoFullscreenInterfaceAVKit a thread-safe ref-counted class, which
eliminates the necessity of disptaching back to the web thread before releasing.

* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setDuration): Use a strongThis model.
(WebVideoFullscreenInterfaceAVKit::setCurrentTime): Ditto.
(WebVideoFullscreenInterfaceAVKit::setRate): Ditto.
(WebVideoFullscreenInterfaceAVKit::setVideoDimensions): Ditto.
(WebVideoFullscreenInterfaceAVKit::setSeekableRanges): Ditto.
(mediaSelectionOptions): Return a RetainPtr object.
(WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions): Use a strongThis model.
(WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions): Ditto.
(WebVideoFullscreenInterfaceAVKit::setExternalPlayback): Ditto.
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::enterFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal): Added utility
    function. Lets us use the implied this pointer rather than an explicit
    strongThis.
(WebVideoFullscreenInterfaceAVKit::enterFullscreenOptimized): Ditto.
(WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard): Ditto.
(WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal): Ditto.
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal): Ditto.
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): Use a strongThis model.

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

6 years agoUpdate some test expectations from Failure to Timeout, which is now correctly detected.
ap@apple.com [Tue, 16 Dec 2014 19:16:05 +0000 (19:16 +0000)]
Update some test expectations from Failure to Timeout, which is now correctly detected.

* platform/mac/TestExpectations:

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

6 years agoNested template contents are not cloned by document.importNode
rniwa@webkit.org [Tue, 16 Dec 2014 19:08:54 +0000 (19:08 +0000)]
Nested template contents are not cloned by document.importNode
https://bugs.webkit.org/show_bug.cgi?id=137619

Reviewed by Andreas Kling.

Source/WebCore:

The bug was caused by Document.importNode not cloning HTMLTemplateElement's content.

Fixed the bug by sharing code between Document::importNode and Node::cloneNode by
generalizing Node::cloneNodeInternal, added in r177314, by taking the owner document
as an argument. The most of code changes are the result of adding this argument.

Document::importNode is the only function in which the actual logic changes.
Note that the code to import TEXT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE,
PROCESSING_INSTRUCTION_NODE and COMMENT_NODE nodes are identical to that of cloneNode.

This patch removes the call to hasValidNamespaceForElements in ELEMENT_NODE but this
should not introduce an observable behavior change since all instantiated elements
should have a valid namespace in the first place.

Because DOCUMENT_NODE and DOCUMENT_TYPE_NODE cannot be imported and DOCUMENT_TYPE_NODE
can only appear as a direct child of DOCUMENT_NODE, neither nodes nor unimplemented
XPATH_NAMESPACE_NODE and XPATH_NAMESPACE_NODE can appear inside the recursive calls
for ELEMENT_NODE and DOCUMENT_FRAGMENT_NODE nodes.

While importNode behaves differently from cloneNode for ATTRIBUTE_NODE, namely that
it merges all of its child nodes, this behavior isn't present when recursing inside
ELEMENT_NODE and DOCUMENT_FRAGMENT_NODE since we are using cloneDataFromElement.

Thus there should be no observable behavior changes for DOCUMENT_FRAGMENT_NODE and
ELEMENT_NODE nodes either.

Test: fast/dom/HTMLTemplateElement/importNode-nested-templates.html

* dom/Attr.cpp:
(WebCore::Attr::cloneNodeInternal):
* dom/Attr.h:
* dom/CDATASection.cpp:
(WebCore::CDATASection::cloneNodeInternal):
* dom/CDATASection.h:
* dom/Comment.cpp:
(WebCore::Comment::cloneNodeInternal):
* dom/Comment.h:
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::cloneChildNodes):
* dom/Document.cpp:
(WebCore::Document::importNode):
(WebCore::Document::cloneNodeInternal):
* dom/Document.h:
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::cloneNodeInternal):
* dom/DocumentFragment.h:
* dom/DocumentType.cpp:
(WebCore::DocumentType::cloneNodeInternal):
* dom/DocumentType.h:
* dom/Element.cpp:
(WebCore::Element::cloneNodeInternal):
(WebCore::Element::cloneElementWithChildren):
(WebCore::Element::cloneElementWithoutChildren):
(WebCore::Element::cloneElementWithoutAttributesAndChildren):
* dom/Element.h:
* dom/EntityReference.cpp:
(WebCore::EntityReference::cloneNodeInternal):
* dom/EntityReference.h:
* dom/Node.h:
(WebCore::Node::cloneNode):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::cloneNodeInternal):
* dom/ProcessingInstruction.h:
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::cloneNodeInternal):
* dom/ShadowRoot.h:
* dom/Text.cpp:
(WebCore::Text::cloneNodeInternal):
* dom/Text.h:
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
(WebCore::ApplyStyleCommand::applyInlineStyleChange):
* editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
(WebCore::InsertParagraphSeparatorCommand::doApply):
* editing/ModifySelectionListLevel.cpp:
(WebCore::IncreaseSelectionListLevelCommand::doApply):
* editing/SplitElementCommand.cpp:
(WebCore::SplitElementCommand::doApply):
* editing/markup.cpp:
(WebCore::createFragmentFromText):
* html/HTMLKeygenElement.cpp:
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren):
* html/HTMLScriptElement.h:
* html/HTMLTemplateElement.cpp:
(WebCore::HTMLTemplateElement::cloneNodeInternal):
* html/HTMLTemplateElement.h:
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren):
* html/shadow/SliderThumbElement.h:
* html/track/WebVTTElement.cpp:
(WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren):
* html/track/WebVTTElement.h:
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren):
* svg/SVGScriptElement.h:
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::buildShadowTree):
(WebCore::SVGUseElement::expandUseElementsInShadowTree):

LayoutTests:

Added a regression test.

* fast/dom/HTMLTemplateElement/importNode-nested-templates-expected.txt: Added.
* fast/dom/HTMLTemplateElement/importNode-nested-templates.html: Added.

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

6 years agoDisable TextIndication for Lookup immediate actions
timothy_horton@apple.com [Tue, 16 Dec 2014 19:07:50 +0000 (19:07 +0000)]
Disable TextIndication for Lookup immediate actions
https://bugs.webkit.org/show_bug.cgi?id=139684
rdar://problem/19266902

Reviewed by Anders Carlsson.

* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _animationControllerForText]):

* WebView/WebView.mm:
(-[WebView _animationControllerForDictionaryLookupPopupInfo:]):

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

6 years agoSort out timeout implementations in DRT and WKTR
ap@apple.com [Tue, 16 Dec 2014 18:59:02 +0000 (18:59 +0000)]
Sort out timeout implementations in DRT and WKTR
https://bugs.webkit.org/show_bug.cgi?id=139671

Remove an obsolete test that doesn't capture how run-webkit-tests interacts
with the tool.

* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.test_hung_thread):

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

6 years agoWebKit2 test expectations gardening.
ap@apple.com [Tue, 16 Dec 2014 18:45:41 +0000 (18:45 +0000)]
WebKit2 test expectations gardening.

Update syntax, unskip some tests that were skipped before we had expectations.

* platform/wk2/TestExpectations:

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

6 years agomedia/video-controls-toggling.html always times out
ap@apple.com [Tue, 16 Dec 2014 18:44:07 +0000 (18:44 +0000)]
media/video-controls-toggling.html always times out
https://bugs.webkit.org/show_bug.cgi?id=116266

Skip it.

* platform/mac/TestExpectations:

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

6 years agoDocument.contentType implementation
commit-queue@webkit.org [Tue, 16 Dec 2014 18:42:43 +0000 (18:42 +0000)]
Document.contentType implementation
https://bugs.webkit.org/show_bug.cgi?id=132269

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-12-16
Reviewed by Darin Adler.

Chromium merge from https://codereview.chromium.org/151653004

Source/WebCore:

Tests: fast/dom/document-contentType-DOMParser.html
       fast/dom/document-contentType-createDocument.html
       fast/dom/document-contentType-data-uri.html
       fast/xsl/xslt-contentType.html
       http/tests/dom/document-contentType-meta.html
       http/tests/dom/document-contentType-xhr.html
       http/tests/dom/document-contentType.html

* dom/Document.cpp:
(WebCore::Document::overrideMIMEType):
(WebCore::Document::contentType):
(WebCore::Document::cloneDataFromDocument):
* dom/Document.h:
* dom/Document.idl:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::currentContentType):
* loader/DocumentLoader.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):

LayoutTests:

* fast/dom/Document/clone-node-expected.txt:
* fast/dom/Document/clone-node.html:
* fast/dom/HTMLDocument/clone-node-quirks-mode-expected.txt:
* fast/dom/HTMLDocument/clone-node-quirks-mode.html:
* fast/dom/document-contentType-DOMParser-expected.txt: Added.
* fast/dom/document-contentType-DOMParser.html: Added.
* fast/dom/document-contentType-createDocument-expected.txt: Added.
* fast/dom/document-contentType-createDocument.html: Added.
* fast/dom/document-contentType-data-uri-expected.txt: Added.
* fast/dom/document-contentType-data-uri.html: Added.
* fast/xsl/xslt-contentType-expected.txt: Added.
* fast/xsl/xslt-contentType.html: Added.
* http/tests/dom/document-contentType-expected.txt: Added.
* http/tests/dom/document-contentType-meta-expected.txt: Added.
* http/tests/dom/document-contentType-meta.html: Added.
* http/tests/dom/document-contentType-xhr-expected.txt: Added.
* http/tests/dom/document-contentType-xhr.html: Added.
* http/tests/dom/document-contentType.html: Added.
* http/tests/dom/resources/dummy.css: Added.
(body):
* http/tests/dom/resources/dummy.html: Added.
* http/tests/dom/resources/dummy.js: Added.
* http/tests/dom/resources/dummy.txt: Added.
* http/tests/dom/resources/dummy.xml: Added.
* http/tests/dom/resources/send-mime-type.php: Added.
* http/tests/dom/resources/square20.bmp: Added.
* http/tests/dom/resources/square20.gif: Added.
* http/tests/dom/resources/square20.jpg: Added.
* http/tests/dom/resources/square20.png: Added.
* resources/js-test.js:
(shouldBeEqualToNumber):

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

6 years agoPut some common code in StorageNamespaceProvider
andersca@apple.com [Tue, 16 Dec 2014 18:39:14 +0000 (18:39 +0000)]
Put some common code in StorageNamespaceProvider
https://bugs.webkit.org/show_bug.cgi?id=139682

Reviewed by Tim Horton.

We have code in two places that gets the local storage area from a given document,
choosing either the local storage namespace or the transient local storage namespace.
Move it to StorageNamespaceProvider::localStorageArea.

* bindings/js/ScriptController.cpp:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::findStorageArea):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::localStorage):
* page/Navigator.cpp:
* storage/StorageNamespaceProvider.cpp:
(WebCore::StorageNamespaceProvider::localStorageArea):
(WebCore::StorageNamespaceProvider::localStorageNamespace):
* storage/StorageNamespaceProvider.h:

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

6 years agomedia/track/track-language-preference.html and media/track/track-prefer-captions...
ap@apple.com [Tue, 16 Dec 2014 18:36:01 +0000 (18:36 +0000)]
media/track/track-language-preference.html and media/track/track-prefer-captions.html time out on Mac
https://bugs.webkit.org/show_bug.cgi?id=112492

Skip these, as they time out every time.

* platform/mac/TestExpectations:

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

6 years agoSort out timeout implementations in DRT and WKTR
ap@apple.com [Tue, 16 Dec 2014 18:32:21 +0000 (18:32 +0000)]
Sort out timeout implementations in DRT and WKTR
https://bugs.webkit.org/show_bug.cgi?id=139671

Reviewed by Simon Fraser.

Test timeout implementation had many deficiencies, please see the bug for details.
Most notably, we shouldn't have the tool confused about timeouts vs. failures, and
[ Slow ] modifiers should work a lot better.

* DumpRenderTree/TestRunner.cpp: (TestRunner::TestRunner):
* DumpRenderTree/TestRunner.h: (TestRunner::setCustomTimeout):
* DumpRenderTree/mac/DumpRenderTree.mm: (runTest):
* DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setWaitToDump):
DumpRenderTree already read the --timeout option from command line, and webkitpy
was already configured to pass it on Mac and iOS. Let's actually use it.
TestCommand already had the same 30 second default, so this doesn't change behavior
when DRT is ran manually without the option.
Windows DumpRenderTree will need to be fixed separately (that's easy).

* DumpRenderTree/TestRunner.cpp: (TestRunner::waitToDumpWatchdogTimerFired()):
Don't print the timeout message to stdout to match WebKitTestRunner. It would be
slightly better to use stderr in both, as this is an out of band message, but
that's a larger refactoring, and the difference is minimal in practice.

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner.__init__): Ensure that script and tool timeouts are substantially
different. We want the tool to reliably detect timeouts that can be detected, and
not race with the script for that.

* Scripts/webkitpy/port/base.py: (Port.default_timeout_ms): Don't make WebKit2
timeout longer than WebKit1 one, I doubt that this is necessary. Now that the value
is honored inmore cases, that could make tests run slower.
* Scripts/webkitpy/port/driver.py:
(Driver.__init__):
(Driver.run_test):
(Driver.cmd_line):
(Driver._check_for_driver_timeout):
Detect tests that have the timeout output, and make these have the proper Timeout result.

* Scripts/webkitpy/port/ios.py: (IOSSimulatorPort.default_timeout_ms): Remove an
incorrect recent change - 80 * 1000 is 80 seconds, not 80 milliseconds.

* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setCustomTimeout): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::setCustomTimeout):
* WebKitTestRunner/InjectedBundle/efl/TestRunnerEfl.cpp:
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
* WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp:
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
* WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
Updated to use a timeout passed from UI process, which used to be ignored.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController):
(WTR::TestController::runUntil):
(WTR::TestController::getCustomTimeout): Deleted.
* WebKitTestRunner/TestController.h:
Delete unused m_timeout. First, it was always 0, and second, we don't need it at all.
Changed default message timeouts to match new run-webkit-tests timeout. These don't
affect ports where timeout is passed per test (shouldn't they all be like that?).

* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
(WTR::TestInvocation::setCustomTimeout): Deleted.
* WebKitTestRunner/TestInvocation.h:
(WTR::TestInvocation::setCustomTimeout):
(WTR::TestInvocation::customTimeout):
Ditto.

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

6 years ago[Cocoa] WKWebProcessPlugInLoadDelegate can’t tell what type of same-document navigati...
mitz@apple.com [Tue, 16 Dec 2014 17:45:13 +0000 (17:45 +0000)]
[Cocoa] WKWebProcessPlugInLoadDelegate can’t tell what type of same-document navigation has happened
https://bugs.webkit.org/show_bug.cgi?id=139669

Reviewed by Anders Carlsson.

* Shared/API/Cocoa/_WKSameDocumentNavigationType.h: Added. Moved the
_WKSameDocumentNavigationType type definition here from WKNavigationDelegatePrivate.h.
* Shared/API/Cocoa/_WKSameDocumentNavigationTypeInternal.h: Added.
(WebKit::toWKSameDocumentNavigationType): Moved from NavigationState.mm.

* Shared/API/c/WKSharedAPICast.h:
(WebKit::toSameDocumentNavigationType): Added this conversion helper.

* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Added #import.

* UIProcess/Cocoa/NavigationState.mm:
(WebKit::toWKSameDocumentNavigationType): Deleted.

* WebKit2.xcodeproj/project.pbxproj: Updated for added headers.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Declared new
delegate method that take a navigation type parameter.

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(didSameDocumentNavigationForFrame): Changed to call the new delegate method, passing the
navigation type.

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

6 years agoAdd FeatureCounterKeys.h to the Xcode project.
andersca@apple.com [Tue, 16 Dec 2014 17:15:24 +0000 (17:15 +0000)]
Add FeatureCounterKeys.h to the Xcode project.

* WebCore.xcodeproj/project.pbxproj:

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

6 years agoREGRESSION (r163928): Animated GIFs are not resumed when translated into view using...
cdumez@apple.com [Tue, 16 Dec 2014 16:12:35 +0000 (16:12 +0000)]
REGRESSION (r163928): Animated GIFs are not resumed when translated into view using -webkit-transform
https://bugs.webkit.org/show_bug.cgi?id=139672
<rdar://problem/19260797>

Reviewed by Antti Koivisto.

Source/WebCore:

After r163928, animated GIFs were not resumed when translated into view
using '-webkit-transform' CSS property.

This broke animated gifs on the mobile version of weibo.com (which is
one of the most popular blogging sites in China) on iPhone. e.g.
http://m.weibo.cn/page/tpl?containerid=1005052150182731_-_WEIBO_SECOND_PROFILE_WEIBO&itemid=&title=全部微博

This patch calls FrameView::resumeVisibleImageAnimationsIncludingSubframes()
after style recalc so that we resume animated images if they become visible
after the style has changed. Doing so after layout wouldn't work because
no layout happens in this case.

Test: fast/images/animated-gif-webkit-transform.html

* dom/Document.cpp:
(WebCore::Document::recalcStyle):

LayoutTests:

Add a layout test to verity that animated images are properly paused /
resumed when translated in and out of view using '-webkit-transform'
CSS property.

* fast/images/animated-gif-webkit-transform-expected.txt: Added.
* fast/images/animated-gif-webkit-transform.html: Added.

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

6 years agoUnreviewed. Update OptionsGTK.cmake and NEWS for 2.7.3 release.
carlosgc@webkit.org [Tue, 16 Dec 2014 11:37:50 +0000 (11:37 +0000)]
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.3 release.

.:

* Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

* gtk/NEWS: Add release notes for 2.7.3.

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

6 years ago[EFL] Add logging domain for MiniBrowser
g.czajkowski@samsung.com [Tue, 16 Dec 2014 10:24:13 +0000 (10:24 +0000)]
[EFL] Add logging domain for MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=139642

Reviewed by Gyuyoung Kim.

Similarly to EWebKit2, provide logging facility for MiniBrowser
based on Eina Log module to have a convenient way to display
all/subset/none messages for EFL based libraries and MiniBrowser.

Usage:
1. Disable all messages:
   EINA_LOG_LEVEL=0 ./Tools/Scripts/run-launcher --efl

2. Enable all messages:
   EINA_LOG_LEVEL=7 ./Tools/Scripts/run-launcher --efl

3. Enable MiniBrowser and EWebkit2 messages only:
   EINA_LOG_LEVELS="minibrowser:7,ewebkit2:7" ./Tools/Scripts/run-launcher --efl

More information and examples you can find here:
http://docs.enlightenment.org/auto/eet/tutorial_log_page.html

* MiniBrowser/efl/main.c:
(on_mouse_wheel):
(on_window_resize):
(save_page_contents_callback):
(script_execute_callback):
(on_key_down):
(on_download_request):
(on_download_finished):
(on_download_failed):
(quit):
(on_refresh_button_clicked):
(on_stop_button_clicked):
(navigation_button_longpress_process):
(on_popup_menu_item_clicked):
(popup_menu_populate):
(on_popup_menu_show):
(on_window_create):
(context_menu_item_selected_cb):
(context_menu_populate):
(on_context_menu_show):
(on_context_menu_hide):
(on_navigation_policy_decision):
(window_create):
(parse_cookies_policy):
(elm_main):
(has_scheme):
(list_item_label_get):
(on_popup_menu_hide):
(on_window_close):
(on_home_button_clicked):
Replace locally info() macro with newly introduced
one which uses Eina Log module. There is no logic change.

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

6 years agoWebKit level persistent caching
antti@apple.com [Tue, 16 Dec 2014 10:08:13 +0000 (10:08 +0000)]
WebKit level persistent caching
https://bugs.webkit.org/show_bug.cgi?id=30322

Minor cleanups based on comments by Joseph Pecoraro.

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::decodeStorageEntry):
* NetworkProcess/cache/NetworkCache.h:
* NetworkProcess/cache/NetworkCacheStorage.h:
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

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

6 years ago[GStreamer] Fix deadlock when shutting down AudioDestination
commit-queue@webkit.org [Tue, 16 Dec 2014 08:17:58 +0000 (08:17 +0000)]
[GStreamer] Fix deadlock when shutting down AudioDestination
https://bugs.webkit.org/show_bug.cgi?id=139496

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-16
Reviewed by Philippe Normand.

* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcLoop):
(webKitWebAudioSrcChangeState):
Sometimes we would wait forever for the task to shut down. This
was happening because of a bug in GStreamer that caused joining
a paused task to deadlock.

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

6 years agoExtend :lang()'s selector checker to handle ranges with '*' properly and perform...
commit-queue@webkit.org [Tue, 16 Dec 2014 05:56:33 +0000 (05:56 +0000)]
Extend :lang()'s selector checker to handle ranges with '*' properly and perform matching within the ASCII range
https://bugs.webkit.org/show_bug.cgi?id=139340

Patch by Dhi Aurrahman <diorahman@rockybars.com> on 2014-12-15
Reviewed by Benjamin Poulain.

Source/WebCore:

Asterisk is considered as a valid subtag of a language range to express wildcard matching
in :lang()'s extended filtering procedure. The matching rules introduced by language
range with '*' is outlined in [1].

The matching of subtags is performed case-insensitively within the ASCII range[2].

[1] www.ietf.org/rfc/rfc4647.txt
[2] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo

Test: fast/selectors/lang-equal-ignoring-case.html
      fast/selectors/lang-valid-extended-filtering.html

* css/SelectorCheckerTestFunctions.h:
(WebCore::equalIgnoringCaseWithinASCIIRange): Handle matching case-insensitively within the ASCII range.
(WebCore::containslanguageSubtagMatchingRange):
(WebCore::matchesLangPseudoClass):

LayoutTests:

* fast/selectors/lang-equal-ignoring-ascii-case-expected.txt: Added.
* fast/selectors/lang-equal-ignoring-ascii-case.html: Added.
* fast/selectors/lang-extended-filtering-expected.txt: Updated.
* fast/selectors/lang-extended-filtering.html: Updated.
* fast/selectors/lang-valid-extended-filtering-expected.txt: Added.
* fast/selectors/lang-valid-extended-filtering.html: Added.

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

6 years agoBuild fix after r177301.
commit-queue@webkit.org [Tue, 16 Dec 2014 04:51:22 +0000 (04:51 +0000)]
Build fix after r177301.
https://bugs.webkit.org/show_bug.cgi?id=139666

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2014-12-15
Reviewed by Gyuyoung Kim.

* WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
(WebKit::WebPage::findZoomableAreaForPoint):

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

6 years agoWeb Inspector: Clicking on the expand object arrow should always expand an object
commit-queue@webkit.org [Tue, 16 Dec 2014 03:25:09 +0000 (03:25 +0000)]
Web Inspector: Clicking on the expand object arrow should always expand an object
https://bugs.webkit.org/show_bug.cgi?id=139382

Patch by Nikita Vasilyev <nvasilyev@apple.com> on 2014-12-15
Reviewed by Joseph Pecoraro.

* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
(WebInspector.LogContentView.prototype._click): Deleted.
stopPropagation was preventing the object expansion from happening as expecting.

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

6 years agoImport Mozilla test suite for SVG.
commit-queue@webkit.org [Tue, 16 Dec 2014 02:19:52 +0000 (02:19 +0000)]
Import Mozilla test suite for SVG.
https://bugs.webkit.org/show_bug.cgi?id=139456.

LayoutTests/imported/mozilla:

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-12-09
Reviewed by Dean Jackson.

This is only a part of the test suite. The rest of the tests will be submitted
later as they are investigated and the failures are reduced.

* ChangeLog: Added.
* resources: Added.
* resources/fonts: Added.
* resources/fonts/Ahem.ttf: Added.
* resources/fonts/LinLibertine_Re-4.7.5.woff: Added.
* svg: Added.
* svg/altGlyph-01-expected.svg: Added.
* svg/altGlyph-01.svg: Added.
* svg/as-image: Added.
* svg/as-image/background-image-rect-1png-expected.html: Added.
* svg/as-image/background-image-rect-1png.html: Added.
* svg/as-image/background-image-rect-2-expected.html: Added.
* svg/as-image/background-image-rect-2.html: Added.
* svg/as-image/background-resize-1-expected.html: Added.
* svg/as-image/background-resize-1.html: Added.
* svg/as-image/background-resize-2-expected.html: Added.
* svg/as-image/background-resize-2.html: Added.
* svg/as-image/background-resize-3-expected.html: Added.
* svg/as-image/background-resize-3.html: Added.
* svg/as-image/background-resize-4-expected.html: Added.
* svg/as-image/background-resize-4.html: Added.
* svg/as-image/background-stretch-1-expected.html: Added.
* svg/as-image/background-stretch-1.html: Added.
* svg/as-image/border-image-simple-1-expected.html: Added.
* svg/as-image/border-image-simple-1.html: Added.
* svg/as-image/border-image-simple-2-expected.html: Added.
* svg/as-image/border-image-simple-2.html: Added.
* svg/as-image/canvas-drawImage-scale-1a-expected.html: Added.
* svg/as-image/canvas-drawImage-scale-1a.html: Added.
* svg/as-image/canvas-drawImage-scale-1b-expected.html: Added.
* svg/as-image/canvas-drawImage-scale-1b.html: Added.
* svg/as-image/img-content-outside-viewBox-1-expected.html: Added.
* svg/as-image/img-content-outside-viewBox-1.html: Added.
* svg/as-image/img-dyn-1-expected.html: Added.
* svg/as-image/img-dyn-1.html: Added.
* svg/as-image/img-foreignObject-1-expected.html: Added.
* svg/as-image/img-foreignObject-1.html: Added.
* svg/as-image/img-foreignObject-embed-1-expected.html: Added.
* svg/as-image/img-foreignObject-embed-1.html: Added.
* svg/as-image/img-foreignObject-iframe-1a-expected.html: Added.
* svg/as-image/img-foreignObject-iframe-1a.html: Added.
* svg/as-image/img-foreignObject-iframe-1b-expected.html: Added.
* svg/as-image/img-foreignObject-iframe-1b.html: Added.
* svg/as-image/img-height-meet-1-expected.html: Added.
* svg/as-image/img-height-meet-1.html: Added.
* svg/as-image/img-height-meet-2-expected.html: Added.
* svg/as-image/img-height-meet-2.html: Added.
* svg/as-image/img-height-slice-1-expected.html: Added.
* svg/as-image/img-height-slice-1.html: Added.
* svg/as-image/img-height-slice-2-expected.html: Added.
* svg/as-image/img-height-slice-2.html: Added.
* svg/as-image/img-simple-1-expected.html: Added.
* svg/as-image/img-simple-1.html: Added.
* svg/as-image/img-simple-2-expected.html: Added.
* svg/as-image/img-simple-2.html: Added.
* svg/as-image/img-simple-3-expected.html: Added.
* svg/as-image/img-simple-3.html: Added.
* svg/as-image/img-simple-4-expected.html: Added.
* svg/as-image/img-simple-4.html: Added.
* svg/as-image/img-simple-5-expected.html: Added.
* svg/as-image/img-simple-5.html: Added.
* svg/as-image/img-simple-6-expected.html: Added.
* svg/as-image/img-simple-6.html: Added.
* svg/as-image/img-simple-7-expected.html: Added.
* svg/as-image/img-simple-7.html: Added.
* svg/as-image/img-width-meet-1-expected.html: Added.
* svg/as-image/img-width-meet-1.html: Added.
* svg/as-image/img-width-meet-2-expected.html: Added.
* svg/as-image/img-width-meet-2.html: Added.
* svg/as-image/img-width-slice-1-expected.html: Added.
* svg/as-image/img-width-slice-1.html: Added.
* svg/as-image/img-width-slice-2-expected.html: Added.
* svg/as-image/img-width-slice-2.html: Added.
* svg/as-image/img-widthAndHeight-meet-1-expected.html: Added.
* svg/as-image/img-widthAndHeight-meet-1.html: Added.
* svg/as-image/img-widthAndHeight-meet-2-expected.html: Added.
* svg/as-image/img-widthAndHeight-meet-2.html: Added.
* svg/as-image/img-widthAndHeight-slice-1-expected.html: Added.
* svg/as-image/img-widthAndHeight-slice-1.html: Added.
* svg/as-image/img-widthAndHeight-slice-2-expected.html: Added.
* svg/as-image/img-widthAndHeight-slice-2.html: Added.
* svg/as-image/list-simple-1-expected.html: Added.
* svg/as-image/list-simple-1.html: Added.
* svg/as-image/resources: Added.
* svg/as-image/resources/content-outside-viewBox-1-helper.svg: Added.
* svg/as-image/resources/img-foreignObject-1-helper.svg: Added.
* svg/as-image/resources/img-foreignObject-embed-1-helper.svg: Added.
* svg/as-image/resources/img-foreignObject-iframe-1a-helper.svg: Added.
* svg/as-image/resources/img-foreignObject-iframe-1b-helper.svg: Added.
* svg/as-image/resources/lime100x100-noSVGDimensions.svg: Added.
* svg/as-image/resources/lime100x100-ref.html: Added.
* svg/as-image/resources/lime100x100.png: Added.
* svg/as-image/resources/lime100x100.svg: Added.
* svg/as-image/resources/lime200x100.svg: Added.
* svg/as-image/resources/lime200x200.svg: Added.
* svg/as-image/resources/lime50x25.svg: Added.
* svg/as-image/resources/lime50x50.svg: Added.
* svg/as-image/resources/limeInRed-noSVGDimensions-animViewBox.svg: Added.
* svg/as-image/resources/limeInRed-noSVGDimensions-viewBox.svg: Added.
* svg/as-image/resources/limeInRed100x100-viewBox.svg: Added.
* svg/as-image/resources/limeInRed100x100.png: Added.
* svg/as-image/resources/limeInRed100x100.svg: Added.
* svg/as-image/resources/script100x100.svg: Added.
* svg/as-image/resources/squaredCircle-100x100.svg: Added.
* svg/as-image/resources/squaredCircle-100x50.svg: Added.
* svg/as-image/resources/squaredCircle-viewBox-100x100.svg: Added.
* svg/as-image/resources/squaredCircle-viewBox-noSize.svg: Added.
* svg/as-image/resources/white-rect-no-viewbox.svg: Added.
* svg/as-image/resources/white-rect-with-viewbox.svg: Added.
* svg/as-image/zoom: Added.
* svg/as-image/zoom/img-fuzzy-zoomIn-1-expected.html: Added.
* svg/as-image/zoom/img-fuzzy-zoomIn-1.html: Added.
* svg/as-image/zoom/img-fuzzy-zoomOut-1-expected.html: Added.
* svg/as-image/zoom/img-fuzzy-zoomOut-1.html: Added.
* svg/blend-color-burn-expected.svg: Added.
* svg/blend-color-burn.svg: Added.
* svg/blend-color-dodge-expected.svg: Added.
* svg/blend-color-dodge.svg: Added.
* svg/blend-color-expected.svg: Added.
* svg/blend-color.svg: Added.
* svg/blend-darken-expected.svg: Added.
* svg/blend-darken.svg: Added.
* svg/blend-difference-expected.svg: Added.
* svg/blend-difference-stacking-expected.html: Added.
* svg/blend-difference-stacking.html: Added.
* svg/blend-difference.svg: Added.
* svg/blend-exclusion-expected.svg: Added.
* svg/blend-exclusion.svg: Added.
* svg/blend-hard-light-expected.svg: Added.
* svg/blend-hard-light.svg: Added.
* svg/blend-hue-expected.svg: Added.
* svg/blend-hue.svg: Added.
* svg/blend-layer-blend-expected.svg: Added.
* svg/blend-layer-blend.svg: Added.
* svg/blend-layer-filter-expected.svg: Added.
* svg/blend-layer-filter.svg: Added.
* svg/blend-layer-mask-expected.svg: Added.
* svg/blend-layer-mask.svg: Added.
* svg/blend-layer-opacity-expected.svg: Added.
* svg/blend-layer-opacity.svg: Added.
* svg/blend-lighten-expected.svg: Added.
* svg/blend-lighten.svg: Added.
* svg/blend-luminosity-expected.svg: Added.
* svg/blend-luminosity.svg: Added.
* svg/blend-multiply-expected.svg: Added.
* svg/blend-multiply.svg: Added.
* svg/blend-normal-expected.svg: Added.
* svg/blend-normal.svg: Added.
* svg/blend-overlay-expected.svg: Added.
* svg/blend-overlay.svg: Added.
* svg/blend-saturation-expected.svg: Added.
* svg/blend-saturation.svg: Added.
* svg/blend-screen-expected.svg: Added.
* svg/blend-screen.svg: Added.
* svg/clip-02a-expected.svg: Added.
* svg/clip-02a.svg: Added.
* svg/clip-02b-expected.svg: Added.
* svg/clip-02b.svg: Added.
* svg/clip-surface-clone-01-expected.svg: Added.
* svg/clip-surface-clone-01.svg: Added.
* svg/clipPath-basic-01-expected.svg: Added.
* svg/clipPath-basic-01.svg: Added.
* svg/clipPath-basic-02-expected.svg: Added.
* svg/clipPath-basic-02.svg: Added.
* svg/clipPath-basic-03-expected.svg: Added.
* svg/clipPath-basic-03.svg: Added.
* svg/clipPath-basic-04-expected.svg: Added.
* svg/clipPath-basic-04.svg: Added.
* svg/clipPath-basic-05-expected.svg: Added.
* svg/clipPath-basic-05.svg: Added.
* svg/clipPath-basic-06-expected.svg: Added.
* svg/clipPath-basic-06.svg: Added.
* svg/conditions-01-expected.svg: Added.
* svg/conditions-01.svg: Added.
* svg/conditions-02-expected.svg: Added.
* svg/conditions-02.svg: Added.
* svg/conditions-03-expected.svg: Added.
* svg/conditions-03.svg: Added.
* svg/conditions-04-expected.svg: Added.
* svg/conditions-04.svg: Added.
* svg/conditions-06-expected.svg: Added.
* svg/conditions-06.svg: Added.
* svg/conditions-07-expected.svg: Added.
* svg/conditions-07.svg: Added.
* svg/conditions-08-expected.svg: Added.
* svg/conditions-08.svg: Added.
* svg/cssComment-in-attribute-01-expected.svg: Added.
* svg/cssComment-in-attribute-01.svg: Added.
* svg/currentColor-01-expected.svg: Added.
* svg/currentColor-01.svg: Added.
* svg/currentColor-02-expected.svg: Added.
* svg/currentColor-02.svg: Added.
* svg/currentColor-03-expected.svg: Added.
* svg/currentColor-03.svg: Added.
* svg/dynamic-attr-change-1-expected.svg: Added.
* svg/dynamic-attr-change-1.svg: Added.
* svg/dynamic-attr-removal-1-expected.svg: Added.
* svg/dynamic-attr-removal-1.svg: Added.
* svg/dynamic-attr-removal-2-expected.svg: Added.
* svg/dynamic-attr-removal-2.svg: Added.
* svg/dynamic-class-01-expected.svg: Added.
* svg/dynamic-class-01.svg: Added.
* svg/dynamic-conditions-01-expected.svg: Added.
* svg/dynamic-conditions-01.svg: Added.
* svg/dynamic-conditions-03-expected.svg: Added.
* svg/dynamic-conditions-03.svg: Added.
* svg/dynamic-conditions-05-expected.svg: Added.
* svg/dynamic-conditions-05.svg: Added.
* svg/dynamic-conditions-08-expected.svg: Added.
* svg/dynamic-conditions-08.svg: Added.
* svg/dynamic-conditions-12-expected.svg: Added.
* svg/dynamic-conditions-12.svg: Added.
* svg/dynamic-filter-contents-01a-expected.svg: Added.
* svg/dynamic-filter-contents-01a.svg: Added.
* svg/dynamic-gradient-contents-01-expected.svg: Added.
* svg/dynamic-gradient-contents-01.svg: Added.
* svg/dynamic-gradient-contents-02-expected.svg: Added.
* svg/dynamic-gradient-contents-02.svg: Added.
* svg/dynamic-inner-svg-01-expected.svg: Added.
* svg/dynamic-inner-svg-01.svg: Added.
* svg/dynamic-link-style-01-expected.svg: Added.
* svg/dynamic-link-style-01.svg: Added.
* svg/dynamic-marker-01-expected.svg: Added.
* svg/dynamic-marker-01.svg: Added.
* svg/dynamic-marker-02-expected.svg: Added.
* svg/dynamic-marker-02.svg: Added.
* svg/dynamic-marker-03-expected.svg: Added.
* svg/dynamic-marker-03.svg: Added.
* svg/dynamic-mask-01-expected.svg: Added.
* svg/dynamic-mask-01.svg: Added.
* svg/dynamic-mask-contents-01-expected.svg: Added.
* svg/dynamic-mask-contents-01.svg: Added.
* svg/dynamic-mask-pre-effects-bbox-expected.html: Added.
* svg/dynamic-mask-pre-effects-bbox.html: Added.
* svg/dynamic-opacity-property-01-expected.svg: Added.
* svg/dynamic-opacity-property-01.svg: Added.
* svg/dynamic-pattern-01-expected.svg: Added.
* svg/dynamic-pattern-01.svg: Added.
* svg/dynamic-pattern-02-expected.svg: Added.
* svg/dynamic-pattern-02.svg: Added.
* svg/dynamic-pattern-contents-01-expected.svg: Added.
* svg/dynamic-pattern-contents-01.svg: Added.
* svg/dynamic-pattern-contents-02-expected.svg: Added.
* svg/dynamic-pattern-contents-02.svg: Added.
* svg/dynamic-rect-01-expected.svg: Added.
* svg/dynamic-rect-01.svg: Added.
* svg/dynamic-rect-03-expected.svg: Added.
* svg/dynamic-rect-03.svg: Added.
* svg/dynamic-reflow-01-expected.svg: Added.
* svg/dynamic-reflow-01.svg: Added.
* svg/dynamic-small-object-scaled-up-01-expected.svg: Added.
* svg/dynamic-small-object-scaled-up-01.svg: Added.
* svg/dynamic-small-object-scaled-up-02-expected.svg: Added.
* svg/dynamic-small-object-scaled-up-02.svg: Added.
* svg/dynamic-stroke-01-expected.svg: Added.
* svg/dynamic-stroke-01.svg: Added.
* svg/dynamic-stroke-opacity-01-expected.svg: Added.
* svg/dynamic-stroke-opacity-01.svg: Added.
* svg/dynamic-stroke-width-01-expected.svg: Added.
* svg/dynamic-stroke-width-01.svg: Added.
* svg/dynamic-switch-01-expected.svg: Added.
* svg/dynamic-switch-01.svg: Added.
* svg/dynamic-text-01-expected.svg: Added.
* svg/dynamic-text-01.svg: Added.
* svg/dynamic-text-02-expected.svg: Added.
* svg/dynamic-text-02.svg: Added.
* svg/dynamic-text-03-expected.svg: Added.
* svg/dynamic-text-03.svg: Added.
* svg/dynamic-text-04-expected.svg: Added.
* svg/dynamic-text-04.svg: Added.
* svg/dynamic-text-05-expected.svg: Added.
* svg/dynamic-text-05.svg: Added.
* svg/dynamic-text-06-expected.svg: Added.
* svg/dynamic-text-06.svg: Added.
* svg/dynamic-text-07-expected.svg: Added.
* svg/dynamic-text-07.svg: Added.
* svg/dynamic-text-08-expected.svg: Added.
* svg/dynamic-text-08.svg: Added.
* svg/dynamic-textPath-01-expected.svg: Added.
* svg/dynamic-textPath-01.svg: Added.
* svg/dynamic-textPath-02-expected.svg: Added.
* svg/dynamic-textPath-02.svg: Added.
* svg/dynamic-textPath-03-expected.svg: Added.
* svg/dynamic-textPath-03.svg: Added.
* svg/dynamic-use-01-expected.svg: Added.
* svg/dynamic-use-01.svg: Added.
* svg/dynamic-use-02-expected.svg: Added.
* svg/dynamic-use-02.svg: Added.
* svg/dynamic-use-03-expected.svg: Added.
* svg/dynamic-use-03.svg: Added.
* svg/dynamic-use-04-expected.svg: Added.
* svg/dynamic-use-04.svg: Added.
* svg/dynamic-use-05-expected.svg: Added.
* svg/dynamic-use-05.svg: Added.
* svg/dynamic-use-06-expected.svg: Added.
* svg/dynamic-use-06.svg: Added.
* svg/dynamic-use-07-expected.svg: Added.
* svg/dynamic-use-07.svg: Added.
* svg/dynamic-use-nested-01a-expected.svg: Added.
* svg/dynamic-use-nested-01a.svg: Added.
* svg/dynamic-use-nested-01b-expected.svg: Added.
* svg/dynamic-use-nested-01b.svg: Added.
* svg/dynamic-use-remove-width-expected.svg: Added.
* svg/dynamic-use-remove-width.svg: Added.
* svg/fallback-color-01a-expected.svg: Added.
* svg/fallback-color-01a.svg: Added.
* svg/fallback-color-01b-expected.svg: Added.
* svg/fallback-color-01b.svg: Added.
* svg/fallback-color-02a-expected.svg: Added.
* svg/fallback-color-02a.svg: Added.
* svg/fallback-color-03-expected.svg: Added.
* svg/fallback-color-03.svg: Added.
* svg/fallback-color-04-expected.svg: Added.
* svg/fallback-color-04.svg: Added.
* svg/filter-basic-01-expected.svg: Added.
* svg/filter-basic-01.svg: Added.
* svg/filter-basic-02-expected.svg: Added.
* svg/filter-basic-02.svg: Added.
* svg/filter-basic-03-expected.svg: Added.
* svg/filter-basic-03.svg: Added.
* svg/filter-bounds-01-expected.svg: Added.
* svg/filter-bounds-01.svg: Added.
* svg/filter-bounds-02-expected.svg: Added.
* svg/filter-bounds-02.svg: Added.
* svg/filter-result-01-expected.svg: Added.
* svg/filter-result-01.svg: Added.
* svg/filter-scaled-02-expected.html: Added.
* svg/filter-scaled-02.html: Added.
* svg/filter-translated-01-expected.svg: Added.
* svg/filter-translated-01.svg: Added.
* svg/filters: Added.
* svg/filters-and-group-opacity-01-expected.svg: Added.
* svg/filters-and-group-opacity-01.svg: Added.
* svg/filters/feBlend-1-expected.svg: Added.
* svg/filters/feBlend-1.svg: Added.
* svg/filters/feBlend-2-expected.svg: Added.
* svg/filters/feBlend-2.svg: Added.
* svg/filters/feColorMatrix-1-expected.svg: Added.
* svg/filters/feColorMatrix-1.svg: Added.
* svg/filters/feColorMatrix-2-expected.svg: Added.
* svg/filters/feColorMatrix-2.svg: Added.
* svg/filters/feComposite-1-expected.svg: Added.
* svg/filters/feComposite-1.svg: Added.
* svg/filters/feComposite-2-expected.svg: Added.
* svg/filters/feComposite-2.svg: Added.
* svg/filters/feConvolveMatrix-1-expected.svg: Added.
* svg/filters/feConvolveMatrix-1.svg: Added.
* svg/filters/feConvolveMatrix-2-expected.svg: Added.
* svg/filters/feConvolveMatrix-2.svg: Added.
* svg/filters/feConvolveMatrix-bias-01-expected.svg: Added.
* svg/filters/feConvolveMatrix-bias-01.svg: Added.
* svg/filters/feConvolveMatrix-order-01-expected.svg: Added.
* svg/filters/feConvolveMatrix-order-01.svg: Added.
* svg/filters/feFlood-1-expected.svg: Added.
* svg/filters/feFlood-1.svg: Added.
* svg/filters/feFlood-2-expected.svg: Added.
* svg/filters/feFlood-2.svg: Added.
* svg/filters/feGaussianBlur-2-expected.svg: Added.
* svg/filters/feGaussianBlur-2.svg: Added.
* svg/filters/feGaussianBlur-6-expected.svg: Added.
* svg/filters/feGaussianBlur-6.svg: Added.
* svg/filters/feGaussianBlur-alpha-01-expected.svg: Added.
* svg/filters/feGaussianBlur-alpha-01.svg: Added.
* svg/filters/feImage-1-expected.svg: Added.
* svg/filters/feImage-1.svg: Added.
* svg/filters/feMerge-1-expected.svg: Added.
* svg/filters/feMerge-1.svg: Added.
* svg/filters/feMerge-2-expected.svg: Added.
* svg/filters/feMerge-2.svg: Added.
* svg/filters/feOffset-1-expected.svg: Added.
* svg/filters/feOffset-1.svg: Added.
* svg/filters/feOffset-2-expected.svg: Added.
* svg/filters/feOffset-2.svg: Added.
* svg/filters/feSpecularLighting-1-expected.svg: Added.
* svg/filters/feSpecularLighting-1.svg: Added.
* svg/filters/feTile-1-expected.svg: Added.
* svg/filters/feTile-1.svg: Added.
* svg/filters/feTile-2-expected.svg: Added.
* svg/filters/feTile-2.svg: Added.
* svg/filters/feTile-large-02-expected.svg: Added.
* svg/filters/feTile-large-02.svg: Added.
* svg/filters/feTile-outside-01-expected.svg: Added.
* svg/filters/feTile-outside-01.svg: Added.
* svg/filters/feTurbulence-offset-expected.svg: Added.
* svg/filters/feTurbulence-offset.svg: Added.
* svg/filters/filter-kernelUnitLength-01-expected.svg: Added.
* svg/filters/filter-kernelUnitLength-01.svg: Added.
* svg/filters/filter-marked-line-02-expected.svg: Added.
* svg/filters/filter-marked-line-02.svg: Added.
* svg/filters/filter-marked-line-03-expected.svg: Added.
* svg/filters/filter-marked-line-03.svg: Added.
* svg/filters/filter-marked-line-04-expected.svg: Added.
* svg/filters/filter-marked-line-04.svg: Added.
* svg/filters/filter-marked-line-05-expected.svg: Added.
* svg/filters/filter-marked-line-05.svg: Added.
* svg/filters/filter-marked-line-06-expected.svg: Added.
* svg/filters/filter-marked-line-06.svg: Added.
* svg/filters/filter-marked-line-07-expected.svg: Added.
* svg/filters/filter-marked-line-07.svg: Added.
* svg/filters/filter-marked-line-08-expected.svg: Added.
* svg/filters/filter-marked-line-08.svg: Added.
* svg/filters/filter-marked-line-09-expected.svg: Added.
* svg/filters/filter-marked-line-09.svg: Added.
* svg/filters/svg-filter-chains: Added.
* svg/filters/svg-filter-chains/clip-input-expected.svg: Added.
* svg/filters/svg-filter-chains/clip-input.svg: Added.
* svg/filters/svg-filter-chains/clip-output-expected.svg: Added.
* svg/filters/svg-filter-chains/clip-output.svg: Added.
* svg/foreignObject-02-expected.svg: Added.
* svg/foreignObject-02.svg: Added.
* svg/foreignObject-ancestor-style-change-01-expected.svg: Added.
* svg/foreignObject-ancestor-style-change-01.svg: Added.
* svg/foreignObject-dynamic-abspos-01-expected.html: Added.
* svg/foreignObject-dynamic-abspos-01.html: Added.
* svg/foreignObject-img-form-theme-expected.html: Added.
* svg/foreignObject-img-form-theme.html: Added.
* svg/href-attr-change-restyles-expected.svg: Added.
* svg/href-attr-change-restyles.svg: Added.
* svg/image: Added.
* svg/image/image-filter-01-expected.svg: Added.
* svg/image/image-filter-01.svg: Added.
* svg/image/image-opacity-01-expected.svg: Added.
* svg/image/image-opacity-01.svg: Added.
* svg/image/image-opacity-02-expected.svg: Added.
* svg/image/image-opacity-02.svg: Added.
* svg/image/image-preserveAspectRatio-03-expected.svg: Added.
* svg/image/image-preserveAspectRatio-03.svg: Added.
* svg/image/image-preserveAspectRatio-04-expected.svg: Added.
* svg/image/image-preserveAspectRatio-04.svg: Added.
* svg/image/image-rotate-01-expected.svg: Added.
* svg/image/image-rotate-01.svg: Added.
* svg/image/image-translate-01-expected.svg: Added.
* svg/image/image-translate-01.svg: Added.
* svg/image/image-x-01-expected.svg: Added.
* svg/image/image-x-01.svg: Added.
* svg/image/image-xy-01-expected.svg: Added.
* svg/image/image-xy-01.svg: Added.
* svg/image/image-y-01-expected.svg: Added.
* svg/image/image-y-01.svg: Added.
* svg/image/resources: Added.
* svg/image/resources/blueRect10x10-viewBox-animPAR.svg: Added.
* svg/image/resources/blueRect10x10-viewBox.svg: Added.
* svg/image/resources/blueRect10x10.png: Added.
* svg/image/resources/blueRect10x10.svg: Added.
* svg/linearGradient-basic-03-expected.svg: Added.
* svg/linearGradient-basic-03.svg: Added.
* svg/marker-effects-01-expected.svg: Added.
* svg/marker-effects-01.svg: Added.
* svg/marker-orientation-01-expected.svg: Added.
* svg/marker-orientation-01.svg: Added.
* svg/marker-viewBox-01-expected.svg: Added.
* svg/marker-viewBox-01.svg: Added.
* svg/markers-and-group-opacity-01-expected.svg: Added.
* svg/markers-and-group-opacity-01.svg: Added.
* svg/mask-basic-01-expected.svg: Added.
* svg/mask-basic-01.svg: Added.
* svg/mask-basic-02-expected.svg: Added.
* svg/mask-basic-02.svg: Added.
* svg/mask-basic-03-expected.svg: Added.
* svg/mask-basic-03.svg: Added.
* svg/mask-basic-04-expected.svg: Added.
* svg/mask-basic-04.svg: Added.
* svg/mask-containing-masked-content-01-expected.svg: Added.
* svg/mask-transformed-01-expected.svg: Added.
* svg/mask-transformed-01.svg: Added.
* svg/mask-transformed-02-expected.svg: Added.
* svg/mask-transformed-02.svg: Added.
* svg/mask-type-01-expected.svg: Added.
* svg/mask-type-01.svg: Added.
* svg/nesting-invalid-01-expected.svg: Added.
* svg/nesting-invalid-01.js: Added.
* svg/nesting-invalid-01.svg: Added.
* svg/non-scaling-stroke-03-expected.svg: Added.
* svg/non-scaling-stroke-03.svg: Added.
* svg/objectBoundingBox-and-clipPath-expected.svg: Added.
* svg/objectBoundingBox-and-clipPath.svg: Added.
* svg/objectBoundingBox-and-mask-02-expected.svg: Added.
* svg/objectBoundingBox-and-mask-02.svg: Added.
* svg/objectBoundingBox-and-mask-expected.svg: Added.
* svg/objectBoundingBox-and-mask.svg: Added.
* svg/objectBoundingBox-and-pattern-01a-expected.svg: Added.
* svg/objectBoundingBox-and-pattern-01a.svg: Added.
* svg/objectBoundingBox-and-pattern-01b-expected.svg: Added.
* svg/objectBoundingBox-and-pattern-01b.svg: Added.
* svg/objectBoundingBox-and-pattern-01c-expected.svg: Added.
* svg/objectBoundingBox-and-pattern-01c.svg: Added.
* svg/objectBoundingBox-and-pattern-02-expected.svg: Added.
* svg/objectBoundingBox-and-pattern-02.svg: Added.
* svg/objectBoundingBox-and-pattern-03-expected.svg: Added.
* svg/objectBoundingBox-and-pattern-03.svg: Added.
* svg/opacity-and-gradient-02-expected.svg: Added.
* svg/opacity-and-gradient-02.svg: Added.
* svg/outer-svg-border-and-padding-01-expected.svg: Added.
* svg/outer-svg-border-and-padding-01.svg: Added.
* svg/overflow-on-outer-svg-01-expected.svg: Added.
* svg/overflow-on-outer-svg-01.svg: Added.
* svg/overflow-on-outer-svg-02a-expected.xhtml: Added.
* svg/overflow-on-outer-svg-02a.xhtml: Added.
* svg/overflow-on-outer-svg-02b-expected.xhtml: Added.
* svg/overflow-on-outer-svg-02b.xhtml: Added.
* svg/overflow-on-outer-svg-02c-expected.xhtml: Added.
* svg/overflow-on-outer-svg-02c.xhtml: Added.
* svg/overflow-on-outer-svg-02d-expected.xhtml: Added.
* svg/overflow-on-outer-svg-02d.xhtml: Added.
* svg/paint-order-01-expected.svg: Added.
* svg/paint-order-01.svg: Added.
* svg/paint-order-02-expected.svg: Added.
* svg/paint-order-02.svg: Added.
* svg/paint-order-03-expected.svg: Added.
* svg/paint-order-03.svg: Added.
* svg/path-02-expected.svg: Added.
* svg/path-02.svg: Added.
* svg/path-03-expected.svg: Added.
* svg/path-03.svg: Added.
* svg/path-04-expected.svg: Added.
* svg/path-04.svg: Added.
* svg/path-05-expected.svg: Added.
* svg/path-05.svg: Added.
* svg/path-06-expected.svg: Added.
* svg/path-06.svg: Added.
* svg/path-07-expected.svg: Added.
* svg/path-07.svg: Added.
* svg/path-08-expected.svg: Added.
* svg/path-08.svg: Added.
* svg/pathLength-01-expected.svg: Added.
* svg/pathLength-01.svg: Added.
* svg/pattern-basic-01-expected.svg: Added.
* svg/pattern-basic-01.svg: Added.
* svg/pattern-invalid-01-expected.svg: Added.
* svg/pattern-invalid-01.svg: Added.
* svg/pattern-live-01a-expected.svg: Added.
* svg/pattern-live-01a.svg: Added.
* svg/pattern-live-01b-expected.svg: Added.
* svg/pattern-live-01b.svg: Added.
* svg/pattern-scale-01a-expected.svg: Added.
* svg/pattern-scale-01a.svg: Added.
* svg/pattern-scale-01b-expected.svg: Added.
* svg/pattern-scale-01b.svg: Added.
* svg/pattern-scale-01c-expected.svg: Added.
* svg/pattern-scale-01c.svg: Added.
* svg/pattern-transform-presence-01-expected.svg: Added.
* svg/pattern-transform-presence-01.svg: Added.
* svg/pattern-transformed-01-expected.svg: Added.
* svg/pattern-transformed-01.svg: Added.
* svg/pseudo-classes-02-expected.svg: Added.
* svg/pseudo-classes-02.svg: Added.
* svg/radialGradient-basic-01-expected.svg: Added.
* svg/radialGradient-basic-01.svg: Added.
* svg/radialGradient-basic-02-expected.svg: Added.
* svg/radialGradient-basic-02.svg: Added.
* svg/radialGradient-basic-04-expected.svg: Added.
* svg/radialGradient-basic-04.svg: Added.
* svg/rect-01-expected.svg: Added.
* svg/rect-01.svg: Added.
* svg/rect-02-expected.svg: Added.
* svg/rect-02.svg: Added.
* svg/rect-03-expected.svg: Added.
* svg/rect-03.svg: Added.
* svg/rect-04-expected.svg: Added.
* svg/rect-04.svg: Added.
* svg/rect-with-rx-and-ry-01-expected.svg: Added.
* svg/rect-with-rx-and-ry-01.svg: Added.
* svg/sizing: Added.
* svg/sizing/inline--display-block--01-expected.xhtml: Added.
* svg/sizing/inline--display-block--01.xhtml: Added.
* svg/sizing/inline--display-inline--01-expected.xhtml: Added.
* svg/sizing/inline--display-inline--01.xhtml: Added.
* svg/sizing/inline--display-inline-block--01-expected.xhtml: Added.
* svg/sizing/inline--display-inline-block--01.xhtml: Added.
* svg/sizing/inline--float-left--01-expected.xhtml: Added.
* svg/sizing/inline--float-left--01.xhtml: Added.
* svg/sizing/inline--float-right--01-expected.xhtml: Added.
* svg/sizing/inline--float-right--01.xhtml: Added.
* svg/sizing/inline--position-absolute--01-expected.xhtml: Added.
* svg/sizing/inline--position-absolute--01.xhtml: Added.
* svg/sizing/inline--position-relative--01-expected.xhtml: Added.
* svg/sizing/inline--position-relative--01.xhtml: Added.
* svg/smil: Added.
* svg/smil/anim-class-04-expected.svg: Added.
* svg/smil/anim-class-04.svg: Added.
* svg/smil/anim-feConvolveMatrix-order-01-expected.svg: Added.
* svg/smil/anim-feConvolveMatrix-order-01.svg: Added.
* svg/smil/anim-feSpotLight-01-expected.svg: Added.
* svg/smil/anim-feSpotLight-01.svg: Added.
* svg/smil/anim-height-interp-1-expected.svg: Added.
* svg/smil/anim-height-interp-1.svg: Added.
* svg/smil/anim-height-interp-2-expected.svg: Added.
* svg/smil/anim-height-interp-2.svg: Added.
* svg/smil/anim-height-interp-3-expected.svg: Added.
* svg/smil/anim-height-interp-3.svg: Added.
* svg/smil/anim-height-interp-4-expected.svg: Added.
* svg/smil/anim-height-interp-4.svg: Added.
* svg/smil/anim-height-interp-5-expected.svg: Added.
* svg/smil/anim-height-interp-5.svg: Added.
* svg/smil/anim-height-interp-6-expected.svg: Added.
* svg/smil/anim-height-interp-6.svg: Added.
* svg/smil/anim-rect-rxry-1-expected.svg: Added.
* svg/smil/anim-rect-rxry-1.svg: Added.
* svg/smil/anim-x-interp-1-expected.svg: Added.
* svg/smil/anim-x-interp-1.svg: Added.
* svg/smil/anim-x-interp-2-expected.svg: Added.
* svg/smil/anim-x-interp-2.svg: Added.
* svg/smil/anim-x-interp-3-expected.svg: Added.
* svg/smil/anim-x-interp-3.svg: Added.
* svg/smil/anim-x-interp-4-expected.svg: Added.
* svg/smil/anim-x-interp-4.svg: Added.
* svg/smil/anim-x-interp-5-expected.svg: Added.
* svg/smil/anim-x-interp-5.svg: Added.
* svg/smil/anim-x-interp-6-expected.svg: Added.
* svg/smil/anim-x-interp-6.svg: Added.
* svg/smil/anim-x-seek-1a-expected.svg: Added.
* svg/smil/anim-y-interp-1-expected.svg: Added.
* svg/smil/anim-y-interp-1.svg: Added.
* svg/smil/anim-y-interp-2-expected.svg: Added.
* svg/smil/anim-y-interp-2.svg: Added.
* svg/smil/anim-y-interp-3-expected.svg: Added.
* svg/smil/anim-y-interp-3.svg: Added.
* svg/smil/anim-y-interp-4-expected.svg: Added.
* svg/smil/anim-y-interp-4.svg: Added.
* svg/smil/anim-y-interp-5-expected.svg: Added.
* svg/smil/anim-y-interp-5.svg: Added.
* svg/smil/anim-y-interp-6-expected.svg: Added.
* svg/smil/anim-y-interp-6.svg: Added.
* svg/smil/container: Added.
* svg/smil/container/invalid-elem-1-expected.xhtml: Added.
* svg/smil/container/invalid-elem-1.xhtml: Added.
* svg/smil/container/moved-tree-1-expected.xhtml: Added.
* svg/smil/container/moved-tree-1.xhtml: Added.
* svg/smil/motion: Added.
* svg/smil/motion/animateMotion-values-linear-1-expected.svg: Added.
* svg/smil/motion/animateMotion-values-linear-1.svg: Added.
* svg/smil/motion/animateMotion-values-paced-1a-expected.svg: Added.
* svg/smil/motion/animateMotion-values-paced-1a.svg: Added.
* svg/smil/motion/animateMotion-values-paced-1b-expected.svg: Added.
* svg/smil/motion/animateMotion-values-paced-1b.svg: Added.
* svg/smil/pause: Added.
* svg/smil/repeat: Added.
* svg/smil/repeat/indefinite-repeat-1-expected.svg: Added.
* svg/smil/repeat/indefinite-repeat-1.svg: Added.
* svg/smil/repeat/init-repeat-1-expected.svg: Added.
* svg/smil/repeat/init-repeat-1.svg: Added.
* svg/smil/restart: Added.
* svg/smil/restart/reset-2-expected.svg: Added.
* svg/smil/restart/reset-2.svg: Added.
* svg/smil/restart/reset-7-expected.svg: Added.
* svg/smil/restart/reset-7.svg: Added.
* svg/smil/smil-grid.js: Added.
* svg/smil/smil-util.js: Added.
* svg/smil/sort: Added.
* svg/smil/sort/sort-startAfter-1-expected.svg: Added.
* svg/smil/sort/sort-startAfter-1.svg: Added.
* svg/smil/sort/sort-startAfter-2-expected.svg: Added.
* svg/smil/sort/sort-startAfter-2.svg: Added.
* svg/smil/sort/sort-startAfter-3-expected.svg: Added.
* svg/smil/sort/sort-startAfter-3.svg: Added.
* svg/smil/sort/sort-startSame-1a-expected.svg: Added.
* svg/smil/sort/sort-startSame-1a.svg: Added.
* svg/smil/sort/sort-startSame-2a-expected.svg: Added.
* svg/smil/sort/sort-startSame-2a.svg: Added.
* svg/smil/style: Added.
* svg/smil/style/anim-css-color-1-by-ident-hex-expected.svg: Added.
* svg/smil/style/anim-css-color-1-by-ident-hex.svg: Added.
* svg/smil/style/anim-css-color-1-from-by-hex-hex-expected.svg: Added.
* svg/smil/style/anim-css-color-1-from-by-hex-hex.svg: Added.
* svg/smil/style/anim-css-color-1-from-by-ident-hex-expected.svg: Added.
* svg/smil/style/anim-css-color-1-from-by-ident-hex.svg: Added.
* svg/smil/style/anim-css-color-1-from-to-hex-hex-expected.svg: Added.
* svg/smil/style/anim-css-color-1-from-to-hex-hex.svg: Added.
* svg/smil/style/anim-css-color-1-from-to-ident-ident-expected.svg: Added.
* svg/smil/style/anim-css-color-1-from-to-ident-ident.svg: Added.
* svg/smil/style/anim-css-color-1-to-ident-hex-expected.svg: Added.
* svg/smil/style/anim-css-color-1-to-ident-hex.svg: Added.
* svg/smil/style/anim-css-color-1-to-ident-ident-expected.svg: Added.
* svg/smil/style/anim-css-color-1-to-ident-ident.svg: Added.
* svg/smil/style/anim-css-fill-1-by-ident-hex-expected.svg: Added.
* svg/smil/style/anim-css-fill-1-by-ident-hex.svg: Added.
* svg/smil/style/anim-css-fill-1-from-by-hex-hex-expected.svg: Added.
* svg/smil/style/anim-css-fill-1-from-by-hex-hex.svg: Added.
* svg/smil/style/anim-css-fill-1-from-by-ident-hex-expected.svg: Added.
* svg/smil/style/anim-css-fill-1-from-by-ident-hex.svg: Added.
* svg/smil/style/anim-css-fill-1-from-to-hex-hex-expected.svg: Added.
* svg/smil/style/anim-css-fill-1-from-to-hex-hex.svg: Added.
* svg/smil/style/anim-css-fill-1-from-to-ident-ident-expected.svg: Added.
* svg/smil/style/anim-css-fill-1-from-to-ident-ident.svg: Added.
* svg/smil/style/anim-css-fill-1-to-ident-hex-expected.svg: Added.
* svg/smil/style/anim-css-fill-1-to-ident-hex.svg: Added.
* svg/smil/style/anim-css-fill-1-to-ident-ident-expected.svg: Added.
* svg/smil/style/anim-css-fill-1-to-ident-ident.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-by-pct-pct-expected.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-by-pct-pct.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-by-px-px-expected.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-by-px-px.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-to-no-no-expected.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-to-no-no.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-to-no-px-expected.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-to-no-px.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-to-pct-pct-expected.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-to-pct-pct.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-to-px-no-expected.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-to-px-no.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-to-px-px-expected.svg: Added.
* svg/smil/style/anim-css-fontsize-1-from-to-px-px.svg: Added.
* svg/smil/transform: Added.
* svg/smil/transform/rotate-angle-1-expected.svg: Added.
* svg/smil/transform/rotate-angle-1.svg: Added.
* svg/smil/transform/rotate-angle-2-expected.svg: Added.
* svg/smil/transform/rotate-angle-2.svg: Added.
* svg/smil/transform/rotate-angle-3-expected.svg: Added.
* svg/smil/transform/rotate-angle-3.svg: Added.
* svg/smil/transform/rotate-angle-4-expected.svg: Added.
* svg/smil/transform/rotate-angle-4.svg: Added.
* svg/smil/transform/rotate-angle-5-expected.svg: Added.
* svg/smil/transform/rotate-angle-5.svg: Added.
* svg/smil/transform/set-transform-1-expected.svg: Added.
* svg/smil/transform/set-transform-1.svg: Added.
* svg/smil/transform/translate-clipPath-1-expected.svg: Added.
* svg/smil/transform/translate-clipPath-1.svg: Added.
* svg/stroke-width-percentage-01-expected.svg: Added.
* svg/stroke-width-percentage-01.svg: Added.
* svg/stroke-width-percentage-02a-expected.svg: Added.
* svg/stroke-width-percentage-02a.svg: Added.
* svg/stroke-width-percentage-02b-expected.svg: Added.
* svg/stroke-width-percentage-02b.svg: Added.
* svg/suspend-01-expected.svg: Added.
* svg/suspend-01.svg: Added.
* svg/suspend-02-expected.svg: Added.
* svg/suspend-02.svg: Added.
* svg/suspend-03-expected.svg: Added.
* svg/suspend-03.svg: Added.
* svg/suspend-04-expected.svg: Added.
* svg/suspend-04.svg: Added.
* svg/suspend-05-expected.svg: Added.
* svg/suspend-05.svg: Added.
* svg/suspend-06-expected.svg: Added.
* svg/suspend-06.svg: Added.
* svg/suspend-07-expected.svg: Added.
* svg/suspend-07.svg: Added.
* svg/suspend-08-expected.svg: Added.
* svg/suspend-08.svg: Added.
* svg/svg-effects-area-unzoomed-expected.xhtml: Added.
* svg/svg-effects-area-unzoomed.xhtml: Added.
* svg/svg-effects-area-zoomed-in-expected.xhtml: Added.
* svg/svg-effects-area-zoomed-in.xhtml: Added.
* svg/svg-effects-area-zoomed-out-expected.xhtml: Added.
* svg/svg-effects-area-zoomed-out.xhtml: Added.
* svg/svg-in-foreignObject-01-expected.xhtml: Added.
* svg/svg-in-foreignObject-01.xhtml: Added.
* svg/svg-integration: Added.
* svg/svg-integration/clipPath-html-01-expected.xhtml: Added.
* svg/svg-integration/clipPath-html-01.xhtml: Added.
* svg/svg-integration/clipPath-html-02-expected.xhtml: Added.
* svg/svg-integration/clipPath-html-02.xhtml: Added.
* svg/svg-integration/clipPath-html-03-expected.xhtml: Added.
* svg/svg-integration/clipPath-html-03.xhtml: Added.
* svg/svg-integration/clipPath-html-04-expected.xhtml: Added.
* svg/svg-integration/clipPath-html-04.xhtml: Added.
* svg/svg-integration/clipPath-html-05-expected.xhtml: Added.
* svg/svg-integration/clipPath-html-05.xhtml: Added.
* svg/svg-integration/clipPath-html-06-expected.xhtml: Added.
* svg/svg-integration/clipPath-html-06.xhtml: Added.
* svg/svg-integration/dynamic-conditions-outer-svg-01-expected.xhtml: Added.
* svg/svg-integration/dynamic-conditions-outer-svg-01.xhtml: Added.
* svg/svg-integration/dynamic-conditions-outer-svg-02-expected.xhtml: Added.
* svg/svg-integration/dynamic-conditions-outer-svg-02.xhtml: Added.
* svg/svg-integration/dynamic-conditions-outer-svg-03-expected.xhtml: Added.
* svg/svg-integration/dynamic-conditions-outer-svg-03.xhtml: Added.
* svg/svg-integration/dynamic-conditions-outer-svg-04-expected.xhtml: Added.
* svg/svg-integration/dynamic-conditions-outer-svg-04.xhtml: Added.
* svg/svg-transform-01-expected.svg: Added.
* svg/svg-transform-01.svg: Added.
* svg/svg-transform-02-expected.svg: Added.
* svg/svg-transform-02.svg: Added.
* svg/switch-01-expected.svg: Added.
* svg/switch-01.svg: Added.
* svg/symbol-01-expected.svg: Added.
* svg/symbol-01.svg: Added.
* svg/text: Added.
* svg/text-font-weight-01-expected.svg: Added.
* svg/text-font-weight-01.svg: Added.
* svg/text-gradient-01-expected.svg: Added.
* svg/text-gradient-01.svg: Added.
* svg/text-in-link-01-expected.svg: Added.
* svg/text-in-link-01.svg: Added.
* svg/text-in-link-02-expected.svg: Added.
* svg/text-in-link-02.svg: Added.
* svg/text-in-link-03-expected.svg: Added.
* svg/text-in-link-03.svg: Added.
* svg/text-language-00-expected.xhtml: Added.
* svg/text-language-01-expected.xhtml: Added.
* svg/text-layout-01-expected.svg: Added.
* svg/text-layout-01.svg: Added.
* svg/text-layout-02-expected.svg: Added.
* svg/text-layout-02.svg: Added.
* svg/text-layout-03-expected.svg: Added.
* svg/text-layout-03.svg: Added.
* svg/text-layout-04-expected.svg: Added.
* svg/text-layout-04.svg: Added.
* svg/text-layout-05-expected.svg: Added.
* svg/text-layout-05.svg: Added.
* svg/text-layout-06-expected.svg: Added.
* svg/text-layout-06.svg: Added.
* svg/text-layout-07-expected.svg: Added.
* svg/text-layout-07.svg: Added.
* svg/text-layout-08-expected.svg: Added.
* svg/text-layout-08.svg: Added.
* svg/text-scale-01-expected.svg: Added.
* svg/text-scale-01.svg: Added.
* svg/text-scale-02-expected.svg: Added.
* svg/text-scale-02.svg: Added.
* svg/text-scale-03-expected.svg: Added.
* svg/text-scale-03.svg: Added.
* svg/text-stroke-scaling-01-expected.svg: Added.
* svg/text-stroke-scaling-01.svg: Added.
* svg/text-style-01a-expected.svg: Added.
* svg/text-style-01a.svg: Added.
* svg/text-style-01b-expected.svg: Added.
* svg/text-style-01b.svg: Added.
* svg/text-style-01c-expected.svg: Added.
* svg/text-style-01c.svg: Added.
* svg/text-style-01d-expected.svg: Added.
* svg/text-style-01d.svg: Added.
* svg/text-style-01e-expected.svg: Added.
* svg/text-style-01e.svg: Added.
* svg/text-white-space-01-expected.svg: Added.
* svg/text-white-space-01.svg: Added.
* svg/text/clipPath-applied-expected.svg: Added.
* svg/text/clipPath-applied.svg: Added.
* svg/text/clipPath-content-expected.svg: Added.
* svg/text/clipPath-content.svg: Added.
* svg/text/deselectAll-expected.svg: Added.
* svg/text/deselectAll.svg: Added.
* svg/text/dynamic-dominant-baseline-expected.svg: Added.
* svg/text/dynamic-dominant-baseline.svg: Added.
* svg/text/dynamic-font-size-2-expected.svg: Added.
* svg/text/dynamic-font-size-2.svg: Added.
* svg/text/dynamic-font-size-3-expected.svg: Added.
* svg/text/dynamic-font-size-3.svg: Added.
* svg/text/dynamic-font-size-4-expected.svg: Added.
* svg/text/dynamic-font-size-4.svg: Added.
* svg/text/dynamic-font-size-expected.svg: Added.
* svg/text/dynamic-font-size.svg: Added.
* svg/text/dynamic-multiple-x-expected.svg: Added.
* svg/text/dynamic-multiple-x.svg: Added.
* svg/text/dynamic-non-scaling-stroke-expected.svg: Added.
* svg/text/dynamic-non-scaling-stroke.svg: Added.
* svg/text/filter-applied-expected.svg: Added.
* svg/text/filter-applied.svg: Added.
* svg/text/ignore-display-expected.svg: Added.
* svg/text/ignore-display.svg: Added.
* svg/text/ignore-invalid-child-2-expected.svg: Added.
* svg/text/ignore-invalid-child-2.svg: Added.
* svg/text/ignore-invalid-child-expected.svg: Added.
* svg/text/ignore-invalid-child.svg: Added.
* svg/text/ignore-position-expected.svg: Added.
* svg/text/ignore-position.svg: Added.
* svg/text/ignore-text-align-2-expected.svg: Added.
* svg/text/ignore-text-align-2.svg: Added.
* svg/text/ignore-vertical-align-expected.svg: Added.
* svg/text/ignore-vertical-align.svg: Added.
* svg/text/mask-applied-expected.svg: Added.
* svg/text/mask-applied.svg: Added.
* svg/text/mask-content-2-expected.svg: Added.
* svg/text/mask-content-2.svg: Added.
* svg/text/mask-content-expected.svg: Added.
* svg/text/mask-content.svg: Added.
* svg/text/multiple-chunks-bidi-expected.svg: Added.
* svg/text/multiple-chunks-bidi.svg: Added.
* svg/text/multiple-chunks-different-anchor-bidi-expected.svg: Added.
* svg/text/multiple-chunks-different-anchor-bidi.svg: Added.
* svg/text/multiple-chunks-different-anchor-expected.svg: Added.
* svg/text/multiple-chunks-different-anchor-rtl-expected.svg: Added.
* svg/text/multiple-chunks-different-anchor-rtl.svg: Added.
* svg/text/multiple-chunks-different-anchor.svg: Added.
* svg/text/multiple-chunks-directions-and-anchor-dx-expected.svg: Added.
* svg/text/multiple-chunks-directions-and-anchor-dx.svg: Added.
* svg/text/multiple-chunks-directions-and-anchor-expected.svg: Added.
* svg/text/multiple-chunks-directions-and-anchor-multiple-dx-expected.svg: Added.
* svg/text/multiple-chunks-directions-and-anchor-multiple-dx.svg: Added.
* svg/text/multiple-chunks-directions-and-anchor.svg: Added.
* svg/text/multiple-chunks-dx-bidi-expected.svg: Added.
* svg/text/multiple-chunks-dx-bidi.svg: Added.
* svg/text/multiple-chunks-dx-different-anchor-bidi-expected.svg: Added.
* svg/text/multiple-chunks-dx-different-anchor-bidi.svg: Added.
* svg/text/multiple-chunks-dx-different-anchor-expected.svg: Added.
* svg/text/multiple-chunks-dx-different-anchor-rtl-expected.svg: Added.
* svg/text/multiple-chunks-dx-different-anchor-rtl.svg: Added.
* svg/text/multiple-chunks-dx-different-anchor.svg: Added.
* svg/text/multiple-chunks-dx-expected.svg: Added.
* svg/text/multiple-chunks-dx-rtl-expected.svg: Added.
* svg/text/multiple-chunks-dx-rtl.svg: Added.
* svg/text/multiple-chunks-dx.svg: Added.
* svg/text/multiple-chunks-fill-color-expected.svg: Added.
* svg/text/multiple-chunks-fill-color.svg: Added.
* svg/text/multiple-chunks-multiple-dx-bidi-expected.svg: Added.
* svg/text/multiple-chunks-multiple-dx-bidi.svg: Added.
* svg/text/multiple-chunks-multiple-dx-different-anchor-bidi-expected.svg: Added.
* svg/text/multiple-chunks-multiple-dx-different-anchor-bidi.svg: Added.
* svg/text/multiple-chunks-multiple-dx-different-anchor-expected.svg: Added.
* svg/text/multiple-chunks-multiple-dx-different-anchor-rtl-expected.svg: Added.
* svg/text/multiple-chunks-multiple-dx-different-anchor-rtl.svg: Added.
* svg/text/multiple-chunks-multiple-dx-different-anchor.svg: Added.
* svg/text/multiple-chunks-multiple-dx-expected.svg: Added.
* svg/text/multiple-chunks-multiple-dx-rtl-expected.svg: Added.
* svg/text/multiple-chunks-multiple-dx-rtl.svg: Added.
* svg/text/multiple-chunks-rtl-expected.svg: Added.
* svg/text/multiple-chunks-rtl.svg: Added.
* svg/text/multiple-chunks-selection-expected.svg: Added.
* svg/text/multiple-chunks-selection.svg: Added.
* svg/text/multiple-x-anchor-end-bidi-expected.svg: Added.
* svg/text/multiple-x-anchor-end-bidi.svg: Added.
* svg/text/multiple-x-anchor-end-expected.svg: Added.
* svg/text/multiple-x-anchor-end-rtl-expected.svg: Added.
* svg/text/multiple-x-anchor-end-rtl.svg: Added.
* svg/text/multiple-x-anchor-end.svg: Added.
* svg/text/multiple-x-bidi-expected.svg: Added.
* svg/text/multiple-x-bidi.svg: Added.
* svg/text/multiple-x-dx-bidi-expected.svg: Added.
* svg/text/multiple-x-dx-bidi.svg: Added.
* svg/text/multiple-x-dx-expected.svg: Added.
* svg/text/multiple-x-dx-rtl-expected.svg: Added.
* svg/text/multiple-x-dx-rtl.svg: Added.
* svg/text/multiple-x-dx.svg: Added.
* svg/text/multiple-x-expected.svg: Added.
* svg/text/multiple-x-holes-bidi-expected.svg: Added.
* svg/text/multiple-x-holes-bidi.svg: Added.
* svg/text/multiple-x-holes-dx-bidi-expected.svg: Added.
* svg/text/multiple-x-holes-dx-bidi.svg: Added.
* svg/text/multiple-x-holes-dx-expected.svg: Added.
* svg/text/multiple-x-holes-dx.svg: Added.
* svg/text/multiple-x-holes-expected.svg: Added.
* svg/text/multiple-x-holes-multiple-dx-bidi-expected.svg: Added.
* svg/text/multiple-x-holes-multiple-dx-bidi.svg: Added.
* svg/text/multiple-x-holes-multiple-dx-expected.svg: Added.
* svg/text/multiple-x-holes-multiple-dx-rtl-expected.svg: Added.
* svg/text/multiple-x-holes-multiple-dx-rtl.svg: Added.
* svg/text/multiple-x-holes-multiple-dx.svg: Added.
* svg/text/multiple-x-holes-rtl-expected.svg: Added.
* svg/text/multiple-x-holes-rtl.svg: Added.
* svg/text/multiple-x-holes.svg: Added.
* svg/text/multiple-x-multiple-dx-anchor-end-bidi-expected.svg: Added.
* svg/text/multiple-x-multiple-dx-anchor-end-bidi.svg: Added.
* svg/text/multiple-x-multiple-dx-anchor-end-expected.svg: Added.
* svg/text/multiple-x-multiple-dx-anchor-end-rtl-expected.svg: Added.
* svg/text/multiple-x-multiple-dx-anchor-end-rtl.svg: Added.
* svg/text/multiple-x-multiple-dx-anchor-end.svg: Added.
* svg/text/multiple-x-multiple-dx-bidi-expected.svg: Added.
* svg/text/multiple-x-multiple-dx-bidi.svg: Added.
* svg/text/multiple-x-multiple-dx-expected.svg: Added.
* svg/text/multiple-x-multiple-dx-rtl-expected.svg: Added.
* svg/text/multiple-x-multiple-dx-rtl.svg: Added.
* svg/text/multiple-x-multiple-dx.svg: Added.
* svg/text/multiple-x-percentages-2-iframe-expected.svg: Added.
* svg/text/multiple-x-percentages-2-iframe.svg: Added.
* svg/text/multiple-x-percentages-expected.svg: Added.
* svg/text/multiple-x-percentages.svg: Added.
* svg/text/multiple-x-rtl-expected.svg: Added.
* svg/text/multiple-x-rtl.svg: Added.
* svg/text/multiple-x.svg: Added.
* svg/text/pseudo-first-letter-2-expected.svg: Added.
* svg/text/pseudo-first-letter-2.svg: Added.
* svg/text/pseudo-first-letter-expected.svg: Added.
* svg/text/pseudo-first-letter.svg: Added.
* svg/text/pseudo-first-line-2-expected.svg: Added.
* svg/text/pseudo-first-line-2.svg: Added.
* svg/text/pseudo-first-line-expected.svg: Added.
* svg/text/pseudo-first-line.svg: Added.
* svg/text/selectSubString-2-expected.svg: Added.
* svg/text/selectSubString-2.svg: Added.
* svg/text/selectSubString-3-expected.svg: Added.
* svg/text/selectSubString-3.svg: Added.
* svg/text/selectSubString-expected.svg: Added.
* svg/text/selectSubString.svg: Added.
* svg/text/simple-dx-2-expected.svg: Added.
* svg/text/simple-dx-2.svg: Added.
* svg/text/simple-dx-anchor-end-bidi-expected.svg: Added.
* svg/text/simple-dx-anchor-end-bidi.svg: Added.
* svg/text/simple-dx-anchor-end-expected.svg: Added.
* svg/text/simple-dx-anchor-end-rtl-expected.svg: Added.
* svg/text/simple-dx-anchor-end-rtl.svg: Added.
* svg/text/simple-dx-anchor-end.svg: Added.
* svg/text/simple-dx-anchor-middle-bidi-expected.svg: Added.
* svg/text/simple-dx-anchor-middle-bidi.svg: Added.
* svg/text/simple-dx-anchor-middle-expected.svg: Added.
* svg/text/simple-dx-anchor-middle-rtl-expected.svg: Added.
* svg/text/simple-dx-anchor-middle-rtl.svg: Added.
* svg/text/simple-dx-anchor-middle.svg: Added.
* svg/text/simple-dx-bidi-2-expected.svg: Added.
* svg/text/simple-dx-bidi-2.svg: Added.
* svg/text/simple-dx-bidi-expected.svg: Added.
* svg/text/simple-dx-bidi.svg: Added.
* svg/text/simple-dx-rtl-2-expected.svg: Added.
* svg/text/simple-dx-rtl-2.svg: Added.
* svg/text/simple-dx-rtl-expected.svg: Added.
* svg/text/simple-dx-rtl.svg: Added.
* svg/text/simple-fill-color-dynamic-expected.svg: Added.
* svg/text/simple-fill-color-dynamic.svg: Added.
* svg/text/simple-fill-gradient-expected.svg: Added.
* svg/text/simple-fill-gradient.svg: Added.
* svg/text/simple-multiline-anchor-end-expected.svg: Added.
* svg/text/simple-multiline-anchor-end.svg: Added.
* svg/text/simple-multiline-expected.svg: Added.
* svg/text/simple-multiline-number-expected.svg: Added.
* svg/text/simple-multiline-number.svg: Added.
* svg/text/simple-multiline-pc-expected.svg: Added.
* svg/text/simple-multiline-pc.svg: Added.
* svg/text/simple-multiline.svg: Added.
* svg/text/simple-multiple-dx-anchor-end-bidi-expected.svg: Added.
* svg/text/simple-multiple-dx-anchor-end-bidi.svg: Added.
* svg/text/simple-multiple-dx-anchor-end-expected.svg: Added.
* svg/text/simple-multiple-dx-anchor-end-rtl-expected.svg: Added.
* svg/text/simple-multiple-dx-anchor-end-rtl.svg: Added.
* svg/text/simple-multiple-dx-anchor-end.svg: Added.
* svg/text/simple-multiple-dx-anchor-middle-bidi-expected.svg: Added.
* svg/text/simple-multiple-dx-anchor-middle-bidi.svg: Added.
* svg/text/simple-multiple-dx-anchor-middle-expected.svg: Added.
* svg/text/simple-multiple-dx-anchor-middle-rtl-expected.svg: Added.
* svg/text/simple-multiple-dx-anchor-middle-rtl.svg: Added.
* svg/text/simple-multiple-dx-anchor-middle.svg: Added.
* svg/text/simple-multiple-dx-bidi-expected.svg: Added.
* svg/text/simple-multiple-dx-bidi.svg: Added.
* svg/text/simple-multiple-dx-rtl-expected.svg: Added.
* svg/text/simple-multiple-dx-rtl.svg: Added.
* svg/text/simple-transform-rotate-expected.svg: Added.
* svg/text/simple-transform-rotate.svg: Added.
* svg/text/simple-underline-scaled-expected.svg: Added.
* svg/text/simple-underline-scaled.svg: Added.
* svg/text/text-shadow-expected.svg: Added.
* svg/text/text-shadow.svg: Added.
* svg/text/textLength-5-expected.svg: Added.
* svg/text/textLength-5.svg: Added.
* svg/text/textLength-6-expected.svg: Added.
* svg/text/textLength-6.svg: Added.
* svg/text/textpath-a-expected.svg: Added.
* svg/text/textpath-a.svg: Added.
* svg/text/textpath-after-expected.svg: Added.
* svg/text/textpath-anchor-end-expected.svg: Added.
* svg/text/textpath-anchor-end.svg: Added.
* svg/text/textpath-anchor-middle-expected.svg: Added.
* svg/text/textpath-anchor-middle.svg: Added.
* svg/text/textpath-expected.svg: Added.
* svg/text/textpath-invalid-parent-expected.svg: Added.
* svg/text/textpath-invalid-parent.svg: Added.
* svg/text/textpath-multiline-2-expected.svg: Added.
* svg/text/textpath-multiline-2.svg: Added.
* svg/text/textpath-multiline-expected.svg: Added.
* svg/text/textpath-multiline.svg: Added.
* svg/text/textpath-selection-expected.svg: Added.
* svg/text/textpath-selection.svg: Added.
* svg/text/textpath.svg: Added.
* svg/textPath-01-expected.svg: Added.
* svg/textPath-01.svg: Added.
* svg/tspan-dxdy-01-expected.svg: Added.
* svg/tspan-dxdy-01.svg: Added.
* svg/tspan-dxdy-02-expected.svg: Added.
* svg/tspan-dxdy-02.svg: Added.
* svg/tspan-dxdy-03-expected.svg: Added.
* svg/tspan-dxdy-03.svg: Added.
* svg/tspan-dxdy-04-expected.svg: Added.
* svg/tspan-dxdy-04.svg: Added.
* svg/tspan-dxdy-05-expected.svg: Added.
* svg/tspan-dxdy-05.svg: Added.
* svg/tspan-dxdy-06-expected.svg: Added.
* svg/tspan-dxdy-06.svg: Added.
* svg/tspan-dxdy-textPath-01-expected.svg: Added.
* svg/tspan-dxdy-textPath-01.svg: Added.
* svg/tspan-rotate-01-expected.svg: Added.
* svg/tspan-rotate-01.svg: Added.
* svg/tspan-rotate-02-expected.svg: Added.
* svg/tspan-rotate-02.svg: Added.
* svg/tspan-rotate-03-expected.svg: Added.
* svg/tspan-rotate-03.svg: Added.
* svg/tspan-rotate-04-expected.svg: Added.
* svg/tspan-rotate-04.svg: Added.
* svg/tspan-rotate-05-expected.svg: Added.
* svg/tspan-rotate-05.svg: Added.
* svg/tspan-rotate-06-expected.svg: Added.
* svg/tspan-rotate-06.svg: Added.
* svg/tspan-rotate-07-expected.svg: Added.
* svg/tspan-rotate-07.svg: Added.
* svg/tspan-rotate-textPath-01-expected.svg: Added.
* svg/tspan-rotate-textPath-01.svg: Added.
* svg/tspan-xy-01-expected.svg: Added.
* svg/tspan-xy-01.svg: Added.
* svg/tspan-xy-02-expected.svg: Added.
* svg/tspan-xy-02.svg: Added.
* svg/tspan-xy-03-expected.svg: Added.
* svg/tspan-xy-03.svg: Added.
* svg/tspan-xy-04-expected.svg: Added.
* svg/tspan-xy-04.svg: Added.
* svg/tspan-xy-05-expected.svg: Added.
* svg/tspan-xy-05.svg: Added.
* svg/tspan-xy-06-expected.svg: Added.
* svg/tspan-xy-06.svg: Added.
* svg/userSpaceOnUse-and-pattern-01-expected.svg: Added.
* svg/userSpaceOnUse-and-pattern-01.svg: Added.
* svg/viewBox-and-pattern-01-expected.svg: Added.
* svg/viewBox-and-pattern-01.svg: Added.
* svg/viewBox-and-pattern-02-expected.svg: Added.
* svg/viewBox-and-pattern-02.svg: Added.
* svg/viewBox-and-pattern-03-expected.svg: Added.
* svg/viewBox-and-pattern-03.svg: Added.
* svg/viewBox-invalid-01-expected.svg: Added.
* svg/viewBox-invalid-01.svg: Added.
* svg/viewBox-valid-01-expected.svg: Added.
* svg/viewBox-valid-01.svg: Added.
* svg/viewBox-valid-02-expected.xhtml: Added.
* svg/viewBox-valid-02.xhtml: Added.
* svg/viewport-percent-graphic-user-01-expected.svg: Added.
* svg/viewport-percent-graphic-user-01.svg: Added.
* svg/winding-01-expected.svg: Added.
* svg/winding-01.svg: Added.
* svg/zero-stroke-01-expected.svg: Added.
* svg/zero-stroke-01.svg: Added.

LayoutTests:

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-12-15
Reviewed by Dean Jackson.

This is only a part of the test suite. The rest of the tests will be submitted
later as they are investigated and the failures are reduced.

* TestExpectations:
* imported/mozilla: Added.

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

6 years ago[iOS WK2] Possible crash when setting the WKWebViews's scroll view delegate, if the...
simon.fraser@apple.com [Tue, 16 Dec 2014 02:12:19 +0000 (02:12 +0000)]
[iOS WK2] Possible crash when setting the WKWebViews's scroll view delegate, if the scroll view outlives the web view
https://bugs.webkit.org/show_bug.cgi?id=139662
rdar://problem/18083882

Reviewed by Benjamin Poulain.

Null out the internal delegate on the WKScrollView when the WKWebView goes away, since
it's possible for a client to set its own scroll view delegate, forcing the creation of
a WKScrollViewDelegateForwarder, and then retain the UIScrollView past the lifetime of
the WKWebView. In this situation, the WKScrollViewDelegateForwarder's internalDelegate
would point to a deleted WKWebView.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView dealloc]):

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

6 years ago[iOS] Add feature counting support
cdumez@apple.com [Tue, 16 Dec 2014 02:08:23 +0000 (02:08 +0000)]
[iOS] Add feature counting support
https://bugs.webkit.org/show_bug.cgi?id=139652
<rdar://problem/19255690>

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Link against AppSupport framework on iOS as we need it to implement
the new FeatureCounter API in WTF.

* Configurations/JavaScriptCore.xcconfig:

Source/WebCore:

Use FeatureCounter API to log PageCache failure reasons
as well as its success rate.

No new tests, no behavior change.

* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
(WebCore::logCanCachePageDecision):
(WebCore::PageCache::canCache):
* platform/FeatureCounterKeys.h: Added.

Source/WTF:

Add a FeatureCounter API for to log / count when a feature
is used. For now, this is only implementated on iOS.

* WTF.vcxproj/WTF.vcxproj:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/FeatureCounter.cpp: Added.
(WTF::incrementFeatureCounterKey):
(WTF::setFeatureCounterKey):
* wtf/FeatureCounter.h: Added.
* wtf/ios/FeatureCounter.mm: Added.
(WTF::incrementFeatureCounterKey):
(WTF::setFeatureCounterKey):

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

6 years agoBuild fix.
bdakin@apple.com [Tue, 16 Dec 2014 01:38:36 +0000 (01:38 +0000)]
Build fix.

* WebView/WebImmediateActionController.mm:

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

6 years agoSpeculative build fix.
bdakin@apple.com [Tue, 16 Dec 2014 01:30:07 +0000 (01:30 +0000)]
Speculative build fix.

Source/WebCore:

* platform/spi/mac/LookupSPI.h:

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _animationControllerForDictionaryLookupPopupInfo:]):
* WebView/WebViewInternal.h:

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

6 years agoSpeculative build fix.
bdakin@apple.com [Tue, 16 Dec 2014 01:19:28 +0000 (01:19 +0000)]
Speculative build fix.

* platform/spi/mac/LookupSPI.h:

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

6 years agoSwitching src of <video> with clipping layer results in empty black square.
jer.noble@apple.com [Tue, 16 Dec 2014 01:05:19 +0000 (01:05 +0000)]
Switching src of <video> with clipping layer results in empty black square.
https://bugs.webkit.org/show_bug.cgi?id=139650

Reviewed by Simon Fraser.

Source/WebCore:

Test: compositing/video-clip-change-src.html

When the contentsLayer changes after a contentsClippingLayer has already been created, make sure to parent the
new contentsLayer, as updateRects() will only reparent when first creating a contentsClippingLayer.

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setContentsToPlatformLayer):

LayoutTests:

* compositing/video-clip-change-src-expected.html: Added.
* compositing/video-clip-change-src.html: Added.

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

6 years agoMake lookup an immediate action instead of an action menu item
bdakin@apple.com [Tue, 16 Dec 2014 00:51:31 +0000 (00:51 +0000)]
Make lookup an immediate action instead of an action menu item
https://bugs.webkit.org/show_bug.cgi?id=139661
-and corresponding-
rdar://problem/19198414

Reviewed by Tim Horton.

Source/WebCore:

New SPI.
* platform/spi/mac/LookupSPI.h:

Source/WebKit/mac:

Remove the lookup menu items and non-unused static function associated with
lookup.
* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForText]):
(-[WebActionMenuController _defaultMenuItemsForEditableText]):
(-[WebActionMenuController _defaultMenuItemsForEditableTextWithSuggestions]):
(-[WebActionMenuController _createActionMenuItemForTag:]):
(-[WebActionMenuController _lookupText:]): Deleted.
(performDictionaryLookupForSelection): Deleted.
(performDictionaryLookupForRange): Deleted.

Set the defaultAnimationController to the lookup-provided animation controller
when appropriate.
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]):
(dictionaryPopupInfoForRange):
(-[WebImmediateActionController _animationControllerForText]):

New type.
* WebView/WebUIDelegatePrivate.h:

New function to get the lookup animation controller.
* WebView/WebView.mm:
(-[WebView _animationControllerForDictionaryLookupPopupInfo:]):
* WebView/WebViewInternal.h:

Source/WebKit2:

New type.
* Shared/API/c/WKImmediateActionTypes.h:

ActionMenuHitTestResult now includes a DictionaryPopupInfo.
* Shared/mac/ActionMenuHitTestResult.h:
* Shared/mac/ActionMenuHitTestResult.mm:
(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):

Remove all lookup menu items.
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForText]):
(-[WKActionMenuController _defaultMenuItemsForEditableText]):
(-[WKActionMenuController _defaultMenuItemsForEditableTextWithSuggestions]):
(-[WKActionMenuController _createActionMenuItemForTag:]):
(-[WKActionMenuController _lookupText:]): Deleted.

Set the defaultAnimationController to the lookup-provided animation controller
when appropriate.
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _defaultAnimationController]):
(-[WKImmediateActionController _animationControllerForText]):

Re-factor performDictionaryLookupForRange() so that most of the work is done in a
new function called dictionaryPopupInfoForRange(). This was that code can be used
for both performing a dictionary lookup and just getting the DictionaryPopupInfo
for the ActionMenuHitTest.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dictionaryPopupInfoForRange):
(WebKit::WebPage::performDictionaryLookupForRange):
(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::lookupTextAtLocation):

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

6 years agoWeb Inspector: CSSStyleDeclarationTextEditor fails to update if computed properties...
commit-queue@webkit.org [Tue, 16 Dec 2014 00:01:31 +0000 (00:01 +0000)]
Web Inspector: CSSStyleDeclarationTextEditor fails to update if computed properties changed from empty to non-empty
https://bugs.webkit.org/show_bug.cgi?id=139610

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-12-15
Reviewed by Timothy Hatcher.

The CSSStyleDeclarationTextEditor for Computed Style Properties always has
empty DOMNodeStyles text. However we would not reset contents if properties
changed and the actualy content was empty. So once empty, we could never
recover. In fact, we should always refresh for Computed Styles.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._propertiesChanged):

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

6 years agoGet rid of the DONT_FINALIZE_ON_MAIN_THREAD #define
andersca@apple.com [Mon, 15 Dec 2014 23:53:43 +0000 (23:53 +0000)]
Get rid of the DONT_FINALIZE_ON_MAIN_THREAD #define
https://bugs.webkit.org/show_bug.cgi?id=139613

Reviewed by Sam Weinig.

Source/WebCore:

* WebCore.exp.in:
Update symbols.

* WebCore.xcodeproj/project.pbxproj:
Remove -Wno-deprecated-declarations from the WebCoreObjCExtras.mm build flags.

* platform/mac/WebCoreObjCExtras.h:
If OBJC_NO_GC is defined to 1, just make WebCoreObjCFinalizeOnMainThread a no-op inline function.

* platform/mac/WebCoreObjCExtras.mm:
(WebCoreObjCFinalizeOnMainThread):
Move this to the .h file for easier inlining.

(WebCoreObjCScheduleDeallocateOnMainThread):
Use a lambda.

Source/WTF:

* wtf/Platform.h:
Remove the #define.

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

6 years agoSeparate counted and hysteresis activities in PageThrottler
barraclough@apple.com [Mon, 15 Dec 2014 23:52:50 +0000 (23:52 +0000)]
Separate counted and hysteresis activities in PageThrottler
https://bugs.webkit.org/show_bug.cgi?id=139657

Reviewed by Sam Weinig.

Currently all activities funnel into a common hysteresis mechanism, the result of
which is combined with the visually idle state, the result of which in turn drives
a UserActivity::Impl.

This is a first refactoring towards moving the UserActivity out to WebKit2. Use
m_hysteresis only of the impulse activities (plugin evaluation, user input), and
flatten the three types of activities (impulse, counted, ViewState) to all directly
control a UserActivity. Switch from a UserActivity::Impl to a UserActivity since
this will provide hysteresis for media activity.

* page/PageThrottler.cpp:
(WebCore::m_pageActivityCounter):
    - when the RefCounter changes just call updateUserActivity directly, removeed redundant call to updateUserActivity.
(WebCore::PageThrottler::createUserActivity):
    - m_activity is now a UserActivity.
(WebCore::PageThrottler::updateUserActivity):
    - previously just checked m_hysteresis for activity; now check m_pageActivityCounter too.
(WebCore::PageThrottler::pageActivityCounterValueDidChange): Deleted.
    - no longer needed; when the RefCounter changes just call updateUserActivity directly.
* page/PageThrottler.h:
    - removed pageActivityCounterValueDidChange, m_activity is now a UserActivity.

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

6 years agoSafari crashes when you set Malloc environment variables
ggaren@apple.com [Mon, 15 Dec 2014 23:40:06 +0000 (23:40 +0000)]
Safari crashes when you set Malloc environment variables
https://bugs.webkit.org/show_bug.cgi?id=139656

Reviewed by Michael Saboff.

I forgot to cover the realloc() case. Whoops. (OoPS?)

This time around, I ran the full MallocBench test suite in Malloc=1
mode, and it passed.

* bmalloc/Allocator.cpp:
(bmalloc::Allocator::reallocate):
* bmalloc/Allocator.h: Pushed realloc() logic down into the allocator.
It needs to be down there so that we can do the short-circuiting check
for whether bmalloc is enabled first.

Also added the check.

* bmalloc/Cache.cpp:
(bmalloc::Cache::scavenge):
(bmalloc::Cache::Cache):
(bmalloc::Cache::reallocateSlowCaseNullCache):
* bmalloc/Cache.h:
(bmalloc::Cache::deallocator):
(bmalloc::Cache::reallocate): Ditto.

* bmalloc/bmalloc.h:
(bmalloc::api::free):
(bmalloc::api::realloc): Ditto.

(bmalloc::api::scavenge): Pushed this down into Cache to match the
surrounding functions.

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

6 years agoUnreviewed, rolling out r177284.
commit-queue@webkit.org [Mon, 15 Dec 2014 23:24:12 +0000 (23:24 +0000)]
Unreviewed, rolling out r177284.
https://bugs.webkit.org/show_bug.cgi?id=139658

"Breaks API tests and LayoutTests on Yosemite Debug"
(Requested by msaboff on #webkit).

Reverted changeset:

"Make sure range based iteration of Vector<> still receives
bounds checking"
https://bugs.webkit.org/show_bug.cgi?id=138821
http://trac.webkit.org/changeset/177284

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

6 years ago[EFL] FTL JIT not working on ARM64
dbatyai.u-szeged@partner.samsung.com [Mon, 15 Dec 2014 22:58:17 +0000 (22:58 +0000)]
[EFL] FTL JIT not working on ARM64
https://bugs.webkit.org/show_bug.cgi?id=139295

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Added the missing code for stack unwinding and some additional small fixes
to get FTL working correctly.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLUnwindInfo.cpp:
(JSC::FTL::UnwindInfo::parse):

Tools:

Added patches for llvm to add ARM64 support for FTL JIT

* efl/jhbuild.modules:
* efl/patches/llvm-elf-add-stackmaps-arm64.patch: Added.
* efl/patches/llvm-elf-allow-fde-references-outside-the-2gb-range-arm64.patch: Added.

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

6 years agocloneNode(true) does not clone nested template elements' contents
rniwa@webkit.org [Mon, 15 Dec 2014 22:19:38 +0000 (22:19 +0000)]
cloneNode(true) does not clone nested template elements' contents
https://bugs.webkit.org/show_bug.cgi?id=137755

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by cloneChildNodes not copying template element's content.

Fixed the bug by adding the third behavior (CloneContent) to the polymorphic
cloneNodeInternal, which copies template element's content but not its children,
in addition to the existing CloneSelf (deep=false) and CloneChildren (deep=true).

Test: fast/dom/HTMLTemplateElement/cloneNode-nested-templates.html

* dom/Attr.cpp:
(WebCore::Attr::cloneNodeInternal): Renamed from cloneNode.
* dom/Attr.h:
* dom/CDATASection.cpp:
(WebCore::CDATASection::cloneNodeInternal): Renamed from cloneNode.
* dom/CDATASection.h:
* dom/Comment.cpp:
(WebCore::Comment::cloneNodeInternal): Renamed from cloneNode.
* dom/Comment.h:
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::cloneChildNodes): Calls cloneNode with CloneContent.
* dom/Document.cpp:
(WebCore::Document::cloneNodeInternal): Renamed from cloneNode.
* dom/Document.h:
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::cloneNodeInternal): Renamed from cloneNode.
* dom/DocumentFragment.h:
* dom/DocumentType.cpp:
(WebCore::DocumentType::cloneNodeInternal): Renamed from cloneNode.
* dom/DocumentType.h:
* dom/Element.cpp:
(WebCore::Element::cloneNodeInternal): Renamed from cloneNode.
* dom/Element.h:
* dom/EntityReference.cpp:
(WebCore::EntityReference::cloneNodeInternal): Renamed from cloneNode.
* dom/EntityReference.h:
* dom/Node.h:
(WebCore::Node::cloneNode): Added. It calls cloneNodeInternal with CloneSelf or CloneChildren.
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::cloneNodeInternal): Renamed from cloneNode.
* dom/ProcessingInstruction.h:
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::cloneNodeInternal): Renamed from cloneNode. Also moved from ShadowRoot.h.
* dom/ShadowRoot.h:
* dom/Text.cpp:
(WebCore::Text::cloneNodeInternal): Renamed from cloneNode.
* dom/Text.h:
* html/HTMLTemplateElement.cpp:
(WebCore::HTMLTemplateElement::cloneNodeInternal): Renamed from cloneNode. This is the only
function in which CloneContent results in a different behavior from CloneSelf.
* html/HTMLTemplateElement.h:

LayoutTests:

Added a regression test.

* fast/dom/HTMLTemplateElement/cloneNode-nested-templates-expected.txt: Added.
* fast/dom/HTMLTemplateElement/cloneNode-nested-templates.html: Added.

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

6 years agoUnify the various serialization of selector list
benjamin@webkit.org [Mon, 15 Dec 2014 22:18:35 +0000 (22:18 +0000)]
Unify the various serialization of selector list
https://bugs.webkit.org/show_bug.cgi?id=139606

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-15
Reviewed by Andreas Kling.

Source/WebCore:

There were code in various place to build a string from the selectors contained
in a selecor list.

This patch adds a single function to do that: buildSelectorsText(). All the call sites
were modified to use it.

The serialization of :-webkit-any() gets fixed as a result.

* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):
(WebCore::appendSelectorList): Deleted.
* css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::selectorsText):
(WebCore::CSSSelectorList::buildSelectorsText):
* css/CSSSelectorList.h:
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::generateSelectorText):
* css/WebKitCSSRegionRule.cpp:
(WebCore::WebKitCSSRegionRule::cssText):

LayoutTests:

* fast/css/css-selector-text-expected.txt:
* fast/css/css-selector-text.html:
* fast/css/css-set-selector-text-expected.txt:
* fast/css/css-set-selector-text.html:
* fast/css/parsing-css-matches-1-expected.txt:
* fast/css/parsing-css-matches-1.html:
* fast/css/parsing-css-matches-2-expected.txt:
* fast/css/parsing-css-matches-2.html:
* fast/css/parsing-css-matches-4-expected.txt:
* fast/css/parsing-css-matches-4.html:
* fast/css/parsing-css-not-1-expected.txt:
* fast/css/parsing-css-not-1.html:
* fast/css/parsing-css-not-2-expected.txt:
* fast/css/parsing-css-not-2.html:
* fast/css/parsing-css-not-4-expected.txt:
* fast/css/parsing-css-not-4.html:

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

6 years agoTry to fix iOS build.
antti@apple.com [Mon, 15 Dec 2014 21:33:01 +0000 (21:33 +0000)]
Try to fix iOS build.

* WebCore.exp.in:

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

6 years agoMove Said to the committers section.
timothy_horton@apple.com [Mon, 15 Dec 2014 21:28:58 +0000 (21:28 +0000)]
Move Said to the committers section.

* Scripts/webkitpy/common/config/contributors.json:

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

6 years agoWeb Inspector: Docked inspector repositioned incorrectly when dragging frame borders
commit-queue@webkit.org [Mon, 15 Dec 2014 21:27:17 +0000 (21:27 +0000)]
Web Inspector: Docked inspector repositioned incorrectly when dragging frame borders
https://bugs.webkit.org/show_bug.cgi?id=139415

Patch by Matt Baker <mattbaker@apple.com> on 2014-12-15
Reviewed by Joseph Pecoraro.

The _ignoreNextInspectedViewFrameDidChange flag wasn't set back to NO after
being tested by inspectedViewFrameDidChange.

* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter inspectedViewFrameDidChange:]):

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

6 years agoFloats Don't Overhang Their Block Formatting Contex
jfernandez@igalia.com [Mon, 15 Dec 2014 21:07:30 +0000 (21:07 +0000)]
Floats Don't Overhang Their Block Formatting Contex
https://bugs.webkit.org/show_bug.cgi?id=139476

Reviewed by David Hyatt.

From Blink r172530 by <robhogan@gmail.com>

Source/WebCore:

Floats Don't Overhang Their Block Formatting Context Per
http://www.w3.org/TR/CSS2/visuren.html#float-position: "References
to [the elements] in the [rules that govern the behaviour of
floats] refer only to other elements in the same block formatting
context as the float."

This means we don't need to look for intruding or overhanging
floats in boxes that establish a new block formatting
context. Even that we don't have a test breaking this rule it
seems we are doing unnecessary work in
rebuildFloatsFromIntruding() so make sure we avoid adding floats
from different block formatting contexts.

Test:
fast/block/float/floats-do-not-overhang-from-block-formatting-context.html

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::addIntrudingFloats):

LayoutTests:

Tests to verify that float elements don't overhang blocks with a
different formatting context.

* fast/block/float/floats-do-not-overhang-from-block-formatting-context-expected.txt: Added.
* fast/block/float/floats-do-not-overhang-from-block-formatting-context.html: Added.

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

6 years agoSimplify tracking of process suppression disabled for PluginProcessManager
barraclough@apple.com [Mon, 15 Dec 2014 20:45:53 +0000 (20:45 +0000)]
Simplify tracking of process suppression disabled for PluginProcessManager
https://bugs.webkit.org/show_bug.cgi?id=139611

Unreviewed gtk/efl build fix.

* UIProcess/Plugins/PluginProcessManager.h:
    - missing #ifdef

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

6 years agoUnreviewed build fix after r177301
mmaxfield@apple.com [Mon, 15 Dec 2014 20:38:50 +0000 (20:38 +0000)]
Unreviewed build fix after r177301

* html/ColorInputType.cpp:
(WebCore::ColorInputType::elementRectRelativeToRootView):

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

6 years agoImplement Data Detectors immediate actions for Legacy WebKit
timothy_horton@apple.com [Mon, 15 Dec 2014 20:27:24 +0000 (20:27 +0000)]
Implement Data Detectors immediate actions for Legacy WebKit
https://bugs.webkit.org/show_bug.cgi?id=139619
<rdar://problem/19198539>

Reviewed by Beth Dakin.

* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _menuItemForDataDetectedText]):
Note that this action context is only for immediate actions.

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

6 years agoImplement Data Detectors immediate actions for WebKit2
timothy_horton@apple.com [Mon, 15 Dec 2014 20:26:23 +0000 (20:26 +0000)]
Implement Data Detectors immediate actions for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=139617
<rdar://problem/19198539>

Reviewed by Beth Dakin.

* platform/spi/mac/DataDetectorsSPI.h:
Add some new SPI.

* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _menuItemForDataDetectedText]):
Note that this action context is only for immediate actions.

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

6 years agoREGRESSION (r168217): Images are cropped out during animation at jetblue.com
simon.fraser@apple.com [Mon, 15 Dec 2014 20:24:45 +0000 (20:24 +0000)]
REGRESSION (r168217): Images are cropped out during animation at jetblue.com
https://bugs.webkit.org/show_bug.cgi?id=136410
rdar://problem/18188533

Reviewed by Dean Jackson.

During GraphicsLayer flushing, for tiled layers we can compute a visible rect using
the current state of an animation, which is obtained via the AnimationController.
If that animation was running in a subframe, AnimationController could use a stale
beginAnimationUpdateTime since no-one called its beginAnimationUpdate(). That
resulted in an incorrect computation of the visible rect, resulting in missing tiles.

There are two parts to this fix. First, add an assertion that beginAnimationUpdateTime()
is being called inside an animation update block. This required moving m_beginAnimationUpdateCount
into AnimationControllerPrivate, and changes to endAnimationUpdate().

The second is adding a AnimationUpdateBlock to getAnimatedStyleForRenderer(), which
can be called outside of style resolution. We also need some in other API functions.

Testing revealed that layout can call via layoutOverflowRectForPropagation(), suggesting
that we should have an animation batch inside FrameView::layout(). In addition, a single
resolveStyle/layout should use the same animationBeginTime, so we add a batch to
updateLayoutAndStyleIfNeededRecursive().

No test because it's timing-dependent. Existing tests exercise the new assertion.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::computeRenderStyleForProperty):
* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
* page/animation/AnimationController.cpp:
(WebCore::AnimationPrivateUpdateBlock::AnimationPrivateUpdateBlock):
(WebCore::AnimationPrivateUpdateBlock::~AnimationPrivateUpdateBlock):
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
(WebCore::AnimationControllerPrivate::animationTimerFired):
(WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
(WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
(WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
(WebCore::AnimationControllerPrivate::beginAnimationUpdate):
(WebCore::AnimationControllerPrivate::endAnimationUpdate):
(WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
(WebCore::AnimationController::AnimationController):
(WebCore::AnimationController::notifyAnimationStarted):
(WebCore::AnimationController::pauseAnimationAtTime):
(WebCore::AnimationController::pauseTransitionAtTime):
(WebCore::AnimationController::resumeAnimationsForDocument):
(WebCore::AnimationController::startAnimationsIfNotSuspended):
(WebCore::AnimationController::beginAnimationUpdate):
(WebCore::AnimationController::endAnimationUpdate):
* page/animation/AnimationController.h:
* page/animation/AnimationControllerPrivate.h:

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

6 years agoAddressing post-review comments in r177035
mmaxfield@apple.com [Mon, 15 Dec 2014 20:15:05 +0000 (20:15 +0000)]
Addressing post-review comments in r177035
https://bugs.webkit.org/show_bug.cgi?id=139557

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-12-15
Reviewed by Darin Adler.

Source/WebCore:

This patch deletes the helper functions rendererBoundingBox() and rendererAnchorRect() and
migrates callers to using renderers directly.

It also improves the comment in RenderElement.h regarding RenderElement::anchorRect().

No new tests because this is simply refactoring.

* WebCore.exp.in: Delete exported symbol for rendererBoundingBox()
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySliderThumb::elementRect): Migrate off rendererBoundingBox()
* dom/ContainerNode.cpp:
(WebCore::rendererAnchorRect): Deleted.
* dom/ContainerNode.h:
* dom/Node.cpp:
(WebCore::rendererBoundingBox): Deleted.
* dom/Node.h:
* html/ColorInputType.cpp:
(WebCore::ColorInputType::elementRectRelativeToRootView): Migrate off rendererBoundingBox().
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setupDateTimeChooserParameters): Ditto.
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::buildBubbleTree): Ditto.
* page/FrameView.cpp:
(WebCore::FrameView::scrollElementToRect): Migrate off rendererAnchorRect().
(WebCore::FrameView::scrollToAnchor): Ditto.
* page/SpatialNavigation.cpp:
(WebCore::nodeRectInAbsoluteCoordinates): Migrate off rendererBoundingBox().
* rendering/RenderElement.h:

Source/WebKit/mac:

* WebView/WebActionMenuController.mm:
(elementBoundingBoxInWindowCoordinatesFromNode): Migrate off rendererBoundingBox().

Source/WebKit2:

* Shared/WebHitTestResult.cpp:
(WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates): Migrate off rendererBoundingBox().
* WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
(WebKit::WebPage::findZoomableAreaForPoint): Ditto.

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

6 years agoImplement Data Detectors immediate actions for Legacy WebKit
timothy_horton@apple.com [Mon, 15 Dec 2014 19:49:24 +0000 (19:49 +0000)]
Implement Data Detectors immediate actions for Legacy WebKit
https://bugs.webkit.org/show_bug.cgi?id=139619
<rdar://problem/19198539>

Reviewed by Eric Carlson.

* WebView/WebHTMLView.mm:
(-[WebHTMLView mouseDown:mouseDown:]):
Send mouseDown along to the WebImmediateActionController too.

* WebView/WebImmediateActionController.h:
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController webViewClosed]):
(-[WebImmediateActionController webView:willHandleMouseDown:]):
(-[WebImmediateActionController _cancelImmediateAction]):
(-[WebImmediateActionController _clearImmediateActionState]):
(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WebImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController _updateImmediateActionItem]):
(-[WebImmediateActionController _menuItemForDataDetectedText]):
(-[WebImmediateActionController _showTextIndicator]):
(-[WebImmediateActionController _hideTextIndicator]):
Copy most of the DataDetectors implementation into WebImmediateActionController.

* WebView/WebUIDelegatePrivate.h:
Add a new type.

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Temporarily disable action menus.

(-[WebView _immediateActionController]):
* WebView/WebViewInternal.h:

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

6 years agoImplement Data Detectors immediate actions for WebKit2
timothy_horton@apple.com [Mon, 15 Dec 2014 19:46:34 +0000 (19:46 +0000)]
Implement Data Detectors immediate actions for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=139617
<rdar://problem/19198539>

Reviewed by Beth Dakin.

* TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:
(TestWebKitAPI::TEST):
Temporarily disable the action menu tests while the
underlying code is in flux.

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

6 years agoImplement Data Detectors immediate actions for WebKit2
timothy_horton@apple.com [Mon, 15 Dec 2014 19:45:23 +0000 (19:45 +0000)]
Implement Data Detectors immediate actions for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=139617
<rdar://problem/19198539>

Reviewed by Beth Dakin.

* Shared/API/c/WKImmediateActionTypes.h:
Add a new type.

* UIProcess/API/mac/WKView.mm:
(-[WKView mouseDown:]):
Send mouseDown along to the WKImmediateActionController too.

(-[WKView initWithFrame:context:configuration:webView:]):
Temporarily disable action menus.

(-[WKView _dismissContentRelativeChildWindows]):
Hide the immediate action preview when detaching child windows.

* UIProcess/mac/WKImmediateActionController.h:
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController willDestroyView:]):
Clear the DDActionContext when tearing down the view.

(-[WKImmediateActionController wkView:willHandleMouseDown:]):
(-[WKImmediateActionController _cancelImmediateAction]):
(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
(-[WKImmediateActionController _defaultAnimationController]):
(-[WKImmediateActionController _updateImmediateActionItem]):
(-[WKImmediateActionController hidePreview]):
(-[WKImmediateActionController popoverWillClose:]):
(-[WKImmediateActionController _menuItemForDataDetectedText]):
Copy most of the DataDetectors implementation into WKImmediateActionController.

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

6 years agoDelete Notation because we don't use it
mmaxfield@apple.com [Mon, 15 Dec 2014 19:40:36 +0000 (19:40 +0000)]
Delete Notation because we don't use it
https://bugs.webkit.org/show_bug.cgi?id=139171

Reviewed by Kent Tamura.

Source/WebCore:

No tests because this is un-exposing something that never gets instantiated.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.exp.in:
* WebCore.order:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/gobject/WebKitDOMNodeFilter.h:
* bindings/gobject/WebKitDOMNodeFilter.symbols:
* bindings/gobject/WebKitDOMPrivate.cpp:
(WebKit::wrap):
* bindings/gobject/webkitdom.symbols:
* bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapperInline):
* bindings/objc/DOM.mm:
(kitClass):
* bindings/objc/DOMCore.h:
* bindings/objc/PublicDOMInterfaces.h:
* dom/DOMAllInOne.cpp:
* dom/Document.cpp:
(WebCore::Document::importNode):
(WebCore::Document::adoptNode):
(WebCore::Document::childTypeAllowed):
(WebCore::Document::canReplaceChild):
* dom/Node.cpp:
(WebCore::Node::dumpStatistics):
(WebCore::Node::isDefaultNamespace):
(WebCore::Node::lookupPrefix):
(WebCore::Node::lookupNamespaceURI):
(WebCore::appendTextContent):
(WebCore::Node::setTextContent):
* dom/Node.h:
* dom/Node.idl:
* dom/NodeFilter.h:
* dom/NodeFilter.idl:
* dom/Notation.cpp: Removed.
* dom/Notation.h: Removed.
* dom/Notation.idl: Removed.
* dom/Range.cpp:
(WebCore::lengthOfContentsInNode):
(WebCore::Range::processContentsBetweenOffsets):
(WebCore::Range::insertNode):
(WebCore::Range::checkNodeWOffset):
(WebCore::Range::checkNodeBA):
(WebCore::Range::selectNode):
(WebCore::Range::selectNodeContents):
(WebCore::Range::surroundContents):
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendStartMarkup):
* xml/XPathUtil.cpp:
(WebCore::XPath::isValidContextNode):

Source/WebKit/mac:

* MigrateHeaders.make:

Source/WebKit2:

* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
(WebKit::WKDOMNodeClass):
* mac/MigrateHeadersFromWebKitLegacy.make:

LayoutTests:

Updating for removed property

* fast/dom/Window/get-set-properties-expected.txt:
* fast/dom/Window/get-set-properties.html:
* fast/dom/Window/resources/window-properties.js:
* fast/dom/Window/window-lookup-precedence-expected.txt:
* fast/dom/constants-expected.txt:
* fast/dom/constants.html:
* fast/dom/dom-constructors-expected.txt:
* fast/dom/dom-constructors.html:
* http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html:
* http/tests/security/cross-frame-access-put-expected.txt:
* http/tests/security/cross-frame-access-put.html:
* http/tests/security/resources/cross-frame-iframe-for-put-test.html:
* js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/ios-sim-deprecated/http/tests/security/cross-frame-access-put-expected.txt:
* platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt:
* platform/ios-simulator/fast/dom/Window/window-lookup-precedence-expected.txt:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-expected.txt:

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

6 years agoRemove last references to OfflineStorage process
ddkilzer@apple.com [Mon, 15 Dec 2014 19:38:19 +0000 (19:38 +0000)]
Remove last references to OfflineStorage process
<http://webkit.org/b/139648>

Reviewed by Anders Carlsson.

* WebKit2.xcodeproj/project.pbxproj: Remove last references to
the OfflineStorage process.  See r154251 and r154256.

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

6 years agoChange HysteresisActivity to use a lambda
barraclough@apple.com [Mon, 15 Dec 2014 19:37:33 +0000 (19:37 +0000)]
Change HysteresisActivity to use a lambda
https://bugs.webkit.org/show_bug.cgi?id=139636

Reviewed by Darin Adler.

The current implementation provides notifications via callbacks to a delegate. Using a delegate
with callbacks is limiting a number of ways. The callback names are very ambiguous, the callbacks
must either be on a separate object (more boilerplate), or the callback must be public for
HysteresisActivity to call them, or friends get involved. Without the boilerplate of extra
delegate objects it's hard to scale use of these objects – a single object can't serve as a
delegate for multiple HysteresisActivity members.

Instead, make HysteresisActivity take a lambda to callback on state change. To simplify, changed
HysteresisState to only track Started/Stopped states (removed WillStopPendingTimeout).

Source/WebCore:

* WebCore.exp.in:
    - removed exports of deleted functions.
* page/PageThrottler.cpp:
(WebCore::PageThrottler::PageThrottler):
    - m_hysteresis lambda calls updateUserActivity.
(WebCore::PageThrottler::pageActivityCounterValueDidChange):
    - ASSERT updated due to removal of WillStopPendingTimeout state.
(WebCore::PageThrottler::started): Deleted.
(WebCore::PageThrottler::stopped): Deleted.
    - functionality replaced by lambda.
* page/PageThrottler.h:
    - HysteresisActivity is no longer templated on delegate type, removed function declarations & friend.
* platform/HysteresisActivity.h:
(WebCore::HysteresisActivity::HysteresisActivity):
    - HysteresisActivity takes a lambda, not a delegate.
(WebCore::HysteresisActivity::start):
    - delegate call -> callback.
(WebCore::HysteresisActivity::state):
    - simplified to remove WillStopPendingTimeout.
(WebCore::HysteresisActivity::hysteresisTimerFired):
    - delegate call -> callback.
* platform/UserActivity.cpp:
(WebCore::UserActivity::UserActivity):
    - HysteresisActivity lambda calls hysteresisUpdated.
(WebCore::UserActivity::hysteresisUpdated):
(WebCore::UserActivity::started): Deleted.
(WebCore::UserActivity::stopped): Deleted.
    - started/stopped -> hysteresisUpdated.
* platform/UserActivity.h:
    - started/stopped -> hysteresisUpdated, removed friend.

Source/WebKit2:

* WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.cpp:
(WebKit::WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker):
    - HysteresisActivity now takes a lambda, not a delegate.
(WebKit::WebSQLiteDatabaseTracker::hysteresisUpdated):
(WebKit::WebSQLiteDatabaseTracker::started): Deleted.
(WebKit::WebSQLiteDatabaseTracker::stopped): Deleted.
    - started/stopped merged into hysteresisUpdated
* WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h:
    - HysteresisActivity is no longer templated on delegate type, changed function declarations.

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

6 years agoWebKit level persistent caching
antti@apple.com [Mon, 15 Dec 2014 19:25:23 +0000 (19:25 +0000)]
WebKit level persistent caching
https://bugs.webkit.org/show_bug.cgi?id=30322

Reviewed by Sam Weinig.

Source/WebCore:

Test: http/tests/cache/disk-cache-validation.html

* WebCore.exp.in:
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForResourceResponse):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::ResourceResponseBase):
(WebCore::ResourceResponseBase::source):
(WebCore::ResourceResponseBase::setSource):
(WebCore::ResourceResponseBase::wasCached): Deleted.
(WebCore::ResourceResponseBase::setWasCached): Deleted.

    Replace wasCached bit with Source enum.
    This is useful for testing.

* platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::containsCertificateInfo):
(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):
* testing/Internals.cpp:
(WebCore::Internals::xhrResponseSource):
(WebCore::Internals::clearMemoryCache):
* testing/Internals.h:
* testing/Internals.idl:

    Testing support.

* xml/XMLHttpRequest.h:

Source/WebKit2:

We can improve performance and open new optimization possibilities by bringing network caching into WebKit.

This patch implements an experimental HTTP cache living in the network process.

The main classes are:

NetworkCache
    - Implements HTTP cache validation logic including Vary header
    - Initially non-range GET only
    - Fast serialization using WebKit types (ResourcesResponse etc) instead of native network layer types

NetworkCacheKey
    - Unique identifier for cache entries
    - Keyed on method/partition/URL

NetworkCacheStorage
    - Storage backend
    - dispatch-IO based implementation (generic posix implementation wouldn't be difficult)
    - File system only (no SQLite or similar)
    - One file per resource containing both header and body data
    - Zero persistent global metadata
    - Bloom filter for fast fail

NetworkCacheEncoder/Decoder
    - Serializisation support with integrity verification.

The code is behind the NETWORK_CACHE feature flag and requires network process to be enabled to use.

This patch does not enable the feature yet by default.

Test: http/tests/cache/disk-cache-validation.html

* NetworkProcess/cache/NetworkCache.cpp: Added.
* NetworkProcess/cache/NetworkCache.h: Added.
* NetworkProcess/cache/NetworkCacheKey.cpp: Added.
* NetworkProcess/cache/NetworkCacheKey.h: Added.
* NetworkProcess/cache/NetworkCacheStorage.h: Added.
* NetworkProcess/cache/NetworkCacheStorage.mm: Added.
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
(WebKit::NetworkProcess::platformSetCacheModel):
* NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::clearCacheForAllOrigins):
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::clearCacheForAllOrigins):
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::tryGetShareableHandleFromCFData):
* Platform/Logging.h:
* WebKit2.xcodeproj/project.pbxproj:
* config.h:

LayoutTests:

Add a cache validation test. The test generates large number of validation header permutations.

* TestExpectations: Skipped until the feature is enabled.
* http/tests/cache/disk-cache-validation-expected.txt: Added.
* http/tests/cache/disk-cache-validation.html: Added.
* http/tests/cache/resources/cache-test.js: Added.
(getServerDate):
(makeHeaderValue):
(generateTestURL):
(loadResource):
(loadResources):
(printResults):
(runTests):
(mergeFields):
(generateTests):
* http/tests/cache/resources/generate-response.cgi: Added.
* platform/mac-mountainlion/TestExpectations: Added.
* platform/mac-wk1/TestExpectations:

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

6 years agoPurge PassRefPtr from FocusEvent code.
akling@apple.com [Mon, 15 Dec 2014 19:17:04 +0000 (19:17 +0000)]
Purge PassRefPtr from FocusEvent code.
<https://webkit.org/b/139647>

Reviewed by Anders Carlsson.

Source/WebCore:

Convert FocusEvent-related code from using PassRefPtr to using RefPtr&& instead.

* dom/Document.cpp:
(WebCore::Document::setFocusedElement):
* dom/Element.cpp:
(WebCore::Element::dispatchFocusInEvent):
(WebCore::Element::dispatchFocusOutEvent):
(WebCore::Element::dispatchFocusEvent):
(WebCore::Element::dispatchBlurEvent):
* dom/Element.h:
* dom/FocusEvent.cpp:
(WebCore::FocusEvent::FocusEvent):
* dom/FocusEvent.h:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::dispatchBlurEvent):
* html/HTMLFormControlElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::dispatchFocusEvent):
(WebCore::HTMLSelectElement::dispatchBlurEvent):
* html/HTMLSelectElement.h:
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
(WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
* html/HTMLTextFormControlElement.h:
* page/FocusController.cpp:
(WebCore::dispatchEventsOnWindowAndFocusedElement):

Source/WTF:

Add a RefPtr::copyRef() to use when passing a RefPtr to a RefPtr&& without
transferring the ownership.

* wtf/RefPtr.h:

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

6 years ago[iOS] Codepoints not associated with languages are drawn as boxes
mmaxfield@apple.com [Mon, 15 Dec 2014 19:05:14 +0000 (19:05 +0000)]
[iOS] Codepoints not associated with languages are drawn as boxes
https://bugs.webkit.org/show_bug.cgi?id=138906

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-12-15
Reviewed by Darin Adler.

Source/WebCore:

Use SPI CTFontCreateForCharacters(), but only if we don't already know what to do
with the characters.

Test: platform/ios-simulator/fast/text/non-language-font-fallback.html

* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::FontCache::systemFallbackForCharacters):
* platform/spi/cocoa/CoreTextSPI.h:

LayoutTests:

* platform/ios-simulator/fast/text/non-language-font-fallback-expected.html: Added.
* platform/ios-simulator/fast/text/non-language-font-fallback.html: Added.

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

6 years agoSimplify tracking of process suppression disabled for PluginProcessManager
barraclough@apple.com [Mon, 15 Dec 2014 19:05:11 +0000 (19:05 +0000)]
Simplify tracking of process suppression disabled for PluginProcessManager
https://bugs.webkit.org/show_bug.cgi?id=139611

Reviewed by Darin Adler.

Previously if process suppression state changed for any context we would
iterate over all contexts to recompute.

There was also an inconsistency in the code. When plugin processes are
created they called processSuppressionIsEnabledForAllContexts(), which
checked WebContext::processSuppressionEnabled(), which in turn checks
two things - whether any page is currently visible, and whether the
suppression is currently disabled for any page. However when updating
process supression state we would call
processSuppressionPreferenceIsEnabledForAllContexts(), which would just
check the value of the key from the context's default PageGroup.

We shouldn't be taking visibility into account (this is handled from the
content, where we know which pages have instances of which plugins), but
we should be checking the current pref value of each page.

We already track in each context whether any page has teh pref set to
disable throttling; add a counter to the shared PluginProcessManager to
coallesce across all contexts.

* UIProcess/Plugins/PluginProcessManager.cpp:
(WebKit::PluginProcessManager::PluginProcessManager):
    - added m_processSuppressionDisabledForPageCounter, m_processSuppressionEnabled.
* UIProcess/Plugins/PluginProcessManager.h:
(WebKit::PluginProcessManager::processSuppressionDisabledForPageCount):
    - accessor for WebContext to increment count.
(WebKit::PluginProcessManager::processSuppressionEnabled):
    - accessor for PluginProcessProxy.
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching):
    - get initial supression state from the PluginProcessManager, not WebContext.
* UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
(WebKit::PluginProcessManager::updateProcessSuppressionState):
(WebKit::PluginProcessManager::setProcessSuppressionEnabled): Deleted.
    - setProcessSuppressionEnabled -> updateProcessSuppressionState
      rather than WebContext setting suppression state, PluginProcessManager detects
      when this may need to change & determines a new value for itself.
* UIProcess/WebContext.h:
    - removed processSuppressionIsEnabledForAllContexts, processSuppressionPreferenceIsEnabledForAllContexts
      updateProcessSuppressionState is no longer const (updates m_pluginProcessManagerProcessSuppressionDisabledCount).
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::updateProcessSuppressionState):
    - instead of explicitly recomputing plugin throttling state from Within the WebContext, just update
      m_pluginProcessManagerProcessSuppressionDisabledCount to count a RefCounter on the shared PluginProcessManager.
(WebKit::WebContext::processSuppressionIsEnabledForAllContexts): Deleted.
(WebKit::WebContext::processSuppressionPreferenceIsEnabledForAllContexts): Deleted.
    - removed.

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

6 years ago[CSS Shapes] Fix StyleBuilder code to use CSSValueNone to match spec and other code
bjonesbe@adobe.com [Mon, 15 Dec 2014 18:57:58 +0000 (18:57 +0000)]
[CSS Shapes] Fix StyleBuilder code to use CSSValueNone to match spec and other code
https://bugs.webkit.org/show_bug.cgi?id=139601

Reviewed by Chris Dumez.

Change the code to properly use CSSValueNone instead of CSSValueAuto.
Asserts have been added to catch similar errors in the future.
In doing this change, it became apparent that there is nothing
special about the shape-outside property that requires custom code, so
it was changed to use a standard converter function.

No change observable via LayoutTests.

* css/CSSPropertyNames.in: Use a converter instead of custom code.
* css/StyleBuilderConverter.h:
(WebCore::isImageShape): Helper function so that isImageSetValue can
    be properly guarded.
(WebCore::StyleBuilderConverter::convertShapeValue): Format as a
    converter instead of custom code.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueWebkitShapeOutside): Deleted.

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

6 years agoMake sure range based iteration of Vector<> still receives bounds checking
oliver@apple.com [Mon, 15 Dec 2014 18:04:58 +0000 (18:04 +0000)]
Make sure range based iteration of Vector<> still receives bounds checking
https://bugs.webkit.org/show_bug.cgi?id=138821

Reviewed by Mark Lam.

Source/JavaScriptCore:

Update code to deal with slightly changed iterator semantics.

* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::visitChildren):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitComplexPopScopes):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):
* ftl/FTLAbbreviations.h:
(JSC::FTL::mdNode):
(JSC::FTL::buildCall):
* llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
* parser/Parser.h:
(JSC::Scope::Scope):
* runtime/JSArray.cpp:
(JSC::JSArray::setLengthWithArrayStorage):
(JSC::JSArray::sortCompactedVector):
* tools/ProfileTreeNode.h:
(JSC::ProfileTreeNode::dumpInternal):
* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::matchCharacterClass):

Source/WebCore:

Update to deal with different iterator type.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::deserializeString):
* editing/TextIterator.cpp:
(WebCore::SearchBuffer::isBadMatch):
* page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::buildSelectionHighlight):
* platform/graphics/SegmentedFontData.cpp:
(WebCore::SegmentedFontData::fontDataForCharacter):
(WebCore::SegmentedFontData::containsCharacter):
(WebCore::SegmentedFontData::isLoading):
* platform/graphics/WOFFFileFormat.cpp:
(WebCore::convertWOFFToSfnt):
* platform/graphics/cairo/GradientCairo.cpp:
(WebCore::Gradient::platformGradient):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::clearFrameBufferCache):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintFillLayers):
* rendering/style/GridResolvedPosition.cpp:
(WebCore::firstNamedGridLineBeforePosition):
(WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
* svg/SVGFontElement.cpp:
(WebCore::kerningForPairOfStringsAndGlyphs):
* svg/SVGPathByteStream.h:
(WebCore::SVGPathByteStream::append):
* xml/XPathNodeSet.h:
(WebCore::XPath::NodeSet::begin):
(WebCore::XPath::NodeSet::end):

Source/WTF:

Add a new IndexedIterator struct to WTF that wraps a
Vector type and index to provide pointer like semantics
while still performing runtime bounds checking, even in
release builds. We store a simple index into the vector
which means that this iterator allows vector resizing
during iteration. If the vector is resized such that the
iterator is out of bounds, then any attempt to dereference
the iterator will crash safely.

For the purpose of retaining semantically equivalent
behaviour, the iterator can be moved to m_index == size()
as that is the standard "end" terminator for these types.
Attempting to dereference at that point will still crash
rather than perform an unsafe memory operation.

By necessity there are many overrides for operator + and - as
we otherwise hit many different type promotion ambiguities when
performing arithmetic with iterators. These ambiguities are also
different for 32- vs. 64-bit, so duplicating the functions
and then forwarding to the core implementations that performed
the bounds checking and mutation seemed like the right call.

* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/IndexedIterator.h: Added.
(WTF::IndexedIterator::IndexedIterator):
(WTF::IndexedIterator::operator->):
(WTF::IndexedIterator::operator*):
(WTF::IndexedIterator::get):
(WTF::IndexedIterator::operator++):
(WTF::IndexedIterator::operator--):
(WTF::IndexedIterator::operator UnspecifiedBoolType):
(WTF::IndexedIterator::operator-):
(WTF::IndexedIterator::operator=):
(WTF::IndexedIterator::operator==):
(WTF::IndexedIterator::operator!=):
(WTF::IndexedIterator::operator<):
(WTF::IndexedIterator::operator<=):
(WTF::IndexedIterator::operator>):
(WTF::IndexedIterator::operator>=):
(WTF::IndexedIterator::operator const_iterator):
(WTF::IndexedIterator::unsafeGet):
(WTF::getPtr):
(WTF::operator-):
(WTF::operator==):
(WTF::operator!=):
(WTF::operator<=):
(WTF::operator>=):
(WTF::operator<):
(WTF::operator>):
(WTF::IndexedIteratorSelector::makeIterator):
(WTF::IndexedIteratorSelector::makeConstIterator):
* wtf/RefCountedArray.h:
(WTF::RefCountedArray::RefCountedArray):
* wtf/Vector.h:
(WTF::Vector::Vector):
(WTF::Vector::begin):
(WTF::Vector::end):
(WTF::OverflowHandler>::Vector):
(WTF::=):
(WTF::OverflowHandler>::fill):
(WTF::OverflowHandler>::expandCapacity):
(WTF::OverflowHandler>::tryExpandCapacity):
(WTF::OverflowHandler>::resize):
(WTF::OverflowHandler>::shrink):
(WTF::OverflowHandler>::grow):
(WTF::OverflowHandler>::reserveCapacity):
(WTF::OverflowHandler>::tryReserveCapacity):
(WTF::OverflowHandler>::shrinkCapacity):
(WTF::OverflowHandler>::append):
(WTF::OverflowHandler>::tryAppend):
(WTF::OverflowHandler>::appendSlowCase):
(WTF::OverflowHandler>::uncheckedAppend):
(WTF::OverflowHandler>::appendVector):
(WTF::OverflowHandler>::insert):
(WTF::OverflowHandler>::insertVector):
(WTF::OverflowHandler>::remove):

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

6 years agohttp/tests/misc/webtiming-origins.html is flaky
ap@apple.com [Mon, 15 Dec 2014 18:02:46 +0000 (18:02 +0000)]
http/tests/misc/webtiming-origins.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=91314

Reviewed by Anders Carlsson.

This test had three subframes, each being an individual test with waitUntilDone/notifyDone.
How crazy was that?

* http/tests/misc/resources/webtiming-cross-origin-and-back1.html: Removed.
* http/tests/misc/resources/webtiming-cross-origin-redirect.php: Removed.
* http/tests/misc/resources/webtiming-no-origin.html: Removed.
* http/tests/misc/webtiming-cross-origin-and-back1-expected.txt: Added.
* http/tests/misc/webtiming-cross-origin-and-back1.html: Copied from LayoutTests/http/tests/misc/resources/webtiming-cross-origin-and-back1.html.
* http/tests/misc/webtiming-cross-origin-redirect-expected.txt: Added.
* http/tests/misc/webtiming-cross-origin-redirect.php: Copied from LayoutTests/http/tests/misc/resources/webtiming-cross-origin-redirect.php.
* http/tests/misc/webtiming-no-origin-expected.txt: Added.
* http/tests/misc/webtiming-no-origin.html: Copied from LayoutTests/http/tests/misc/resources/webtiming-no-origin.html.
* http/tests/misc/webtiming-origins.html: Removed.
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

6 years agoMove '-webkit-text-decoration-skip' to the new StyleBuilder
cdumez@apple.com [Mon, 15 Dec 2014 17:59:42 +0000 (17:59 +0000)]
Move '-webkit-text-decoration-skip' to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139633

Reviewed by Darin Adler.

Move '-webkit-text-decoration-skip' to the new StyleBuilder by
introducing a new TextDecorationSkip converter.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::valueToDecorationSkip): Deleted.
(WebCore::ApplyPropertyTextDecorationSkip::applyValue): Deleted.
(WebCore::ApplyPropertyTextDecorationSkip::createHandler): Deleted.
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::valueToDecorationSkip):
(WebCore::StyleBuilderConverter::convertTextDecorationSkip):

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

6 years ago[MSE] Prevent SourceBuffer monitoring algorithm from triggering a HAVE_NOTHING to...
commit-queue@webkit.org [Mon, 15 Dec 2014 17:29:14 +0000 (17:29 +0000)]
[MSE] Prevent SourceBuffer monitoring algorithm from triggering a HAVE_NOTHING to HAVE_METADATA transition.
https://bugs.webkit.org/show_bug.cgi?id=139444

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2014-12-15
Reviewed by Jer Noble.

Source/WebCore:

In case of 2 SourceBuffers, there can be transition to HaveMetadata from monitorSourceBuffers,
even though second SourceBuffer did not receive init segment - we can't query for it's metadata
such as width/height (if second one was video), so we shouldn't fire the event.
W3 Bug reference : https://www.w3.org/Bugs/Public/show_bug.cgi?id=27542

Test: media/media-source/media-source-loadedmetada-with-two-sourcebuffers.html

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::monitorSourceBuffers):
* Modules/mediasource/SourceBuffer.h:
* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::mimeTypeCache):

LayoutTests:

Added test to check how many active SourceBuffers exist when loadedmetadata fires,
according to spec 3.5.7, this should be equal to number of sourcebuffers.

* media/media-source/media-source-loadedmetada-with-two-sourcebuffers-expected.txt: Added.
* media/media-source/media-source-loadedmetada-with-two-sourcebuffers.html: Added.

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

6 years agoMove WebCore/platform/text to std::unique_ptr
gyuyoung.kim@samsung.com [Mon, 15 Dec 2014 17:17:53 +0000 (17:17 +0000)]
Move WebCore/platform/text to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=139395

Reviewed by Darin Adler.

As a step to use std::unique_ptr<>, this patch replaces OwnPtr|PassOwnPtr with
std::unique_ptr<> | std::make_unique<>.

* dom/Document.h:
* platform/text/LineBreakIteratorPoolICU.h:
(WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
(WebCore::LineBreakIteratorPool::create): Deleted.
* platform/text/LocaleICU.cpp:
(WebCore::Locale::create):
(WebCore::LocaleICU::createLabelVector):
(WebCore::createFallbackMonthLabels):
(WebCore::createFallbackAMPMLabels):
(WebCore::LocaleICU::initializeDateTimeFormat):
(WebCore::LocaleICU::shortMonthLabels):
(WebCore::LocaleICU::create): Deleted.
(WebCore::LocaleICU::standAloneMonthLabels): Deleted.
(WebCore::LocaleICU::shortStandAloneMonthLabels): Deleted.
* platform/text/LocaleICU.h:
* platform/text/LocaleNone.cpp:
(WebCore::Locale::create):
* platform/text/PlatformLocale.h:
(WebCore::Locale::createDefault):
* platform/text/TextCodecLatin1.cpp:
* platform/text/TextCodecUTF16.cpp:
* platform/text/TextEncoding.cpp:
* platform/text/mac/LocaleMac.h:
* platform/text/mac/LocaleMac.mm:
(WebCore::Locale::create):
(WebCore::LocaleMac::create):
* platform/text/mac/TextCodecMac.cpp:
* platform/text/win/LocaleWin.cpp:
(WebCore::Locale::create):
(WebCore::LocaleWin::create):
* platform/text/win/LocaleWin.h:
* platform/text/win/TextCodecWin.cpp:
(WebCore::newTextCodecWin):

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

6 years ago[GStreamer] the webkitwebsrc element can stale
commit-queue@webkit.org [Mon, 15 Dec 2014 15:38:02 +0000 (15:38 +0000)]
[GStreamer] the webkitwebsrc element can stale
https://bugs.webkit.org/show_bug.cgi?id=138425

Patch by Xavier Claessens <xavier.claessens@collabora.com> on 2014-12-15
Reviewed by Philippe Normand.

* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(removeTimeoutSources):
(webKitWebSrcStart):
(webKitWebSrcChangeState):

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

6 years ago[GTK] Use API::LoaderClient instead of WKPageLoaderClient
carlosgc@webkit.org [Mon, 15 Dec 2014 13:41:26 +0000 (13:41 +0000)]
[GTK] Use API::LoaderClient instead of WKPageLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=139583

Reviewed by Gustavo Noronha Silva.

It simplifies the code and it will make easier to implement new
loader client methods.

* UIProcess/API/gtk/WebKitBackForwardList.cpp:
(webkitBackForwardListChanged):
* UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(LoaderClient::LoaderClient):
(attachLoaderClientToView):
(didStartProvisionalLoadForFrame): Deleted.
(didReceiveServerRedirectForProvisionalLoadForFrame): Deleted.
(didFailProvisionalLoadWithErrorForFrame): Deleted.
(didCommitLoadForFrame): Deleted.
(didFinishLoadForFrame): Deleted.
(didFailLoadWithErrorForFrame): Deleted.
(didDisplayInsecureContentForFrame): Deleted.
(didRunInsecureContentForFrame): Deleted.
(didChangeBackForwardList): Deleted.
(didReceiveAuthenticationChallengeInFrame): Deleted.
(processDidCrash): Deleted.

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

6 years ago[GTK] build fails with error: xgettext: Non-ASCII string at ../../../WebKit2/UIProces...
carlosgc@webkit.org [Mon, 15 Dec 2014 13:40:08 +0000 (13:40 +0000)]
[GTK] build fails with error: xgettext: Non-ASCII string at ../../../WebKit2/UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:131.
https://bugs.webkit.org/show_bug.cgi?id=139620

Reviewed by Gustavo Noronha Silva.

* CMakeLists.txt: Pass --from-code=UTF-8 to xgettext.

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

6 years agoAdd initial implementation of ThreadSafeCoordinatedSurface, ThreadedCompositor, and...
yoon@igalia.com [Mon, 15 Dec 2014 10:39:49 +0000 (10:39 +0000)]
Add initial implementation of ThreadSafeCoordinatedSurface, ThreadedCompositor, and SimpleViewportController
https://bugs.webkit.org/show_bug.cgi?id=118383

Reviewed by Martin Robinson.

Implements an initial version of the Threaded Compositor.

Threaded Compositor is a variant of Coordinated Graphics implementation.
Basic structure of the implementaion is simliar, thus, Threaded
Compositor reuses lots of classes from Coordinated Graphics. However,
instead of compositing on UI Process, Threaded Compositor performs
compositing on a dedicate thread of Web Process.

No new test, because it is in experimental stage.

* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
Removed a assertion not to force its creation in the main thread. In
the Threaded Compositor, it can be created in the dedicated thread.

* Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp: Added.
* Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h: Added.
Implements a surface using ImageBuffer as a backend to use in the Web
Process.

* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: Added.
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: Added.
Implements a compositor which runs on the created thread. It owns
SimpleViewportController and CoordinatedGraphicsScene to render scene on the
actual surface.

* Shared/CoordinatedGraphics/SimpleViewportController.cpp: Added.
* Shared/CoordinatedGraphics/SimpleViewportController.h: Added.
This class is responsible to handle scale factor and scrolling position
with a simplifed logic in the compositing thread.

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

6 years ago[GTK] Remove GamepadDeviceGtk::create()
gyuyoung.kim@samsung.com [Mon, 15 Dec 2014 09:58:39 +0000 (09:58 +0000)]
[GTK] Remove GamepadDeviceGtk::create()
https://bugs.webkit.org/show_bug.cgi?id=139637

Reviewed by Carlos Garcia Campos.

std::make_unique<> can replace GamepadDeviceGtk::create() factory function.

* platform/gtk/GamepadsGtk.cpp: Add "explicit" to GamepadsGtk constructor.
(WebCore::GamepadsGtk::registerDevice):
(WebCore::GamepadDeviceGtk::create): Deleted.

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

6 years agoMove 'counter-increment' / 'counter-reset' to the new StyleBuilder
cdumez@apple.com [Mon, 15 Dec 2014 09:50:23 +0000 (09:50 +0000)]
Move 'counter-increment' / 'counter-reset' to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139635

Reviewed by Antti Koivisto.

Move 'counter-increment' / 'counter-reset' to the new StyleBuilder by
using custom code.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyCounter::emptyFunction): Deleted.
(WebCore::ApplyPropertyCounter::applyInheritValue): Deleted.
(WebCore::ApplyPropertyCounter::applyValue): Deleted.
(WebCore::ApplyPropertyCounter::createHandler): Deleted.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialCounterIncrement):
(WebCore::StyleBuilderCustom::applyInitialCounterReset):
(WebCore::StyleBuilderCustom::applyInheritCounter):
(WebCore::StyleBuilderCustom::applyValueCounter):
(WebCore::StyleBuilderCustom::applyInheritCounterIncrement):
(WebCore::StyleBuilderCustom::applyValueCounterIncrement):
(WebCore::StyleBuilderCustom::applyInheritCounterReset):
(WebCore::StyleBuilderCustom::applyValueCounterReset):

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

6 years agoAdd some more slow tests to TestExpectations.
ap@apple.com [Mon, 15 Dec 2014 06:40:12 +0000 (06:40 +0000)]
Add some more slow tests to TestExpectations.

* TestExpectations:

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

6 years agosvg/filters/svg-deeply-nested-crash.html is slow in debug builds
ap@apple.com [Mon, 15 Dec 2014 06:27:10 +0000 (06:27 +0000)]
svg/filters/svg-deeply-nested-crash.html is slow in debug builds
https://bugs.webkit.org/show_bug.cgi?id=139638

Marked it as such. Also, added [ Debug ] to other tests that are slow in debug only.

* TestExpectations:

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

6 years agojquery/manipulation.html is very slow in debug builds, frequently timing out
ap@apple.com [Mon, 15 Dec 2014 05:03:15 +0000 (05:03 +0000)]
jquery/manipulation.html is very slow in debug builds, frequently timing out
https://bugs.webkit.org/show_bug.cgi?id=61932

Several fast/selectors tests are very slow in debug
https://bugs.webkit.org/show_bug.cgi?id=139634

* TestExpectations: Mark them as slow

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

6 years agoPutLocalSinkingPhase has an invalid assertion about incoming values, because both...
fpizlo@apple.com [Mon, 15 Dec 2014 03:49:27 +0000 (03:49 +0000)]
PutLocalSinkingPhase has an invalid assertion about incoming values, because both liveness and deferral analyses are conservative
https://bugs.webkit.org/show_bug.cgi?id=139630

Reviewed by Oliver Hunt.

Replaces a faulty assertion with code to handle an awesome special case. Also adds a lot of
comments that reconstruct my reasoning about this code. I had to work hard to remember how
deferral worked so I wrote my discoveries down.

* dfg/DFGInsertionSet.h:
(JSC::DFG::InsertionSet::insertBottomConstantForUse):
* dfg/DFGPutLocalSinkingPhase.cpp:
* tests/stress/put-local-conservative.js: Added.
(foo):
(.result):
(bar):

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

6 years agoUnreviewed, rolling out r177238 and r177244.
commit-queue@webkit.org [Mon, 15 Dec 2014 02:50:22 +0000 (02:50 +0000)]
Unreviewed, rolling out r177238 and r177244.
https://bugs.webkit.org/show_bug.cgi?id=139632

Introduced memory corruption (Requested by ap on #webkit).

Reverted changesets:

"REGRESSION (r168217): Images are cropped out during animation
at jetblue.com"
https://bugs.webkit.org/show_bug.cgi?id=136410
http://trac.webkit.org/changeset/177238

https://bugs.webkit.org/show_bug.cgi?id=139596
http://trac.webkit.org/changeset/177244

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

6 years agoTests with infinite recursion frequently crash
ap@apple.com [Mon, 15 Dec 2014 02:38:01 +0000 (02:38 +0000)]
Tests with infinite recursion frequently crash
https://bugs.webkit.org/show_bug.cgi?id=139548

Added another affected test, generalized expectations to be cross-platform.

* TestExpectations:
* platform/mac/TestExpectations:

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