Timeline
May 4, 2014:
- 11:46 PM WebKitGTK/2.4.x edited by
- (diff)
- 11:45 PM Changeset in webkit [168258] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2
Merge r167884 - [GTK][WK2] Missing return statement in webkit_plugin_get_description()
https://bugs.webkit.org/show_bug.cgi?id=132263
Reviewed by Carlos Garcia Campos.
- UIProcess/API/gtk/WebKitPlugin.cpp:
(webkit_plugin_get_description): Actually return the data of the cached
plugin description CString.
- 11:42 PM WebKitGTK/2.4.x edited by
- (diff)
- 11:42 PM Changeset in webkit [168257] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2
Merge r167883 - [GTK] Crash in debug build with removing windowed plugin child widgets from the view
https://bugs.webkit.org/show_bug.cgi?id=132252
Reviewed by Philippe Normand.
It crashes due to an assert in HashTable that checks the iterators
validity. The problem is that we are iterating the children map
and the callback called on every iteration might modify the map,
making the iterators invalid. This happens when the WebView is
destroyed, GtkContainer calls gtk_container_foreach() with
gtk_widget_destroy as callback. When a widget inside a container
is destroyed, it's removed from the container, and in our case,
the child widget is removed from the map. This fixes several
crashes when running layout tests in debug bot.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseContainerForall): Use copyKeysToVector() instead
of using a range iterator for the map keys and check in every
iteration that the child widget from the keys vector is still
present in the map before calling the callback.
- 11:24 PM Changeset in webkit [168256] by
-
- 10 edits in trunk/Source
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):
- 11:10 PM Changeset in webkit [168255] by
-
- 7 edits9 deletes in trunk
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
- 9:54 PM Changeset in webkit [168254] by
-
- 7 edits9 adds in trunk
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.
- 8:49 PM Changeset in webkit [168253] by
-
- 2 edits in trunk/Source/WebCore
[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):
- 6:16 PM Changeset in webkit [168252] by
-
- 3 edits in trunk/Source/WebCore
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.
- 5:43 PM Changeset in webkit [168251] by
-
- 2 edits in trunk/LayoutTests
Mark compositing/visibility/visibility-image-layers-dynamic.html as failing after r168244.
- 5:42 PM Changeset in webkit [168250] by
-
- 2 edits in trunk/Source/WebKit2
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):
- 5:21 PM Changeset in webkit [168249] by
-
- 2 edits in trunk/Source/WebCore
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.
- 3:53 PM Changeset in webkit [168248] by
-
- 19 edits in trunk/Source
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:
- 3:39 PM Changeset in webkit [168247] by
-
- 3 edits in trunk/LayoutTests
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:
- 2:16 PM Changeset in webkit [168246] by
-
- 9 edits in trunk/LayoutTests
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:
- 2:01 PM Changeset in webkit [168245] by
-
- 9 edits in trunk/Source/WebCore
[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.
- 1:40 PM Changeset in webkit [168244] by
-
- 245 edits in trunk
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:
- 12:44 PM Changeset in webkit [168243] by
-
- 6 edits in trunk/Source/WebCore
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):
- 2:04 AM Changeset in webkit [168242] by
-
- 8 edits in trunk/Source/WebCore
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:
May 3, 2014:
- 11:26 PM Changeset in webkit [168241] by
-
- 19 edits in trunk/Source
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
- 9:22 PM Changeset in webkit [168240] by
-
- 5 edits in branches/safari-537.76-branch/Source
Versioning.
- 9:19 PM Changeset in webkit [168239] by
-
- 1 copy in tags/Safari-537.76.1
New tag.
- 8:49 PM Changeset in webkit [168238] by
-
- 2 edits in branches/safari-537.76-branch/Source/WebCore
Follow-up fix for the merge of r167480.
Rubber stamped by Tim Horton.
- platform/KURL.cpp:
(WebCore::KURL::host): Return empty string instead of null string.
- 8:43 PM Changeset in webkit [168237] by
-
- 6 edits in trunk/Source/WebCore
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:
- 8:25 PM Changeset in webkit [168236] by
-
- 3 edits2 adds in trunk
CSS JIT: optimize direct / indirect adjacent's traversal backtracking
https://bugs.webkit.org/show_bug.cgi?id=132319
Patch by Yusuke Suzuki <Yusuke Suzuki> 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) WhentagNameMatchedBacktrackingStartHeightFromDescendant==
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 ifhasDescendantRelationOnTheRightis 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.
- 8:22 PM Changeset in webkit [168235] by
-
- 2 edits in trunk/Source/WebCore
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):
- 6:55 PM Changeset in webkit [168234] by
-
- 3 edits in trunk/Source/WebKit2
[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.
- 6:48 PM Changeset in webkit [168233] by
-
- 6 edits in trunk/Source/WebCore
[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.
- 5:17 PM Changeset in webkit [168232] by
-
- 19 edits in trunk/Source
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:
- 5:13 PM Changeset in webkit [168231] by
-
- 3 edits in trunk/Source/WebKit2
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.
- 3:16 PM Changeset in webkit [168230] by
-
- 5 edits2 adds in trunk
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.
- 1:46 PM Changeset in webkit [168229] by
-
- 9 edits3 copies in trunk/Source/WebKit2
[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:
- 1:32 PM Changeset in webkit [168228] by
-
- 5 edits in trunk
[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:
- 1:32 PM Changeset in webkit [168227] by
-
- 5 edits2 adds in trunk
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.
- 12:13 PM Changeset in webkit [168226] by
-
- 2 edits in trunk/Source/WebCore
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]):
- 11:52 AM Changeset in webkit [168225] by
-
- 2 edits in trunk
[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.
- 10:40 AM Changeset in webkit [168224] by
-
- 2 edits in tags/Safari-538.33.1/Source/bmalloc
Merged r168152.
- 10:36 AM Changeset in webkit [168223] by
-
- 1 edit2 adds in trunk/LayoutTests
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.
- 3:37 AM Changeset in webkit [168222] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix GTK+ build after r168209.
- platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBDatabase::write):
- 12:47 AM Changeset in webkit [168221] by
-
- 2 edits in trunk/Source/WebCore
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):