WebKit-https.git
5 years ago[Win] Unreviewed build fix (for full build)
bfulgham@apple.com [Wed, 17 Dec 2014 20:09:32 +0000 (20:09 +0000)]
[Win] Unreviewed build fix (for full build)

* win/tools/vsprops/FeatureDefines.props: Add missing export so the
derived sources are generated properly.
* win/tools/vsprops/FeatureDefinesCairo.props: Ditto.

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

5 years agoPurge PassRefPtr from Frame.
akling@apple.com [Wed, 17 Dec 2014 19:39:16 +0000 (19:39 +0000)]
Purge PassRefPtr from Frame.
<https://webkit.org/b/139731>

Reviewed by Anders Carlsson.

Source/WebCore:

Remove all use of PassRefPtr from the Frame class, instead using
Ref or RefPtr as appropriate.

* WebCore.exp.in:
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
* page/Frame.cpp:
(WebCore::Frame::create):
(WebCore::Frame::setView):
(WebCore::Frame::setDocument):
(WebCore::Frame::rangeForPoint):
(WebCore::Frame::createView):
* page/Frame.h:
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebView/WebFrame.mm:
(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
(+[WebFrame _createSubframeWithOwnerElement:frameName:frameView:]):
* WebView/WebFrameInternal.h:

Source/WebKit2:

* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createSubframe):

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

5 years agoTest fix after r177444.
mmaxfield@apple.com [Wed, 17 Dec 2014 18:56:59 +0000 (18:56 +0000)]
Test fix after r177444.

Unreviewed.

* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySliderThumb::elementRect):

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

5 years ago[Win] Correct DebugSuffix builds under MSBuild
bfulgham@apple.com [Wed, 17 Dec 2014 18:26:51 +0000 (18:26 +0000)]
[Win] Correct DebugSuffix builds under MSBuild
https://bugs.webkit.org/show_bug.cgi?id=139733
<rdar://problem/19276880>

Reviewed by Simon Fraser.

../JavaScriptCore:

* JavaScriptCore.vcxproj/JavaScriptCore.proj: Make sure to use the
'_debug' suffix when building the DebugSuffix target.

../WebKit:

* WebKit.vcxproj/WebKit.proj: Make sure to use the '_debug' suffix
when building the DebugSuffix target.

../WTF:

* WTF.vcxproj/WTF.proj: Make sure to use the '_debug' suffix
when building the DebugSuffix target.

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

5 years agoiOS build fix
mitz@apple.com [Wed, 17 Dec 2014 18:12:00 +0000 (18:12 +0000)]
iOS build fix

* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::PageClient::setTextIndicatorAnimationProgress):

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

5 years ago[Win] Link errors.
commit-queue@webkit.org [Wed, 17 Dec 2014 17:46:17 +0000 (17:46 +0000)]
[Win] Link errors.
https://bugs.webkit.org/show_bug.cgi?id=139729

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-12-17
Reviewed by Anders Carlsson.

The list of exported symbols needs to be updated.

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

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

5 years agoMake Ref::copyRef const and ref-qualified
andersca@apple.com [Wed, 17 Dec 2014 17:02:11 +0000 (17:02 +0000)]
Make Ref::copyRef const and ref-qualified
https://bugs.webkit.org/show_bug.cgi?id=139730

Reviewed by Andreas Kling.

* wtf/Ref.h:

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

5 years agoAddressing more post-review comments in r177035
mmaxfield@apple.com [Wed, 17 Dec 2014 16:33:31 +0000 (16:33 +0000)]
Addressing more post-review comments in r177035

* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySliderThumb::elementRect):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setupDateTimeChooserParameters):

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

5 years ago[GTK] Simplify timeout handling in TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded
carlosgc@webkit.org [Wed, 17 Dec 2014 12:03:18 +0000 (12:03 +0000)]
[GTK] Simplify timeout handling in TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=139725

Reviewed by Martin Robinson.

The timeout is already in milliseconds, so we don't need to do any conversion.

* WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):

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

5 years ago[TexMap] Sprinkle range-based for-loops where still possible
zandobersek@gmail.com [Wed, 17 Dec 2014 11:44:49 +0000 (11:44 +0000)]
[TexMap] Sprinkle range-based for-loops where still possible
https://bugs.webkit.org/show_bug.cgi?id=138752

Reviewed by Chris Dumez.

