WebKit-https.git
6 years agoRemove the remaining Nix cruft under Tools
zandobersek@gmail.com [Wed, 19 Feb 2014 09:41:17 +0000 (09:41 +0000)]
Remove the remaining Nix cruft under Tools
https://bugs.webkit.org/show_bug.cgi?id=129003

Reviewed by Csaba Osztrogonác.

The Nix port was removed from the source tree so the remaining Nix-specific code
in the utility scripts is not required anymore.

* Scripts/run-nix-tests: Removed.
* Scripts/update-webkitnix-libs: Removed.
* Scripts/webkitpy/style/checker.py:
* jhbuild/jhbuild-wrapper:
(determine_platform):
* nix/common.py: Removed.
* nix/jhbuild.modules: Removed.
* nix/jhbuildrc: Removed.

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

6 years agoSimplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
mitz@apple.com [Wed, 19 Feb 2014 08:12:24 +0000 (08:12 +0000)]
Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
https://bugs.webkit.org/show_bug.cgi?id=129029

Reviewed by Mark Rowe.

Source/JavaScriptCore:

* API/JSValueRef.cpp:
(JSValueUnprotect):
* jit/ExecutableAllocatorFixedVMPool.cpp:

Source/WebCore:

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):
* config.h:
* editing/Editor.cpp:
(WebCore::Editor::copyURL):
* editing/EditorCommand.cpp:
(WebCore::createCommandMap):
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::markMisspellingsAfterTyping):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadArchive):
* page/AlternativeTextClient.h:
* page/EventHandler.cpp:
* page/PageGroup.cpp:
(WebCore::PageGroup::captionPreferences):
* page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
* page/scrolling/ScrollingStateScrollingNode.h:
* page/scrolling/ScrollingTree.h:
* page/scrolling/ThreadedScrollingTree.cpp:
* page/scrolling/ThreadedScrollingTree.h:
* platform/DragData.h:
* platform/FileSystem.cpp:
* platform/MemoryPressureHandler.cpp:
* platform/Pasteboard.h:
* platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/PlatformPasteboard.h:
* platform/PlatformScreen.h:
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
* platform/SuddenTermination.h:
* platform/ThreadGlobalData.cpp:
(WebCore::ThreadGlobalData::ThreadGlobalData):
(WebCore::ThreadGlobalData::destroy):
* platform/ThreadGlobalData.h:
* platform/audio/mac/AudioDestinationMac.cpp:
* platform/audio/mac/AudioFileReaderMac.cpp:
* platform/audio/mac/AudioSessionMac.cpp:
* platform/graphics/DisplayRefreshMonitor.h:
* platform/graphics/FloatPoint.h:
* platform/graphics/FloatRect.h:
* platform/graphics/FloatSize.h:
* platform/graphics/IntRect.h:
* platform/graphics/IntSize.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::installedMediaEngines):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::utiFromMIMEType):
* platform/graphics/cg/PDFDocumentImage.h:
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawLineForDocumentMarker):
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::supportsExtension):
(WebCore::Extensions3DOpenGL::drawBuffersEXT):
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
* platform/mac/KeyEventMac.mm:
* platform/network/NetworkStateNotifier.h:
* platform/network/cf/CookieJarCFNet.cpp:
* platform/network/cf/ResourceRequest.h:
* platform/network/cf/ResourceRequestCFNet.cpp:
* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::reportErrorToClient):
* platform/text/TextEncodingRegistry.cpp:
(WebCore::extendTextCodecMaps):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):

Source/WebKit2:

* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::netscapePluginModule):
* Shared/API/c/WKDeprecatedFunctions.cpp:
* Shared/WebPreferencesStore.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/PageClient.h:
* UIProcess/Scrolling/RemoteScrollingTree.cpp:
* UIProcess/Scrolling/RemoteScrollingTree.h:
* UIProcess/WebContext.h:
* UIProcess/WebInspectorProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChangeBackForwardList):
(WebKit::WebPageProxy::pageDidScroll):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::creationParameters):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetTopOverhangImage):
(WKBundlePageSetBottomOverhangImage):
* WebProcess/WebPage/PageBanner.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setDeviceScaleFactor):
(WebKit::WebPage::mainFrameDidLayout):
(WebKit::WebPage::beginPrinting):
(WebKit::WebPage::drawRectToImage):
(WebKit::WebPage::drawPagesToPDF):
* WebProcess/WebPage/WebPage.messages.in:
* config.h:

Source/WTF:

* wtf/FeatureDefines.h:
* wtf/Platform.h:
* wtf/Threading.cpp:
* wtf/text/cf/StringImplCF.cpp:
(garbageCollectionEnabled):

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

6 years agoPLATFORM(MAC) is true when building for iOS
mitz@apple.com [Wed, 19 Feb 2014 06:15:59 +0000 (06:15 +0000)]
PLATFORM(MAC) is true when building for iOS
https://bugs.webkit.org/show_bug.cgi?id=129025

Reviewed by Mark Rowe.

Source/WebCore:

* editing/Editor.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA) now that the former does not
include iOS.

Source/WebKit2:

* Shared/Network/NetworkProcessCreationParameters.cpp: Changed PLATFORM(MAC) to
PLATFORM(COCOA) now that the former does not include iOS.
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
* Shared/Network/NetworkProcessCreationParameters.h: Ditto.
* WebKit2Prefix.h: Ditto.

Source/WTF:

* wtf/Platform.h: Changed to define WTF_PLATFORM_MAC only on when building for OS X (but
still not when WTF_PLATFORM_GTK or WTF_PLATFORM_EFL are defined).

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

6 years agoWindows gardening: Add annotations for Debug case.
bfulgham@apple.com [Wed, 19 Feb 2014 06:12:50 +0000 (06:12 +0000)]
Windows gardening: Add annotations for Debug case.

* platform/win/TestExpectations:

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

6 years ago[EFL][MiniBrowser] Remove view_mode parameter in window_create()
jinwoo7.song@samsung.com [Wed, 19 Feb 2014 05:59:22 +0000 (05:59 +0000)]
[EFL][MiniBrowser] Remove view_mode parameter in window_create()
https://bugs.webkit.org/show_bug.cgi?id=128960

Reviewed by Gyuyoung Kim.

As view source code is removed in r164254, window_create() also should remove view_mode.

* MiniBrowser/efl/main.c:
(on_key_down):
(on_window_create):
(window_create):
(elm_main):

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

6 years agoCorrectly install libllvmForJSC.dylib in production builds
fpizlo@apple.com [Wed, 19 Feb 2014 05:46:34 +0000 (05:46 +0000)]
Correctly install libllvmForJSC.dylib in production builds
https://bugs.webkit.org/show_bug.cgi?id=129023

Reviewed by Mark Rowe.

In non-production builds, we copy it as before. In production builds, we use the install
path.

Also roll http://trac.webkit.org/changeset/164348 back in.

* Configurations/Base.xcconfig:
* Configurations/LLVMForJSC.xcconfig:
* JavaScriptCore.xcodeproj/project.pbxproj:

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

6 years ago[EFL][CMake] Fix javascriptcore test failings by the jsCStack branch merge
gyuyoung.kim@samsung.com [Wed, 19 Feb 2014 05:32:01 +0000 (05:32 +0000)]
[EFL][CMake] Fix javascriptcore test failings by the jsCStack branch merge
https://bugs.webkit.org/show_bug.cgi?id=128961

Reviewed by Ryosuke Niwa.

Javascriptcore test on EFL port has been broken since the jsCStack branch merge.
For now we can fix almost tests by using "-fno-tree-dce option". Unfortunately,
EFL port needs not to check "uninitialized" build warning as error in order to
adjust the option to EFL port. This patch don't take it as error temporarily.

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/WebKitHelpers.cmake:

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

6 years agoUnreviewed, roll out http://trac.webkit.org/changeset/164348 because it broke some
fpizlo@apple.com [Wed, 19 Feb 2014 04:59:05 +0000 (04:59 +0000)]
Unreviewed, roll out trac.webkit.org/changeset/164348 because it broke some
builds.

* JavaScriptCore.xcodeproj/project.pbxproj:

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

6 years agoMore Windows test gardening to get the bots green.
bfulgham@apple.com [Wed, 19 Feb 2014 04:33:31 +0000 (04:33 +0000)]
More Windows test gardening to get the bots green.

* platform/win/TestExpectations: Mark some flaky tests, and some passes to reduce report output.

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

6 years agoDon't call LLVMInitializeNativeTarget() because it can be all messed up if you cross...
fpizlo@apple.com [Wed, 19 Feb 2014 04:30:29 +0000 (04:30 +0000)]
Don't call LLVMInitializeNativeTarget() because it can be all messed up if you cross-compile LLVM
https://bugs.webkit.org/show_bug.cgi?id=129020

Reviewed by Dan Bernstein.

LLVMInitializeNativeTarget() is this super special inline function in llvm-c/Target.h that
depends on some #define's that come from some really weird magic in autoconf/configure.ac.
That magic fails miserably for cross-compiles. So, we need to manually initialize the things
that InitializeNativeTarget initializes.

* llvm/library/LLVMExports.cpp:
(initializeAndGetJSCLLVMAPI):

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

6 years agoClean up WKContentView initialization
simon.fraser@apple.com [Wed, 19 Feb 2014 04:12:49 +0000 (04:12 +0000)]
Clean up WKContentView initialization
https://bugs.webkit.org/show_bug.cgi?id=129016

Reviewed by Benjamin Poulain.

WKContentView had too many initializers and duplicated init
code. Clean up by removing all but one initializer and and
doing all the setup in it.

* UIProcess/API/ios/WKContentView.h:
* UIProcess/API/ios/WKContentView.mm:
* UIProcess/API/ios/WKViewIOS.mm:
(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

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

6 years agoThe shell scripts in the Xcode build system should tell you when they failed
fpizlo@apple.com [Wed, 19 Feb 2014 04:08:49 +0000 (04:08 +0000)]
The shell scripts in the Xcode build system should tell you when they failed
https://bugs.webkit.org/show_bug.cgi?id=129018

Reviewed by Mark Rowe.

* JavaScriptCore.xcodeproj/project.pbxproj:

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

6 years agoAdd fast mapping from StringImpl to JSString
barraclough@apple.com [Wed, 19 Feb 2014 03:21:47 +0000 (03:21 +0000)]
Add fast mapping from StringImpl to JSString
https://bugs.webkit.org/show_bug.cgi?id=128625

Reviewed by Geoff Garen & Andreas Kling.

Source/JavaScriptCore:

* runtime/JSString.cpp:
(JSC::JSString::WeakOwner::finalize):
    - once the JSString weakly owned by a StringImpl becomed unreachable remove the WeakImpl.
* runtime/JSString.h:
(JSC::jsStringWithWeakOwner):
    - create a JSString wrapping a StringImpl, and weakly caches the JSString on the StringImpl.
* runtime/VM.cpp:
(JSC::VM::VM):
    - initialize jsStringWeakOwner.
(JSC::VM::createLeakedForMainThread):
    - initialize jsStringWeakOwner - the main thread gets to use the weak pointer
      on StringImpl to cache a JSString wrapper.
* runtime/VM.h:
    - renamed createLeaked -> createLeakedForMainThread to make it clear this
      should only be used to cretae the main thread VM.

Source/WebCore:

Removed JSStringCache from WebCore; call JSC::jsStringWithWeakOwner instead.

* bindings/js/DOMWrapperWorld.cpp:
(WebCore::DOMWrapperWorld::clearWrappers):
    - removed JSStringCache.
* bindings/js/DOMWrapperWorld.h:
    - removed JSStringCache.
* bindings/js/JSDOMBinding.h:
(WebCore::jsStringWithCache):
    - call jsStringWithWeakOwner insead of using JSStringCache.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::commonVM):
    - renamed createLeaked -> createLeakedForMainThread.
* bindings/scripts/StaticString.pm:
(GenerateStrings):
    - StringImpl has an additional field.

Source/WTF:

Add weak pointer from StringImpl to JSString.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::~StringImpl):
    - ASSERT m_weakJSString is null.
* wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
    - initialize m_weakJSString.
(WTF::StringImpl::weakJSString):
(WTF::StringImpl::setWeakJSString):
    - added acessors for m_weakJSString.

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

6 years agoPrevent builtin js named with C++ reserved words from breaking the build
oliver@apple.com [Wed, 19 Feb 2014 02:58:52 +0000 (02:58 +0000)]
Prevent builtin js named with C++ reserved words from breaking the build
https://bugs.webkit.org/show_bug.cgi?id=129017

