akling@apple.com [Mon, 5 May 2014 08:19:01 +0000 (08:19 +0000)]
Remove two now-incorrect assertions after r168256.
* runtime/JSString.cpp:
(JSC::JSRopeString::resolveRopeSlowCase8):
(JSC::JSRopeString::resolveRopeSlowCase):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168267
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Mon, 5 May 2014 08:08:28 +0000 (08:08 +0000)]
[EFL][WK2] Refactor favicon database APIs
https://bugs.webkit.org/show_bug.cgi?id=132519
Reviewed by Gyuyoung Kim.
Source/WebKit2:
ewebkit2 has two options to get favicon.
The first option is ewk_view_favicon_get with "favicon,changed" signal.
It's simple to use but it always adds the callback to EwkView although applications does not use favicon.
The other option is ewk_favicon_database_icon_get with ewk_favicon_database_icon_change_callback_add API.
But the callback doesn't have information about Ewk_Favicon_Database to call ewk_favicon_database_icon_get.
This patch removed ewk_view_favicon_get and "favicon,changed" signal.
In addition, improved ewk_favicon_database_icon_change_callback.
* UIProcess/API/efl/EwkView.cpp: Remove ewk_favicon_database related code.
(EwkView::EwkView):
(EwkView::~EwkView):
(EwkView::informURLChange):
(EwkView::handleFaviconChanged):
(EwkView::createFavicon): Deleted.
* UIProcess/API/efl/EwkViewCallbacks.h:
* UIProcess/API/efl/ewk_favicon_database.cpp:
(EwkFaviconDatabase::iconDataReadyForPageURL):
(EwkFaviconDatabase::didChangeIconForPageURL): Deleted. dead code.
* UIProcess/API/efl/ewk_favicon_database.h:
Refactor Ewk_Favicon_Database_Icon_Change_Cb and improve doxygen.
* UIProcess/API/efl/ewk_favicon_database_private.h:
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_favicon_get): Deleted.
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
(EWK2FaviconDatabaseTest::requestFaviconData):
(TEST_F):
Tools:
* MiniBrowser/efl/main.c: Use ewk_favicon_database_icon_get instead of ewk_view_favicon_get.
(update_view_favicon):
(on_icon_changed_cb):
(window_free):
(on_url_changed):
(window_create):
(on_view_favicon_changed): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168265
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abucur@adobe.com [Mon, 5 May 2014 08:01:13 +0000 (08:01 +0000)]
[CSS Regions] ASSERT when hovering over region
https://bugs.webkit.org/show_bug.cgi?id=128809
Reviewed by Mihnea Ovidenie.
Source/WebCore:
There's no point in hit-testing a box for a region if it's not contained inside
that region.
Test: fast/regions/hit-test-box-non-containing-region.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::nodeAtPoint):
LayoutTests:
Add a test verifying we're not trying to hit-test a box inside a region
where it's not contained.
* fast/regions/hit-test-box-non-containing-region-expected.txt: Added.
* fast/regions/hit-test-box-non-containing-region.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168263
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 5 May 2014 07:37:35 +0000 (07:37 +0000)]
[iOS WebKit2] Swipe snapshots should be taken asynchronously
https://bugs.webkit.org/show_bug.cgi?id=132417
<rdar://problem/
16535921>
Reviewed by Anders Carlsson.
Reorganize takeViewSnapshot to return a ViewSnaphot with the image
filled in (the other properties are filled in by ViewSnapshotStore).
Make ViewSnapshotStore use a fixed size instead of count for the snapshot cache.
iOS doesn't use purgeable snapshots, so make the cache much smaller there.
Use CARenderServerCaptureLayerWithTransform to achieve async snapshotting.
Rename WebKit::ViewSnapshotStore::Snapshot to WebKit::ViewSnapshot so that
it can be forward-declared in a bunch of places.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _takeViewSnapshot:]):
Use CARenderServerCaptureLayerWithTransform.
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/API/mac/WKView.mm:
(createIOSurfaceFromImage):
(-[WKView _takeViewSnapshot:]):
Adjust to the new push model.
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::takeViewSnapshot):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::takeViewSnapshot):
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::takeViewSnapshot):
Plumbing.
* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
Realize an object that can be used as the layer contents from the slot ID.
* UIProcess/ios/WebMemoryPressureHandlerIOS.cpp:
(WebKit::WebMemoryPressureHandler::sharedHandler):
(WebKit::WebMemoryPressureHandler::WebMemoryPressureHandler):
* UIProcess/WebMemoryPressureHandlerIOS.h:
Add a memory pressure handler for the UI process. This does not use
WebCore's platform independent memory pressure handler because that
mechanism only allows for one handler per process, and we don't want to
stomp on any handlers installed by WebKit1 in a process where the WebKits coexist.
* UIProcess/ios/WKContentView.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _takeViewSnapshot]): Deleted.
Get rid of an unnecessary bounce through WKContentView.
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::retrieveSnapshotForItem):
(WebKit::ViewGestureController::endSwipeGesture):
Use the new name, ViewSnapshot.
* UIProcess/mac/ViewSnapshotStore.h:
(WebKit::ViewSnapshot::ViewSnapshot):
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::ViewSnapshotStore):
(WebKit::ViewSnapshotStore::~ViewSnapshotStore):
(WebKit::ViewSnapshotStore::snapshottingContext):
Use a custom CAContext for snapshotting so that snapshots don't
disappear when the main context is destroyed on hibernation.
(WebKit::ViewSnapshotStore::removeSnapshotImage):
(WebKit::ViewSnapshotStore::pruneSnapshots):
(WebKit::ViewSnapshotStore::recordSnapshot):
(WebKit::ViewSnapshotStore::getSnapshot):
(WebKit::ViewSnapshotStore::discardSnapshots):
(WebKit::ViewSnapshot::clearImage):
(WebKit::ViewSnapshot::hasImage):
(WebKit::createIOSurfaceFromImage): Deleted.
(WebKit::ViewSnapshotStore::Snapshot::clearImage): Deleted.
(WebKit::ViewSnapshotStore::Snapshot::hasImage): Deleted.
Cache by image size instead of counts.
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168260
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Mon, 5 May 2014 06:24:44 +0000 (06:24 +0000)]
Optimize JSRopeString for resolving directly to AtomicString.
<https://webkit.org/b/132548>
Source/JavaScriptCore:
If we know that the JSRopeString we are resolving is going to be used
as an AtomicString, we can try to avoid creating a new string.
We do this by first resolving the rope into a stack buffer, and using
that buffer as a key into the AtomicString table. If there is already
an AtomicString with the same characters, we reuse that instead of
constructing a new StringImpl.
JSString gains these two public functions:
- AtomicString toAtomicString()
Returns an AtomicString, tries to avoid allocating a new string
if possible.
- AtomicStringImpl* toExistingAtomicString()
Returns a non-null AtomicStringImpl* if one already exists in the
AtomicString table. If none is found, the rope is left unresolved.
Reviewed by Filip Pizlo.
* runtime/JSString.cpp:
(JSC::JSRopeString::resolveRopeInternal8):
(JSC::JSRopeString::resolveRopeInternal16):
(JSC::JSRopeString::resolveRopeToAtomicString):
(JSC::JSRopeString::clearFibers):
(JSC::JSRopeString::resolveRopeToExistingAtomicString):
(JSC::JSRopeString::resolveRope):
(JSC::JSRopeString::outOfMemory):
* runtime/JSString.h:
(JSC::JSString::toAtomicString):
(JSC::JSString::toExistingAtomicString):
Source/WebCore:
Add two bindings generator attributes for parameters to influence
the way that JS rope strings are resolved:
- AtomicString
Generates code that avoids allocating a new StringImpl if there
is already an existing AtomicString we can reuse.
- RequiresExistingAtomicString
Generates code that fails immediately if the provided string
is not found in the AtomicString table. This is now used for
document.getElementById(), and works because any existing ID
is guaranteed to be in the table.
Reviewed by Filip Pizlo.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(JSValueToNative):
* bindings/scripts/IDLAttributes.txt:
* dom/Document.idl:
Source/WTF:
Add AtomicString::find([LU]Char*, unsigned length) helpers for finding
an existing AtomicString without a StringImpl on hand.
Reviewed by Filip Pizlo.
* wtf/text/AtomicString.h:
* wtf/text/AtomicString.cpp:
(WTF::AtomicString::find):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168256
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Mon, 5 May 2014 06:10:03 +0000 (06:10 +0000)]
Unreviewed, rolling out r168254.
Very crashy on debug JSC tests.
Reverted changeset:
"jsSubstring() should be lazy"
https://bugs.webkit.org/show_bug.cgi?id=132556
http://trac.webkit.org/changeset/168254
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168255
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Mon, 5 May 2014 04:54:19 +0000 (04:54 +0000)]
jsSubstring() should be lazy
https://bugs.webkit.org/show_bug.cgi?id=132556
Reviewed by Andreas Kling.
Source/JavaScriptCore:
jsSubstring() is now lazy by using a special rope that is a substring instead of a
concatenation. To make this patch super simple, we require that a substring's base is
never a rope. Hence, when resolving a rope, we either go down a non-recursive substring
path, or we go down a concatenation path which may see exactly one level of substrings in
its fibers.
This is up to a 50% speed-up on microbenchmarks and a 10% speed-up on Octane/regexp.
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::specializedSweep):
* runtime/JSString.cpp:
(JSC::JSRopeString::visitFibers):
(JSC::JSRopeString::resolveRope):
(JSC::JSRopeString::resolveRopeSlowCase8):
(JSC::JSRopeString::resolveRopeSlowCase):
(JSC::JSRopeString::outOfMemory):
* runtime/JSString.h:
(JSC::JSRopeString::finishCreation):
(JSC::JSRopeString::append):
(JSC::JSRopeString::create):
(JSC::JSRopeString::offsetOfFibers):
(JSC::JSRopeString::fiber):
(JSC::JSRopeString::substringBase):
(JSC::JSRopeString::substringOffset):
(JSC::JSRopeString::substringSentinel):
(JSC::JSRopeString::isSubstring):
(JSC::jsSubstring):
* runtime/RegExpMatchesArray.cpp:
(JSC::RegExpMatchesArray::reifyAllProperties):
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncSubstring):
LayoutTests:
These tests get 35-50% faster.
* js/regress/script-tests/substring-concat-weird.js: Added.
(foo):
* js/regress/script-tests/substring-concat.js: Added.
(foo):
* js/regress/script-tests/substring.js: Added.
(foo):
* js/regress/substring-concat-expected.txt: Added.
* js/regress/substring-concat-weird-expected.txt: Added.
* js/regress/substring-concat-weird.html: Added.
* js/regress/substring-concat.html: Added.
* js/regress/substring-expected.txt: Added.
* js/regress/substring.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168254
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Mon, 5 May 2014 03:49:08 +0000 (03:49 +0000)]
[iOS WK2] Compositing layers in iframes are misplaced
https://bugs.webkit.org/show_bug.cgi?id=132554
<rdar://problem/
16203027>
Reviewed by Benjamin Poulain.
Have requiresScrollLayer() only consider frameView.delegatesScrolling()
for the main frame, so that iframes get scroll layers (even though they
will never scroll), so that the rest of geometry code works as on other
platforms.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresScrollLayer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168253
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Mon, 5 May 2014 01:16:18 +0000 (01:16 +0000)]
Use std::unique_ptr in m_taskTimer of Notification class
https://bugs.webkit.org/show_bug.cgi?id=132544
Reviewed by Andreas Kling.
No new tests, no behavior change.
* Modules/notifications/Notification.cpp:
(WebCore::Notification::Notification):
* Modules/notifications/Notification.h: Use std::unique_ptr instead of OwnPtr.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168252
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Mon, 5 May 2014 00:43:22 +0000 (00:43 +0000)]
Mark compositing/visibility/visibility-image-layers-dynamic.html as failing after r168244.
* TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168251
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Mon, 5 May 2014 00:42:20 +0000 (00:42 +0000)]
Reduce calls to CFURLCacheCopySharedURLCache
https://bugs.webkit.org/show_bug.cgi?id=132464
<rdar://problem/
16806694>
Address review comments by collapsing multi-line code into a single ASSERT.
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168250
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 5 May 2014 00:21:32 +0000 (00:21 +0000)]
Long hangs under IOSurfacePool::evict
https://bugs.webkit.org/show_bug.cgi?id=132549
<rdar://problem/
16769469>
Reviewed by Simon Fraser.
* platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::IOSurfacePool::willAddSurface):
Run eviction before adding the new surface to m_bytesCached/m_inUseBytesCached.
We use the additionalSize parameter to make space for the new surface.
(WebCore::IOSurfacePool::evict):
If we want to free up the entire pool, we can do so by throwing away everything.
This also avoids an underflow if additionalSize is larger than the maximum pool size.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168249
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Sun, 4 May 2014 22:53:41 +0000 (22:53 +0000)]
Shortcircuit shouldUseCredentialStorage callback
https://bugs.webkit.org/show_bug.cgi?id=132308
<rdar://problem/
16806708>
Reviewed by Alexey Proskuryakov.
If we are going to return true from the shouldUseCredentialStorage callback then we don't
really need to have CFNetwork/Foundation call us. We can just disable the callback and
CFNetwork will assume true. Add a separate subclass that implements this callback when we
need to return false. We can also eliminate the corresponding async callbacks. This avoids
pingponging between dispatch queue and main thread in the common case.
No new tests because no change in functionality.
Source/WebCore:
* WebCore.exp.in:
* platform/network/ResourceHandle.cpp:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.cpp:
* platform/network/ResourceHandleClient.h:
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
* platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::makeDelegate):
(WebCore::ResourceHandle::delegate):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleWithCredentialStorageAsOperationQueueDelegate connectionShouldUseCredentialStorage:]):
* platform/network/soup/ResourceHandleSoup.cpp:
Source/WebKit2:
* NetworkProcess/NetworkResourceLoader.cpp: Remove shouldUseCredentialStorageAsync() callbacks.
* NetworkProcess/NetworkResourceLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168248
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Sun, 4 May 2014 22:39:29 +0000 (22:39 +0000)]
Even more re-baselining for anchor point after
http://trac.webkit.org/changeset/168244
* platform/mac-mountainlion/compositing/contents-opaque/control-layer-expected.txt:
* platform/mac/compositing/contents-opaque/control-layer-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168247
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Sun, 4 May 2014 21:16:56 +0000 (21:16 +0000)]
Additional re-baselining for anchor point after
http://trac.webkit.org/changeset/168244
* compositing/contents-opaque/control-layer-expected.txt:
* css3/compositing/blend-mode-accelerated-with-multiple-stacking-contexts-expected.txt:
* css3/compositing/blend-mode-ancestor-clipping-layer-expected.txt:
* css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
* css3/compositing/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
* css3/compositing/blend-mode-with-accelerated-sibling-expected.txt:
* css3/compositing/blend-mode-with-composited-descendant-should-have-layer-expected.txt:
* css3/filters/filtered-compositing-descendant-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168246
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Sun, 4 May 2014 21:01:23 +0000 (21:01 +0000)]
[iOS] deviceScaleFactor is being double-applied when rendering captions in full screen mode
https://bugs.webkit.org/show_bug.cgi?id=132481
<rdar://problem/
16507482>
Reviewed by Jer Noble.
Add a new 'syncTextTrackBounds' method (and relaying functions) to keep the text track container in sync
with changes to the video player's display layer.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::syncTextTrackBounds: Added.
* html/HTMLMediaElement.h:
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Don't set the platform scale factor here. It is already
being accounted for in the createTextTrackRepresentationImage method.
(WebCore::MediaControlTextTrackContainerElement::updateSizes): Synchronize the text track representation
with any new video layer changes.
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::syncTextTrackBounds): Added.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::syncTextTrackBounds): Added.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer): Use new sync function.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenFrame): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::syncTextTrackBounds): Added. Keep the text track layer size in sync with
the current video layer size. This may change during animations, rotations, etc.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setTextTrackRepresentation): Use new sync function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168245
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Sun, 4 May 2014 20:40:40 +0000 (20:40 +0000)]
Top content inset: Margin tiles should not display in the inset area when pinned
to the top of the page
https://bugs.webkit.org/show_bug.cgi?id=132535
-and corresponding-
<rdar://problem/
16613039>
Reviewed by Simon Fraser.
Source/WebCore:
Prior to this change, topContentInset was implemented by positioning
RenderLayerCompositor’s m_rootContentLayer based on the inset value. In order to
ensure that no content is displayed in the inset area when we are pinned to the
top of the page, we’ll have to take a different approach. In this patch, when you
are pinned to the top of the page, the m_rootContentLayer is positioned at (0,0),
much like it would be without an inset, but the m_clip layer IS positioned at (0,
topContentInset). Then for all y-scroll values between 0 and topContentInset, the
positions of the clip layer and the contents layer are adjusted so that the clip
layer approaches a position of (0,0), and the root layer approaches a position of
(0, topContentInset). This makes sure that any content above the top the document
is aways clipped out of the inset area.
In order to achieve this, the scrolling thread needs to know about the
topContentInset, the clip layer, and the root contents layer.
AsyncScrollingCoordinator::updateScrollingNode() now takes an additional parameter
for the clip layer. Also export the topContentInset symbol for UI-side
compositing.
* WebCore.exp.in:
Here is the new computation. Implemented in one spot that can be called from the
scrolling thread, AsyncScrollingCoordinator and RenderLayerCompositor.
* page/FrameView.cpp:
(WebCore::FrameView::yPositionForInsetClipLayer):
(WebCore::FrameView::yPositionForRootContentLayer):
* page/FrameView.h:
Set the topContentInset, the insetClipLayer, and the scrolledContentsLayer when
appropriate.
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
Set or sync the positions for the inset layer and the contents layer.
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
(WebCore::AsyncScrollingCoordinator::updateScrollingNode):
* page/scrolling/AsyncScrollingCoordinator.h:
Convenience functions for getting the clipLayer() and the rootContentLayer() from
the RenderLayerCompositor.
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::insetClipLayerForFrameView):
(WebCore::ScrollingCoordinator::rootContentLayerForFrameView):
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::updateScrollingNode):
ScrollingStateScrolling nodes have two new members now. m_insetClipLayer and
m_topContentInset. We can use m_scrolledContentsLayer for the rootContentsLayer
since previously that member was not used for FrameViews; it was only used for
accelerated overflow:scroll nodes.
* page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setTopContentInset):
(WebCore::ScrollingStateScrollingNode::setInsetClipLayer):
* page/scrolling/ScrollingStateScrollingNode.h:
Similarly, ScrollingTreeScrollingNode has two new members for m_topContentInset
and m_clipLayer.
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
* page/scrolling/ScrollingTreeScrollingNode.h:
(WebCore::ScrollingTreeScrollingNode::topContentInset):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
Compute positions for the two new layers.
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
Now use the static FrameView functions to compute the positions for these layers.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
(WebCore::RenderLayerCompositor::positionForClipLayer):
(WebCore::RenderLayerCompositor::clipLayer):
(WebCore::RenderLayerCompositor::rootContentLayer):
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
(WebCore::RenderLayerCompositor::ensureRootLayer):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
* rendering/RenderLayerCompositor.h:
Source/WebKit2:
Encode and decode the ScrollingStateScrollingNode’s m_topContentInset even though
we don’t use it for anything yet. Since the headerLayer and footerLayer are not
encoded or decoded yet, I did not encode/decode the insetClipLayer yet, which,
like the header and footer layers, would not yet be used.
* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):
LayoutTests:
Anchor point!
* compositing/absolute-inside-out-of-view-fixed-expected.txt:
* compositing/animation/filling-animation-overlap-at-end-expected.txt:
* compositing/animation/filling-animation-overlap-expected.txt:
* compositing/animation/layer-for-filling-animation-expected.txt:
* compositing/backing/backface-visibility-in-3dtransformed-expected.txt:
* compositing/backing/no-backing-for-clip-expected.txt:
* compositing/backing/no-backing-for-clip-overhang-expected.txt:
* compositing/backing/no-backing-for-clip-overlap-expected.txt:
* compositing/backing/no-backing-for-perspective-expected.txt:
* compositing/bounds-in-flipped-writing-mode-expected.txt:
* compositing/clip-child-by-non-stacking-ancestor-expected.txt:
* compositing/columns/ancestor-clipped-in-paginated-expected.txt:
* compositing/columns/clipped-in-paginated-expected.txt:
* compositing/columns/composited-columns-expected.txt:
* compositing/columns/composited-columns-vertical-rl-expected.txt:
* compositing/columns/composited-in-paginated-expected.txt:
* compositing/columns/composited-in-paginated-rl-expected.txt:
* compositing/columns/composited-in-paginated-writing-mode-rl-expected.txt:
* compositing/columns/composited-lr-paginated-repaint-expected.txt:
* compositing/columns/composited-nested-columns-expected.txt:
* compositing/columns/composited-rl-paginated-repaint-expected.txt:
* compositing/columns/hittest-composited-in-paginated-expected.txt:
* compositing/columns/rotated-in-paginated-expected.txt:
* compositing/columns/untransformed-composited-in-paginated-expected.txt:
* compositing/contents-opaque/background-clip-expected.txt:
* compositing/contents-opaque/background-color-expected.txt:
* compositing/contents-opaque/body-background-painted-expected.txt:
* compositing/contents-opaque/body-background-skipped-expected.txt:
* compositing/contents-opaque/filter-expected.txt:
* compositing/contents-opaque/hidden-with-visible-child-expected.txt:
* compositing/contents-opaque/hidden-with-visible-text-expected.txt:
* compositing/contents-opaque/layer-opacity-expected.txt:
* compositing/contents-opaque/layer-transform-expected.txt:
* compositing/contents-opaque/overflow-hidden-child-layers-expected.txt:
* compositing/contents-opaque/visibility-hidden-expected.txt:
* compositing/contents-scale/animating-expected.txt:
* compositing/contents-scale/rounded-contents-scale-expected.txt:
* compositing/contents-scale/scaled-ancestor-expected.txt:
* compositing/contents-scale/simple-scale-expected.txt:
* compositing/contents-scale/z-translate-expected.txt:
* compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
* compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow-expected.txt:
* compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
* compositing/filters/sw-shadow-overlaps-hw-shadow-expected.txt:
* compositing/geometry/ancestor-overflow-change-expected.txt:
* compositing/geometry/bounds-clipped-composited-child-expected.txt:
* compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt:
* compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* compositing/geometry/bounds-ignores-hidden-expected.txt:
* compositing/geometry/clip-expected.txt:
* compositing/geometry/clip-inside-expected.txt:
* compositing/geometry/composited-in-columns-expected.txt:
* compositing/geometry/fixed-position-flipped-writing-mode-expected.txt:
* compositing/geometry/flipped-writing-mode-expected.txt:
* compositing/geometry/foreground-layer-expected.txt:
* compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
* compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
* compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
* compositing/geometry/limit-layer-bounds-fixed-expected.txt:
* compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt:
* compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
* compositing/geometry/limit-layer-bounds-positioned-expected.txt:
* compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
* compositing/geometry/limit-layer-bounds-transformed-expected.txt:
* compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
* compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt:
* compositing/geometry/preserve-3d-switching-expected.txt:
* compositing/iframes/become-composited-nested-iframes-expected.txt:
* compositing/iframes/become-overlapped-iframe-expected.txt:
* compositing/iframes/composited-parent-iframe-expected.txt:
* compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* compositing/iframes/connect-compositing-iframe-expected.txt:
* compositing/iframes/connect-compositing-iframe2-expected.txt:
* compositing/iframes/connect-compositing-iframe3-expected.txt:
* compositing/iframes/enter-compositing-iframe-expected.txt:
* compositing/iframes/iframe-resize-expected.txt:
* compositing/iframes/iframe-size-from-zero-expected.txt:
* compositing/iframes/invisible-nested-iframe-hide-expected.txt:
* compositing/iframes/overlapped-iframe-expected.txt:
* compositing/iframes/overlapped-iframe-iframe-expected.txt:
* compositing/iframes/overlapped-nested-iframes-expected.txt:
* compositing/iframes/page-cache-layer-tree-expected.txt:
* compositing/iframes/scrolling-iframe-expected.txt:
* compositing/images/clip-on-directly-composited-image-expected.txt:
* compositing/layer-creation/animation-overlap-with-children-expected.txt:
* compositing/layer-creation/fixed-position-and-transform-expected.txt:
* compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
* compositing/layer-creation/fixed-position-transformed-into-view-expected.txt:
* compositing/layer-creation/fixed-position-under-transform-expected.txt:
* compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt:
* compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* compositing/layer-creation/overflow-scroll-overlap-expected.txt:
* compositing/layer-creation/overlap-animation-clipping-expected.txt:
* compositing/layer-creation/overlap-animation-expected.txt:
* compositing/layer-creation/overlap-child-layer-expected.txt:
* compositing/layer-creation/overlap-clipping-expected.txt:
* compositing/layer-creation/overlap-transformed-3d-expected.txt:
* compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
* compositing/layer-creation/overlap-transformed-layer-expected.txt:
* compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
* compositing/layer-creation/overlap-transforms-expected.txt:
* compositing/layer-creation/rotate3d-overlap-expected.txt:
* compositing/layer-creation/scroll-partial-update-expected.txt:
* compositing/layer-creation/spanOverlapsCanvas-expected.txt:
* compositing/layer-creation/stacking-context-overlap-expected.txt:
* compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
* compositing/layer-creation/translatez-overlap-expected.txt:
* compositing/masks/mask-layer-size-expected.txt:
* compositing/overflow-trumps-transform-style-expected.txt:
* compositing/overflow/clip-descendents-expected.txt:
* compositing/overflow/content-gains-scrollbars-expected.txt:
* compositing/overflow/content-loses-scrollbars-expected.txt:
* compositing/overflow/overflow-scrollbar-layer-positions-expected.txt:
* compositing/overflow/overflow-scrollbar-layers-expected.txt:
* compositing/overflow/resize-painting-expected.txt:
* compositing/plugins/no-backing-store-expected.txt:
* compositing/plugins/small-to-large-composited-plugin-expected.txt:
* compositing/regions/fixed-in-named-flow-clip-descendant-expected.txt:
* compositing/regions/fixed-in-named-flow-expected.txt:
* compositing/regions/fixed-in-named-flow-from-abs-in-named-flow-expected.txt:
* compositing/regions/fixed-in-named-flow-from-outflow-expected.txt:
* compositing/regions/fixed-in-named-flow-got-transformed-parent-expected.txt:
* compositing/regions/fixed-in-named-flow-lost-transformed-parent-expected.txt:
* compositing/regions/fixed-in-named-flow-overlap-composited-expected.txt:
* compositing/regions/fixed-in-named-flow-transformed-parent-expected.txt:
* compositing/regions/fixed-transformed-in-named-flow-expected.txt:
* compositing/repaint/absolute-painted-into-composited-ancestor-expected.txt:
* compositing/repaint/fixed-background-scroll-expected.txt:
* compositing/repaint/positioned-movement-expected.txt:
* compositing/repaint/repaint-on-layer-grouping-change-expected.txt:
* compositing/repaint/resize-repaint-expected.txt:
* compositing/rtl/rtl-absolute-expected.txt:
* compositing/rtl/rtl-absolute-overflow-expected.txt:
* compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-fixed-expected.txt:
* compositing/rtl/rtl-fixed-overflow-expected.txt:
* compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-relative-expected.txt:
* compositing/tiled-layers-hidpi-expected.txt:
* compositing/visibility/layer-visible-content-expected.txt:
* platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt:
* platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt:
* platform/mac-wk2/compositing/repaint/fixed-background-scroll-expected.txt:
* platform/mac-wk2/compositing/rtl/rtl-absolute-expected.txt:
* platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt:
* platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
* platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
* platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt:
* platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt:
* platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.txt:
* platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt:
* platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt:
* platform/mac-wk2/tiled-drawing/sticky/sticky-layers-expected.txt:
* platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-expected.txt:
* platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt:
* platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
* platform/mac-wk2/tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
* platform/mac-wk2/tiled-drawing/tile-coverage-speculative-expected.txt:
* platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
* platform/mac-wk2/tiled-drawing/use-tiled-drawing-expected.txt:
* platform/mac/compositing/canvas/accelerated-canvas-compositing-expected.txt:
* platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt:
* platform/mac/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/mac/compositing/iframes/resizer-expected.txt:
* platform/mac/compositing/images/direct-image-object-fit-expected.txt:
* platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt:
* platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
* platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
* platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
* platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
* platform/mac/compositing/reflections/direct-image-object-fit-reflected-expected.txt:
* platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt:
* platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/mac/compositing/tiling/huge-layer-img-expected.txt:
* platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac/compositing/tiling/tiled-layer-resize-expected.txt:
* platform/mac/compositing/video/video-object-fit-expected.txt:
* platform/mac/compositing/visible-rect/2d-transformed-expected.txt:
* platform/mac/compositing/visible-rect/3d-transform-style-expected.txt:
* platform/mac/compositing/visible-rect/3d-transformed-expected.txt:
* platform/mac/compositing/visible-rect/animated-expected.txt:
* platform/mac/compositing/visible-rect/animated-from-none-expected.txt:
* platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt:
* platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt:
* platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt:
* platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt:
* platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/mac/compositing/visible-rect/nested-transform-expected.txt:
* platform/mac/compositing/visible-rect/scrolled-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168244
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Sun, 4 May 2014 19:44:51 +0000 (19:44 +0000)]
Clear the Selector Query caches on memory pressure
https://bugs.webkit.org/show_bug.cgi?id=132545
Reviewed by Andreas Kling.
The Selector Query Cache can use quite a bit of memory if many
complex selectors are compiled. This patch makes sure the cache gets
cleared on memory pressure.
* dom/Document.cpp:
(WebCore::Document::clearSelectorQueryCache):
(WebCore::Document::setCompatibilityMode):
(WebCore::Document::updateBaseURL):
* dom/Document.h:
* dom/SelectorQuery.cpp:
(WebCore::SelectorQueryCache::invalidate): Deleted.
* dom/SelectorQuery.h:
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseMemory):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168243
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Sun, 4 May 2014 09:04:28 +0000 (09:04 +0000)]
Convert OwnPtr to std::unique_ptr in CDM
https://bugs.webkit.org/show_bug.cgi?id=132467
Reviewed by Andreas Kling.
Use std::unique_ptr in CDM class.
No new tests, no behavior change.
* Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::create):
(WebCore::CDM::CDM):
* Modules/encryptedmedia/CDM.h:
* Modules/encryptedmedia/CDMPrivateMediaPlayer.h:
(WebCore::CDMPrivateMediaPlayer::CDMPrivateMediaPlayer):
(WebCore::CDMPrivateMediaPlayer::create):
* Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::create):
(WebCore::MediaKeys::MediaKeys):
* Modules/encryptedmedia/MediaKeys.h:
* WebCore.exp.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168242
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 4 May 2014 06:26:39 +0000 (06:26 +0000)]
Unreviewed, rolling out r168232.
https://bugs.webkit.org/show_bug.cgi?id=132543
broke ~15 tests on WK2 debug (Requested by kling on #webkit).
Reverted changeset:
"Shortcircuit shouldUseCredentialStorage callback"
https://bugs.webkit.org/show_bug.cgi?id=132308
http://trac.webkit.org/changeset/168232
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168241
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Sun, 4 May 2014 03:43:19 +0000 (03:43 +0000)]
RenderSVGResourcePattern should deal in RenderElement&.
<https://webkit.org/b/132536>
Tweak buildPattern() and buildTileImageTransform() to take RenderElement&
instead of RenderObject* since we know that these functions will always
be called with non-null RenderElement subclasses.
Reviewed by Sam Weinig.
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting):
* rendering/svg/RenderSVGResourceContainer.h:
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildPattern):
(WebCore::RenderSVGResourcePattern::applyResource):
(WebCore::RenderSVGResourcePattern::buildTileImageTransform):
* rendering/svg/RenderSVGResourcePattern.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168237
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Sun, 4 May 2014 03:25:56 +0000 (03:25 +0000)]
CSS JIT: optimize direct / indirect adjacent's traversal backtracking
https://bugs.webkit.org/show_bug.cgi?id=132319
Patch by Yusuke Suzuki <utatane.tea@gmail.com> on 2014-05-03
Reviewed by Benjamin Poulain.
Source/WebCore:
Since adjacent backtracking stack reference is pre-allocated
in prologue in http://trac.webkit.org/changeset/166834,
clearing stack phase is not needed. So we can drop
JumpToClearAdjacentTail from backtracking action and simplify
backtracking handling.
And optimize direct / indirect adjacent's traversal backtracking by
using appropriate backtracking height.
When solving adjacent traversal backtracking action,
1) When there's no descendant relation on the right, traversal
failure becomes global failure.
2) When `tagNameMatchedBacktrackingStartHeightFromDescendant` ==
`heightFromDescendant` + 1, the descendant backtracking starts with
the parent of the current element. So we can use the current element
and the backtracking action is JumpToDescendantTreeWalkerEntryPoint.
3) Otherwise, currently we take the conservative approach,
JumpToDescendantTail.
NOTE:
And if `hasDescendantRelationOnTheRight` is true and there's no child
fragment on the right, the backtracking element register is not
effective. So we should ensure that fragment doesn't use the
backtracking element register. Such a fragment fulfills the following
conditions. 1. tagNameMatchedBacktrackingStartHeightFromDescendant is
always 1 (tagNames.size(), that contains only descendant fragment) 2.
heightFromDescendant is always 0 (-- See
computeBacktrackingHeightFromDescendant implementation) Therefore such
a fragment's action always becomes
JumpToDescendantTreeWalkerEntryPoint. So we can ensure that the
backtracking element register is not used.
Test: fast/selectors/backtracking-adjacent.html
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::solveDescendantBacktrackingActionForChild):
(WebCore::SelectorCompiler::solveAdjacentTraversalBacktrackingAction):
(WebCore::SelectorCompiler::solveBacktrackingAction):
(WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
(WebCore::SelectorCompiler::isAfterChildRelation): Deleted.
LayoutTests:
* fast/selectors/backtracking-adjacent-expected.txt: Added.
* fast/selectors/backtracking-adjacent.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168236
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Sun, 4 May 2014 03:22:04 +0000 (03:22 +0000)]
Clear the JSString cache when under memory pressure.
<https://webkit.org/b/132539>
The WeakGCMap used for fast mapping from StringImpl* to JSString*
can actually get pretty big, and if we find ourselves under memory
pressure, it's entirely inessential.
1.1 MB progression on Membuster3.
Reviewed by Sam Weinig.
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseMemory):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168235
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Sun, 4 May 2014 01:55:18 +0000 (01:55 +0000)]
[iOS] REGRESSION (WebKit2): Page isn't clipped properly during back/forward swipe
https://bugs.webkit.org/show_bug.cgi?id=132538
<rdar://problem/
16266027>
Reviewed by Simon Fraser.
* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
* UIProcess/mac/ViewGestureController.h:
Add a clipping layer above the live swipe layer, which explicitly clips to bounds.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168234
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Sun, 4 May 2014 01:48:37 +0000 (01:48 +0000)]
[iOS][WK2] Support disabling speculative tiling
https://bugs.webkit.org/show_bug.cgi?id=132512
Reviewed by Tim Horton.
Move ScrollView::setScrollVelocity() and ScrollView::computeCoverageRect() to FrameView.
When speculative tiling is disabled, return an unmodified exposed rect.
Time/velocity adjusments are completely unnecessary at the moment since speculative tiling
is enabled as soon as the view scrolls.
* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::setScrollVelocity):
(WebCore::FrameView::computeCoverageRect):
* page/FrameView.h:
* platform/ScrollView.h:
* platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::setScrollVelocity): Deleted.
(WebCore::ScrollView::computeCoverageRect): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168233
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Sun, 4 May 2014 00:17:11 +0000 (00:17 +0000)]
Shortcircuit shouldUseCredentialStorage callback
https://bugs.webkit.org/show_bug.cgi?id=132308
<rdar://problem/
16806708>
Reviewed by Alexey Proskuryakov.
If we are going to return true from the shouldUseCredentialStorage callback then we don't
really need to have CFNetwork/Foundation call us. We can just disable the callback and
CFNetwork will assume true. Add a separate subclass that implements this callback when we
need to return false. We can also eliminate the corresponding async callbacks. This avoids
pingponging between dispatch queue and main thread in the common case.
No new tests because no change in functionality.
Source/WebCore:
* WebCore.exp.in:
* platform/network/ResourceHandle.cpp:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.cpp:
* platform/network/ResourceHandleClient.h:
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
* platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::makeDelegate):
(WebCore::ResourceHandle::delegate):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleWithCredentialStorageAsOperationQueueDelegate connectionShouldUseCredentialStorage:]):
* platform/network/soup/ResourceHandleSoup.cpp:
Source/WebKit2:
* NetworkProcess/NetworkResourceLoader.cpp: Remove shouldUseCredentialStorageAsync() callbacks.
* NetworkProcess/NetworkResourceLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168232
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Sun, 4 May 2014 00:13:11 +0000 (00:13 +0000)]
Reduce calls to CFURLCacheCopySharedURLCache
https://bugs.webkit.org/show_bug.cgi?id=132464
<rdar://problem/
16806694>
Reviewed by Alexey Proskuryakov.
CFURLCacheCopySharedURLCache grabs a mutex and can sometimes block. Avoid that by stashing
the cache reference in a static.
* NetworkProcess/NetworkResourceLoader.h: Coalesce ifdef'd code.
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
(WebKit::NetworkResourceLoader::willCacheResponseAsync): Use more correct ifdef for
Foundation based callback.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168231
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Sat, 3 May 2014 22:16:53 +0000 (22:16 +0000)]
Invalidate scrollbars when custom scrollbar style changes dynamically.
<https://webkit.org/b/132529>
Source/WebCore:
Add a ScrollView::styleDidChange() and call that from RenderView::styleDidChange()
so that the scrollbars are sure to get repainted with potentially different style.
Reviewed by Antti Koivisto.
Test: fast/css/scrollbar-dynamic-style-change.html
* platform/ScrollView.cpp:
(WebCore::ScrollView::styleDidChange):
* platform/ScrollView.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::styleDidChange):
LayoutTests:
Reviewed by Antti Koivisto.
* fast/css/scrollbar-dynamic-style-change-expected.html: Added.
* fast/css/scrollbar-dynamic-style-change.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168230
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 3 May 2014 20:46:50 +0000 (20:46 +0000)]
[Cocoa WebKit2] Add basic _WKWebsiteDataStore implementation
https://bugs.webkit.org/show_bug.cgi?id=132526
Reviewed by Anders Carlsson.
- Renames WKSession to _WKWebsiteDataStore to better reflect its intended use (renaming
the implementation object will come later).
- Makes _WKWebsiteDataStore work as a wrapped Objective-C object.
- Adds the ability to set a _WKWebsiteDataStore on the WKWebViewConfiguration.
* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
* UIProcess/API/Cocoa/WKSession.h:
* UIProcess/API/Cocoa/WKSession.mm:
(-[WKSession dealloc]): Deleted.
(-[WKSession ephemeral]): Deleted.
(-[WKSession API::]): Deleted.
* UIProcess/API/Cocoa/WKSessionInternal.h:
(WebKit::wrapper): Deleted.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _websiteDataStore]):
(-[WKWebViewConfiguration _setWebsiteDataStore:]):
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* UIProcess/API/Cocoa/_WKWebsiteDataStore.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKSession.h.
* UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKSession.mm.
(+[_WKWebsiteDataStore nonPersistentDataStore]):
(-[_WKWebsiteDataStore isNonPersistentDataStore]):
(-[WKSession ephemeral]): Deleted.
* UIProcess/API/Cocoa/_WKWebsiteDataStoreInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKSessionInternal.h.
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168229
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Sat, 3 May 2014 20:32:31 +0000 (20:32 +0000)]
[UI-side compositing] Assertion in PlatformCAFilters::setFiltersOnLayer with animated reference filter
https://bugs.webkit.org/show_bug.cgi?id=132528
<rdar://problem/
16671660>
Reviewed by Tim Horton.
Source/WebKit2:
Allow PASSTHROUGH filters to be encoded and sent to the UI process; they can be set
on layers as the result of a filter animation using a reference filter, and just get
ignored anyway, but encoding them maintains consistency of the filters list.
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<FilterOperation>::encode): Assert during encoding if
we try to encode a NONE or REFERENCE filter (to match the decoding assertions).
(IPC::decodeFilterOperation): Allow decoding of PASSTHROUGH filters. Have
trying to decode a NONE or REFERENCE filter mark the message as invalid.
(IPC::ArgumentCoder<IDBKeyData>::decode): Mark the message invalid when receiving
unexpected key types.
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::operator<<): Have the logging not crash if
a filter is null (should never happen).
LayoutTests:
Make the animation duration a little longer to cause bug 132528 to reproduce more
reliably. The test does notifyDone() from an animation start event, so this doesn't
increase test duration.
* css3/filters/crash-filter-animation-invalid-url.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168228
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Sat, 3 May 2014 20:32:24 +0000 (20:32 +0000)]
Very fuzzy layers under non-decompasable matrices
https://bugs.webkit.org/show_bug.cgi?id=132516
<rdar://problem/
16717478>
Reviewed by Sam Weinig.
Source/WebCore:
r155977 added code to modify layer contentsScale based on a root-relative
scale, so that scaled-up layers remained sharp. It does this by decomposing
an accumulated matrix, but failed to test whether the decomposition
succeeded. This would result in contentsScale of 0, which is clamped to 0.1,
resulting in very fuzzy layers.
Fix by testing for success of decomposition.
Test: compositing/contents-scale/non-decomposable-matrix.html
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::maxScaleFromTransform):
* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::decompose2): Return early for identity matrices,
with fix for m11 and m22.
(WebCore::TransformationMatrix::decompose4): Return early for identity matrices.
* platform/graphics/transforms/TransformationMatrix.h:
Make Decomposed2Type and Decomposed4Type into C++ structs.
(WebCore::TransformationMatrix::Decomposed2Type::operator==): Added to make it easier
to write code that asserts that decomposition is correct.
(WebCore::TransformationMatrix::Decomposed4Type::operator==): Ditto.
LayoutTests:
Compare scaling under non-decomposable and decomposable matrices.
* compositing/contents-scale/non-decomposable-matrix-expected.html: Added.
* compositing/contents-scale/non-decomposable-matrix.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168227
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Sat, 3 May 2014 19:13:56 +0000 (19:13 +0000)]
Fix crash in WebKit client app when zooming
https://bugs.webkit.org/show_bug.cgi?id=132475
<rdar://problem/
16703405>
Reviewed by Tim Horton.
It's possible for a WebTiledBackingLayer CALayer to remain in the CALayer
hierarchy after we've called -invalidate on it, which clears the _tileController.
Project the getters against null derefs to handle this.
* platform/graphics/ca/mac/WebTiledBackingLayer.mm:
(-[WebTiledBackingLayer isOpaque]):
(-[WebTiledBackingLayer acceleratesDrawing]):
(-[WebTiledBackingLayer contentsScale]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168226
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rakuco@webkit.org [Sat, 3 May 2014 18:52:45 +0000 (18:52 +0000)]
[CMake] Define SHOULD_INSTALL_JS_SHELL before including ports Options files.
https://bugs.webkit.org/show_bug.cgi?id=132525
Reviewed by Martin Robinson.
* CMakeLists.txt: If OPTION() is called after Options${PORT}.cmake is included, it will
override whatever value a port may have set for it. The GTK+ port, for example, tries to set
it to SHOULD_INSTALL_JS_SHELL to ON by default, even though it did not happen before.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168225
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Sat, 3 May 2014 17:36:45 +0000 (17:36 +0000)]
Subpixel rendering: Add hidpi fieldset/legend test case to check fieldset's cliprect when legend text is present.
https://bugs.webkit.org/show_bug.cgi?id=132524
Reviewed by Simon Fraser.
This is the hidpi test for r168221. (Fieldset legend has a horizontal line
through, when the fieldset is painted on odd device pixel position.)
* fast/forms/hidpi-fieldset-on-subpixel-position-when-legend-is-present-expected.html: Added.
* fast/forms/hidpi-fieldset-on-subpixel-position-when-legend-is-present.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168223
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Sat, 3 May 2014 10:37:13 +0000 (10:37 +0000)]
Unreviewed. Fix GTK+ build after r168209.
* platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBDatabase::write):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168222
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Sat, 3 May 2014 07:47:38 +0000 (07:47 +0000)]
Subpixel rendering: Fieldset legend has a horizontal line through, when the fieldset is painted on odd device pixel position.
https://bugs.webkit.org/show_bug.cgi?id=132521
<rdar://problem/
16803305>
Reviewed by Simon Fraser.
Use device pixel snapping when the fieldset's border gets clipped out for the legend's text. It ensures that
the device pixel snapped border gets properly clipped out.
Existing fieldset tests cover it.
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168221
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Sat, 3 May 2014 04:09:37 +0000 (04:09 +0000)]
[Mac] Unreviewed gardening.
Cliprect does not cover textarea properly on certain subpixel positions.
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168220
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Sat, 3 May 2014 01:16:00 +0000 (01:16 +0000)]
CodeCleanup: Remove *MaintainsPixelAlignment from GraphicsLayer*.
https://bugs.webkit.org/show_bug.cgi?id=132501
Reviewed by Simon Fraser.
* WebCore.exp.in:
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer):
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setMaintainsPixelAlignment): Deleted.
(WebCore::GraphicsLayer::maintainsPixelAlignment): Deleted.
(WebCore::GraphicsLayer::pixelAlignmentOffset): Deleted.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::computePixelAlignment):
(WebCore::GraphicsLayerCA::setMaintainsPixelAlignment): Deleted.
* platform/graphics/ca/GraphicsLayerCA.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createGraphicsLayer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::keepLayersPixelAligned): Deleted.
* rendering/RenderLayerCompositor.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168219
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 3 May 2014 01:15:47 +0000 (01:15 +0000)]
<https://webkit.org/b/132505> Make it possible to tell copy-webkitlibraries-to-product-directory which OS X version to copy for
Reviewed by Dan Bernstein.
* Scripts/copy-webkitlibraries-to-product-directory: Add an --osx-version argument and use the passed value
when determining which LLVM archive to extract.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168218
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Sat, 3 May 2014 01:15:07 +0000 (01:15 +0000)]
[iOS WK2] Tiled layer content missing on pages with animated tiled layers
https://bugs.webkit.org/show_bug.cgi?id=132507
<rdar://problem/
16765740>
Reviewed by Tim Horton.
Updating the tiling area of content TileControllers while
CSS animations are running depends on GraphicsLayerUpdater
triggering repeated layer flushes. With UI-side compositing, those
flushes were happening, but nothing triggered RemoteLayerTreeDrawingArea
to flush changes to the UI process.
Fix by having RenderLayerCompositor schedule a flush, rather
than just doing a flush, in response to GraphicsLayerUpdater.
Also change the name of the GraphicsLayerUpdaterClient function
to indicate that it suggests that a flush is required soon, rather than
that the flushing has to be synchronous.
* platform/graphics/GraphicsLayerUpdater.cpp:
(WebCore::GraphicsLayerUpdater::displayRefreshFired):
* platform/graphics/GraphicsLayerUpdater.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::flushLayersSoon):
(WebCore::RenderLayerCompositor::flushLayers): Deleted.
* rendering/RenderLayerCompositor.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168217
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 3 May 2014 01:13:40 +0000 (01:13 +0000)]
Use displayNameForTrack instead of textTrack->label() for captions.
https://bugs.webkit.org/show_bug.cgi?id=131311
Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-02
Reviewed by Darin Adler.
Use the same mechanism as the desktop to build the captions list so it has the correct
names in the correct order including none and automatic.
* platform/ios/WebVideoFullscreenModelMediaElement.h:
* platform/ios/WebVideoFullscreenModelMediaElement.mm:
(WebVideoFullscreenModelMediaElement::setMediaElement):
move legible track code into updateLegibleOptions()
(WebVideoFullscreenModelMediaElement::handleEvent):
updateLegibleOptions on addTrack and removeTrack
(WebVideoFullscreenModelMediaElement::selectLegibleMediaOption):
select the corresponding TextTrack on HTMLMediaElement.
(WebVideoFullscreenModelMediaElement::updateLegibleOptions):
use the same mechanism as desktop to build the captions menu.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168216
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 3 May 2014 01:12:27 +0000 (01:12 +0000)]
CSS-based Media Controls Show Different times content longer than 1 hour.
https://bugs.webkit.org/show_bug.cgi?id=132443
Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-02
Reviewed by Jer Noble.
* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-timeline-container .hour-long-time):
This class has a wider width for longer duration times.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.updateDuration):
Apply .hour-long-time class as appropriate.
(Controller.prototype.formatTime):
More robust formatting to handle hours.
* Modules/mediacontrols/mediaControlsiOS.css:
(audio::-webkit-media-controls-timeline-container .hour-long-time):
This class has a wider width for longer duration times.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.formatTime):
More robust formatting to handle hours.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168215
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Sat, 3 May 2014 01:09:49 +0000 (01:09 +0000)]
[MSE][Mac] AVAssetTrack returns incorrect track size
https://bugs.webkit.org/show_bug.cgi?id=132469
Reviewed by Brent Fulgham.
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset): Remove the sizeChanged() notification.
(WebCore::SourceBufferPrivateAVFObjC::processCodedFrame): Cache the last parsed video frame size.
(WebCore::SourceBufferPrivateAVFObjC::naturalSize): Return the cached value.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168214
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 3 May 2014 00:19:20 +0000 (00:19 +0000)]
[Cocoa] Remove unused WKErrorRecoveryAttempting
https://bugs.webkit.org/show_bug.cgi?id=132503
Reviewed by Anders Carlsson.
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(didFailProvisionalLoadWithErrorForFrame):
(didFailLoadWithErrorForFrame):
(createErrorWithRecoveryAttempter): Deleted.
(-[WKBrowsingContextController attemptRecoveryFromError:]): Deleted.
* UIProcess/API/Cocoa/WKErrorRecoveryAttempting.m: Removed.
* UIProcess/API/Cocoa/_WKFormDelegate.h:
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168213
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Sat, 3 May 2014 00:02:23 +0000 (00:02 +0000)]
Subpixel rendering[iOS]: Use pixelSnappedRoundedRectForPainting() to clip text area rect.
https://bugs.webkit.org/show_bug.cgi?id=132499
<rdar://problem/
16631050>
Reviewed by Simon Fraser.
Snap to device pixels properly instead of relying on float arithmetics while converting from RoundedRect
to FloatRoundedRect. This is the second, cleanup part of the text-area decoration is off-by-one painting issue.
Currently not testable.
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168211
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enrica@apple.com [Sat, 3 May 2014 00:00:58 +0000 (00:00 +0000)]
REGRESSION (WebKit2) Need to support reanalyze button for Chinese Traditional.
https://bugs.webkit.org/show_bug.cgi?id=132504
<rdar://problem/
16778862>
Reviewed by Benjamin Poulain.
For traditional Chinese we support reanalyzing of the text to perform
transformations on the text based on the selected language and keyboard.
This is done by pressing the Reanalyze button on the system
menu. This patch adds the necessary code to canPerformAction to enable
the button when appropriate as well as the implementation of the action
itself.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _reanalyze:]):
(-[WKContentView canPerformAction:withSender:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168210
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Fri, 2 May 2014 23:57:54 +0000 (23:57 +0000)]
Remove HistogramSupport.
<https://webkit.org/b/132354>
Prune some leftover Chromium gunk that no other ports ever used.
Reviewed by Simon Fraser.
* CMakeLists.txt:
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::deleteObjectStore):
(WebCore::IDBDatabase::transaction):
* Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):
* Modules/indexeddb/IDBHistograms.h: Removed.
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
(WebCore::IDBBackingStoreLevelDB::open):
(WebCore::IDBBackingStoreLevelDB::openInMemory):
(WebCore::recordInternalError): Deleted.
* Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSParser.cpp:
(WebCore::cssPropertyID):
* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::histogramMutationEventUsage): Deleted.
* dom/ShadowRoot.cpp:
* fileapi/Blob.cpp:
* fileapi/WebKitBlobBuilder.cpp:
(WebCore::BlobBuilder::append):
* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
(WebCore::logCanCachePageDecision):
* platform/HistogramSupport.cpp: Removed.
* platform/HistogramSupport.h: Removed.
* platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBDatabase::open):
(WebCore::histogramLevelDBError): Deleted.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateNeedsCompositedScrolling):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168209
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 2 May 2014 23:38:30 +0000 (23:38 +0000)]
Stop flipping the ImageControlsButton
<rdar://problem/
16773238> and https://bugs.webkit.org/show_bug.cgi?id=132502
Reviewed by Tim Horton.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintImageControlsButton):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168207
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enrica@apple.com [Fri, 2 May 2014 23:36:23 +0000 (23:36 +0000)]
REGRESSION (WebKit2) Need to support transliterate chinese button (简⇄繁) for Traditional Chinese.
https://bugs.webkit.org/show_bug.cgi?id=132500
<rdar://problem/
16778870>
Reviewed by Benjamin Poulain.
For traditional Chinese we support the transliterate to simplified Chinese.
This is done by pressing the 简⇄繁 button on the system
menu. This patch adds the necessary code to canPerformAction to enable
the button when appropriate as well as the implementation of the action
itself.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _transliterateChinese:]):
(-[WKContentView canPerformAction:withSender:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168206
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 2 May 2014 23:11:14 +0000 (23:11 +0000)]
Fullscreen UI does not appear after WebProcess has crashed
https://bugs.webkit.org/show_bug.cgi?id=132442
Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-02
Reviewed by Darin Adler.
Source/WebCore:
Clean up immediately when there is a WebProcess crash.
* WebCore.exp.in:
* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::invalidate):
Clean-up resources immediately.
Source/WebKit2:
Cleanup WebVideoFullscreenManagerProxy after a WebProcess crash.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcess):
recreate WebVideoFullscreenManagerProxy after a WebProcess crash.
(WebKit::WebPageProxy::resetState):
invalidate and release WebVideoFullscreenManagerProxy on crash.
* UIProcess/ios/WebVideoFullscreenManagerProxy.h:
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy):
don't assume m_page is valid.
(WebKit::WebVideoFullscreenManagerProxy::invalidate):
do cleanup invalidation in reponse to a WebProcess crash.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168205
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 2 May 2014 22:56:56 +0000 (22:56 +0000)]
Unreviewed, rolling out r168192.
https://bugs.webkit.org/show_bug.cgi?id=132498
Was not the correct fix (blurry!) (Requested by bfulgham_ on
#webkit).
Reverted changeset:
"[iOS] deviceScaleFactor is being double-applied when
rendering captions in full screen mode"
https://bugs.webkit.org/show_bug.cgi?id=132481
http://trac.webkit.org/changeset/168192
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168204
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Fri, 2 May 2014 22:54:27 +0000 (22:54 +0000)]
[iOS][WK2] More animation madness for when the extendedBackground is modified in an animation block
https://bugs.webkit.org/show_bug.cgi?id=132497
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-02
Reviewed by Beth Dakin.
* UIProcess/API/Cocoa/WKWebView.mm:
(updateTopAndBottomExtendedBackgroundExclusionIfNecessary):
Do not early return when _extendedBackgroundExclusionInsets.left is empty. That way, if executed in an animation block,
the top of bottom view will animate from their current size to an empty width.
When creating the layer, set up their height without animation. Otherwise it is possible to see the height animating
while the left inset is animating.
(-[WKWebView _setExtendedBackgroundExclusionInsets:]):
When replacing the scrollview, make sure the frame and color are not animated. Otherwise the transition between
scrollView and _mainExtendedBackgroundView can be visible if _setExtendedBackgroundExclusionInsets: is invoked
in an animation block.
(-[WKWebView _endAnimatedResize]):
Nuke the top and bottom insets when possible. [WKWebView _endAnimatedResize] is unfrequent, so it is a good opportunity
to free the memory.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168203
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jeremyj-wk@apple.com [Fri, 2 May 2014 22:47:38 +0000 (22:47 +0000)]
Add Jeremy Jones as a committer. https://bugs.webkit.org/show_bug.cgi?id=132492
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168202
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Fri, 2 May 2014 22:41:24 +0000 (22:41 +0000)]
Remove Blob contentDisposition handling
https://bugs.webkit.org/show_bug.cgi?id=132490
Reviewed by Sam Weinig.
Source/WebCore:
Dead code.
* platform/network/BlobData.h:
(WebCore::BlobData::contentDisposition): Deleted.
(WebCore::BlobData::setContentDisposition): Deleted.
* platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::registerBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURLForSlice):
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
* platform/network/BlobStorageData.h:
(WebCore::BlobStorageData::create):
(WebCore::BlobStorageData::contentType):
(WebCore::BlobStorageData::BlobStorageData):
(WebCore::BlobStorageData::contentDisposition): Deleted.
Source/WebKit2:
* Shared/FileAPI/BlobRegistrationData.cpp:
(WebKit::BlobRegistrationData::encode):
(WebKit::BlobRegistrationData::decode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168201
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 2 May 2014 22:38:47 +0000 (22:38 +0000)]
Implement FormData decoding using KeyedDecoder
https://bugs.webkit.org/show_bug.cgi?id=132494
Reviewed by Tim Horton.
* platform/KeyedCoding.h:
(WebCore::KeyedDecoder::decodeEnum):
* platform/network/FormData.cpp:
(WebCore::decodeElement):
(WebCore::FormData::decode):
* platform/network/FormData.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168199
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 2 May 2014 22:37:07 +0000 (22:37 +0000)]
Add Jeremy as a committer.
https://bugs.webkit.org/show_bug.cgi?id=132492
Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-02
Reviewed by Jer Noble.
Add Jeremy Jones to the committers file.
* Scripts/webkitpy/common/config/contributors.json:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168198
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Fri, 2 May 2014 22:24:37 +0000 (22:24 +0000)]
"arm64 function not 4-byte aligned" warnings when building JSC
https://bugs.webkit.org/show_bug.cgi?id=132495
Reviewed by Geoffrey Garen.
Added ".align 4" for both ARM Thumb2 and ARM 64 to silence the linker.
* llint/LowLevelInterpreter.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168197
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Fri, 2 May 2014 22:05:26 +0000 (22:05 +0000)]
[iOS][WK2] Adapt the rubberband constraints when the page get smaller than the scrollview - insets
https://bugs.webkit.org/show_bug.cgi?id=132457
Reviewed by Enrica Casucci.
It is quite common for us to have a WKContentView that is scalled smaller than the WKWebView, content
insets included.
In those cases, update the constraints to fit the content properly in the view.
* UIProcess/ios/WKScrollView.mm:
(valuesAreWithinOnePixel):
(-[WKScrollView _rubberBandOffsetForOffset:maxOffset:minOffset:range:outside:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168196
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 2 May 2014 22:04:02 +0000 (22:04 +0000)]
-[_WKThumbnailView _requestSnapshotIfNeeded] assumes that taking a snapshot will always succeed
<https://webkit.org/b/132489> / <rdar://problem/
16704660>
Reviewed by Tim Horton.
* UIProcess/API/Cocoa/_WKThumbnailView.mm:
(-[_WKThumbnailView _requestSnapshotIfNeeded]): Don't attempt to create a CGImageRef if we failed
to create a ShareableBitmap. This handles both the callback receiving a null Handle and a failure
within ShareableBitmap::create.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168195
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 2 May 2014 21:43:03 +0000 (21:43 +0000)]
Implement new delegate method -sharingService:sourceFrameOnScreenForShareItem:.
<rdar://problem/
16797425> and https://bugs.webkit.org/show_bug.cgi?id=132484
Reviewed by Tim Horton.
* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController sharingService:sourceFrameOnScreenForShareItem:]):
* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::screenRectForHitTestNode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168193
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Fri, 2 May 2014 21:39:03 +0000 (21:39 +0000)]
[iOS] deviceScaleFactor is being double-applied when rendering captions in full screen mode
https://bugs.webkit.org/show_bug.cgi?id=132481
Reviewed by Jer Noble.
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay): Don't set the platform scale factor here. It is already
being accounted for in the createTextTrackRepresentationImage method.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168192
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 2 May 2014 21:24:54 +0000 (21:24 +0000)]
[iOS WK2] Don't create backing store for -webkit-overflow-scrolling:touch that can't scroll
https://bugs.webkit.org/show_bug.cgi?id=132487
<rdar://problem/
16758041>
Reviewed by Sam Weinig.
Source/WebCore:
Previously, -webkit-overflow-scrolling:touch would cause us to make compositing
layers for any element that had overflow: auto or scroll on either axis. This
created lots of backing store when not required.
Improve this to only create compositing for scrolling when there is actually
scrollable overflow. This makes things slightly more complex, because we can
only know when layout is up to date.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint): usesCompositedScrolling() tells
us if we're actually doing composited overflow.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hasTouchScrollableOverflow):
(WebCore::RenderLayer::handleTouchEvent):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling):
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Only update
scrolling and clipping layers if layout is not pending.
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::updateScrollingLayers): The caller calls
updateInternalHierarchy(), so no need to do it here.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForScrolling): We
can only determine that we're scrollable after layout.
(WebCore::isStickyInAcceleratedScrollingLayerOrViewport):
(WebCore::isMainFrameScrollingOrOverflowScrolling):
LayoutTests:
These are all progressions, and show that we make layers in fewer cases.
* platform/ios-sim/compositing/overflow/iframe-inside-overflow-clipping-expected.txt:
* platform/ios-sim/compositing/overflow/overflow-auto-with-touch-no-overflow-expected.txt:
* platform/ios-sim/compositing/overflow/overflow-overlay-with-touch-no-overflow-expected.txt:
* platform/ios-sim/compositing/overflow/overflow-scroll-with-touch-no-overflow-expected.txt:
* platform/ios-sim/compositing/overflow/subpixel-overflow-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168190
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Fri, 2 May 2014 21:21:04 +0000 (21:21 +0000)]
Fix cloop build after r168178
* bytecode/CodeBlock.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168189
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 2 May 2014 21:03:00 +0000 (21:03 +0000)]
Clean up FormDataElement
https://bugs.webkit.org/show_bug.cgi?id=132483
Reviewed by Sam Weinig.
Source/WebCore:
* platform/network/FormData.cpp:
(WebCore::FormData::FormData):
(WebCore::FormData::deepCopy):
(WebCore::FormData::expandDataStore):
(WebCore::FormData::flatten):
(WebCore::FormData::resolveBlobReferences):
(WebCore::FormData::generateFiles):
(WebCore::FormData::hasGeneratedFiles):
(WebCore::FormData::hasOwnedGeneratedFiles):
(WebCore::FormData::removeGeneratedFilesIfNeeded):
(WebCore::encodeElement):
(WebCore::decodeElement):
* platform/network/FormData.h:
(WebCore::FormDataElement::FormDataElement):
(WebCore::operator==):
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::advanceCurrentStream):
(WebCore::setHTTPBody):
* platform/network/curl/FormDataStreamCurl.cpp:
(WebCore::FormDataStream::read):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::setupFormData):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::addFormElementsToSoupMessage):
Source/WebKit2:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168188
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 2 May 2014 20:53:11 +0000 (20:53 +0000)]
Update ANGLE Windows build.
https://bugs.webkit.org/show_bug.cgi?id=132456
Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-02
Reviewed by Brent Fulgham.
* ANGLE.vcxproj/libEGLCommon.props:
* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj.filters:
* ANGLE.vcxproj/libGLESv2Common.props:
* ANGLE.vcxproj/translator_common.vcxproj:
* ANGLE.vcxproj/translator_common.vcxproj.filters:
* ANGLE.vcxproj/translator_glsl.vcxproj:
* ANGLE.vcxproj/translator_glsl.vcxproj.filters:
* ANGLE.vcxproj/translator_hlsl.vcxproj:
* ANGLE.vcxproj/translator_hlsl.vcxproj.filters:
Updated ANGLE build.
* src/ANGLE.sln: Removed.
* src/build_angle.gyp: Removed.
* src/commit.h: Added.
* changes.diff:
* src/libGLESv2/Program.cpp:
(gl::InfoLog::append):
Fixed typo.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168187
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Fri, 2 May 2014 20:03:41 +0000 (20:03 +0000)]
[iOS] Wireless playback button not blue when active
https://bugs.webkit.org/show_bug.cgi?id=132473
Reviewed by Simon Fraser.
The playback button's class was being set to 'undefined', due to Controller.ClassNames.active being undefined.
* Modules/mediacontrols/mediaControlsApple.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168186
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 2 May 2014 20:00:49 +0000 (20:00 +0000)]
Crash inside [WebSharingServicePickerController clear]
<rdar://problem/
16791944> and https://bugs.webkit.org/show_bug.cgi?id=132477
Reviewed by Tim Horton.
* Misc/WebSharingServicePickerController.h:
* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController clear]): clear can be called twice, so null check _menuClient.
* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::~WebContextMenuClient): For a sanity check, call clear on the picker here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168185
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
burg@cs.washington.edu [Fri, 2 May 2014 19:54:17 +0000 (19:54 +0000)]
Hard to figure out how to run a single test with run-api-tests
https://bugs.webkit.org/show_bug.cgi?id=116332
Reviewed by Alexey Proskuryakov.
* Scripts/run-api-tests: add two examples to the help message.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168184
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Fri, 2 May 2014 19:43:57 +0000 (19:43 +0000)]
Don't abuse Blob deserialization constructor in WebSocket
https://bugs.webkit.org/show_bug.cgi?id=132478
Reviewed by Sam Weinig.
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::send):
(WebCore::WebSocketChannel::enqueueBlobFrame): This is the important change -
Blob::create was called for no reason. If the blob came from a worker, it was
already cloned for cross-thread messaging, otherwise there is no reason to make
a new one.
* fileapi/Blob.h:
(WebCore::Blob::deserialize):
(WebCore::Blob::create): Deleted.
* fileapi/File.h:
(WebCore::File::deserialize):
(WebCore::File::create): Deleted.
Renamed a special case of "create" function to avoid explaining what it is for.
* Modules/websockets/ThreadableWebSocketChannel.h:
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::send):
* Modules/websockets/WebSocketChannel.h:
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::send): Print a full URL in LOG(),
not one shortened to 1024 characters.
(WebCore::WorkerThreadableWebSocketChannel::Peer::send):
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readFile):
(WebCore::CloneDeserializer::readTerminal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168183
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 2 May 2014 19:34:33 +0000 (19:34 +0000)]
Add and implement KeyedDecoder::decodeBytes
https://bugs.webkit.org/show_bug.cgi?id=132479
Reviewed by Tim Horton.
Source/WebCore:
* platform/KeyedCoding.h:
(WebCore::KeyedDecoder::decodeBytes):
Source/WebKit2:
* Shared/cf/KeyedDecoder.cpp:
(WebKit::KeyedDecoder::decodeBytes):
* Shared/cf/KeyedDecoder.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168181
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Fri, 2 May 2014 19:28:30 +0000 (19:28 +0000)]
[iOS] WebKit2 File Upload Support
https://bugs.webkit.org/show_bug.cgi?id=132024
Reviewed by Enrica Casucci.
Source/WebCore:
* English.lproj/Localizable.strings:
New localized strings for <input type="file"> on iOS.
Source/WebKit2:
* Configurations/WebKit2.xcconfig:
Include MobileCoreServices on iOS for kUTTypeImage/kUTTypeMovie.
* WebKit2.xcodeproj/project.pbxproj:
Add new files.
* UIProcess/WebOpenPanelResultListenerProxy.h:
* UIProcess/WebOpenPanelResultListenerProxy.cpp:
(WebKit::filePathsFromFileURLs):
(WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runOpenPanel):
(WebKit::WebPageProxy::didChooseFilesForOpenPanelWithDisplayStringAndIcon):
* WebProcess/WebPage/WebOpenPanelResultListener.h:
* WebProcess/WebPage/WebOpenPanelResultListener.cpp:
(WebKit::WebOpenPanelResultListener::didChooseFilesWithDisplayStringAndIcon):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChooseFilesForOpenPanelWithDisplayStringAndIcon):
Message forwarding for choosing files and providing a display string and icon,
leading down to the existing WebCore FileChooser method.
* UIProcess/PageClient.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::handleRunOpenPanel):
Add a default handler for file open panel on iOS.
Forwards to the content view.
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView lastInteractionLocation]):
(-[WKContentView _webTouchEventsRecognized:]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _longPressRecognized:]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _doubleTapRecognized:]):
(-[WKContentView _twoFingerDoubleTapRecognized:]):
Keep track of the last interaction location. This matches previous behavior
of showing the file upload popover where the user tapped, to handle
cases where the <input> is hidden.
(-[WKContentView _showRunOpenPanel:resultListener:]):
(-[WKContentView fileUploadPanelDidDismiss:]):
Handle showing the cleaning up after the file upload panel.
* UIProcess/ios/forms/WKFileUploadPanel.h:
* UIProcess/ios/forms/WKFileUploadPanel.mm: Added.
(squareCropRectForSize):
(squareImage):
(thumbnailSizedImageForImage):
(-[_WKFileUploadItem isVideo]):
(-[_WKFileUploadItem fileURL]):
(-[_WKFileUploadItem displayImage]):
(-[_WKImageFileUploadItem initWithFilePath:originalImage:]):
(-[_WKImageFileUploadItem isVideo]):
(-[_WKImageFileUploadItem fileURL]):
(-[_WKImageFileUploadItem displayImage]):
(-[_WKVideoFileUploadItem initWithFilePath:mediaURL:]):
(-[_WKVideoFileUploadItem isVideo]):
(-[_WKVideoFileUploadItem fileURL]):
(-[_WKVideoFileUploadItem displayImage]):
Helper class for each image picker selection. Knows how to get
a file URL and thumbnail display image for the item.
(-[WKFileUploadPanel initWithView:]):
(-[WKFileUploadPanel dealloc]):
(-[WKFileUploadPanel _dispatchDidDismiss]):
(-[WKFileUploadPanel _cancel]):
(-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]):
Lifetime of the upload panel requires that either cancel or choose
must happen as we go through the file picking process.
(-[WKFileUploadPanel presentWithParameters:WebKit::resultListener:WebKit::]):
(-[WKFileUploadPanel dismiss]):
API to show or dismiss the panel.
(-[WKFileUploadPanel _dismissDisplayAnimated:]):
Helper to clean up the UI as it progresses or completes no matter the device idiom.
(-[WKFileUploadPanel _presentPopoverWithContentViewController:animated:]):
(-[WKFileUploadPanel _presentFullscreenViewController:animated:]):
UI presentation for the appropriate idiom.
(-[WKFileUploadPanel _mediaTypesForPickerSourceType:]):
(-[WKFileUploadPanel _showMediaSourceSelectionSheet]):
(-[WKFileUploadPanel _showPhotoPickerWithSourceType:]):
Showing the action sheet or image picker.
(-[WKFileUploadPanel popoverControllerDidDismissPopover:]):
(-[WKFileUploadPanel _willMultipleSelectionDelegateBeCalled]):
(-[WKFileUploadPanel imagePickerController:didFinishPickingMediaWithInfo:]):
(-[WKFileUploadPanel imagePickerController:didFinishPickingMultipleMediaWithInfo:]):
(-[WKFileUploadPanel imagePickerControllerDidCancel:]):
Action sheet or image picker handlers.
(-[WKFileUploadPanel _processMediaInfoDictionaries:successBlock:failureBlock:]):
(-[WKFileUploadPanel _processMediaInfoDictionaries:atIndex:processedResults:processedImageCount:processedVideoCount:successBlock:failureBlock:]):
(-[WKFileUploadPanel _uploadItemFromMediaInfo:successBlock:failureBlock:]):
(-[WKFileUploadPanel _displayStringForPhotos:videos:]):
Processing selections from the image picker to FileUploadItems.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168180
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 2 May 2014 19:01:10 +0000 (19:01 +0000)]
Remove unsuccessful build fix attempts
https://bugs.webkit.org/show_bug.cgi?id=132476
Reviewed by Dan Bernstein.
* WebKit.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168179
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Fri, 2 May 2014 18:52:10 +0000 (18:52 +0000)]
Add a DFG function whitelist
https://bugs.webkit.org/show_bug.cgi?id=132437
Reviewed by Geoffrey Garen.
Often times when debugging, using bytecode ranges isn't enough to narrow down to the
particular DFG block that's causing issues. This patch adds the ability to whitelist
specific functions specified in a file to enable further filtering without having to recompile.
* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGCapabilities.cpp:
(JSC::DFG::isSupported):
(JSC::DFG::mightInlineFunctionForCall):
(JSC::DFG::mightInlineFunctionForClosureCall):
(JSC::DFG::mightInlineFunctionForConstruct):
* dfg/DFGFunctionWhitelist.cpp: Added.
(JSC::DFG::FunctionWhitelist::ensureGlobalWhitelist):
(JSC::DFG::FunctionWhitelist::FunctionWhitelist):
(JSC::DFG::FunctionWhitelist::parseFunctionNamesInFile):
(JSC::DFG::FunctionWhitelist::contains):
* dfg/DFGFunctionWhitelist.h: Added.
* runtime/Options.cpp:
(JSC::parse):
(JSC::Options::dumpOption):
* runtime/Options.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168178
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 2 May 2014 18:46:53 +0000 (18:46 +0000)]
Fix several memory leaks found by code inspection
https://bugs.webkit.org/show_bug.cgi?id=132472
Reviewed by Geoffrey Garen.
Fix memory leaks.
* TestWebKitAPI/Tests/mac/WillSendSubmitEvent.mm:
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::willSendRequestForFrame):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::changeWindowScaleIfNeeded):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168177
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 2 May 2014 17:29:22 +0000 (17:29 +0000)]
[iOS WK2] Animations on vox.com look wrong
https://bugs.webkit.org/show_bug.cgi?id=132462
<rdar://problem/
16731884>
Reviewed by Sam Weinig.
PlatformCALayerRemote was managing animations incorrectly; aninations
would stick around in m_properties.addedAnimations and get added a second
time by mistake.
Animations have to be managed a little differently to other properties,
since they are not steady-state things. A given commit has to send over
the added and removed animations, and then clear the layer properties.
Do this by adding PlatformCALayerRemote::didCommit(), which is called
after the layer properties have been encoded, and have it clear the lists
of added and removed animations.
removeAnimationForKey() also has to remove the animation from addedAnimations
so that an add/remove in the same commit doesn't send the animation to the
UI process.
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
(WebKit::PlatformCALayerRemote::didCommit):
(WebKit::PlatformCALayerRemote::removeAnimationForKey):
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168175
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 2 May 2014 17:29:20 +0000 (17:29 +0000)]
[iOS WK2] Can't scroll on gatesnotes.com
https://bugs.webkit.org/show_bug.cgi?id=132459
<rdar://problem/
16770909>
Reviewed by Benjamin Poulain.
The custom UIView hit-testing code was finding views that were created by
the compositing code for clipping, above the UIScrollViews. We only ever
need to find UIScrollViews here for touch overflow-scrolling, so constrain
the hit-testing code to only return UIScrollViews.
* UIProcess/ios/RemoteLayerTreeHostIOS.mm:
(-[UIView _recursiveFindDescendantScrollViewAtPoint:withEvent:]):
(-[UIView _findDescendantViewAtPoint:withEvent:]):
(-[UIView _recursiveFindDescendantViewAtPoint:withEvent:]): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168174
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 2 May 2014 17:27:40 +0000 (17:27 +0000)]
Unreviewed, rolling out r168150.
https://bugs.webkit.org/show_bug.cgi?id=132471
This test is still broken (Requested by ap on #webkit).
Reverted changeset:
"REGRESSION(r125251): It made svg/custom/use-instanceRoot-as-
event-target.xhtml assert and flakey"
https://bugs.webkit.org/show_bug.cgi?id=93812
http://trac.webkit.org/changeset/168150
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168173
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 2 May 2014 17:23:30 +0000 (17:23 +0000)]
DFGAbstractInterpreter should not claim Int52 arithmetic creates Int52s
https://bugs.webkit.org/show_bug.cgi?id=132446
Reviewed by Mark Hahnenberg.
Source/JavaScriptCore:
Basically any arithmetic operation can turn an Int52 into an Int32 or vice-versa, and
our modeling of Int52Rep nodes is such that they can have either Int32 or Int52 type
to indicate a bound on the value. This is useful for knowing, for example, that
Int52Rep(Int32:) returns a value that cannot be outside the Int32 range. Also,
ValueRep(Int52Rep:) uses this to determine whether it may return a double or an int.
But this means that all arithmetic operations must be careful to note that they may
turn Int32 inputs into an Int52 output or vice-versa, as these new tests show.
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::makeSafe):
* tests/stress/int52-ai-add-then-filter-int32.js: Added.
(foo):
* tests/stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js: Added.
(foo):
* tests/stress/int52-ai-mul-then-filter-int32-directly.js: Added.
(foo):
* tests/stress/int52-ai-mul-then-filter-int32.js: Added.
(foo):
* tests/stress/int52-ai-neg-then-filter-int32.js: Added.
(foo):
* tests/stress/int52-ai-sub-then-filter-int32.js: Added.
(foo):
Tools:
Test the FTL by default now that it's enabled by default.
* Scripts/run-javascriptcore-tests:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168172
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Fri, 2 May 2014 16:19:32 +0000 (16:19 +0000)]
AX: WK2: iOS web page scrolling doesn't work with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=132028
Reviewed by Mario Sanchez Prada.
With the AX tree residing in the WebProcess, scrolling needs to be implemented in
WebCore using accessibilityScroll: in order for accessibility clients to scroll through the AX API.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::scrollViewAncestor):
(WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
* accessibility/AccessibilityObject.h:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _accessibilityConvertPointToViewSpace:]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollToVisible]):
(-[WebAccessibilityObjectWrapper accessibilityScroll:]):
(-[WebAccessibilityObjectWrapper postScrollStatusChangeNotification]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollPosition]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollSize]):
(-[WebAccessibilityObjectWrapper _accessibilityScrollVisibleRect]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168171
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 2 May 2014 16:04:09 +0000 (16:04 +0000)]
Web Inspector: CodeMirror 4 CSS mode new state data structure breaks helpers.
https://bugs.webkit.org/show_bug.cgi?id=132149
Patch by Jono Wells <jonowells@apple.com> on 2014-05-02
Reviewed by Joseph Pecoraro.
The update to CodeMirror 4 included dramatic changes to the CSS mode,
particularly the way it handles tokens. `state.stack` is gone, replaced
by `state.context`.
* Tools/PrettyPrinting/CodeMirrorFormatters.js:
* Tools/PrettyPrinting/codemirror.js:
* UserInterface/External/CodeMirror/codemirror.js:
* UserInterface/External/CodeMirror/livescript.js:
* UserInterface/External/CodeMirror/runmode.js:
Updates from ToT CodeMirror.
* UserInterface/Controllers/CodeMirrorCompletionController.js:
(WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):
* UserInterface/Views/CodeMirrorAdditions.js:
* UserInterface/Views/CodeMirrorFormatters.js: `lastToken` is null now for ":" characters.
Changes to match structural changes to the state object and changes to expected values of `lastToken`.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168170
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jeremyj@apple.com [Fri, 2 May 2014 13:52:01 +0000 (13:52 +0000)]
Pause playback on exit fullscreen when inline playback not allowed.
https://bugs.webkit.org/show_bug.cgi?id=132450
Reviewed by Jer Noble.
Use correct method of determining if inline playback is allowed.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
Use m_mediaSession->requiresFullscreenForVideoPlayback to detect if inline playback is allowed.
* platform/ios/WebVideoFullscreenModelMediaElement.mm:
(WebVideoFullscreenModelMediaElement::requestExitFullscreen):
Prevent duplicate exit requests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168169
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 2 May 2014 12:03:07 +0000 (12:03 +0000)]
REGRESSION(r168118): [GTK] build broken due to shouldTrackVisitedLinks
https://bugs.webkit.org/show_bug.cgi?id=132447
Unreviewed GTK build fix.
shouldTrackVisitedLinks was removed on r168118.
Visited link coloring works as expected after this change.
Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-02
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess): Remove
shouldTrackVisitedLinks parameter.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168168
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 2 May 2014 09:35:34 +0000 (09:35 +0000)]
[CSS Blending] Remove support for non-separable blend modes from background-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=132327
Patch by Ion Rosca <rosca@adobe.com> on 2014-05-02
Reviewed by Dean Jackson.
Source/WebCore:
Removed support for non-separable background blend modes from the CSS parser.
Covered by existing tests.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFillProperty):
LayoutTests:
* css3/compositing/background-blend-mode-gif-color-2.html:
* css3/compositing/background-blend-mode-gif-color.html:
* css3/compositing/background-blend-mode-gradient-color.html:
* css3/compositing/background-blend-mode-gradient-gradient.html:
* css3/compositing/background-blend-mode-gradient-image.html:
* css3/compositing/background-blend-mode-image-color.html:
* css3/compositing/background-blend-mode-image-image.html:
* css3/compositing/background-blend-mode-image-svg.html:
* css3/compositing/background-blend-mode-multiple-background-layers.html:
* css3/compositing/background-blend-mode-property-expected.txt:
* css3/compositing/background-blend-mode-property-parsing-expected.txt:
* css3/compositing/background-blend-mode-svg-color.html:
* css3/compositing/effect-background-blend-mode-tiled.html:
* css3/compositing/effect-background-blend-mode.html:
* css3/compositing/script-tests/background-blend-mode-property-parsing.js:
* css3/compositing/script-tests/background-blend-mode-property.js:
* platform/mac/css3/compositing/background-blend-mode-gif-color-2-expected.png:
* platform/mac/css3/compositing/background-blend-mode-gif-color-2-expected.txt:
* platform/mac/css3/compositing/background-blend-mode-gif-color-expected.png:
* platform/mac/css3/compositing/background-blend-mode-gif-color-expected.txt:
* platform/mac/css3/compositing/background-blend-mode-gradient-color-expected.png:
* platform/mac/css3/compositing/background-blend-mode-gradient-gradient-expected.png:
* platform/mac/css3/compositing/background-blend-mode-gradient-image-expected.png:
* platform/mac/css3/compositing/background-blend-mode-image-color-expected.png:
* platform/mac/css3/compositing/background-blend-mode-image-color-expected.txt:
* platform/mac/css3/compositing/background-blend-mode-image-image-expected.png:
* platform/mac/css3/compositing/background-blend-mode-image-image-expected.txt:
* platform/mac/css3/compositing/background-blend-mode-image-svg-expected.png:
* platform/mac/css3/compositing/background-blend-mode-multiple-background-layers-expected.png:
* platform/mac/css3/compositing/background-blend-mode-svg-color-expected.png:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168167
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Fri, 2 May 2014 08:59:29 +0000 (08:59 +0000)]
Clean up #include <OwnPtr.h>|<PassOwnPtr.h> in Supplementable classes
https://bugs.webkit.org/show_bug.cgi?id=132466
Reviewed by Tim Horton.
Since r168144, Supplementable classes don't need to include OwnPtr.h or PassOwnPtr.h.
Clean up those inclusions.
No new tests, just clean up patch.
* Modules/encryptedmedia/CDMPrivate.h:
* Modules/gamepad/NavigatorGamepad.cpp:
* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::create): Deleted. Don't need to have a factory function.
* Modules/geolocation/GeolocationController.h:
* Modules/mediasource/MediaSource.h:
* Modules/mediastream/UserMediaController.h:
* Modules/notifications/NotificationCenter.h:
* Modules/notifications/NotificationController.cpp:
* Modules/quota/StorageErrorCallback.h:
* Modules/vibration/Vibration.h:
* Modules/webdatabase/Database.cpp:
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
* Modules/websockets/WebSocket.cpp:
* Modules/websockets/WebSocket.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168166
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 2 May 2014 06:23:31 +0000 (06:23 +0000)]
More 32-bit build fixes.
* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController sharingService:didShareItems:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168157
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 2 May 2014 05:55:44 +0000 (05:55 +0000)]
Added Radar link to the last ChangeLog entry.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168154
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 2 May 2014 05:55:37 +0000 (05:55 +0000)]
Temporarily "fix" the 32-bit build.
* Misc/WebSharingServicePickerController.mm:
This will fail miserably at runtime, but we shouldn't ever get here in a 32-bit process.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168153
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 2 May 2014 05:53:08 +0000 (05:53 +0000)]
Fixed production builds for the iOS Simulator.
* Configurations/bmalloc.xcconfig: Include INSTALL_PATH_PREFIX in
PRIVATE_HEADERS_FOLDER_PATH when installing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168152
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Fri, 2 May 2014 05:49:24 +0000 (05:49 +0000)]
Remove TiledBackingStore stuff from Frame
https://bugs.webkit.org/show_bug.cgi?id=132458
Reviewed by Andreas Kling.
Although TiledBackingStore is using for the CoordinatedGraphics,
CoordinatedGraphics does not use tiledBackingStore of Frame.
This patch removed TiledBackingStore related code of the Frame.
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::setView):
(WebCore::Frame::setTiledBackingStoreEnabled): Deleted.
(WebCore::Frame::tiledBackingStorePaintBegin): Deleted.
(WebCore::Frame::tiledBackingStorePaint): Deleted.
(WebCore::Frame::tiledBackingStorePaintEnd): Deleted.
(WebCore::Frame::tiledBackingStoreContentsRect): Deleted.
(WebCore::Frame::tiledBackingStoreVisibleRect): Deleted.
(WebCore::Frame::tiledBackingStoreBackgroundColor): Deleted.
* page/Frame.h:
(WebCore::Frame::tiledBackingStore): Deleted.
* page/FrameView.cpp:
(WebCore::FrameView::repaintContentRectangle):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setTiledBackingStoreEnabled): Deleted.
* page/Settings.h:
(WebCore::Settings::tiledBackingStoreEnabled): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168151
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Fri, 2 May 2014 05:19:18 +0000 (05:19 +0000)]
REGRESSION(r125251): It made svg/custom/use-instanceRoot-as-event-target.xhtml assert and flakey
https://bugs.webkit.org/show_bug.cgi?id=93812
This is most likely fixed, unmarking the test.
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168150
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Fri, 2 May 2014 04:23:34 +0000 (04:23 +0000)]
Migrate all uses of DeviceMotionController and DeviceOrientationController to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=132461
Unreviewed build fix.
No new tests.
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
* platform/ios/DeviceMotionClientIOS.h:
(WebCore::DeviceMotionClientIOS::create): Deleted.
* platform/ios/DeviceOrientationClientIOS.h:
(WebCore::DeviceOrientationClientIOS::create): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168148
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Fri, 2 May 2014 03:31:43 +0000 (03:31 +0000)]
Update service picker API usage.
<rdar://problem/
16772674> and https://bugs.webkit.org/show_bug.cgi?id=132452
Reviewed by Tim Horton.
* Misc/WebSharingServicePickerController.h:
* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController didShareImageData:confirmDataIsValidTIFFData:]):
Factor out a common "didShare" handler that optionally validates whether the data represents an image.
(-[WebSharingServicePickerController sharingService:didShareItems:]): Update API usage, including marshalling
on off-main thread call back to the main thread.
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::contextMenuForEvent): Update API usage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168145
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Fri, 2 May 2014 02:28:49 +0000 (02:28 +0000)]
Convert OwnPtr and PassOwnPtr uses to std::unique_ptr in Supplement
https://bugs.webkit.org/show_bug.cgi?id=132165
Reviewed by Darin Adler.
According to convert from PassOwnPtr to std::unique_ptr, provideTo() callers also begin
to use std::make_unique.
* Modules/battery/BatteryController.cpp:
(WebCore::provideBatteryTo):
* Modules/battery/BatteryController.h:
* Modules/battery/NavigatorBattery.cpp:
(WebCore::NavigatorBattery::from):
* Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::from):
* Modules/geolocation/GeolocationController.cpp:
(WebCore::provideGeolocationTo):
* Modules/geolocation/GeolocationController.h:
* Modules/geolocation/NavigatorGeolocation.cpp:
(WebCore::NavigatorGeolocation::from):
* Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::from):
* Modules/indexeddb/PageGroupIndexedDatabase.cpp:
(WebCore::PageGroupIndexedDatabase::from):
* Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
(WebCore::WorkerGlobalScopeIndexedDatabase::from):
* Modules/mediastream/UserMediaController.cpp:
(WebCore::provideUserMediaTo):
(WebCore::UserMediaController::create): Deleted.
* Modules/mediastream/UserMediaController.h:
* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::provideNavigatorContentUtilsTo):
(WebCore::NavigatorContentUtils::create): Deleted.
* Modules/navigatorcontentutils/NavigatorContentUtils.h:
* Modules/notifications/DOMWindowNotifications.cpp:
(WebCore::DOMWindowNotifications::from):
* Modules/notifications/NotificationController.cpp:
(WebCore::provideNotification):
(WebCore::NotificationController::create): Deleted.
* Modules/notifications/NotificationController.h:
* Modules/notifications/WorkerGlobalScopeNotifications.cpp:
(WebCore::WorkerGlobalScopeNotifications::from):
* Modules/proximity/DeviceProximityController.cpp:
(WebCore::provideDeviceProximityTo):
(WebCore::DeviceProximityController::create): Deleted.
* Modules/proximity/DeviceProximityController.h:
* Modules/quota/DOMWindowQuota.cpp:
(WebCore::DOMWindowQuota::from):
* Modules/quota/NavigatorStorageQuota.cpp:
(WebCore::NavigatorStorageQuota::from):
* Modules/quota/WorkerNavigatorStorageQuota.cpp:
(WebCore::WorkerNavigatorStorageQuota::from):
* Modules/speech/DOMWindowSpeechSynthesis.cpp:
(WebCore::DOMWindowSpeechSynthesis::from):
* Modules/speech/SpeechRecognitionController.cpp:
(WebCore::provideSpeechRecognitionTo):
* Modules/vibration/Vibration.cpp:
(WebCore::provideVibrationTo):
(WebCore::Vibration::create): Deleted.
* Modules/vibration/Vibration.h:
* dom/DeviceMotionController.cpp:
(WebCore::provideDeviceMotionTo):
(WebCore::DeviceMotionController::create): Deleted.
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
(WebCore::provideDeviceOrientationTo):
(WebCore::DeviceOrientationController::create): Deleted.
* dom/DeviceOrientationController.h:
* page/SpeechInput.cpp:
(WebCore::provideSpeechInputTo):
(WebCore::SpeechInput::create): Deleted.
* page/SpeechInput.h:
* platform/Supplementable.h:
(WebCore::Supplement::provideTo):
(WebCore::Supplementable::provideSupplement):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::from):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168144
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Fri, 2 May 2014 01:45:13 +0000 (01:45 +0000)]
Correct case of environment variables in auto-version.sh scripts
https://bugs.webkit.org/show_bug.cgi?id=132455
Reviewed by Dean Jackson.
Although we have historically used RC_PROJECTSOURCEVERSION in our scripts,
the actual environment variable is RC_ProjectSourceVersion. Old versions of
Cygwin converted this to all-caps by default, but this is no longer the case.
We need to use the proper case to avoid build failures.
* win/tools/scripts/auto-version.sh: Although we have historically coded
this as 'RC_PROJECTSOURCEVERSION', it is actually 'RC_ProjectSourceVersion'.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168143
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enrica@apple.com [Fri, 2 May 2014 01:40:13 +0000 (01:40 +0000)]
REGRESSION (WebKit2) Need to support Learn button.
https://bugs.webkit.org/show_bug.cgi?id=132454
<rdar://problem/
16778889>
Reviewed by Benjamin Poulain.
For traditional Chinese we support the ability to add shortcuts
for typing. This is done by pressing the Learn button on the system
menu. This patch adds the necessary code to canPerformAction to enable
the button when appropriate as well as the implementation of the action
itself.
It also adds a check for the Replace button not to be shown when the
selection only contains CJ characters.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _addShortcut:]):
(-[WKContentView canPerformAction:withSender:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168142
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryuan.choi@samsung.com [Fri, 2 May 2014 01:21:53 +0000 (01:21 +0000)]
[EFL][WK1] Drop ewk_view_setting_tiled_backingstore APIs
https://bugs.webkit.org/show_bug.cgi?id=132240
Reviewed by Anders Carlsson.
Source/WebKit/efl:
Since we moved to use TextureMapper, this option is meaningless now.
Removed ewk_view_setting_tiled_backing_store_enabled_{get|set} and related codes.
* ewk/ewk_view.cpp:
(ewk_view_setting_tiled_backing_store_enabled_set): Deleted.
(ewk_view_setting_tiled_backing_store_enabled_get): Deleted.
* ewk/ewk_view.h:
* tests/test_ewk_view.cpp:
(TEST_F): Deleted.
Tools:
Removed ewk_view_setting_tiled_backingstore related code.
* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::createView):
(shouldUseTiledBackingStore): Deleted.
* EWebLauncher/main.c:
(windowCreate):
(parseUserArguments):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168139
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 2 May 2014 00:34:03 +0000 (00:34 +0000)]
Support OS-version-specific install paths for WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=132448
<rdar://problem/
16784932>
Reviewed by Dan Bernstein.
Source/WebKit:
* WebKit.xcodeproj/project.pbxproj:
Add a build step to put a symlink in place from PrivateFrameworks to Frameworks.
Source/WebKit/mac:
* WebKitLegacy/WebKit.m:
Add version specific install names.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168138
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Fri, 2 May 2014 00:04:19 +0000 (00:04 +0000)]
HTMLMediaElement: Remove two unnecessary virtual overrides.
<https://webkit.org/b/132445>
Now that ENABLE_PLUGIN_PROXY_FOR_VIDEO is gone, we can remove
these overrides:
- defaultEventHandler()
- willRespondToMouseClickEvents()
Reviewed by Darin Adler.
* html/HTMLMediaElement.cpp:
* html/HTMLMediaElement.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168137
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 1 May 2014 23:59:43 +0000 (23:59 +0000)]
ViewportConfiguration::minimumScale() uses the initial scale as initial value
https://bugs.webkit.org/show_bug.cgi?id=132451
<rdar://problem/
16780111>
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-01
Reviewed by Enrica Casucci.
* page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::minimumScale):
The initial minimum scale was set to the initial scale, preventing some pages from zooming
out.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168136
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 1 May 2014 23:59:06 +0000 (23:59 +0000)]
[iOS][WK2] Tweak the extended background exclusion for MobileSafari
https://bugs.webkit.org/show_bug.cgi?id=132449
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-01
Reviewed by Beth Dakin.
Some tweaks for Mobile:
-Use UIViews instead of CALayers to have the same animation timing as the top views.
-The left extended background insets should not exclude the top and bottom insets.
Since this code is in the middle of 2 hot paths, also added some performance tweaks.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
In the normal case, we do not have extended background exclusion. To avoid creating a background view, we use
the scrollview to render the background.
The separate background view is created lazily if needed.
(-[WKWebView _updateScrollViewBackground]):
(-[WKWebView _frameOrBoundsChanged]):
(updateTopAndBottomExtendedBackgroundExclusionIfNecessary):
This create the top and bottom extended background view as needed and update their frames for the current insets.
(-[WKWebView _setObscuredInsets:]):
(-[WKWebView _setExtendedBackgroundExclusionInsets:]):
When an exclusion inset is needed, create a view for it, transfer the color from the ScrollView, and reset the color
of the scrollview.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168135
268f45cc-cd09-0410-ab3c-
d52691b4dbfc