Apply range-based for-loops where possible in the TextureMapper,
TextureMapperGL and TextureMapperTiledBackingStore classes.

Also prettify the loop in SharedGLData destructor and return
nullptr instead of explicitly constructing the empty PassRefPtr
object in TextureMapperTiledBackingStore::texture().

* platform/graphics/texmap/TextureMapper.cpp:
(WebCore::BitmapTexturePool::acquireTexture):
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
(WebCore::TextureMapperGLData::~TextureMapperGLData):
* platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
(WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
(WebCore::TextureMapperTiledBackingStore::drawBorder):
(WebCore::TextureMapperTiledBackingStore::drawRepaintCounter):
(WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
(WebCore::TextureMapperTiledBackingStore::updateContents):
(WebCore::TextureMapperTiledBackingStore::texture):

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

5 years agoThe SVGDocument of an SVGImage should not perform any additional actions when the...
stavila@adobe.com [Wed, 17 Dec 2014 10:14:32 +0000 (10:14 +0000)]
The SVGDocument of an SVGImage should not perform any additional actions when the SVGImage is being destroyed
https://bugs.webkit.org/show_bug.cgi?id=139644

Reviewed by Antti Koivisto.

When an SVGImage is destroyed, having its SVGDocument perform style recalc and dispatching events is not only
useless but can also cause problems, such as re-entrancy in StyleResolver::loadPendingResources.

No new tests required, existing tests cover this change.

* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(WebCore::Document::isBeingDestroyed):
(WebCore::Document::setIsBeingDestroyed):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::closeURL):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::~SVGImage):

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

5 years agoUnreviewed. Fix GTK+ build after r177427.
carlosgc@webkit.org [Wed, 17 Dec 2014 09:51:01 +0000 (09:51 +0000)]
Unreviewed. Fix GTK+ build after r177427.

* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
* UIProcess/API/gtk/PageClientImpl.h:

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

5 years ago[EFL]Fix build warning in MiniBrowser
commit-queue@webkit.org [Wed, 17 Dec 2014 08:45:22 +0000 (08:45 +0000)]
[EFL]Fix build warning in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=139723

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2014-12-17
Reviewed by Darin Adler.

The warning is caused by the compiler wanting the first argument to be a
string literal, not a dynamically created string.

* MiniBrowser/efl/main.c:
(quit):

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

5 years agoDrop useless 'clipToContents' argument for windowClipRect()
cdumez@apple.com [Wed, 17 Dec 2014 08:03:44 +0000 (08:03 +0000)]
Drop useless 'clipToContents' argument for windowClipRect()
https://bugs.webkit.org/show_bug.cgi?id=139722

Reviewed by Darin Adler.

Drop useless 'clipToContents' argument for windowClipRect(). This
argument is never used.

No new tests, no behavior change.

* page/FrameView.cpp:
(WebCore::FrameView::windowClipRect):
* page/FrameView.h:
* platform/ScrollView.h:

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

5 years agotext node should not be created, On setting document.title to the empty string.
commit-queue@webkit.org [Wed, 17 Dec 2014 05:20:09 +0000 (05:20 +0000)]
text node should not be created, On setting document.title to the empty string.
https://bugs.webkit.org/show_bug.cgi?id=139121

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-12-16
Reviewed by Darin Adler.

Source/WebCore:

Do not create text node, On setting document.title to the empty string as in spec.
I have confirmed this matches the behavior of Firefox and Chrome.

Test: fast/dom/Document/document-set-title-no-child.html

* html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::setText):

LayoutTests:

* fast/dom/Document/document-set-title-no-child-expected.txt: Added.
* fast/dom/Document/document-set-title-no-child.html: Added.

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

5 years agoTestWebKitAPI should use a static lib to support both Mac and iOS cleanly
weinig@apple.com [Wed, 17 Dec 2014 04:02:33 +0000 (04:02 +0000)]
TestWebKitAPI should use a static lib to support both Mac and iOS cleanly
https://bugs.webkit.org/show_bug.cgi?id=139718

Reviewed by Mark Rowe.

Change TestWebKitAPI to be more like DumpRenderTree by moving all the source
files into a static lib which the command line utility can link link against.
This will allow us to create a TestWebKitAPI.app that can run on iOS.

* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* TestWebKitAPI/Configurations/TestWebKitAPILibrary.xcconfig: Added.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

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