Reviewed by Sam Weinig.

Simple change to a couple of macros to make sure we don't create functions
named using reserved words.

* builtins/BuiltinExecutables.cpp:
* builtins/BuiltinNames.h:

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

6 years agoAnother 32-bit build fix.
timothy_horton@apple.com [Wed, 19 Feb 2014 02:44:27 +0000 (02:44 +0000)]
Another 32-bit build fix.

* UIProcess/API/mac/WKView.mm:
(-[WKView _acceleratedCompositingModeRootLayer]):

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

6 years agoMore more WK_API_ENABLED after r164337.
timothy_horton@apple.com [Wed, 19 Feb 2014 02:39:57 +0000 (02:39 +0000)]
More more WK_API_ENABLED after r164337.

* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::activeView):

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

6 years agoCan't use #if inside a macro, so we'll duplicate the macro for now.
timothy_horton@apple.com [Wed, 19 Feb 2014 02:34:38 +0000 (02:34 +0000)]
Can't use #if inside a macro, so we'll duplicate the macro for now.

Build fix for all of Mac.

* UIProcess/API/mac/WKView.mm:

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

6 years agoDon't build WKThumbnailView on iOS; it won't build.
timothy_horton@apple.com [Wed, 19 Feb 2014 02:29:07 +0000 (02:29 +0000)]
Don't build WKThumbnailView on iOS; it won't build.

* Configurations/WebKit2.xcconfig:

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

6 years agoMore WK_API_ENABLED after r164337.
timothy_horton@apple.com [Wed, 19 Feb 2014 02:26:21 +0000 (02:26 +0000)]
More WK_API_ENABLED after r164337.

* UIProcess/API/mac/WKView.mm:
(-[WKView dealloc]):
(-[WKView scrollWheel:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
(-[WKView _setAcceleratedCompositingModeRootLayer:]):
* UIProcess/API/mac/WKViewInternal.h:

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

6 years agoRemove UIWKRemoteView
simon.fraser@apple.com [Wed, 19 Feb 2014 02:19:12 +0000 (02:19 +0000)]
Remove UIWKRemoteView
https://bugs.webkit.org/show_bug.cgi?id=129015

Source/WebCore:

Reviewed by Dan Bernstein.

The project referenced a maketokenizer script that disappeared
long ago.

* WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

Reviewed by Dan Bernstein.

Remove UIWKRemoteView which is unused.

* Configurations/WebKit2.xcconfig:
* UIProcess/API/ios/UIWKRemoteView.h: Removed.
* UIProcess/API/ios/UIWKRemoteView.mm: Removed.
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoUnreviewed Windows test gardening.
bfulgham@apple.com [Wed, 19 Feb 2014 02:19:06 +0000 (02:19 +0000)]
Unreviewed Windows test gardening.

* platform/win/TestExpectations: Re-enable the many tests that actually pass on Windows. Mark tests
using current syntax so we can see when tests start passing. Identify a few flaky tests.

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

6 years ago32-bit build fix after r164337
timothy_horton@apple.com [Wed, 19 Feb 2014 02:12:39 +0000 (02:12 +0000)]
32-bit build fix after r164337

* UIProcess/API/Cocoa/WKThumbnailView.mm:
Address a review comment. We'll get this for free.

* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::activeView):
Build fix.

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

6 years agoAdd a way to efficiently thumbnail WKViews
timothy_horton@apple.com [Wed, 19 Feb 2014 01:57:31 +0000 (01:57 +0000)]
Add a way to efficiently thumbnail WKViews
https://bugs.webkit.org/show_bug.cgi?id=128831
<rdar://problem/15669655>

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKThumbnailView.h: Added.
* UIProcess/API/Cocoa/WKThumbnailView.mm: Added.
(-[WKThumbnailView initWithFrame:fromWKView:]):
(-[WKThumbnailView _viewWasUnparented]):
(-[WKThumbnailView _viewWasParented]):
(-[WKThumbnailView viewDidMoveToWindow]):
(-[WKThumbnailView setScale:]):
(-[WKThumbnailView setThumbnailLayer:]):
(-[WKThumbnailView thumbnailLayer]):
* UIProcess/API/Cocoa/WKThumbnailViewInternal.h: Added.
Add WKThumbnailView.
Clients of this private API will call initWithFrame:fromWKView:,
giving the WKView they wish to borrow contents from.
They can also call setScale: to set the scale that will be used to render
the content in an implementation-defined set of cases (currently, we will
use the low resolution scale for WKViews which were not parented when the
WKThumbnailView was created; parented WKViews will use the existing scale).

* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::isViewWindowActive):
(WebKit::PageClientImpl::isViewVisible):
(WebKit::PageClientImpl::isViewVisibleOrOccluded):
(WebKit::PageClientImpl::isViewInWindow):
(WebKit::PageClientImpl::viewLayerHostingMode):
If the WKView has an actively-parented WKThumbnailView attached to it,
we should determine view visibility/etc. using that view instead of the WKView.

* UIProcess/API/mac/WKView.mm:
(-[WKView dealloc]):
WKThumbnailView holds on to the WKView, and clears WKView's backpointer
when it leaves the window, so we should never see WKView get deallocated
with a live thumbnail view.

(-[WKView scrollWheel:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
Don't handle events while thumbnailed.

(-[WKView _setAcceleratedCompositingModeRootLayer:]):
Forward root layer changes to the installed thumbnail view.

(-[WKView _acceleratedCompositingModeRootLayer]):
_acceleratedCompositingModeRootLayer should return the same layer
that was set via _setAcceleratedCompositingModeRootLayer:, not its parent.

(-[WKView _setThumbnailView:]):
(-[WKView _thumbnailView]):
Install/uninstall a WKThumbnailView. Hand it our root layer if installing,
or recover it from the departing thumbnail view if uninstalling.

* UIProcess/API/mac/WKViewInternal.h:
Add in a missing RetainPtr.h include that I missed earlier and causes trouble.
Add WKView _thumbnailView and _setThumbnailView:.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setThumbnailScale):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::mayStartMediaWhenInWindow):

* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::handleSwipeGesture):
Swipe was accidentally depending on a mistake in WKView's
_acceleratedCompositingModeRootLayer where it was returning the wrong layer.
The actual root layer doesn't have a size, so we should use the drawing
area's size instead.

* WebKit2.xcodeproj/project.pbxproj:
Add some new files.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
If we reset the page scale because a load was committed, we should
reset the stored thumbnail-scale-less page scale so that we don't restore
the wrong scale when leaving thumbnailing.

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setThumbnailScale):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
Apply the thumbnail scale to the page. If we're currently not in
thumbnail scaling mode, save the current page scale and scroll position
so we can restore them once we leave thumbnail mode again.
Transform the DrawingArea so that the page appears at the same
position and size, but scaled.

* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::setTransform):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setTransform):
Add a DrawingArea method to apply an arbitrary transform to the drawing area.

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
(WebKit::TiledCoreAnimationDrawingArea::resumePainting):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
(WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
(WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
(WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
Remove the word "compositing" in a bunch of places where it isn't needed.
Rename m_rootLayer to m_hostingLayer, and repurpose m_rootLayer to store
the root compositing layer actually passed in via setRootCompositingLayer.
Rename m_pendingRootCompositingLayer to m_pendingRootLayer.

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

6 years agoborder-box clip-paths jump around when outline changes
simon.fraser@apple.com [Wed, 19 Feb 2014 01:55:33 +0000 (01:55 +0000)]
border-box clip-paths jump around when outline changes
https://bugs.webkit.org/show_bug.cgi?id=128929

Source/WebCore:

Reviewed by Dirk Schulze.

computeReferenceBox() for clip paths was using "rootRelativeBounds"
to position the border-box. This bounds is an enclosing bounds for
the layer and its descendants, including outlines and absolute descendants,
so it is not the correct box to use to offset the border-box.

The caller has offsetFromRoot(), which is the correct thing to use,
so use it.

Test: css3/masking/clip-path-root-relative-bounds.html

* rendering/RenderLayer.cpp:
(WebCore::computeReferenceBox):
(WebCore::RenderLayer::setupClipPath):

LayoutTests:

Reviewed by Dirk Schulze.

Test comparing a border-box clip path with and without an outline.

* css3/masking/clip-path-root-relative-bounds-expected.html: Added.
* css3/masking/clip-path-root-relative-bounds.html: Added.

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

6 years agoAdd SPI for enabling/disabling private browsing
andersca@apple.com [Wed, 19 Feb 2014 01:29:24 +0000 (01:29 +0000)]
Add SPI for enabling/disabling private browsing
https://bugs.webkit.org/show_bug.cgi?id=129012

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _privateBrowsingEnabled]):
(-[WKWebView _setPrivateBrowsingEnabled:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

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

6 years agoAdd more SPI methods to WKWebView
andersca@apple.com [Wed, 19 Feb 2014 01:16:53 +0000 (01:16 +0000)]
Add more SPI methods to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=129011

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _webProcessIdentifier]):
(-[WKWebView _sessionState]):
(releaseNSData):
(-[WKWebView _restoreFromSessionState:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

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

6 years agoFTL should build on ARM64
fpizlo@apple.com [Wed, 19 Feb 2014 01:07:29 +0000 (01:07 +0000)]
FTL should build on ARM64
https://bugs.webkit.org/show_bug.cgi?id=129010

Reviewed by Sam Weinig.

* disassembler/X86Disassembler.cpp: Just because we have the LLVM disassembler doesn't mean we're on X86.
* ftl/FTLLocation.cpp: DWARF parsing for ARM64 is super easy.
(JSC::FTL::Location::isGPR):
(JSC::FTL::Location::gpr):
(JSC::FTL::Location::isFPR):
(JSC::FTL::Location::fpr):
(JSC::FTL::Location::restoreInto): This function wasn't even X86-specific to begin with so move it out of the #if stuff.
* ftl/FTLUnwindInfo.cpp: They're called q not d.
(JSC::FTL::UnwindInfo::parse):
* jit/GPRInfo.h:
(JSC::GPRInfo::toArgumentRegister): Add this method; we alraedy had it on X86.

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

6 years agoWeb Inspector: AX: more properties: exists, required, and invalid (exists was previou...
commit-queue@webkit.org [Wed, 19 Feb 2014 00:45:07 +0000 (00:45 +0000)]
Web Inspector: AX: more properties: exists, required, and invalid (exists was previously combined with ignored)
https://bugs.webkit.org/show_bug.cgi?id=128504

Patch by James Craig <jcraig@apple.com> on 2014-02-18
Reviewed by Timothy Hatcher.

Source/WebCore:

Additions to the accessibility node inspector: exists, required, invalid.

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
* inspector/protocol/DOM.json:

Source/WebInspectorUI:

Additions to the accessibility node inspector: exists, required, invalid.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/DOMNode.js:
* UserInterface/DOMNodeDetailsSidebarPanel.js:

LayoutTests:

New files test the inspector protocol for DOM.getAccessibilityPropertiesForNode

* inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Added.
* inspector-protocol/dom/getAccessibilityPropertiesForNode.html: Added.

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

6 years agoCommit the code change supposed to happen in r164320.
rniwa@webkit.org [Wed, 19 Feb 2014 00:43:35 +0000 (00:43 +0000)]
Commit the code change supposed to happen in r164320.

* editing/Editor.cpp:
(WebCore::Editor::setIgnoreCompositionSelectionChange):
(WebCore::Editor::respondToChangedSelection):
* editing/Editor.h:

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

6 years agoAdd more new SPI methods
andersca@apple.com [Wed, 19 Feb 2014 00:36:10 +0000 (00:36 +0000)]
Add more new SPI methods
https://bugs.webkit.org/show_bug.cgi?id=129009

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _certificateChain]):
(-[WKWebView _committedURL]):
(-[WKWebView _applicationNameForUserAgent]):
(-[WKWebView _setApplicationNameForUserAgent:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

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

6 years agoTextFieldInputType::handleBeforeTextInsertedEvent shouldn't use plainText
rniwa@webkit.org [Wed, 19 Feb 2014 00:04:07 +0000 (00:04 +0000)]
TextFieldInputType::handleBeforeTextInsertedEvent shouldn't use plainText
https://bugs.webkit.org/show_bug.cgi?id=128953

Reviewed by Alexey Proskuryakov.

Don't use FrameSelection's toNormalizedRange and plainText. Instead, use the cached selection start and selection
end to extract the selected text. The caches are updated inside FrameSelection::setSelection whenever selection
is inside a text form control via HTMLTextFormControlElement::selectionChanged.

* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):

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

6 years agoMake reload SPI for now
andersca@apple.com [Tue, 18 Feb 2014 23:26:32 +0000 (23:26 +0000)]
Make reload SPI for now
https://bugs.webkit.org/show_bug.cgi?id=129007

Reviewed by Simon Fraser.

* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _reload]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

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

6 years agoAdd -[WKWebView reload]
andersca@apple.com [Tue, 18 Feb 2014 23:17:58 +0000 (23:17 +0000)]
Add -[WKWebView reload]
https://bugs.webkit.org/show_bug.cgi?id=129005

Reviewed by Tim Horton.

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

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

6 years agoFTL unwind parsing should handle ARM64
fpizlo@apple.com [Tue, 18 Feb 2014 23:04:53 +0000 (23:04 +0000)]
FTL unwind parsing should handle ARM64
https://bugs.webkit.org/show_bug.cgi?id=128984

Reviewed by Oliver Hunt.

This makes unwind parsing handle ARM64 and it makes all clients of unwind info capable of
dealing with that architecture.

The big difference is that ARM64 has callee-save double registers. This is conceptually easy
to handle, but out code for dealing with callee-saves spoke of "GPRReg". We've been in this
situation before: code that needs to deal with either a GPRReg or a FPRReg. In the past we'd
hacked around the problem, but this time I decided to do a full frontal assault. This patch
adds a Reg class, which is a box for either GPRReg or FPRReg along with tools for iterating
over all possible registers. Then, I threaded this through SaveRestore, RegisterSet,
RegisterAtOffset, and UnwindInfo. With the help of Reg, it was easy to refactor the code to
handle FPRs in addition to GPRs.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
* ftl/FTLRegisterAtOffset.cpp:
(JSC::FTL::RegisterAtOffset::dump):
* ftl/FTLRegisterAtOffset.h:
(JSC::FTL::RegisterAtOffset::RegisterAtOffset):
(JSC::FTL::RegisterAtOffset::operator!):
(JSC::FTL::RegisterAtOffset::reg):
(JSC::FTL::RegisterAtOffset::operator==):
(JSC::FTL::RegisterAtOffset::operator<):
(JSC::FTL::RegisterAtOffset::getReg):
* ftl/FTLSaveRestore.cpp:
(JSC::FTL::offsetOfReg):
* ftl/FTLSaveRestore.h:
* ftl/FTLUnwindInfo.cpp:
(JSC::FTL::UnwindInfo::parse):
(JSC::FTL::UnwindInfo::find):
(JSC::FTL::UnwindInfo::indexOf):
* ftl/FTLUnwindInfo.h:
* jit/Reg.cpp: Added.
(JSC::Reg::dump):
* jit/Reg.h: Added.
(JSC::Reg::Reg):
(JSC::Reg::fromIndex):
(JSC::Reg::first):
(JSC::Reg::last):
(JSC::Reg::next):
(JSC::Reg::index):
(JSC::Reg::isSet):
(JSC::Reg::operator!):
(JSC::Reg::isGPR):
(JSC::Reg::isFPR):
(JSC::Reg::gpr):
(JSC::Reg::fpr):
(JSC::Reg::operator==):
(JSC::Reg::operator!=):
(JSC::Reg::operator<):
(JSC::Reg::operator>):
(JSC::Reg::operator<=):
(JSC::Reg::operator>=):
(JSC::Reg::hash):
(JSC::Reg::invalid):
* jit/RegisterSet.h:
(JSC::RegisterSet::set):
(JSC::RegisterSet::clear):
(JSC::RegisterSet::get):

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

6 years agoAdd SPI for allowing HTTPS certificates
andersca@apple.com [Tue, 18 Feb 2014 22:58:29 +0000 (22:58 +0000)]
Add SPI for allowing HTTPS certificates
https://bugs.webkit.org/show_bug.cgi?id=129002

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKProcessClass.mm:
(-[WKProcessClass _setAllowsSpecificHTTPSCertificate:forHost:]):
* UIProcess/API/Cocoa/WKProcessClassInternal.h:
* UIProcess/API/Cocoa/WKProcessClassPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h.
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoBottom/right sticky positioning don't correctly handle scroll containers with padding
commit-queue@webkit.org [Tue, 18 Feb 2014 22:57:40 +0000 (22:57 +0000)]
Bottom/right sticky positioning don't correctly handle scroll containers with padding
https://bugs.webkit.org/show_bug.cgi?id=119280

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2014-02-18
Reviewed by Simon Fraser.

Source/WebCore:

Take padding into account during calculation of overflow constraining rect for sticky
positioning.

Test: fast/css/sticky/sticky-bottom-overflow-padding.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::stickyPositionOffset):

LayoutTests:

Check that sticky elements positioned correcly in overflow with padding.

* fast/css/sticky/sticky-bottom-overflow-padding-expected.html: Added.
* fast/css/sticky/sticky-bottom-overflow-padding.html: Added.

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

6 years agoCrash when merging ruby bases that contain floats
jhoneycutt@apple.com [Tue, 18 Feb 2014 22:55:39 +0000 (22:55 +0000)]
Crash when merging ruby bases that contain floats

https://bugs.webkit.org/show_bug.cgi?id=127515
<rdar://problem/15896562>

Source/WebCore:

This crash occurs when we remove a ruby text object and decide to merge
two adjacent ruby base objects. The right ruby base's children were
being merged into the left ruby base, but the right ruby base's floats
were not being moved to the left base. This could cause us not to
descend into all nodes containing a FloatingObject in
RenderBlockFlow::markAllDescendantsWithFloatsForLayout(), because we
assume that if a block does not have a particular float in its float
list, none of its descendants will, either.

Reviewed by David Hyatt.

Test: fast/ruby/ruby-base-merge-block-children-crash-2.html

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::moveFloatsTo):
Code split out of moveAllChildrenIncludingFloatsTo().
(WebCore::RenderBlockFlow::moveAllChildrenIncludingFloatsTo):
Call moveFloatsTo().

* rendering/RenderBlockFlow.h:
Add declaration of moveFloatsTo().

* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::mergeChildrenWithBase):
Move children and floats to the new base.

* rendering/RenderRubyBase.h:
Declare mergeChildrenWithBase().

* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::removeChild):
Call mergeChildrenWithBase().

LayoutTests:

Reviewed by David Hyatt.

* fast/ruby/ruby-base-merge-block-children-crash-2.html: Added.

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

6 years agoiOS build fix after r164319.
rniwa@webkit.org [Tue, 18 Feb 2014 22:54:04 +0000 (22:54 +0000)]
iOS build fix after r164319.

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

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

6 years agoAX: Searching for "immediate descendants only" can return unexpected results.
samuel_white@apple.com [Tue, 18 Feb 2014 22:39:45 +0000 (22:39 +0000)]
AX: Searching for "immediate descendants only" can return unexpected results.
https://bugs.webkit.org/show_bug.cgi?id=128986

Reviewed by Chris Fleizach.

Source/WebCore:

Missed an application of the immediateDescendantsOnly flag during the initial implementation. We
need to make sure we don't decend into the startObject first if it is provided. This fix causes
the outer loop to 'skip' the first iteration so only siblings of the startObject are considered.

No new tests, updated existing search-predicate-immediate-descendants-only.html test to cover this case.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::findMatchingObjects):

LayoutTests:

Updated test and expectations to make sure the results match traditional "children" results when appropriate.

* platform/mac/accessibility/search-predicate-immediate-descendants-only-expected.txt:
* platform/mac/accessibility/search-predicate-immediate-descendants-only.html:

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

6 years agoMerge notifyComponentsOnChangedSelection into respondToSelectionChange
rniwa@webkit.org [Tue, 18 Feb 2014 22:37:58 +0000 (22:37 +0000)]
Merge notifyComponentsOnChangedSelection into respondToSelectionChange
https://bugs.webkit.org/show_bug.cgi?id=128993

Reviewed by Andreas Kling.

Merged notifyComponentsOnChangedSelection into respondToSelectionChange since notifyComponentsOnChangedSelection
was only added in iOS codebase in response to the code added for continuous spellchecking and alternative text controller
in respondToChangedSelection but they should have been called inside setIgnoreCompositionSelectionChange.

So merge these two functions and make respondToChangedSelection behave like setIgnoreCompositionSelectionChange.

* editing/Editor.cpp:
(WebCore::Editor::setIgnoreCompositionSelectionChange):
(WebCore::Editor::respondToChangedSelection):
* editing/Editor.h:

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

6 years agoFrameSelection::textWasReplaced and setSelectedRange shouldn't trigger synchronous...
rniwa@webkit.org [Tue, 18 Feb 2014 22:35:14 +0000 (22:35 +0000)]
FrameSelection::textWasReplaced and setSelectedRange shouldn't trigger synchronous layout
https://bugs.webkit.org/show_bug.cgi?id=128951

Reviewed by Antti Koivisto.

Cleanup.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::textWasReplaced): Don't call updateLayout. It's totally unnecessarily.
(WebCore::FrameSelection::setSelectedRange): Ditto. Also removed the code to set affinity only when
range is collapsed since VisibleSelection::validate already does this.

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

6 years agoDo not cache media time until media engine returns a non-zero value
eric.carlson@apple.com [Tue, 18 Feb 2014 22:24:29 +0000 (22:24 +0000)]
Do not cache media time until media engine returns a non-zero value
https://bugs.webkit.org/show_bug.cgi?id=128976

Reviewed by Jer Noble.

No new tests, covered by existing tests.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::refreshCachedTime): Don't mark the cached time as valid
    until it is non-zero.
(WebCore::HTMLMediaElement::currentTime): Return 0 if m_cachedTime is invalid.

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

6 years ago[iOS] All WebKit clients should encrypt WebCrypto keys automatically
ap@apple.com [Tue, 18 Feb 2014 22:23:45 +0000 (22:23 +0000)]
[iOS] All WebKit clients should encrypt WebCrypto keys automatically
https://bugs.webkit.org/show_bug.cgi?id=128938

Reviewed by Dan Bernstein.

Don't pass ACLs on iOS. Key will be added to app's default Keychain access group.

Also, don't pass kSecAttrIsPermanent, which is irrelevant for password items, and
caused error -50 in DumpRenderTree for me when passed.

Added fallback to _NSGetProgname for account name, to account for tools such as
Mac DumpRenderTree that don't have bundle identifiers.

* crypto/mac/SerializedCryptoKeyWrapMac.mm:
(WebCore::masterKeyAccountNameForCurrentApplication):
(WebCore::createAndStoreMasterKey):

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

6 years agosetSelectionRange should set selection without validation
rniwa@webkit.org [Tue, 18 Feb 2014 22:23:17 +0000 (22:23 +0000)]
setSelectionRange should set selection without validation
https://bugs.webkit.org/show_bug.cgi?id=128949

Reviewed by Enrica Casucci.

Source/WebCore:

Since positionForIndex in HTMLTextFormControlElement always returns a candidate Position, we don't have to
validate selection in setSelectionRange.

Also fixed various bugs uncovered by this change.

This patch also fixes fast/forms/input-select-webkit-user-select-none.html, which used to assert wrong outcome
so that WebKit's behavior matches that of Chrome and Firefox.

Test: fast/forms/input-select-webkit-user-select-none.html

* dom/Position.h:
(WebCore::positionInParentBeforeNode): This function had a bug that when node is a child of the shadow root
it would return a null Position. Allow a position anchored inside a shadow root.
(WebCore::positionInParentAfterNode): Ditto.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::moveWithoutValidationTo): Renamed from moveTo and avoided selection validation.
* editing/FrameSelection.h:

* editing/htmlediting.cpp:
(WebCore::updatePositionForNodeRemoval): Fixed the bug that this function doesn't update positions before
or after children even if the shadow host of the anchor node is getting removed. Move the position before
the shadow host to be removed in both situations.

* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setSelectionRange): moveTo is renamed to moveWithoutValidationTo.
(WebCore::HTMLTextFormControlElement::selectionChanged): Check if the cached selection offsets are different
in lieu of FrameSelection::isRange() since they're equivalent here.
(WebCore::positionForIndex): Return the position inside or after the last br when there is one to match
the canonicalization algorithm we have. It's probably harmless to return the last position in the inner text
element anyways since most of our codebase supports that but this would avoid having to rebaseline dozens
of tests and reduces the risk of this patch.