5 years agoWeb Inspector: REGRESSION: Dragging undocked web inspector causes mouse to change...
commit-queue@webkit.org [Wed, 17 Dec 2014 03:56:23 +0000 (03:56 +0000)]
Web Inspector: REGRESSION: Dragging undocked web inspector causes mouse to change from pointer to i-bar cursor over window title
https://bugs.webkit.org/show_bug.cgi?id=139720

Patch by Matt Baker <mattbaker@apple.com> on 2014-12-16
Reviewed by Timothy Hatcher.

* UserInterface/Base/Main.js:
Prevent default handling of the mouse event when clicking in the titlebar area. WebCore won't continue handling the event,
but docking buttons/context menu still function.

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

5 years agoUnreviewed, EFL build fix since r177427.
gyuyoung.kim@samsung.com [Wed, 17 Dec 2014 03:55:35 +0000 (03:55 +0000)]
Unreviewed, EFL build fix since r177427.

* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::setTextIndicatorAnimationProgress): Added.
* UIProcess/CoordinatedGraphics/WebView.h:

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

5 years agoUnreviewed. Adding the forgotten svnprop.
rniwa@webkit.org [Wed, 17 Dec 2014 03:31:44 +0000 (03:31 +0000)]
Unreviewed. Adding the forgotten svnprop.

* tools/pull-svn.py: Added property svn:executable.

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

5 years ago[iOS] Update expected results for LayoutTests/fast
dbates@webkit.org [Wed, 17 Dec 2014 03:29:23 +0000 (03:29 +0000)]
[iOS] Update expected results for LayoutTests/fast

* TestExpectations: Added entries fast/parser/document-write-fighting-eof.html and fast/parser/document-write-partial-entity-before-load.html
and removed these entries from the GTK, Mac, and Windows-specific TestExpectation files. These tests are known to fail in debug builds on
all ports. See http://webkit.org/b/110546 for more details.
* platform/gtk/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:
[...]
* platform/mac/TestExpectations:
* platform/win/TestExpectations:

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

5 years agoMove WebCore/platform/graphics/surfaces to std::unique_ptr
gyuyoung.kim@samsung.com [Wed, 17 Dec 2014 03:25:44 +0000 (03:25 +0000)]
Move WebCore/platform/graphics/surfaces to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=139641

Reviewed by Andreas Kling.

Source/WebCore:

Replace OwnPtr|PassOwnPtr with std::make_unique<>|std::unique_ptr<>.

* platform/graphics/GLContext.cpp:
(WebCore::GLContext::sharingContext):
(WebCore::GLContext::createContextForWindow):
(WebCore::GLContext::createOffscreenContext):
* platform/graphics/GLContext.h:
* platform/graphics/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
* platform/graphics/GraphicsContext3DPrivate.h:
* platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createWindowContext):
(WebCore::GLContextEGL::createPbufferContext):
(WebCore::GLContextEGL::createPixmapContext):
(WebCore::GLContextEGL::createContext):
* platform/graphics/egl/GLContextEGL.h:
* platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::createWindowContext):
(WebCore::GLContextGLX::createPbufferContext):
(WebCore::GLContextGLX::createPixmapContext):
(WebCore::GLContextGLX::createContext):
* platform/graphics/glx/GLContextGLX.h:
* platform/graphics/surfaces/GLTransportSurface.cpp:
(WebCore::GLTransportSurface::createTransportSurface):
(WebCore::GLTransportSurfaceClient::createTransportSurfaceClient):
* platform/graphics/surfaces/GLTransportSurface.h:
* platform/graphics/surfaces/GraphicsSurface.h:
* platform/graphics/surfaces/GraphicsSurfaceToken.h:
* platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
* platform/graphics/surfaces/egl/EGLSurface.cpp:
(WebCore::EGLTransportSurface::createTransportSurface):
(WebCore::EGLTransportSurface::createTransportSurfaceClient):
(WebCore::EGLTransportSurface::EGLTransportSurface):
* platform/graphics/surfaces/egl/EGLSurface.h:
* platform/graphics/surfaces/egl/EGLXSurface.cpp:
(WebCore::EGLXTransportSurfaceClient::EGLXTransportSurfaceClient):
* platform/graphics/surfaces/egl/EGLXSurface.h:
* platform/graphics/surfaces/glx/GLXSurface.cpp:
(WebCore::GLXTransportSurface::GLXTransportSurface):
(WebCore::GLXOffScreenSurface::initialize):
* platform/graphics/surfaces/glx/GLXSurface.h:

Source/WebKit2:

* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

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

5 years ago[iOS] Update expected results for LayoutTests/http
dbates@webkit.org [Wed, 17 Dec 2014 03:05:10 +0000 (03:05 +0000)]
[iOS] Update expected results for LayoutTests/http

* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:
* platform/ios-simulator/http/tests/loading/simple-subframe-expected.txt: Added.
* platform/ios-simulator/http/tests/local/file-url-sent-as-referer-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/acid2-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/acid2-pixel-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/error404-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/favicon-as-image-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/frame-access-during-load-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/generated-content-inside-table-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/iframe404-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/location-replace-crossdomain-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/slow-loading-image-in-pattern-expected.txt: Added.
* platform/ios-simulator/http/tests/misc/slow-loading-mask-expected.txt: Added.
* platform/ios-simulator/http/tests/multipart/invalid-image-data-expected.txt: Added.
* platform/ios-simulator/http/tests/multipart/invalid-image-data-standalone-expected.txt: Added.
* platform/ios-simulator/http/tests/navigation/error404-basic-expected.txt: Added.
* platform/ios-simulator/http/tests/navigation/error404-goback-expected.txt: Added.
* platform/ios-simulator/http/tests/navigation/error404-subframeload-expected.txt: Added.
* platform/ios-simulator/http/tests/navigation/javascriptlink-frames-expected.txt: Added.
* platform/ios-simulator/http/tests/navigation/postredirect-basic-expected.txt: Added.
* platform/ios-simulator/http/tests/navigation/postredirect-goback1-expected.txt: Added.
* platform/ios-simulator/http/tests/uri/css-href-expected.txt: Added.

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

5 years agoImplement and adopt two new TextIndicator presentation animations
timothy_horton@apple.com [Wed, 17 Dec 2014 03:02:41 +0000 (03:02 +0000)]
Implement and adopt two new TextIndicator presentation animations
https://bugs.webkit.org/show_bug.cgi?id=139715
<rdar://problem/19237945>

Reviewed by Anders Carlsson.

* WebCore.exp.in:
Adjust one symbol and export another.

* page/TextIndicator.cpp:
(WebCore::TextIndicator::createWithSelectionInFrame):
Take a blue-highlight snapshot if we're doing a crossfade without a bounce.

* page/TextIndicator.h:
(WebCore::TextIndicator::presentationTransition):
Add FadeIn and Crossfade transition types.

* page/mac/TextIndicatorWindow.h:
* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
(createBounceAnimation):
(createContentCrossfadeAnimation):
(createShadowFadeAnimation):
(createFadeInAnimation):
(-[WebTextIndicatorView _textIndicatorWantsBounce]):
(-[WebTextIndicatorView _textIndicatorWantsContentCrossfade]):
(-[WebTextIndicatorView _textIndicatorWantsFadeIn]):
Factor out the animation construction.

(-[WebTextIndicatorView _animationDuration]):
Factor out the duration computation.

(-[WebTextIndicatorView present]):
(-[WebTextIndicatorView setAnimationProgress:]):
Implement FadeIn and Crossfade transitions.
They can be driven externally and then continue from where they
left off when the progress reaches 100%.
FadeIn changes the opacity of the whole bubble, Crossfade
crossfades the content (from blue to yellow).

(WebCore::TextIndicatorWindow::TextIndicatorWindow):
(WebCore::TextIndicatorWindow::~TextIndicatorWindow):
Don't immediately destroy the window if it is crossfades or fades in.
Fade it out, instead.

(WebCore::TextIndicatorWindow::setAnimationProgress):
Drive the paused animation manually. If progress hits 100%,
start running it automatically from where it last left off.

(WebCore::TextIndicatorWindow::setTextIndicator):
(WebCore::TextIndicatorWindow::startFadeOut):
(-[WebTextIndicatorView presentWithCompletionHandler:]): Deleted.
(WebCore::TextIndicatorWindow::startFadeOutTimerFired): Deleted.
Remove the completion block from -present.

* platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
Add some SPI.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _showTextIndicator]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView quickLookWithEvent:]):
Remove the completionHandler from text indicator presentation.

* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WebImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
(-[WebImmediateActionController _menuItemForDataDetectedText]):
(-[WebImmediateActionController _animationControllerForText]):
(-[WebImmediateActionController _showTextIndicator]):
Forward immediate action gesture recognizer animation progress
to TextIndicator. Force us to keep the selection when immediate
action popovers steal first responder status from the WebView.
If the Lookup range is equal to the selection range, use a Crossfade
animation; otherwise, use a FadeIn animation.

* WebView/WebView.mm:
(-[WebView _setMaintainsInactiveSelection:]):
(-[WebView maintainsInactiveSelection]):
(-[WebView _animationControllerForDictionaryLookupPopupInfo:]):
(-[WebView _setTextIndicator:fadeOut:]):
(-[WebView _clearTextIndicator]):
(-[WebView _setTextIndicatorAnimationProgress:]):
(-[WebView _showDictionaryLookupPopup:]):
(-[WebView _dictionaryLookupPopoverWillClose:]):
(-[WebView _setTextIndicator:fadeOut:animationCompletionHandler:]):
Remove the completionHandler from text indicator presentation.
Add a _setMaintainsInactiveSelection, which allows WebKit internals
to change the return value of -maintainsInactiveSelection, allowing
us to keep the selection alive when the WebView loses first responder status.

* WebView/WebViewData.h:
* WebView/WebViewInternal.h:

* UIProcess/API/mac/WKView.mm:
(-[WKView _setTextIndicator:fadeOut:]):
(-[WKView _setTextIndicatorAnimationProgress:]):
(-[WKView _setTextIndicator:fadeOut:animationCompletionHandler:]): Deleted.
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setTextIndicatorAnimationProgress):
(WebKit::WebPageProxy::performActionMenuHitTestAtLocation):
* UIProcess/WebPageProxy.h:
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
(WebKit::PageClientImpl::didPerformDictionaryLookup):
Remove the completion handler block argument from TextIndicator
installation.
Plumb animation progress through PageClient to TextIndicatorWindow.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController prepareForMenu:withEvent:]):
(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WKImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
(-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
(-[WKImmediateActionController _menuItemForDataDetectedText]):
(-[WKImmediateActionController _animationControllerForText]):
Forward immediate action gesture recognizer animation progress
to TextIndicator. Force us to keep the selection when immediate
action popovers steal first responder status from the WebView.

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::textIndicatorTransitionForActionMenu):
(WebKit::WebPage::performActionMenuHitTestAtLocation):
Factor out the presentation animation decision code.
For immediate actions, of the Lookup range is equal to the
selection range, use a Crossfade animation; otherwise, use a FadeIn
animation.
Push whether the actionMenuHitTest is for an immediate action
or a menu to the Web process, to make the presentation animation
decision code live entirely in the Web process.
Avoid extracting encoded image data if we know we're doing
an immediate action and will never need it.

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

5 years agoFix lambda and std::function formatting
andersca@apple.com [Wed, 17 Dec 2014 02:55:04 +0000 (02:55 +0000)]
Fix lambda and std::function formatting
https://bugs.webkit.org/show_bug.cgi?id=139719

Reviewed by Sam Weinig.

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::getOrigins):
(WebKit::DatabaseProcess::deleteEntriesForOrigin):
(WebKit::DatabaseProcess::deleteEntriesModifiedBetweenDates):
(WebKit::DatabaseProcess::deleteAllEntries):
* DatabaseProcess/DatabaseProcess.h:
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::deleteDatabase):
(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
(WebKit::UniqueIDBDatabase::openTransaction):
(WebKit::UniqueIDBDatabase::beginTransaction):
(WebKit::UniqueIDBDatabase::commitTransaction):
(WebKit::UniqueIDBDatabase::resetTransaction):
(WebKit::UniqueIDBDatabase::rollbackTransaction):
(WebKit::UniqueIDBDatabase::postTransactionOperation):
(WebKit::UniqueIDBDatabase::changeDatabaseVersion):
(WebKit::UniqueIDBDatabase::createObjectStore):
(WebKit::UniqueIDBDatabase::deleteObjectStore):
(WebKit::UniqueIDBDatabase::clearObjectStore):
(WebKit::UniqueIDBDatabase::createIndex):
(WebKit::UniqueIDBDatabase::deleteIndex):
(WebKit::UniqueIDBDatabase::putRecord):
(WebKit::UniqueIDBDatabase::getRecord):
(WebKit::UniqueIDBDatabase::openCursor):
(WebKit::UniqueIDBDatabase::cursorAdvance):
(WebKit::UniqueIDBDatabase::cursorIterate):
(WebKit::UniqueIDBDatabase::count):
(WebKit::UniqueIDBDatabase::deleteRange):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::NetworkCacheStorage::store):
* Shared/AsyncTask.h:
(WebKit::AsyncTask::AsyncTask):
* Shared/ChildProcess.cpp:
(WebKit::didCloseOnConnectionWorkQueue):
* Shared/WebContextMenuItemData.cpp:
(WebKit::WebContextMenuItemData::WebContextMenuItemData):
* Shared/WebContextMenuItemData.h:
(WebKit::WebContextMenuItemData::selectionHandler):
* Shared/mac/SecItemShim.cpp:
(WebKit::responseMap):
* UIProcess/Plugins/PluginProcessManager.cpp:
(WebKit::PluginProcessManager::PluginProcessManager):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::m_processSuppressionDisabledForPageCounter):
* UIProcess/WebOriginDataManagerProxy.cpp:
(WebKit::CallbackSynchronizer::create):
(WebKit::CallbackSynchronizer::CallbackSynchronizer):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
* UIProcess/mac/WebContextMenuProxyMac.mm:
(-[WKSelectionHandlerWrapper initWithSelectionHandler:]):
(WebKit::nsMenuItemVector):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::deleteDatabase):
(WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::openTransaction):
(WebKit::WebIDBServerConnection::beginTransaction):
(WebKit::WebIDBServerConnection::commitTransaction):
(WebKit::WebIDBServerConnection::resetTransaction):
(WebKit::WebIDBServerConnection::rollbackTransaction):
(WebKit::WebIDBServerConnection::setIndexKeys):
(WebKit::WebIDBServerConnection::createObjectStore):
(WebKit::WebIDBServerConnection::createIndex):
(WebKit::WebIDBServerConnection::deleteIndex):
(WebKit::WebIDBServerConnection::get):
(WebKit::WebIDBServerConnection::put):
(WebKit::WebIDBServerConnection::count):
(WebKit::WebIDBServerConnection::deleteRange):
(WebKit::WebIDBServerConnection::clearObjectStore):
(WebKit::WebIDBServerConnection::deleteObjectStore):
(WebKit::WebIDBServerConnection::changeDatabaseVersion):
(WebKit::WebIDBServerConnection::openCursor):
(WebKit::WebIDBServerConnection::cursorAdvance):
(WebKit::WebIDBServerConnection::cursorIterate):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
* WebProcess/OriginData/WebOriginDataManagerSupplement.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getOrigins):
(WebKit::WebProcess::deleteEntriesForOrigin):
(WebKit::WebProcess::deleteEntriesModifiedBetweenDates):
(WebKit::WebProcess::deleteAllEntries):
* WebProcess/WebProcess.h:

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