LayoutTests:

Fixed input-select-webkit-user-select-none.html which was erroneously asserting selectionStart and selectionEnd
of a text field to be zero when it has -webkit-user-select: none. This doesn't not match behaviors of Chrome
and Firefox. They both retain the programatically set selection offsets since such style should not bleed into
the shadow DOM of the text field in the first place.

New behavior matches the latest Firefox and Chrome although we still have the bug that user cannot select text
inside such a text field.

Also modernized LayoutTests/editing/selection/5497643.html to make the expected results more readable and made
the test more robust against changes in the node index of textarea element.

* editing/selection/5497643-expected.txt: See above.
* editing/selection/5497643.html:
* fast/forms/input-select-webkit-user-select-none-expected.txt: See above.
* fast/forms/input-select-webkit-user-select-none.html:
* editing/deleting/delete-ligature-001-expected.txt: Progression in the editing delegate callbacks dumps.
Now we set selection directly into the text node inside the inner text element.
* platform/mac/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1-expected.txt: Ditto.
* platform/mac/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2-expected.txt: Ditto.
* platform/mac-mountainlion/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1-expected.txt:
Removed.
* platform/mac-mountainlion/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2-expected.txt:
Removed.

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

6 years agoAdd SPI for getting the original URL from a WKNavigationAction
andersca@apple.com [Tue, 18 Feb 2014 22:23:13 +0000 (22:23 +0000)]
Add SPI for getting the original URL from a WKNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=128997

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKNavigationActionInternal.h:
* UIProcess/API/Cocoa/WKNavigationActionPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoMove IndexedDB module, LevelDB code to std::unique_ptr
zandobersek@gmail.com [Tue, 18 Feb 2014 22:08:45 +0000 (22:08 +0000)]
Move IndexedDB module, LevelDB code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128964

Reviewed by Andreas Kling.

Replace uses of OwnPtr and PassOwnPtr in the IndexedDB module and LevelDB platform code with std::unique_ptr.

* Modules/indexeddb/IDBCursorBackend.h:
* Modules/indexeddb/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
(WebCore::IDBDatabaseBackend::transactionFinishedAndAbortFired):
(WebCore::IDBDatabaseBackend::processPendingCalls):
(WebCore::IDBDatabaseBackend::processPendingOpenCalls):
(WebCore::IDBDatabaseBackend::openConnection):
(WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackend::deleteDatabase):
(WebCore::IDBDatabaseBackend::close):
* Modules/indexeddb/IDBDatabaseBackend.h:
(WebCore::IDBDatabaseBackend::hasPendingSecondHalfOpen):
(WebCore::IDBDatabaseBackend::setPendingSecondHalfOpen):
* Modules/indexeddb/IDBPendingDeleteCall.h:
(WebCore::IDBPendingDeleteCall::IDBPendingDeleteCall):
* Modules/indexeddb/IDBPendingOpenCall.h:
(WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
* Modules/indexeddb/IDBTransactionCoordinator.cpp:
* Modules/indexeddb/IDBTransactionCoordinator.h:
* Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::setUpMetadata):
(WebCore::DefaultLevelDBFactory::openLevelDB):
(WebCore::IDBBackingStoreLevelDB::IDBBackingStoreLevelDB):
(WebCore::IDBBackingStoreLevelDB::~IDBBackingStoreLevelDB):
(WebCore::IDBBackingStoreLevelDB::open):
(WebCore::IDBBackingStoreLevelDB::openInMemory):
(WebCore::IDBBackingStoreLevelDB::create):
(WebCore::IDBBackingStoreLevelDB::getDatabaseNames):
(WebCore::deleteRange):
(WebCore::IDBBackingStoreLevelDB::deleteDatabase):
(WebCore::IDBBackingStoreLevelDB::getObjectStores):
(WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::getIndexes):
(WebCore::findGreatestKeyLessThanOrEqual):
(WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
* platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBDatabase::~LevelDBDatabase):
(WebCore::LevelDBDatabase::open):
(WebCore::LevelDBDatabase::openInMemory):
(WebCore::IteratorImpl::IteratorImpl):
(WebCore::LevelDBDatabase::createIterator):
* platform/leveldb/LevelDBDatabase.h:
* platform/leveldb/LevelDBTransaction.cpp:
(WebCore::LevelDBTransaction::commit):
(WebCore::LevelDBTransaction::createIterator):
(WebCore::LevelDBTransaction::TransactionIterator::TransactionIterator):
(WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
(WebCore::LevelDBWriteOnlyTransaction::LevelDBWriteOnlyTransaction):
* platform/leveldb/LevelDBTransaction.h:
* platform/leveldb/LevelDBWriteBatch.cpp:
(WebCore::LevelDBWriteBatch::LevelDBWriteBatch):
* platform/leveldb/LevelDBWriteBatch.h:

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

6 years agoAdd more WKWebView SPI
andersca@apple.com [Tue, 18 Feb 2014 21:59:43 +0000 (21:59 +0000)]
Add more WKWebView SPI
https://bugs.webkit.org/show_bug.cgi?id=128994

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _unreachableURL]):
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

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

6 years agoWeb Inspector: editing a color in the Styles sidebar using the color picker only...
graouts@webkit.org [Tue, 18 Feb 2014 21:44:52 +0000 (21:44 +0000)]
Web Inspector: editing a color in the Styles sidebar using the color picker only works once for a given color
https://bugs.webkit.org/show_bug.cgi?id=128965

Reviewed by Timothy Hatcher.

Use the WebInspector.TextMarker backing the CodeMirror TextMarker object to inspect its type in
order to identify color markers that were created for a color. This fixes a regression introduced
in http://webkit.org/b/125695 when we abstracted CodeMirror TextMarker objects.

* UserInterface/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror):

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

6 years agoWeb Inspector: Editing transparent color shows incorrect opacity slider
graouts@webkit.org [Tue, 18 Feb 2014 21:41:11 +0000 (21:41 +0000)]
Web Inspector: Editing transparent color shows incorrect opacity slider
https://bugs.webkit.org/show_bug.cgi?id=128975

Reviewed by Joseph Pecoraro.

The opacity slider should show a range of colors from transparent to the full opacity of the tinted color.

* UserInterface/ColorPicker.js:
(WebInspector.ColorPicker.prototype._updateSliders):

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

6 years agoFollow-up: Add type-checked casts for StyleImage and subclasses
ddkilzer@apple.com [Tue, 18 Feb 2014 21:27:03 +0000 (21:27 +0000)]
Follow-up: Add type-checked casts for StyleImage and subclasses
<http://webkit.org/b/128915>

Address some style issues based on feedback from Andreas Kling.

* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::cachedImageURL):
* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::hasFailedOrCanceledSubresources):
- Use the reference version of the type-checked casts since we
  know the pointers are not NULL.

* rendering/style/StyleImage.h:
- Use 'styleImage' instead of 'resource' in
  STYLE_IMAGE_TYPE_CASTS.

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

6 years agoRemove unnecessary UserActionElementSet constructor, destructor
zandobersek@gmail.com [Tue, 18 Feb 2014 21:15:54 +0000 (21:15 +0000)]
Remove unnecessary UserActionElementSet constructor, destructor
https://bugs.webkit.org/show_bug.cgi?id=128962

Reviewed by Andreas Kling.

UserActionElementSet constructor and destructor are not necessary, as is not the
static create() function that returns PassOwnPtr<UserActionElementSet>. The implicit
constructor and destructor can take care of creating and destroying the sole HashMap
member variable.

* dom/UserActionElementSet.cpp:
* dom/UserActionElementSet.h:

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

6 years agoWeb Inspector: shift-clicking #fff swatch results in bad rgb value
commit-queue@webkit.org [Tue, 18 Feb 2014 21:01:41 +0000 (21:01 +0000)]
Web Inspector: shift-clicking #fff swatch results in bad rgb value
https://bugs.webkit.org/show_bug.cgi?id=128954

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-18
Reviewed by Daniel Bates.

parseInt("FF", 16) is already 255. Do not multiply the result by 255.

* UserInterface/Color.js:
(WebInspector.Color.fromString):

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

6 years ago[GTK] Minibrowser: Add shortcut to open Web Inspector
commit-queue@webkit.org [Tue, 18 Feb 2014 20:47:23 +0000 (20:47 +0000)]
[GTK] Minibrowser: Add shortcut to open Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=128813

Patch by Diego Pino García <dpino@igalia.com> on 2014-02-18
Reviewed by Anders Carlsson.

Added shortcuts Ctrl+Shift+I and F12 for toggling Web Inspector.

* MiniBrowser/gtk/BrowserWindow.c:
(toggleWebInspector):
(browser_window_init):

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

6 years agoFix build.
andersca@apple.com [Tue, 18 Feb 2014 20:44:23 +0000 (20:44 +0000)]
Fix build.

* UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
(-[WKProcessClassConfiguration description]):

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

6 years agoTemporarily remove support for setting the maximumDecodedImageSize. It is causing...
weinig@apple.com [Tue, 18 Feb 2014 20:24:32 +0000 (20:24 +0000)]
Temporarily remove support for setting the maximumDecodedImageSize. It is causing assertions.

* Shared/WebPreferencesStore.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

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

6 years agoRename convertFixedAndStickyPosition() to convertPositionStyle()
mmaxfield@apple.com [Tue, 18 Feb 2014 20:13:16 +0000 (20:13 +0000)]
Rename convertFixedAndStickyPosition() to convertPositionStyle()
https://bugs.webkit.org/show_bug.cgi?id=128987

Reviewed by NOBODY. This is addressing a post-commit review from Dean Jackson.

No new tests are necessary because there is no behavior change

* editing/EditingStyle.cpp:
(WebCore::EditingStyle::convertPositionStyle):
* editing/EditingStyle.h:
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendElement):

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

6 years agoUnreviewed, rolling out r164296.
commit-queue@webkit.org [Tue, 18 Feb 2014 20:05:42 +0000 (20:05 +0000)]
Unreviewed, rolling out r164296.
http://trac.webkit.org/changeset/164296
https://bugs.webkit.org/show_bug.cgi?id=128989

Broke many media tests (Requested by eric_carlson on #webkit).

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h:

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

6 years ago[iOS] Web Inspector: JSContext inspection crashes in isMainThread, uninitialized...
commit-queue@webkit.org [Tue, 18 Feb 2014 19:51:02 +0000 (19:51 +0000)]
[iOS] Web Inspector: JSContext inspection crashes in isMainThread, uninitialized WebCoreWebThreadIsLockedOrDisabled
https://bugs.webkit.org/show_bug.cgi?id=128959

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-02-18
Reviewed by David Kilzer.

When JavaScriptCore is used without WebCore on iOS (e.g. JSContext)
the WebCoreWebThread* functions will not be initialized. Avoid
calling the function pointer if it is uninitialized. This was
happening with remote inspection via StringImpl::createCFString
for implicit NSString / WTFString conversion which uses isMainThread.

* wtf/mac/MainThreadMac.mm:
(WTF::webThreadIsUninitializedOrLockedOrDisabled):
(WTF::isMainThread):
(WTF::canAccessThreadLocalDataForThread):

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

6 years ago[Cocoa] Implement -description in some API objects
mitz@apple.com [Tue, 18 Feb 2014 19:36:41 +0000 (19:36 +0000)]
[Cocoa] Implement -description in some API objects
https://bugs.webkit.org/show_bug.cgi?id=128956

Reviewed by Anders Carlsson.

* Shared/API/Cocoa/WKRemoteObjectInterface.mm:
Changed category name to have the framework’s prefix.
(-[WKRemoteObjectInterface description]): Added.
* UIProcess/API/Cocoa/WKFrameInfo.mm:
(-[WKFrameInfo description]): Added.
* UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction description]): Added.
* UIProcess/API/Cocoa/WKNavigationResponse.mm:
(-[WKNavigationResponse description]): Added.
* UIProcess/API/Cocoa/WKProcessClass.mm:
(-[WKProcessClass description]): Added.
* UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
(-[WKProcessClassConfiguration description]): Added.
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration description]): Added.

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

6 years agoConvert position:sticky to position:static upon copy and paste
mmaxfield@apple.com [Tue, 18 Feb 2014 19:32:54 +0000 (19:32 +0000)]
Convert position:sticky to position:static upon copy and paste
https://bugs.webkit.org/show_bug.cgi?id=128982

Reviewed by NOBODY (OOPS!).

Source/WebCore:

This patch has two parts:

1. Make sure that position:absolute elements trigger the position:relative wrapping (as
well as position:fixed)
2. Now that we copy position:sticky, convert that to position:fixed

Tests: editing/pasteboard/copy-paste-converts-fixed.html
       editing/pasteboard/copy-paste-converts-sticky.html
       editing/pasteboard/copy-paste-wraps-position-absolute.html

* editing/EditingStyle.cpp:
(WebCore::EditingStyle::convertFixedAndStickyPosition):

LayoutTests:

* editing/pasteboard/copy-paste-converts-fixed-expected.txt: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt.
* editing/pasteboard/copy-paste-converts-fixed.html: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed.html.
* editing/pasteboard/copy-paste-converts-sticky-expected.txt: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt.
* editing/pasteboard/copy-paste-converts-sticky.html: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed.html.
* editing/pasteboard/copy-paste-wraps-position-absolute-expected.txt: Renamed from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt.
* editing/pasteboard/copy-paste-wraps-position-absolute.html: Renamed from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed.html.

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

6 years agoAdd type-checked casts for StyleImage and subclasses
ddkilzer@apple.com [Tue, 18 Feb 2014 19:10:38 +0000 (19:10 +0000)]
Add type-checked casts for StyleImage and subclasses
<http://webkit.org/b/128915>

Reviewed by Oliver Hunt.

* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::detachPendingImage):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::cachedImageURL):
* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::detachPendingImage):
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::cachedImageSet):
(WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::detachPendingImage):
(WebCore::CSSImageValue::cachedImage):
(WebCore::CSSImageValue::hasFailedOrCanceledSubresources):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingShapeImage):
(WebCore::StyleResolver::loadPendingImages):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForProperties):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
- Switch from static_cast<>() operators to toTypeName() methods.
- Replace 0 with nullptr where convenient.

* rendering/style/StyleCachedImage.h:
* rendering/style/StyleCachedImageSet.h:
* rendering/style/StyleGeneratedImage.h:
* rendering/style/StyleImage.h:
* rendering/style/StylePendingImage.h:
- Define type-checked cast macros.

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

6 years agoSimplify HTML tokenizer parameterization down to what is used
weinig@apple.com [Tue, 18 Feb 2014 18:58:50 +0000 (18:58 +0000)]
Simplify HTML tokenizer parameterization down to what is used
https://bugs.webkit.org/show_bug.cgi?id=128977

Reviewed by Alexey Proskuryakov.

../WebCore:

- Removes support for CustomHTMLTokenizerChunkSize.
- Consolidates CustomHTMLTokenizerTimeDelay down to one implementation, using Settings::maxParseDuration

* WebCore.exp.in:
* html/parser/HTMLParserScheduler.cpp:
(WebCore::HTMLParserScheduler::HTMLParserScheduler):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
(WebCore::Page::customHTMLTokenizerTimeDelay):
* page/Page.h:

../WebKit/mac:

Remove unused _setCustomHTMLTokenizerTimeDelay and _setCustomHTMLTokenizerChunkSize SPI.

* WebView/WebView.mm:
* WebView/WebViewPrivate.h:

../WebKit/win:

Remove unused SPI.

* WebView.cpp:
(WebView::setCustomHTMLTokenizerTimeDelay):
(WebView::setCustomHTMLTokenizerChunkSize):

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

6 years agoDo not cache media time until media engine returns a non-zero value
eric.carlson@apple.com [Tue, 18 Feb 2014 18:43:49 +0000 (18:43 +0000)]
Do not cache media time until media engine returns a non-zero value
https://bugs.webkit.org/show_bug.cgi?id=128976

Reviewed by Jer Noble.

No new tests, covered by existing tests.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::refreshCachedTime): Don't mark the cached time as valid
    until it is non-zero.

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

6 years agoStop using PLATFORM(MAC) except where it means “OS X but not iOS”
mitz@apple.com [Tue, 18 Feb 2014 17:36:07 +0000 (17:36 +0000)]
Stop using PLATFORM(MAC) except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128952

Reviewed by Anders Carlsson.

* TestWebKitAPI/JavaScriptTest.h: Changed PLATFORM(MAC) to PLATFORM(COCOA) and changed to
use OBJC_CLASS.
* TestWebKitAPI/PlatformUtilities.h: Changed PLATFORM(MAC) to USE(FOUNDATION) and changed
to use OBJC_CLASS.
* TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp: Changed PLATFORM(MAC) to
PLATFORM(COCOA).
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
(TestWebKitAPI::TEST): Added expected default font-family values for iOS.
* TestWebKitAPI/config.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
* WebKitTestRunner/EventSenderProxy.h: Ditto.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: Ditto.
* WebKitTestRunner/InjectedBundle/AccessibilityController.h: Ditto.
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: Ditto.
(WTR::AccessibilityTextMarker::platformTextMarker):
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.h: Ditto.
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: Ditto.
(WTR::AccessibilityTextMarkerRange::platformTextMarkerRange):
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.h: Ditto.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: Ditto.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: Ditto.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Ditto.
* WebKitTestRunner/InjectedBundle/TestRunner.h: Ditto.
* WebKitTestRunner/PlatformWebView.h: Ditto.
* WebKitTestRunner/TestController.cpp: Ditto.
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::processDidCrash):
* WebKitTestRunner/TestInvocation.cpp: Ditto.
(WTR::updateThreadedScrollingForCurrentTest):
(WTR::TestInvocation::dumpWebProcessUnresponsiveness):
* WebKitTestRunner/cg/TestInvocationCG.cpp: Ditto.
(WTR::computeMD5HashStringForContext):

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

6 years agoSource/WebCore: [CSS Blending] Add -webkit-blend-mode support for SVG.
commit-queue@webkit.org [Tue, 18 Feb 2014 17:10:37 +0000 (17:10 +0000)]
Source/WebCore: [CSS Blending] Add -webkit-blend-mode support for SVG.

https://bugs.webkit.org/show_bug.cgi?id=110427
Patch by Mihai Tica <mitica@adobe.com> on 2014-02-18
Reviewed by Dirk Schulze.

Add support for blend modes to SVG. This includes adding and validating isolation for blending.
Make masked elements isolate blending by creating a transparency layer.

Tests: css3/compositing/svg-blend-color-burn.html
       css3/compositing/svg-blend-color-dodge.html
       css3/compositing/svg-blend-color.html
       css3/compositing/svg-blend-darken.html
       css3/compositing/svg-blend-difference.html
       css3/compositing/svg-blend-exclusion.html
       css3/compositing/svg-blend-hard-light.html
       css3/compositing/svg-blend-hue.html
       css3/compositing/svg-blend-layer-blend.html
       css3/compositing/svg-blend-layer-clip-path.html
       css3/compositing/svg-blend-layer-filter.html
       css3/compositing/svg-blend-layer-mask.html
       css3/compositing/svg-blend-layer-opacity.html
       css3/compositing/svg-blend-layer-shadow.html
       css3/compositing/svg-blend-lighten.html
       css3/compositing/svg-blend-luminosity.html
       css3/compositing/svg-blend-multiply-alpha.html
       css3/compositing/svg-blend-multiply.html
       css3/compositing/svg-blend-normal.html
       css3/compositing/svg-blend-overlay.html
       css3/compositing/svg-blend-saturation.html
       css3/compositing/svg-blend-screen.html
       css3/compositing/svg-blend-soft-light.html

* rendering/RenderElement.cpp:
(WebCore::RenderElement::styleDidChange): Also pass a pointer to the old style when calling SVGRenderSupport::styleChanged.
* rendering/style/RenderStyle.h:  Add blendMode default getter when CSS_COMPOSITING is disabled.
* rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::isolatesBlending): Add method.
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::styleChanged): Call updateMaskedAncestorShouldIsolateBlending only when a blend mode is set/unset.
(WebCore::SVGRenderSupport::isolatesBlending): Implement method that decides whether an SVGElement isolates or not blending.
(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending): Traverse to the nearest ancestor having a mask.
- Set a flag causing the creation of a transparency layer when rendering the masked element.
* rendering/svg/SVGRenderSupport.h:
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent): Call GraphicsContext::setCompositeOperation.
- Isolate blending by creating a transparency layer.
- Isolate group when rendering a masked element having a blended child node.
* svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::SVGGraphicsElement): Set default m_shouldIsolateBlending to false.
* svg/SVGGraphicsElement.h: Add m_shouldIsolateBlending member, getter and setter.
(WebCore::SVGGraphicsElement::shouldIsolateBlending):
(WebCore::SVGGraphicsElement::setShouldIsolateBlending):

LayoutTests: [CSS Blending] Add -webkit-blend-mode support for SVG.
https://bugs.webkit.org/show_bug.cgi?id=110427

Patch by Mihai Tica <mitica@adobe.com> on 2014-02-18
Reviewed by Dirk Schulze.

Test -webkit-blend-mode implementation for simple SVGs. This includes:
- Test each blend operator.
- Test that ensures blending is isolated by other properties: blending, filters, masks, shadow and opacity.

* css3/compositing/svg-blend-color-burn.html: Test blend mode color-burn.
* css3/compositing/svg-blend-color-dodge.html: Test blend mode color-dodge.
* css3/compositing/svg-blend-color.html: Test blend mode color.
* css3/compositing/svg-blend-darken.html: Test blend mode darken.
* css3/compositing/svg-blend-difference.html: Test blend mode difference.
* css3/compositing/svg-blend-exclusion.html: Test blend mode exclusion.
* css3/compositing/svg-blend-hard-light.html: Test blend mode hard-light.
* css3/compositing/svg-blend-hue.html: Test blend mode hue.
* css3/compositing/svg-blend-layer-blend.html: mix-blend-mode should isolate for blending.
* css3/compositing/svg-blend-layer-clip-path.html: clip-path should not isolate for blending.
* css3/compositing/svg-blend-layer-filter.html: filters should isolate for blending.
* css3/compositing/svg-blend-layer-mask.html: masks should isolate for blending.
* css3/compositing/svg-blend-layer-opacity.html: opacity should isolate for blending.
* css3/compositing/svg-blend-layer-shadow.html: -webkit-shadow should isolate for blending.
* css3/compositing/svg-blend-lighten.html: Test blend mode lighten.
* css3/compositing/svg-blend-luminosity.html: Test blend mode luminosity.
* css3/compositing/svg-blend-multiply-alpha.html: Test blend mode multiply while also having alpha set.
* css3/compositing/svg-blend-multiply.html: Test blend mode multiply.
* css3/compositing/svg-blend-normal.html: Test blend mode normal. Note this blend mode has no effect.
* css3/compositing/svg-blend-overlay.html: Test blend mode overlay.
* css3/compositing/svg-blend-saturation.html: Test blend mode saturation.
* css3/compositing/svg-blend-screen.html: Test blend mode screen.
* css3/compositing/svg-blend-soft-light.html: Test blend mode soft-light.
* platform/mac/css3/compositing/svg-blend-color-burn-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-color-burn-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-color-dodge-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-color-dodge-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-color-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-color-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-darken-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-darken-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-difference-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-difference-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-exclusion-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-exclusion-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-hard-light-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-hard-light-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-hue-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-hue-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-layer-blend-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-layer-blend-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-layer-clip-path-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-layer-clip-path-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-layer-filter-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-layer-filter-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-layer-mask-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-layer-mask-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-layer-opacity-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-layer-opacity-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-layer-shadow-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-layer-shadow-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-lighten-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-lighten-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-luminosity-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-luminosity-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-multiply-alpha-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-multiply-alpha-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-multiply-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-multiply-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-normal-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-normal-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-overlay-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-overlay-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-saturation-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-saturation-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-screen-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-screen-expected.txt: Added.
* platform/mac/css3/compositing/svg-blend-soft-light-expected.png: Added.
* platform/mac/css3/compositing/svg-blend-soft-light-expected.txt: Added.

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

6 years ago[GTK] Unreviewed fix. Correct wrong flags, ENABLE(GTK)->PLATFORM(GTK).
changseok.oh@collabora.com [Tue, 18 Feb 2014 17:00:02 +0000 (17:00 +0000)]
[GTK] Unreviewed fix. Correct wrong flags, ENABLE(GTK)->PLATFORM(GTK).

* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::drawArraysInstanced):
(WebCore::Extensions3DOpenGL::drawElementsInstanced):
(WebCore::Extensions3DOpenGL::vertexAttribDivisor):

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