5 years agoGet rid of a couple of binds in WebKit2
andersca@apple.com [Wed, 17 Dec 2014 02:50:12 +0000 (02:50 +0000)]
Get rid of a couple of binds in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=139717

Reviewed by Sam Weinig.

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::postDatabaseTask):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::didShutdownBackingStore):
(WebKit::UniqueIDBDatabase::postMainThreadTask):
(WebKit::UniqueIDBDatabase::performNextMainThreadTask):
(WebKit::UniqueIDBDatabase::postDatabaseTask):
(WebKit::UniqueIDBDatabase::performNextMainThreadTaskWithoutAdoptRef): Deleted.
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::initializeDeadNameSource):
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::processLauncherWorkQueue):
(WebKit::ProcessLauncher::ProcessLauncher):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::unprotectPluginFromDestruction):
(WebKit::derefPluginView): Deleted.

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

5 years agoSplit InteractiveChartComponent and CommitsViewerComponent into separate files
rniwa@webkit.org [Wed, 17 Dec 2014 02:29:22 +0000 (02:29 +0000)]
Split InteractiveChartComponent and CommitsViewerComponent into separate files
https://bugs.webkit.org/show_bug.cgi?id=139716

Rubber-stamped by Benjamin Poulain.

Refactored InteractiveChartComponent and CommitsViewerComponent out of app.js into commits-viewer.js
and interactive-chart.js respectively since app.js has gotten really large.

* public/v2/app.js:
* public/v2/commits-viewer.js: Added.
* public/v2/interactive-chart.js: Added.

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