6 years agoWeb Inspector: color picker sliders sometime look wrong on Retina display
graouts@webkit.org [Tue, 18 Feb 2014 16:13:23 +0000 (16:13 +0000)]
Web Inspector: color picker sliders sometime look wrong on Retina display
https://bugs.webkit.org/show_bug.cgi?id=128963

Reviewed by Timothy Hatcher.

Round the values used to position and size popovers in order to ensure that their content don't suffer
from poor pixel alignment on Retina displays.

* UserInterface/Popover.js:
(WebInspector.Popover.prototype.set frame):

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

6 years agoUnreviewed EFL gardening.
m.pakula@samsung.com [Tue, 18 Feb 2014 15:21:05 +0000 (15:21 +0000)]
Unreviewed EFL gardening.

Add test expecations for failing and crashing tests.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
* platform/efl/fast/forms/search/search-size-with-decorations-expected.png: Added after r164145.
* platform/efl/fast/forms/search/search-size-with-decorations-expected.txt: Ditto.

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

6 years ago[CSSRegions] Compute region ranges for inline replaced elements
mihnea@adobe.com [Tue, 18 Feb 2014 15:11:00 +0000 (15:11 +0000)]
[CSSRegions] Compute region ranges for inline replaced elements
https://bugs.webkit.org/show_bug.cgi?id=128800

Reviewed by Andrei Bucur.

Source/WebCore:

Tests: fast/regions/hover-content-inside-iframe-in-region.html
       fast/regions/select-multiple-in-region.html

When asking for the range of regions for an inline replaced box,
use the region cached on the root inline box for the inline replaced
box as the range of regions is computed only for blocks.
A future patch will extend the computation of region ranges
for inline blocks too.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
Remove the restriction set during https://bugs.webkit.org/show_bug.cgi?id=113703
and enable the code path for boxes not only for blocks.
Method RenderFlowThread::getRegionRangeForBox returns a null region when it is unable
to get the region range and we already check for null region case.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::getRegionRangeForBox):

LayoutTests:

* fast/regions/hover-content-inside-iframe-in-region-expected.html: Added.
* fast/regions/hover-content-inside-iframe-in-region.html: Added.
* fast/regions/resources/iframe-in-region-source.html: Added.
* fast/regions/select-multiple-in-region-expected.txt: Added.
* fast/regions/select-multiple-in-region.html: Added.

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

6 years agoMove inheriting method to the superclass in the JavaScript media controls
calvaris@igalia.com [Tue, 18 Feb 2014 10:22:21 +0000 (10:22 +0000)]
Move inheriting method to the superclass in the JavaScript media controls
https://bugs.webkit.org/show_bug.cgi?id=128897

Reviewed by Jer Noble.

The inheriting method of the JavaScript multimedia controls was
moved from the subclasses to the superclass because this way it is
only defined once.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.extend): Added to replace inheritFrom in the
subclasses.
* Modules/mediacontrols/mediaControlsGtk.js:
* Modules/mediacontrols/mediaControlsiOS.js: Removed inheritFrom
and used extend.

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

6 years ago[GTK] Fix hitting hasClass() assertion in debug with the new JS media controls
calvaris@igalia.com [Tue, 18 Feb 2014 09:49:16 +0000 (09:49 +0000)]
[GTK] Fix hitting hasClass() assertion in debug with the new JS media controls
https://bugs.webkit.org/show_bug.cgi?id=128820

Reviewed by Martin Robinson.

The code introduced at r164024 caused the hit of hasClass()
assertion when getting the classNames() of an element with no
class. Now we check for it to avoid the assertion.

No new tests, current set detects the crash in many tests.

* platform/gtk/RenderThemeGtk.cpp:
(WebCore::nodeHasClass): Check for hasClass() in order not to hit
the assertion when getting the classNames() in debug mode.

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

6 years agoRefactor SVGPreserveAspectRatio::parse()
gyuyoung.kim@samsung.com [Tue, 18 Feb 2014 09:42:44 +0000 (09:42 +0000)]
Refactor SVGPreserveAspectRatio::parse()
https://bugs.webkit.org/show_bug.cgi?id=128658

Reviewed by Dirk Schulze.

To removed "goto" in SVGPreserveAspectRatio::parse(), this patch introduce parseInternal() to handle
existing behavior with local variables, and existing/new parse() functions invoke it, then set
those to member variables.

Blink: https://src.chromium.org/viewvc/blink?view=rev&revision=166927
No new tests, no behavior change.

* svg/SVGPreserveAspectRatio.cpp:
(WebCore::SVGPreserveAspectRatio::parse):
(WebCore::SVGPreserveAspectRatio::parseInternal):
* svg/SVGPreserveAspectRatio.h: Add parse() and parseInternal() functions.

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

6 years ago[CSS Regions] Move specific named flow methods from RenderRegion to RenderNamedFlowFr...
stavila@adobe.com [Tue, 18 Feb 2014 07:53:51 +0000 (07:53 +0000)]
[CSS Regions] Move specific named flow methods from RenderRegion to RenderNamedFlowFragment
https://bugs.webkit.org/show_bug.cgi?id=128914

Reviewed by Antti Koivisto.

Moved named flow specific methods regionContainer() and regionContainerLayer() from
RenderRegion to RenderNamedFlowFragment and renamed them to fragmentContainer and
fragmentContainerLayer.

No new tests required.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::fragmentContainer):
(WebCore::RenderNamedFlowFragment::fragmentContainerLayer):
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderRegion.cpp:
* rendering/RenderRegion.h:

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

6 years agoMove PublicURLMansger to std::unique_ptr.
commit-queue@webkit.org [Tue, 18 Feb 2014 07:17:24 +0000 (07:17 +0000)]
Move PublicURLMansger to std::unique_ptr.
https://bugs.webkit.org/show_bug.cgi?id=128891

Patch by Sangho Kim <thomas.kim@lge.com> on 2014-02-17
Reviewed by Anders Carlsson.

Use std::unique_ptr and std::make_unique in place of PassOwnPtr and adoptPtr in the PublicURLManager

* dom/ScriptExecutionContext.h:
* html/PublicURLManager.cpp:
(WebCore::PublicURLManager::create):
* html/PublicURLManager.h:

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

6 years agoUnreviewed gtk build fix.
changseok.oh@collabora.com [Tue, 18 Feb 2014 06:51:36 +0000 (06:51 +0000)]
Unreviewed gtk build fix.

* GNUmakefile.list.am: Remove WebHistoryClient.cpp/h after r164230.

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

6 years agoExpose a way to clear cookies modified after a given date
commit-queue@webkit.org [Tue, 18 Feb 2014 05:18:18 +0000 (05:18 +0000)]
Expose a way to clear cookies modified after a given date
https://bugs.webkit.org/show_bug.cgi?id=128845

Patch by Ricky Mondello <rmondello@apple.com> on 2014-02-17
Reviewed by Alexey Proskuryakov.

Source/WebCore:

* WebCore.exp.in: Add a symbol.
* platform/network/PlatformCookieJar.h: Declare deleteAllCookiesModifiedAfterDate.
* platform/network/cf/CookieJarCFNet.cpp:
(WebCore::deleteAllCookiesModifiedAfterDate): Add a stub.
* platform/network/curl/CookieJarCurl.cpp:
(WebCore::deleteAllCookiesModifiedAfterDate): Ditto.
* platform/network/soup/CookieJarSoup.cpp:
(WebCore::deleteAllCookiesModifiedAfterDate): Ditto.
* platform/network/mac/CookieJarMac.mm: Add a category NSHTTPCookieStorage category with the method
    used for time-based clearing so we can build on all platforms. For now, we'll check for support
    at runtime.
(WebCore::deleteAllCookiesModifiedAfterDate): Added. Without foundation API, we'll ignore the passed-in
    NetworkStorageSession.

Source/WebKit2:

* UIProcess/API/C/WKCookieManager.cpp:
(WKCookieManagerDeleteAllCookiesModifiedAfterDate): Added. Call out to the CookieManager.
* UIProcess/API/C/WKCookieManager.h: Declare WKCookieManagerDeleteAllCookiesModifiedAfterDate.
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedAfterDate): Added. Dispatch message to the
    Network Process.
* UIProcess/WebCookieManagerProxy.h: Declare deleteAllCookiesModifiedAfterDate.
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::deleteAllCookiesModifiedAfterDate): Added. Call out to WebCore to finish the job.
* WebProcess/Cookies/WebCookieManager.h: Declare deleteAllCookiesModifiedAfterDate.
* WebProcess/Cookies/WebCookieManager.messages.in: Add new message.

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

6 years ago[EFL][WK2] Move and make WKColorPickerResultListener to EFL specific interface
ryuan.choi@samsung.com [Tue, 18 Feb 2014 05:13:18 +0000 (05:13 +0000)]
[EFL][WK2] Move and make WKColorPickerResultListener to EFL specific interface
https://bugs.webkit.org/show_bug.cgi?id=119120

Reviewed by Gyuyoung Kim.

WKColorPickerResultListener and related files are only used in EFL since added.
Indeed, it does not work since refactored common logic for ColorPicker in WebPageProxy.

This patch moved them to EFL specfic and refactor to work well.

* CMakeLists.txt: Moved WebColorPickerResultListenerProxy.cpp to PlatformEfl.cmake.
* GNUmakefile.list.am: Removed ColorPickerResultListener related files which are only for Efl from source list.
* PlatformEfl.cmake: Added ColorPickerResultListenerProxy related files and newly added files into source list.
* UIProcess/API/APIUIClient.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
* UIProcess/API/C/efl/WKColorPickerResultListener.cpp: Renamed from Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.cpp.
(WKColorPickerResultListenerGetTypeID):
(WKColorPickerResultListenerSetColor):
* UIProcess/API/C/efl/WKColorPickerResultListener.h: Renamed from Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.h.
* UIProcess/API/C/efl/WKViewEfl.cpp: Introduced WKColorPickerClient and setter.
(WKViewSetColorPickerClient):
* UIProcess/API/C/efl/WKViewEfl.h:
* UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: Enabled test case for color picker.
(TEST_F):
* UIProcess/WebPageProxy.cpp: Removed unnecessary WebColorPickerResultListenerProxy dependency.
* UIProcess/WebPageProxy.h: Ditto.
* UIProcess/efl/PageUIClientEfl.cpp: Removed color picker callbacks of PageUIClient.
(WebKit::PageUIClientEfl::PageUIClientEfl):
* UIProcess/efl/PageUIClientEfl.h:
* UIProcess/efl/ViewClientEfl.cpp: Registered callbacks of WKColorPickerClient.
(WebKit::ViewClientEfl::showColorPicker):
(WebKit::ViewClientEfl::endColorPicker):
(WebKit::ViewClientEfl::ViewClientEfl):
(WebKit::ViewClientEfl::~ViewClientEfl):
* UIProcess/efl/ViewClientEfl.h:
* UIProcess/efl/WebColorPickerClient.cpp: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.
(WebKit::WebColorPickerClient::showColorPicker):
(WebKit::WebColorPickerClient::endPicker):
* UIProcess/efl/WebColorPickerClient.h: Added.
* UIProcess/efl/WebColorPickerEfl.cpp: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.
(WebKit::WebColorPickerEfl::WebColorPickerEfl):
(WebKit::WebColorPickerEfl::endPicker):
(WebKit::WebColorPickerEfl::showColorPicker):
(WebKit::WebColorPickerEfl::setSelectedColor):
(WebKit::WebColorPickerEfl::didChooseColor):
* UIProcess/efl/WebColorPickerEfl.h: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.
(WebKit::WebColorPickerEfl::create):
(WebKit::WebColorPickerEfl::~WebColorPickerEfl):
* UIProcess/efl/WebColorPickerResultListenerProxy.cpp: Renamed from Source/WebKit2/UIProcess/WebColorPickerResultListenerProxy.cpp.
(WebKit::WebColorPickerResultListenerProxy::WebColorPickerResultListenerProxy):
(WebKit::WebColorPickerResultListenerProxy::~WebColorPickerResultListenerProxy):
(WebKit::WebColorPickerResultListenerProxy::invalidate):
(WebKit::WebColorPickerResultListenerProxy::setColor):
* UIProcess/efl/WebColorPickerResultListenerProxy.h: Renamed from Source/WebKit2/UIProcess/WebColorPickerResultListenerProxy.h.
(WebKit::WebColorPickerResultListenerProxy::create):
* UIProcess/efl/WebViewEfl.cpp:
(WebKit::WebViewEfl::initializeColorPickerClient):
(WebKit::WebViewEfl::createColorPicker):
* UIProcess/efl/WebViewEfl.h:
(WebKit::WebViewEfl::colorPickerClient):
* WebKit2.xcodeproj/project.pbxproj: Removed ColorPickerResultListener related files which are only for Efl from source list.

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

6 years agoStop using PLATFORM(MAC) in DumpRenderTree except where it means “OS X but not iOS”
mitz@apple.com [Tue, 18 Feb 2014 04:59:47 +0000 (04:59 +0000)]
Stop using PLATFORM(MAC) in DumpRenderTree except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128950

Reviewed by Anders Carlsson.

Changed all PLATFORM(MAC) instances that were not excluding iOS to PLATFORM(COCOA).

* DumpRenderTree/AccessibilityController.h:
* DumpRenderTree/AccessibilityTextMarker.h:
* DumpRenderTree/AccessibilityUIElement.cpp:
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/DumpRenderTree.h:
* DumpRenderTree/cg/PixelDumpSupportCG.cpp:
(computeMD5HashStringForBitmapContext):
* DumpRenderTree/cg/PixelDumpSupportCG.h:
(BitmapContext::~BitmapContext):
* DumpRenderTree/config.h:

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

6 years agoMore ARM FTL glue
fpizlo@apple.com [Tue, 18 Feb 2014 04:20:13 +0000 (04:20 +0000)]
More ARM FTL glue
https://bugs.webkit.org/show_bug.cgi?id=128948

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* Configurations/Base.xcconfig: Allow for an header search directory for LLVM's generated files.
* Configurations/LLVMForJSC.xcconfig: Link the right things for ARM.
* assembler/ARM64Assembler.h: Builds fix.
(JSC::ARM64Assembler::fillNops):
* disassembler/LLVMDisassembler.cpp: Use the right target triples.
(JSC::tryToDisassembleWithLLVM):
* ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps): Build fix.
* jit/GPRInfo.h: Builds fix.
* llvm/library/LLVMExports.cpp: Link the right things.
(initializeAndGetJSCLLVMAPI):

Source/WTF:

* wtf/Platform.h:

Tools:

* Scripts/configure-llvm: Removed. This isn't really practical now that we require a separate build directory.
* Scripts/copy-webkitlibraries-to-product-directory: Switch to using a separate build directory, and for setting a PATH before running LLVM's make.

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

6 years agoSelectorCompiler incorrectly saves a backtracking register for a child chain without...
benjamin@webkit.org [Tue, 18 Feb 2014 04:10:04 +0000 (04:10 +0000)]
SelectorCompiler incorrectly saves a backtracking register for a child chain without descendant relation on the right
https://bugs.webkit.org/show_bug.cgi?id=128944

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

Source/WebCore:

When resolving the backtracking relations, the value of ancestorPositionSinceDescendantRelation was incorrect for the
rightmost child chain.
What was happenning is updateChainStates() would increment ancestorPositionSinceDescendantRelation even if there was
no descendant relation previously in the chain. As a result, the second SelectorFragment in the fragment chain would
save a backtracking register.

Previously this would just be a wasted register but since r163850, the number of registers available for compilation
is defined by SelectorCompiler::minimumRegisterRequirements(). Since we would have one less register available than computed,
we could run out of register and RegisterAllocator would invoke WTFCrash to avoid generating incorrect code.

This patch fixes the issue by not updating ancestorPositionSinceDescendantRelation until the first descendant relation
is seen. There was no need to fix the Adjacent relation because adjacentPositionSinceIndirectAdjacentTreeWalk already
had the correct guard.

Test: fast/selectors/querySelector-rightmost-child-chain-attribute-matching.html

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::updateChainStates):
(WebCore::SelectorCompiler::isFirstAdjacent): The name was a bad copy-paste, fix it.

LayoutTests:

* fast/selectors/querySelector-rightmost-child-chain-attribute-matching-expected.txt: Added.
* fast/selectors/querySelector-rightmost-child-chain-attribute-matching.html: Added.

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

6 years ago[iOS, WebKit2] Add settings and correct default values for settings important on iOS
weinig@apple.com [Tue, 18 Feb 2014 03:50:41 +0000 (03:50 +0000)]
[iOS, WebKit2] Add settings and correct default values for settings important on iOS
https://bugs.webkit.org/show_bug.cgi?id=128947

Reviewed by Simon Fraser.

* Shared/WebPreferencesStore.cpp:
* Shared/WebPreferencesStore.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

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

6 years ago[CoordinatedGraphics][EFL] Remove view_source functions.
gyuyoung.kim@samsung.com [Tue, 18 Feb 2014 02:50:50 +0000 (02:50 +0000)]
[CoordinatedGraphics][EFL] Remove view_source functions.
https://bugs.webkit.org/show_bug.cgi?id=128945

Reviewed by Anders Carlsson.

EFL port has been broken since r164254 because of removing view source files in WK2.
This patch is to follow to remove remained view source functions.

* UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
* UIProcess/API/C/CoordinatedGraphics/WKView.h:
* UIProcess/API/efl/ewk_view.cpp:
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
* UIProcess/CoordinatedGraphics/WebView.cpp:
* UIProcess/CoordinatedGraphics/WebView.h:

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

6 years agoConstrain replaced element layout to from-intrinsic aspect ratio if specified
dino@apple.com [Tue, 18 Feb 2014 02:31:18 +0000 (02:31 +0000)]
Constrain replaced element layout to from-intrinsic aspect ratio if specified
https://bugs.webkit.org/show_bug.cgi?id=128629

Reviewed by Simon Fraser.

Source/WebCore:

First pass at implementing -webkit-aspect-ratio: from-instrinsics;

After RenderReplaced has done layout, attempt to update the
resulting size to match the desired aspect ratio. This step
will only reduce the size of an element, and never below the
minimum dimensions.

Tests: fast/css/aspect-ratio/columns.html
       fast/css/aspect-ratio/containers.html
       fast/css/aspect-ratio/simple.html

* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageDimensionsChanged): If we get an update
to our intrinsic dimensions, and layout depends on this, trigger
another layout pass.
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::layout): Implement the step described
above.

LayoutTests:

Three new tests that exercise aspect ratio on:
- normal content
- content that is constrained within a parent container
- content in columns (pages)

* fast/css/aspect-ratio/badchess-tall.png: Added.
* fast/css/aspect-ratio/badchess-wide.png: Added.
* fast/css/aspect-ratio/columns-expected.html: Added.
* fast/css/aspect-ratio/columns.html: Added.
* fast/css/aspect-ratio/containers-expected.html: Added.
* fast/css/aspect-ratio/containers.html: Added.
* fast/css/aspect-ratio/simple-expected.html: Added.
* fast/css/aspect-ratio/simple.html: Added.

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

6 years agoFix build.
weinig@apple.com [Tue, 18 Feb 2014 01:35:02 +0000 (01:35 +0000)]
Fix build.

* WebCore.exp.in:

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

6 years agoRemove ENABLE_GLOBAL_FASTMALLOC_NEW
andersca@apple.com [Tue, 18 Feb 2014 01:32:18 +0000 (01:32 +0000)]
Remove ENABLE_GLOBAL_FASTMALLOC_NEW
https://bugs.webkit.org/show_bug.cgi?id=127067

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* parser/Nodes.h:

Source/WebCore:

* platform/Timer.h:

Source/WTF:

Remove the global operator new/operator delete overrides. Having ALWAYS_INLINE operators
like we do is really undefined behavior according to the C++ standard and we've been lucky enough
to get away with it so far, but any code that calls operator new/operator delete inside from the C++ standard
library (not from headers that are included) will be mismatched and potentially crash. libc++ calls
delete in it's std::thread implementation for example.

The only supported way to override operator new and operator delete globally is to not use inline
functions, but that would mean that any application using WebKit would not be able to provide custom
operator new/operator delete functions so we'll just reuse the already existing infrastructure consisting
of the WTF_MAKE_FAST_ALLOCATED macro.

* wtf/FastMalloc.cpp:
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
* wtf/FastMalloc.h:
* wtf/Platform.h:

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

6 years ago[iOS][wk2] Custom layers are sometimes put on-screen without being parented
timothy_horton@apple.com [Tue, 18 Feb 2014 00:56:57 +0000 (00:56 +0000)]
[iOS][wk2] Custom layers are sometimes put on-screen without being parented
https://bugs.webkit.org/show_bug.cgi?id=128935
<rdar://problem/16022336>

Reviewed by Sam Weinig.

* Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::createForExternalHostingProcess):
Give an explicit and unlikely display ID, so that the layer will never
be brought on-screen unless explicitly parented.

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

6 years agoMove iOS only Settings into Settings.in and make them not-iOS only
weinig@apple.com [Tue, 18 Feb 2014 00:53:40 +0000 (00:53 +0000)]
Move iOS only Settings into Settings.in and make them not-iOS only
https://bugs.webkit.org/show_bug.cgi?id=128942

Reviewed by Tim Horton.

* page/Settings.cpp:
* page/Settings.h:
* page/Settings.in:

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

6 years agoAdd history delegate to WKWebView
andersca@apple.com [Tue, 18 Feb 2014 00:44:31 +0000 (00:44 +0000)]
Add history delegate to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128930

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
* UIProcess/API/Cocoa/WKProcessClass.mm:
(-[WKProcessClass initWithConfiguration:]):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _historyDelegate]):
(-[WKWebView _setHistoryDelegate:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/Cocoa/HistoryClient.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
* UIProcess/Cocoa/HistoryClient.mm: Added.
(WebKit::HistoryClient::HistoryClient):
(WebKit::HistoryClient::~HistoryClient):
(WebKit::HistoryClient::didNavigateWithNavigationData):
(WebKit::HistoryClient::didPerformClientRedirect):
(WebKit::HistoryClient::didPerformServerRedirect):
(WebKit::HistoryClient::didUpdateHistoryTitle):
(WebKit::HistoryClient::populateVisitedLinks):
(WebKit::HistoryClient::shouldTrackVisitedLinks):
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::navigationStates):
(WebKit::NavigationState::NavigationState):
(WebKit::NavigationState::~NavigationState):
(WebKit::NavigationState::fromWebPage):
(WebKit::NavigationState::historyDelegate):
(WebKit::NavigationState::setHistoryDelegate):
(WebKit::NavigationState::didNavigateWithNavigationData):
(WebKit::NavigationState::didPerformClientRedirect):
(WebKit::NavigationState::didPerformServerRedirect):
(WebKit::NavigationState::didUpdateHistoryTitle):
* WebKit2.xcodeproj/project.pbxproj:

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

6 years ago[GTK] [CMake] JavaScriptCore crashes in JSC::eval
mrobinson@webkit.org [Tue, 18 Feb 2014 00:30:50 +0000 (00:30 +0000)]
[GTK] [CMake] JavaScriptCore crashes in JSC::eval
https://bugs.webkit.org/show_bug.cgi?id=128434

Reviewed by Anders Carlsson.

* Source/cmake/OptionsGTK.cmake: Add -fno-omit-frame-pointer to the GTK+ CMake
port as well as -fno-tree-dce, like it is used in the autotools build.

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

6 years ago[WebKit2] Merge WebProcessMac and WebProcessIOS into WebProcessCocoa
weinig@apple.com [Tue, 18 Feb 2014 00:16:34 +0000 (00:16 +0000)]
[WebKit2] Merge WebProcessMac and WebProcessIOS into WebProcessCocoa
https://bugs.webkit.org/show_bug.cgi?id=128939

Reviewed by Dan Bernstein.

* WebKit2.xcodeproj/project.pbxproj:
Add/remove files/groups.

* WebProcess/WebProcess.h:
Change stopRunLoop() to be AppKit only.

* WebProcess/cocoa: Added.
* WebProcess/cocoa/WebProcessCocoa.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessMac.mm.
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::platformInitializeProcess):
(WebKit::WebProcess::initializeSandbox):
(WebKit::WebProcess::updateActivePages):
* WebProcess/ios/WebProcessIOS.mm: Removed.
* WebProcess/mac/WebProcessMac.mm: Removed.
Copy mac/WebProcessMac.mm to cocoa/WebProcessCocoa.mm, and add #if USE(APPKIT) where appropriate.

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