5 years agoMove WebCore/platform/image-decoders to std::unique_ptr<>
gyuyoung.kim@samsung.com [Wed, 17 Dec 2014 02:11:58 +0000 (02:11 +0000)]
Move WebCore/platform/image-decoders to std::unique_ptr<>
https://bugs.webkit.org/show_bug.cgi?id=139668

Reviewed by Andreas Kling.

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

* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::setFailed):
(WebCore::BMPImageDecoder::decode):
(WebCore::BMPImageDecoder::decodeHelper):
* platform/image-decoders/bmp/BMPImageDecoder.h:
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::setFailed):
(WebCore::GIFImageDecoder::gifComplete):
(WebCore::GIFImageDecoder::decode):
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFFrameContext::decode):
(GIFImageReader::addFrameIfNecessary):
* platform/image-decoders/gif/GIFImageReader.h:
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::decode):
(WebCore::ICOImageDecoder::decodeAtIndex):
* platform/image-decoders/ico/ICOImageDecoder.h:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::setFailed):
(WebCore::JPEGImageDecoder::decode):
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::setFailed):
(WebCore::PNGImageDecoder::decode):
* platform/image-decoders/png/PNGImageDecoder.h:

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

5 years agoUse Ref for SecurityOrigin.
akling@apple.com [Wed, 17 Dec 2014 01:48:38 +0000 (01:48 +0000)]
Use Ref for SecurityOrigin.
<https://webkit.org/b/139710>

Reviewed by Anders Carlsson.

Source/WebCore:

Make SecurityOrigin::create*() return Ref<SecurityOrigin>.

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::origin):
* loader/DocumentLoadTiming.cpp:
(WebCore::DocumentLoadTiming::addRedirect):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::willSendRequest):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
* loader/PingLoader.cpp:
(WebCore::PingLoader::sendPing):
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::getOriginsWithCache):
* page/ContentSecurityPolicy.cpp:
(WebCore::stripURLForUseInReport):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::crossDomainAccessErrorMessage):
* page/SecurityOrigin.cpp:
(WebCore::getCachedOrigin):
(WebCore::SecurityOrigin::create):
(WebCore::SecurityOrigin::createUnique):
(WebCore::SecurityOrigin::isolatedCopy):
(WebCore::SecurityOrigin::canRequest):
(WebCore::SecurityOrigin::createFromString):
(WebCore::SecurityOrigin::maybeCreateFromDatabaseIdentifier):
(WebCore::SecurityOrigin::createFromDatabaseIdentifier):
* page/SecurityOrigin.h:
* page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::isAccessToURLWhiteListed):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin):
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::deleteOriginWithIdentifier):
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::DefaultSharedWorkerRepository::connectToWorker):
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):

Source/WebKit/mac:

* Storage/WebStorageTrackerClient.mm:
(WebStorageTrackerClient::dispatchDidModifyOrigin):
* WebView/WebView.mm:
(+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
(+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):

Source/WebKit/win:

* WebDatabaseManager.cpp:
(WebDatabaseManager::setQuota):
* WebView.cpp:
(WebView::addOriginAccessWhitelistEntry):
(WebView::removeOriginAccessWhitelistEntry):

Source/WebKit2:

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::databaseFilenameIdentifier):
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::WebIDBServerConnection):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::addOriginAccessWhitelistEntry):
(WebKit::InjectedBundle::removeOriginAccessWhitelistEntry):

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

5 years agoFix iOS builders for 8.0
enrica@apple.com [Wed, 17 Dec 2014 01:39:55 +0000 (01:39 +0000)]
Fix iOS builders for 8.0
https://bugs.webkit.org/show_bug.cgi?id=139495

Reviewed by Michael Saboff.

* Configurations/LLVMForJSC.xcconfig:
* llvm/library/LLVMExports.cpp:
(initializeAndGetJSCLLVMAPI):

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

5 years agoRemove deprecated StorageNamespaceImpl overloads
andersca@apple.com [Wed, 17 Dec 2014 01:39:25 +0000 (01:39 +0000)]
Remove deprecated StorageNamespaceImpl overloads
https://bugs.webkit.org/show_bug.cgi?id=139713

Reviewed by Andreas Kling.

* WebProcess/Storage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::storageArea):
(WebKit::StorageNamespaceImpl::copy):
(WebKit::StorageNamespaceImpl::createSessionStorageNamespace): Deleted.
(WebKit::StorageNamespaceImpl::createLocalStorageNamespace): Deleted.
* WebProcess/Storage/StorageNamespaceImpl.h:

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