6 years agoStop using isMainThread() in WebKit2
andersca@apple.com [Tue, 18 Feb 2014 00:08:02 +0000 (00:08 +0000)]
Stop using isMainThread() in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=128940
<rdar://problem/15963666>

Reviewed by Enrica Casucci.

Since isMainThread() has a different meaning when the web thread is enabled on iOS,
just use RunLoop::isMain() to check if we're executing on the main thread.

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::ensurePathExists):
(WebKit::DatabaseProcess::postDatabaseTask):
(WebKit::DatabaseProcess::performNextDatabaseTask):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::shutdown):
(WebKit::UniqueIDBDatabase::shutdownBackingStore):
(WebKit::UniqueIDBDatabase::didShutdownBackingStore):
(WebKit::UniqueIDBDatabase::deleteDatabase):
(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
(WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata):
(WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata):
(WebKit::UniqueIDBDatabase::postTransactionOperation):
(WebKit::UniqueIDBDatabase::didCompleteTransactionOperation):
(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):
(WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::beginBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::commitBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore):
(WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
(WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore):
(WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore):
(WebKit::UniqueIDBDatabase::createIndexInBackingStore):
(WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
(WebKit::UniqueIDBDatabase::putRecordInBackingStore):
(WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
(WebKit::UniqueIDBDatabase::openCursorInBackingStore):
(WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory):
(WebKit::UniqueIDBDatabase::postMainThreadTask):
(WebKit::UniqueIDBDatabase::performNextMainThreadTask):
(WebKit::UniqueIDBDatabase::postDatabaseTask):
(WebKit::UniqueIDBDatabase::performNextDatabaseTask):
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::generateDatabaseId):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::commitTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGeneratorNumber):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRange):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::count):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::notifyCursorsOfChanges):
* NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::shared):
* NetworkProcess/HostRecord.cpp:
(WebKit::HostRecord::scheduleResourceLoader):
(WebKit::HostRecord::addLoaderInProgress):
(WebKit::HostRecord::removeLoader):
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::receivedRedirect):
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::abort):
(WebKit::NetworkResourceLoader::willSendRequestAsync):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
* NetworkProcess/NetworkResourceLoader.h:
(WebKit::NetworkResourceLoader::setHostRecord):
(WebKit::NetworkResourceLoader::hostRecord):
* NetworkProcess/mac/DiskCacheMonitor.mm:
(WebKit::DiskCacheMonitor::DiskCacheMonitor):
* Shared/AsyncRequest.cpp:
(WebKit::generateRequestID):
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::generateAuthenticationChallengeID):
(WebKit::AuthenticationManager::establishIdentifierForChallenge):
(WebKit::AuthenticationManager::useCredentialForChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
(WebKit::AuthenticationManager::cancelChallenge):
* Shared/Downloads/mac/DownloadMac.mm:
(dispatchOnMainThread):
* Shared/Plugins/NPObjectProxy.cpp:
(WebKit::NPObjectProxy::~NPObjectProxy):
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::getPluginInfoFromCarbonResources):
* Shared/SessionTracker.cpp:
(WebKit::staticSessionMap):
(WebKit::storageSessionToID):
(WebKit::identifierBase):
(WebKit::SessionTracker::destroySession):
(WebKit::SessionTracker::setIdentifierBase):
* UIProcess/APISession.cpp:
(API::generateID):
(API::Session::defaultSession):
(API::Session::legacyPrivateSession):
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::dispatchCookiesDidChange):
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
(WebKit::WebIDBFactoryBackend::open):
(WebKit::WebIDBFactoryBackend::deleteDatabase):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::generateServerConnectionIdentifier):
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::storageSession):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::dispatchWheelEvent):

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

6 years agoRemove view source code
andersca@apple.com [Mon, 17 Feb 2014 23:53:29 +0000 (23:53 +0000)]
Remove view source code
https://bugs.webkit.org/show_bug.cgi?id=127233

Reviewed by Antti Koivisto.

Source/WebCore:

* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::canExecuteScripts):
* css/CSSDefaultStyleSheets.cpp:
* css/CSSDefaultStyleSheets.h:
* css/DocumentRuleSets.cpp:
(WebCore::DocumentRuleSets::appendAuthorStyleSheets):
(WebCore::DocumentRuleSets::collectFeatures):
* css/DocumentRuleSets.h:
* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::matchUARules):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::appendAuthorStyleSheets):
(WebCore::StyleResolver::styleForElement):
* css/view-source.css: Removed.
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
* dom/DOMImplementation.h:
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
* html/HTMLAttributeNames.in:
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
(WebCore::HTMLFrameElementBase::openURL):
* html/HTMLFrameElementBase.h:
* html/HTMLViewSourceDocument.cpp: Removed.
* html/HTMLViewSourceDocument.h: Removed.
* html/parser/HTMLToken.h:
* html/parser/HTMLViewSourceParser.cpp: Removed.
* html/parser/HTMLViewSourceParser.h: Removed.
* html/parser/TextViewSourceParser.cpp: Removed.
* html/parser/TextViewSourceParser.h: Removed.
* inspector/InspectorOverlayPage.css:
(.tag-name):
(.node-id):
(.class-name):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::createDocument):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedFirstData):
* page/Frame.cpp:
(WebCore::Frame::Frame):
* page/Frame.h:
* xml/DOMParser.cpp:
(WebCore::DOMParser::parseFromString):
* xml/XMLViewer.css:
(.tag):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):

Source/WebKit/mac:

* WebView/WebView.mm:
* WebView/WebViewPrivate.h:

Source/WebKit/win:

* WebFrame.cpp:
(WebFrame::inViewSourceMode):
(WebFrame::setInViewSourceMode):
* WebView.cpp:
(WebView::setInViewSourceMode):
(WebView::inViewSourceMode):

Source/WebKit2:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

6 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Mon, 17 Feb 2014 23:53:14 +0000 (23:53 +0000)]
[Win] Unreviewed gardening.

* platform/win/TestExpectations: Remove a few duplicate test statements, as well as
some removed test cases.

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

6 years agobox-shadows get truncated with a combination of transforms and clip: (affects Google...
simon.fraser@apple.com [Mon, 17 Feb 2014 23:45:44 +0000 (23:45 +0000)]
box-shadows get truncated with a combination of transforms and clip: (affects Google Maps)
https://bugs.webkit.org/show_bug.cgi?id=128937

Source/WebCore:

Reviewed by Dean Jackson.

RenderLayer::calculateLayerBounds() incorrectly assumed that if localClipRect() returns
a non-infinite rect, that rect is OK to use as the compositing bounds.

That is not a valid assumption when clip() has a larger rect than the element (e.g.
with negative top/left in the rect). In that case, localClipRect() still just
returns the background rect, but we actually need a larger compositing layer
to show the unclipped parts of descendants.

Fix by detecting clip() that exceeds the renderer bounds, and when it does,
not early returning in the UseLocalClipRectIfPossible clause.

Test: compositing/geometry/css-clip-oversize.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::localClipRect): Do a convertToLayerCoords()
because we need offsetFromRoot later, and we can pass our value down to
calculateRects(). Compute clipExceedsBounds based on the CSS clip rect.
(WebCore::RenderLayer::calculateClipRects): Don't early return if clipExceedsBounds
is true.
* rendering/RenderLayer.h:

LayoutTests:

Reviewed by Dean Jackson.

Test with CSS clip() with a rect larger than the border box, and compositing.

* compositing/geometry/clip-expected.txt: New expectation. This is a progression.
* compositing/geometry/css-clip-oversize-expected.html: Added.
* compositing/geometry/css-clip-oversize.html: Added.

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

6 years agoMake TreeScope::rootNode return a reference
antti@apple.com [Mon, 17 Feb 2014 23:29:31 +0000 (23:29 +0000)]
Make TreeScope::rootNode return a reference
https://bugs.webkit.org/show_bug.cgi?id=128934

Reviewed by Andreas Kling.

It is never null.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRules):
* dom/ContainerNode.h:
(WebCore::Node::isTreeScope):
* dom/Document.cpp:
(WebCore::Document::buildAccessKeyMap):
* dom/DocumentOrderedMap.cpp:
(WebCore::DocumentOrderedMap::add):
(WebCore::DocumentOrderedMap::get):
(WebCore::DocumentOrderedMap::getAllElementsById):
* dom/EventDispatcher.cpp:
(WebCore::EventRelatedNodeResolver::moveToParentOrShadowHost):
(WebCore::eventTargetRespectingTargetRules):
(WebCore::shouldEventCrossShadowBoundary):
* dom/Node.cpp:
(WebCore::Node::containingShadowRoot):
(WebCore::Node::removedFrom):
* dom/ShadowRoot.h:
(WebCore::isShadowRoot):
* dom/TreeScope.h:
(WebCore::TreeScope::rootNode):
* page/DOMSelection.cpp:
(WebCore::DOMSelection::DOMSelection):
* page/DragController.cpp:
(WebCore::asFileInput):
* page/FocusController.cpp:
(WebCore::FocusNavigationScope::rootNode):

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

6 years ago[Win] There's another Windows SDK. Make sure we recognize it.
bfulgham@apple.com [Mon, 17 Feb 2014 22:44:24 +0000 (22:44 +0000)]
[Win] There's another Windows SDK. Make sure we recognize it.
https://bugs.webkit.org/show_bug.cgi?id=128932

Reviewed by Tim Horton.

* Scripts/webkitpy/port/win.py:
(WinPort._ntsd_location):

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

6 years agoAX: Invalid cast in WebCore::AccessibilityTable::isDataTable (CRBug 280352)
cfleizach@apple.com [Mon, 17 Feb 2014 22:26:54 +0000 (22:26 +0000)]
AX: Invalid cast in WebCore::AccessibilityTable::isDataTable (CRBug 280352)
<https://webkit.org/b/128925>
<rdar://problem/16087351>

Merged from Blink (patch by Dominic Mazzoni):
https://src.chromium.org/viewvc/blink?revision=159711&view=revision

Reviewed by Oliver Hunt.

Source/WebCore:

Don't cast to a table cell element unless we are sure it is one.

Test: accessibility/display-table-cell-causes-crash.html

* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isDataTable):

LayoutTests:

* accessibility/display-table-cell-causes-crash-expected.txt: Added.
* accessibility/display-table-cell-causes-crash.html: Added.

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

6 years agoNode constructor should take Document reference
antti@apple.com [Mon, 17 Feb 2014 22:12:30 +0000 (22:12 +0000)]
Node constructor should take Document reference
https://bugs.webkit.org/show_bug.cgi?id=128931

Reviewed by Geoff Garen.

* dom/Attr.cpp:
(WebCore::Attr::Attr):
* dom/CharacterData.h:
(WebCore::CharacterData::CharacterData):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::~ContainerNode):
* dom/ContainerNode.h:
(WebCore::ContainerNode::ContainerNode):
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(WebCore::Node::Node):
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::DocumentFragment):
(WebCore::DocumentFragment::create):
* dom/DocumentFragment.h:
* dom/DocumentType.cpp:
(WebCore::DocumentType::DocumentType):
* dom/Element.h:
(WebCore::Element::Element):
* dom/Entity.h:
(WebCore::Entity::Entity):
* dom/EntityReference.cpp:
(WebCore::EntityReference::EntityReference):
* dom/Node.cpp:
(WebCore::Node::~Node):
(WebCore::Node::willBeDeletedFrom):
* dom/Node.h:
* dom/Notation.cpp:
* dom/Notation.h:
(WebCore::Notation::publicId):
(WebCore::Notation::systemId):
(WebCore::Notation::Notation):

    Remove cruft from this non-instantiated class.

* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::~ShadowRoot):
* dom/TemplateContentDocumentFragment.h:

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

6 years agowebkitpy test fix on Mac after r164244.
rniwa@webkit.org [Mon, 17 Feb 2014 21:40:09 +0000 (21:40 +0000)]
webkitpy test fix on Mac after r164244.

It's somewhat crazy that we're trying to run unittests for Windows on Mac but whatever.

* Scripts/webkitpy/port/win.py:
(WinPort._ntsd_location):

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

6 years agoFix layout test added in r164232 to avoid bug 128929
simon.fraser@apple.com [Mon, 17 Feb 2014 20:58:15 +0000 (20:58 +0000)]
Fix layout test added in r164232 to avoid bug 128929
and use rects which don't have minor rendering differences when
drawn into compositing layers.

* compositing/contents-opaque/opaque-with-clip-path-expected.html:
* compositing/contents-opaque/opaque-with-clip-path.html:

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