5 years agoMove 'cursor' CSS property to the new StyleBuilder
cdumez@apple.com [Wed, 17 Dec 2014 01:18:36 +0000 (01:18 +0000)]
Move 'cursor' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139660

Reviewed by Benjamin Poulain.

Move 'cursor' CSS property to the new StyleBuilder by using
custom code.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyCursor::applyInheritValue): Deleted.
(WebCore::ApplyPropertyCursor::applyInitialValue): Deleted.
(WebCore::ApplyPropertyCursor::applyValue): Deleted.
(WebCore::ApplyPropertyCursor::createHandler): Deleted.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialCursor):
(WebCore::StyleBuilderCustom::applyInheritCursor):
(WebCore::StyleBuilderCustom::applyValueCursor):

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

5 years agoSubpixel rendering: Animating HTML elements leaves trails when embedded to a subpxiel...
zalan@apple.com [Wed, 17 Dec 2014 00:50:52 +0000 (00:50 +0000)]
Subpixel rendering: Animating HTML elements leaves trails when embedded to a subpxiel positioned iframe.
https://bugs.webkit.org/show_bug.cgi?id=139691
rdar://problem/19078958

Reviewed by Simon Fraser.

This patch ensures that repaint rect and actual paint coordinate calculations are in sync.

Source/WebCore:

RenderWidget painting still snaps final coordinates to integral positions. We need to
mimic the same snapping behaviour when the repaint rects are being calculated so that
they are in sync with the final repaint rects. This is a workaround until after
widgets get pushed to device pixel positions.

Test: fast/repaint/hidpi-content-inside-iframe-leaves-trails.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint):
* rendering/RenderView.cpp:
(WebCore::RenderView::repaintViewRectangle):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paintContents):

LayoutTests:

* fast/repaint/hidpi-content-inside-iframe-leaves-trails-expected.txt: Added.
* fast/repaint/hidpi-content-inside-iframe-leaves-trails.html: Added.

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

5 years agoSpeculative build fix.
bdakin@apple.com [Wed, 17 Dec 2014 00:47:15 +0000 (00:47 +0000)]
Speculative build fix.

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

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

5 years agoCrash getting default animation controller for some text
bdakin@apple.com [Wed, 17 Dec 2014 00:41:40 +0000 (00:41 +0000)]
Crash getting default animation controller for some text
https://bugs.webkit.org/show_bug.cgi?id=139712
-and corresponding-
rdar://problem/19271707

Reviewed by Tim Horton.

Must null-check the range.
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _animationControllerForText]):

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

5 years agoREGRESSION: Preview popovers obscure the link, look wrong
bdakin@apple.com [Wed, 17 Dec 2014 00:33:49 +0000 (00:33 +0000)]
REGRESSION: Preview popovers obscure the link, look wrong
https://bugs.webkit.org/show_bug.cgi?id=139711
-and corresponding-
rdar://problem/19271854

Reviewed by Tim Horton.

Source/WebCore:

New SPI.
* WebCore.xcodeproj/project.pbxproj:
* platform/spi/mac/NSPopoverSPI.h: Added.

Source/WebKit2:

Switch to using NSPopoverAnimationController.
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _defaultAnimationController]):
(-[WKImmediateActionController _animationControllerForCustomPreview]):

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

5 years agoRebaseline Mavericks test result after r177398
mmaxfield@apple.com [Wed, 17 Dec 2014 00:02:37 +0000 (00:02 +0000)]
Rebaseline Mavericks test result after r177398

Unreviewed.

* platform/mac-mavericks/fast/writing-mode/Kusa-Makura-background-canvas-expected.png:
* platform/mac-mavericks/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:

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

5 years agoImmediate action popovers can get stuck open
timothy_horton@apple.com [Tue, 16 Dec 2014 23:34:29 +0000 (23:34 +0000)]
Immediate action popovers can get stuck open
https://bugs.webkit.org/show_bug.cgi?id=139709
<rdar://problem/19270279>

Reviewed by Beth Dakin.

* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _clearImmediateActionState]):
Don't clear the animation controller; it breaks things and was unnecessary.

* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _clearImmediateActionState]):
Don't clear the animation controller; it breaks things and was unnecessary.

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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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