Timeline
Apr 14, 2014:
- 11:57 PM Changeset in webkit [167302] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Attempt to fix Windows build after r167277.
- page/FrameView.cpp:
(WebCore::FrameView::willPaintContents):
- 11:51 PM Changeset in webkit [167301] by
-
- 2 edits in trunk/Tools
Remove Gtk WebKit1 tester.
Gtk WebKit1 port no longer exists, and dashboard was trying to load its tester
results over and over as fast as it could.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
- 11:40 PM Changeset in webkit [167300] by
-
- 2 edits in trunk/Tools
Wrong link for webkitpy tests results in dashboard popover
https://bugs.webkit.org/show_bug.cgi?id=131664
Reviewed by Timothy Hatcher.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
(BuildbotTesterQueueView.prototype._presentPopoverForMultipleFailureKinds):
Use a correct link.
- 11:24 PM Changeset in webkit [167299] by
-
- 4 edits1 delete in trunk
Unreviewed, rolling out r167261.
https://bugs.webkit.org/show_bug.cgi?id=131667
broke many navigation tests (Requested by ap on #webkit).
Reverted changeset:
"Web Replay: memoize fallback time values for
document.lastModified"
https://bugs.webkit.org/show_bug.cgi?id=131318
http://trac.webkit.org/changeset/167261
- 11:13 PM Changeset in webkit [167298] by
-
- 10 edits in trunk/Source
[iOS WK2] Pages often blank on first load if page loaded by typing the URL
https://bugs.webkit.org/show_bug.cgi?id=131665
Reviewed by Tim Horton.
The document overlay-related code in RemoteLayerTreeDrawingArea::setRootCompositingLayer()
was triggering a compositing layer flush when called with a null rootLayer, which happens
for pages going into the page cache. This would trigger a layer flush that would clobber
the root layer for the visible page, resulting in missing content.
Also, rebuildCompositingLayerTree() is called recursively and the m_documentOverlayRootLayer
was being added to (and then removed from) every single compositing layers.
Fix both these by changing to a pull model, where RenderLayerCompositor requests
the overlay layer via ChromeClient, and gets it at the end of every flush,
adding to the children of the root layer.
Source/WebCore:
- WebCore.exp.in:
- page/ChromeClient.h:
(WebCore::ChromeClient::documentOverlayLayerForFrame):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::flushPendingLayerChanges): Put visibleRect
into a variable for ease of debugging.
(WebCore::RenderLayerCompositor::updateCompositingLayers): Asser
that we're not in the page cache (this would have caught the bug).
(WebCore::RenderLayerCompositor::appendOverlayLayers):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::setDocumentOverlayRootLayer): Deleted.
- rendering/RenderLayerCompositor.h:
Source/WebKit2:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::documentOverlayLayerForFrame):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
- 11:13 PM Changeset in webkit [167297] by
-
- 5 edits3 deletes in trunk
Unreviewed, rolling out r167272.
https://bugs.webkit.org/show_bug.cgi?id=131666
Broke multiple tests (Requested by ap on #webkit).
Reverted changeset:
"Function.bind itself is too slow"
https://bugs.webkit.org/show_bug.cgi?id=131636
http://trac.webkit.org/changeset/167272
- 10:47 PM Changeset in webkit [167296] by
-
- 2 edits in trunk/Tools
Update webkitpy regression test result that started to fail after http://trac.webkit.org/r167243
I'm not sure whether the changes are desirable, but am not suspicious enough to roll out.
- Scripts/webkitpy/common/checkout/checkout_unittest.py:
(CommitMessageForThisCommitTest):
- 10:23 PM Changeset in webkit [167295] by
-
- 7 edits2 adds in trunk
Assertion failure under FEImage::determineAbsolutePaintRect()
<https://bugs.webkit.org/show_bug.cgi?id=131660>
<rdar://problem/15669294>
Source/WebCore:
This patch merges Chromium r149536 (see
<https://chromiumcodereview.appspot.com/14701012>), which moves
m_absoluteTransform out of SVGFilter and into the base Filter class, so
that it isn't necessary to cast a Filter to SVGFilter to get the
absolute transform.
Reviewed by Geoffrey Garen.
Test: svg/filters/feImage-filter-assertion.html
- platform/graphics/filters/Filter.h:
(WebCore::Filter::Filter):
Changed to take the absolute transform.
(WebCore::Filter::absoluteTransform):
Moved from SVGFilter.
(WebCore::Filter::mapAbsolutePointToLocalPoint):
Ditto.
- rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::FilterEffectRenderer):
Pass a default AffineTransform() to the Filter base class.
- svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::determineAbsolutePaintRect):
Use the Filter without casting it to SVGFilter.
(WebCore::FEImage::platformApplySoftware):
Ditto.
- svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::SVGFilter):
Pass the transform to the base class, and remove initialization of a
removed member var.
- svg/graphics/filters/SVGFilter.h:
Member var moved to Filter.h.
LayoutTests:
Reviewed by Geoffrey Garen.
- svg/filters/feImage-filter-assertion-expected.txt: Added.
- svg/filters/feImage-filter-assertion.html: Added.
- 10:01 PM April 2014 Meeting edited by
- (diff)
- 9:31 PM Changeset in webkit [167294] by
-
- 29 edits in trunk/Source/WebInspectorUI
Update to CodeMirror 4.0.
https://bugs.webkit.org/show_bug.cgi?id=130019
The CodeMirror 4.0 library adds multiple selections and the ability to
undo/redo selections. Selections are made by holding the Command (Cmd) key
and clicking into an editor, or by holding Option (Alt) and making a block
selection followed by entering a character or moving the cursor.
Patch by Jono Wells <jonowells@apple.com> on 2014-04-14
Reviewed by Timothy Hatcher.
- Scripts/update-codemirror-resources.rb:
- Scripts/update-pretty-printer.rb:
Update scripts to reflect updated locations for CodeMirror files.
No longer copies LESS mode file as this has been integrated into CSS mode
in CodeMirror 4.0.
- Tools/PrettyPrinting/codemirror.css:
- Tools/PrettyPrinting/codemirror.js:
- Tools/PrettyPrinting/css.js:
- Tools/PrettyPrinting/javascript.js:
- UserInterface/External/CodeMirror/clojure.js:
- UserInterface/External/CodeMirror/closebrackets.js:
- UserInterface/External/CodeMirror/codemirror.css:
- UserInterface/External/CodeMirror/codemirror.js:
- UserInterface/External/CodeMirror/coffeescript.js:
- UserInterface/External/CodeMirror/comment.js:
- UserInterface/External/CodeMirror/css.js:
- UserInterface/External/CodeMirror/htmlmixed.js:
- UserInterface/External/CodeMirror/javascript.js:
- UserInterface/External/CodeMirror/livescript.js:
- UserInterface/External/CodeMirror/matchbrackets.js:
- UserInterface/External/CodeMirror/overlay.js:
- UserInterface/External/CodeMirror/placeholder.js:
- UserInterface/External/CodeMirror/runmode.js:
- UserInterface/External/CodeMirror/sass.js:
- UserInterface/External/CodeMirror/searchcursor.js:
- UserInterface/External/CodeMirror/sql.js:
- UserInterface/External/CodeMirror/xml.js:
Update to CodeMirror 4.0.
- UserInterface/Main.html: Remove less.js which is now part of css.js.
- UserInterface/Views/CSSStyleDeclarationTextEditor.css:
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype.):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateJumpToSymbolTrackingMode):
- UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
Update styles to match CodeMirror changes. Update CSSStyleDeclarationTextEditor.js
to match CodeMirror API updates (doc.removeLine() has been removed, so
replaceRange() is used instead). Also the tokenTrackingController is now enabled in the
CSSStyleDeclarationTextEditor and SourceCodeTextEditor when the Option (Alt) key
is pressed instead of the Command (Cmd) key so as not to conflict with multiple
cursor placement in the CodeMirror update.
- 8:53 PM Changeset in webkit [167293] by
-
- 2 edits in trunk/Source/JavaScriptCore
ASSERT when firing low memory warning
https://bugs.webkit.org/show_bug.cgi?id=131659
Reviewed by Mark Hahnenberg.
- heap/Heap.cpp:
(JSC::Heap::deleteAllCompiledCode): Allow deleteAllCompiledCode to be
called when no GC is happening because that is what we do when a low
memory warning fires, and it is harmless.
- 8:52 PM Changeset in webkit [167292] by
-
- 16 edits in trunk
MallocBench should scavenge explicitly instead of waiting
https://bugs.webkit.org/show_bug.cgi?id=131661
Reviewed by Andreas Kling.
PerformanceTests:
- MallocBench/MallocBench.xcodeproj/project.pbxproj: Don't build mbmalloc
by default because it will overwrite any other mbmalloc you're working
with in the WebKitBuild directory.
- MallocBench/MallocBench/Benchmark.cpp:
(Benchmark::run): Scavenge explicitly instead of waiting. This is faster,
and it's the only way to get FastMalloc to scavenge. (That's a bug in
FastMalloc, but we don't want it to interfere with broader testing.)
- MallocBench/MallocBench/mbmalloc.cpp:
- MallocBench/MallocBench/mbmalloc.h: Added a scavenge implementation
for system malloc.
Source/bmalloc:
Added explicit scavenge support to bmalloc. This isn't a memory win,
since bmalloc's per-thread cache is so small. But it makes testing
simpler.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::~Allocator):
(bmalloc::Allocator::scavenge):
- bmalloc/Allocator.h:
- bmalloc/Cache.cpp:
(bmalloc::Cache::operator new):
(bmalloc::Cache::operator delete):
(bmalloc::Cache::Cache):
(bmalloc::Cache::scavenge):
- bmalloc/Cache.h:
- bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::~Deallocator):
(bmalloc::Deallocator::scavenge):
- bmalloc/Deallocator.h: Factored existing scavenging code into helper
functions, for reuse.
- bmalloc/Heap.cpp:
(bmalloc::sleep):
(bmalloc::Heap::concurrentScavenge):
(bmalloc::Heap::scavenge):
(bmalloc::Heap::scavengeSmallPages):
(bmalloc::Heap::scavengeMediumPages):
(bmalloc::Heap::scavengeLargeRanges):
- bmalloc/Heap.h: Made scavenge sleep duration a parameter. Forced
scavenging -- in response to a benchmark or a low memory warning --
wants to complete as soon as possible, so its sleep duration is 0.
- bmalloc/bmalloc.h:
(bmalloc::api::scavenge):
- bmalloc/mbmalloc.cpp: Exported the scavenge API for MallocBench's use.
- 8:06 PM Changeset in webkit [167291] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r158617): Find on Page can get stuck in a loop when the search string occurs in an <input> in a <fieldset>
https://bugs.webkit.org/show_bug.cgi?id=126322
Reviewed by Ryosuke Niwa.
One additional tweak to the fix for the bug above.
Fixes crash in editing/editability/ignored-content.html test.
- html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::canContainRangeEndPoint): Call through to
HTMLElement::canContainRangeEndPoint, bypassing HTMLPlugInElement override
that always returns false. Without this change, this function was always
returning false.
- 7:54 PM Changeset in webkit [167290] by
-
- 4 edits in trunk/Source/WebCore
Crash in TileController::tileRevalidationTimerFired
https://bugs.webkit.org/show_bug.cgi?id=131656
<rdar://problem/16583166>
Reviewed by Sam Weinig.
It's possible for the TileController revalidation timer to fire after
the GraphicsLayer has been destroyed, so the PlatformCALayer no longer
has an owningGraphicsLayer.
Bail from the timer callback if owningGraphicsLayer() is null.
Also some drive-by 0 -> nullptr changes.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::willBeDestroyed):
- platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::PlatformCALayer::~PlatformCALayer):
- platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::tileRevalidationTimerFired):
- 7:44 PM Changeset in webkit [167289] by
-
- 3 edits1 add in trunk/Source/bmalloc
Use 4kB pages on Mac
https://bugs.webkit.org/show_bug.cgi?id=131658
Reviewed by Sam Weinig.
This reduces memory use a lot on Membuster:
base patch Δ
Execution Time:
reddit_memory_warning 18ms 17ms 1.06x faster
flickr_memory_warning 34ms 36ms ! 1.06x slower
theverge_memory_warning 39ms 41ms ! 1.05x slower
<geometric mean> 29ms 29ms ! 1.02x slower
<arithmetic mean> 30ms 31ms ! 1.03x slower
<harmonic mean> 27ms 27ms 1.0x faster
Peak Memory:
reddit_memory_warning 16,412kB 16,436kB ! 1.0x bigger
flickr_memory_warning 30,120kB 30,184kB ! 1.0x bigger
theverge_memory_warning 33,408kB 33,420kB ! 1.0x bigger
<geometric mean> 25,466kB 25,499kB ! 1.0x bigger
<arithmetic mean> 26,647kB 26,680kB ! 1.0x bigger
<harmonic mean> 24,181kB 24,214kB ! 1.0x bigger
Memory at End:
reddit_memory_warning 2,404kB 1,920kB 1.25x smaller
flickr_memory_warning 3,764kB 3,072kB 1.23x smaller
theverge_memory_warning 3,648kB 3,132kB 1.16x smaller
<geometric mean> 3,208kB 2,644kB 1.21x smaller
<arithmetic mean> 3,272kB 2,708kB 1.21x smaller
<harmonic mean> 3,139kB 2,574kB 1.22x smaller
- bmalloc.xcodeproj/project.pbxproj:
- bmalloc/BPlatform.h: Added.
- bmalloc/VMAllocate.h: Only use 16kB pages on iOS because the page size
is 4kB on Mac.
- 7:32 PM April 2014 Meeting edited by
- (diff)
- 7:20 PM Changeset in webkit [167288] by
-
- 3 edits in trunk/Source/JavaScriptCore
emit_op_put_by_id should not emit a write barrier that filters on value
https://bugs.webkit.org/show_bug.cgi?id=131654
Reviewed by Filip Pizlo.
The 32-bit implementation does this, and it can cause crashes if we later repatch the
code to allocate and store new Butterflies.
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emitWriteBarrier): We also weren't verifying that the base was a cell on
32-bit if we were passed ShouldFilterBase. I also took the liberty of sinking the tag
load down into the if statement so that we don't do it if we're not filtering on the value.
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_by_id):
- 7:03 PM April 2014 Meeting edited by
- (diff)
- 7:02 PM April 2014 Meeting edited by
- (diff)
- 7:00 PM April 2014 Meeting edited by
- (diff)
- 5:55 PM Changeset in webkit [167287] by
-
- 2 edits in trunk/Source/WebKit2
Fix the 32-bit build.
- UIProcess/mac/ViewGestureControllerMac.mm:
- 5:47 PM Changeset in webkit [167286] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (WebKit2): Programmatic scrolls in overflow-scrolling:touch don't work
https://bugs.webkit.org/show_bug.cgi?id=131649
Reviewed by Tim Horton.
Update the UIScrollView's contentOffset when we're told that the scroll position
changed.
Also refactor slightly to have a single exception-protected block.
- UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
- 5:47 PM Changeset in webkit [167285] by
-
- 2 edits in trunk/Source/WebKit2
Fix the 32-bit build.
- UIProcess/mac/ViewGestureControllerMac.mm:
- 5:41 PM Changeset in webkit [167284] by
-
- 3 edits in trunk/Source/WebKit2
Sometimes-crash under handleSwipeGesture after closing a window or quitting
https://bugs.webkit.org/show_bug.cgi?id=131648
<rdar://problem/15966106>
Reviewed by Simon Fraser.
- UIProcess/mac/ViewGestureController.h:
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::~ViewGestureController):
(WebKit::ViewGestureController::trackSwipeGesture):
Keep a Objective C object with a single boolean property, isCancelled, on
the ViewGestureController, and also retained by the swipe-tracking block.
When the ViewGestureController is destroyed, we set isCancelled to YES,
and the next time the block is invoked, we will cancel the swipe without
touching the destroyed ViewGestureController.
(WebKit::ViewGestureController::handleSwipeGesture):
Don't try to handle a swipe gesture if the drawing area is missing.
(WebKit::ViewGestureController::endSwipeGesture):
Clear the swipe cancellation tracker when the gesture completes.
- 5:27 PM Changeset in webkit [167283] by
-
- 5 edits in trunk/Source/WebCore
[CSS Shapes] Remove some leftover shape-inside code
https://bugs.webkit.org/show_bug.cgi?id=131641
Reviewed by Dean Jackson.
I discovered that some code had been leftover from the shape-inside
removal. This removes that leftover code.
No new tests, no behavior change.
- platform/text/BidiResolver.h:
- rendering/BidiRun.cpp:
(WebCore::BidiRun::BidiRun):
- rendering/RenderBlockFlow.h:
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::createLineBoxes):
(WebCore::RenderBlockFlow::constructLine):
(WebCore::computeExpansionForJustifiedText):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
- 5:14 PM Changeset in webkit [167282] by
-
- 2 edits in trunk/Source/WebCore
[MSE][Mac] video.currentTime is sometimes negative.
https://bugs.webkit.org/show_bug.cgi?id=131644
Reviewed by Eric Carlson.
AVSampleBufferRenderSynchronizer will occasionally return slightly negative values
when beginning playback. Clamp the return value to 0.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble):
- 5:07 PM Changeset in webkit [167281] by
-
- 2 edits in trunk/Source/WebCore
[CSSExclusions] Remove FIXME referencing closed bug
https://bugs.webkit.org/show_bug.cgi?id=131645
Reviewed by Dean Jackson.
This is silly, but the comment is really confusing as it's entirely
wrong now.
No new tests, no behavior change.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresRepaint):
- 5:06 PM April 2014 Meeting edited by
- (diff)
- 4:47 PM Changeset in webkit [167280] by
-
- 3 edits in trunk/Source/WebKit2
REGRESSION(r166027) Menu is shown and immediately hidden after doubletap gesture.
https://bugs.webkit.org/show_bug.cgi?id=131646
<rdar://problem/16614374>
Reviewed by Benjamin Poulain.
This is a problem with every gesture that changes the selection
We don't need to delay updating the selection if the selection is
being changed with a gesture.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didUpdateBlockSelectionWithTouch:withFlags:growThreshold:shrinkThreshold:]):
(-[WKContentView changeSelectionWithGestureAt:withGesture:withState:]):
(-[WKContentView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:]):
(-[WKContentView changeSelectionWithTouchesFrom:to:withGesture:withState:]):
(-[WKContentView changeBlockSelectionWithTouchAt:withSelectionTouch:forHandle:]):
(-[WKContentView _selectionChanged]):
- 4:38 PM April 2014 Meeting edited by
- (diff)
- 4:22 PM Changeset in webkit [167279] by
-
- 2 edits in trunk/Source/WebCore
Build fixage.
- page/FrameView.cpp:
- 4:14 PM April 2014 Meeting edited by
- (diff)
- 4:08 PM Changeset in webkit [167278] by
-
- 3 edits in trunk/Source/WebCore
Assertion failure !node node->isElementNode() in WebCore::RenderBlock::inlineElementContinuation
https://bugs.webkit.org/show_bug.cgi?id=108829
<rdar://problem/13666405>
I can't reproduce this assertion failure, but there seems to be an
invalid assumption in RenderBlock::inlineElementContinuation() that
anything with the "isInline()" bit set is a RenderInline.
No new test because the test case in the bug does not repro for me.
Reviewed by Brent Fulgham.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::inlineElementContinuation):
Dave Hyatt says that this function should only return RenderInline
objects (not non-RenderInline inline objects), so update the checks
from isInline() to isRenderInline() before casting with
toRenderInline().
- rendering/RenderInline.cpp:
(WebCore::RenderInline::inlineElementContinuation):
Ditto.
- 4:08 PM April 2014 Meeting edited by
- (diff)
- 4:03 PM Changeset in webkit [167277] by
-
- 14 edits in trunk/Source
Do more things under memory pressure on non-iOS platforms.
<https://webkit.org/b/131625>
Reviewed by Antti Koivisto.
Rename hasReceivedMemoryPressure() to isUnderMemoryPressure() and
make it use std::atomic<bool> instead of OSAtomic primitives.
Unmask most of the PLATFORM(IOS) blocks so all platforms can take
advantage of optimizations done while under pressure. Note that
isUnderMemoryPressure() will still always return false on platforms
other than iOS/WK1, but this will change soon.
- history/PageCache.cpp:
(WebCore::PageCache::canCache):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
- page/FrameView.cpp:
(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::didPaintContents):
- platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::MemoryPressureHandler):
- platform/MemoryPressureHandler.h:
(WebCore::MemoryPressureHandler::isUnderMemoryPressure):
- platform/cocoa/MemoryPressureHandlerCocoa.mm:
(WebCore::MemoryPressureHandler::setReceivedMemoryPressure):
(WebCore::MemoryPressureHandler::clearMemoryPressure):
(WebCore::MemoryPressureHandler::respondToMemoryPressureIfNeeded):
(WebCore::MemoryPressureHandler::hasReceivedMemoryPressure): Deleted.
- platform/graphics/FontCache.cpp:
(WebCore::FontCache::purgeInactiveFontDataIfNeeded):
- platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::createTilesInActiveGrid):
- platform/ios/LegacyTileGrid.mm:
(WebCore::LegacyTileGrid::shouldUseMinimalTileCoverage):
- platform/ios/LegacyTileLayerPool.mm:
(WebCore::LegacyTileLayerPool::addLayer):
- platform/ios/TileControllerMemoryHandlerIOS.cpp:
(WebCore::TileControllerMemoryHandler::tileControllerGainedUnparentedTiles):
- 3:52 PM April 2014 Meeting edited by
- (diff)
- 3:46 PM Changeset in webkit [167276] by
-
- 7 edits in trunk/Source/WebKit2
Let the bundle form client know whether a change in a text field was initiated by user typing
https://bugs.webkit.org/show_bug.cgi?id=131643
Reviewed by Sam Weinig.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Added
initiatedByUserTyping parameter to the delegate method.
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Updated overload of
textDidChangeInTextField to take the initiatedByUserTyping parameter and pass it along to
the delegate.
- WebProcess/InjectedBundle/APIInjectedBundleFormClient.h:
(API::InjectedBundle::FormClient::textDidChangeInTextField): Added initiatedByUserTyping
parameter.
- WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
(WebKit::InjectedBundlePageFormClient::textDidChangeInTextField): Maintained the existing
behavior of not calling the C SPI client if the change was not initiated by user typing.
- WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: Updated for added parameter.
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::textDidChangeInTextField): Changed to call the bundle client
function unconditionally, but pass along whether the change was initiated by user typing.
- 3:44 PM Changeset in webkit [167275] by
-
- 3 edits in trunk/Source/WebKit2
[Cocoa] Add a WKWebProcessPlugInFormDelegate method corresponding to willSendSubmitEvent
https://bugs.webkit.org/show_bug.cgi?id=131639
Reviewed by Tim Horton.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Declared
new delegate method.
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Added an override
of API::InjectedBundle::FormClient::willSendSubmitEvent which calls the new delegate
method.
- 3:39 PM Changeset in webkit [167274] by
-
- 3 edits in trunk/Source/WebKit2
[iOS][WK2] Change the SPI used when starting the rotation animation
https://bugs.webkit.org/show_bug.cgi?id=131638
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-14
Reviewed by Tim Horton.
Having an update block where all the properties are changed is more convenient for Safari.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _beginAnimatedResizeToSize:obscuredInsets:minimumLayoutSizeOverride:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- 3:37 PM Changeset in webkit [167273] by
-
- 5 edits in trunk/Source/WebKit2
[iOS WK2] Hash table assertion closing a tab
https://bugs.webkit.org/show_bug.cgi?id=131640
Reviewed by Tim Horton.
Have RemoteLayerTreeContext keep track of all PlatformCALayerRemotes,
and clear their context pointer when it is being destroyed to avoid
calling into a deleted object later.
- WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::~PlatformCALayerRemote):
(WebKit::PlatformCALayerRemote::addAnimationForKey):
- WebProcess/WebPage/mac/PlatformCALayerRemote.h:
(WebKit::PlatformCALayerRemote::clearContext):
- WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
- WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::~RemoteLayerTreeContext):
(WebKit::RemoteLayerTreeContext::layerWasCreated):
(WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
- 3:05 PM Changeset in webkit [167272] by
-
- 5 edits3 adds in trunk
Function.bind itself is too slow
https://bugs.webkit.org/show_bug.cgi?id=131636
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Rather than forcing creation of an activation, we now store
bound function properties directly on the returned closure.
This is necessary to deal with code that creates many function
bindings, but does not call them very often.
This is a 60% speed up in the included js/regress test.
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createBuiltinExecutable):
- builtins/Function.prototype.js:
(bind.bindingFunction):
(bind.else.switch.case.1.bindingFunction.bindingFunction.bindingFunction.boundOversizedCallThunk):
(bind.else.switch.case.1.bindingFunction):
(bind.else.switch.case.2.bindingFunction.bindingFunction.bindingFunction.boundOversizedCallThunk):
(bind.else.switch.case.2.bindingFunction):
(bind.else.switch.case.3.bindingFunction.bindingFunction.bindingFunction.boundOversizedCallThunk):
(bind.else.switch.case.3.bindingFunction):
(bind.else.switch.bindingFunction):
(bind):
(bind.else.switch.case.1.bindingFunction.oversizedCall): Deleted.
(bind.else.switch.case.2.bindingFunction.oversizedCall): Deleted.
(bind.else.switch.case.3.bindingFunction.oversizedCall): Deleted.
- runtime/CommonIdentifiers.h:
LayoutTests:
New test, and fix bogus log in old one
- js/regress/function-bind-create-expected.html: Added.
- js/regress/function-bind-create.html: Added.
- js/regress/script-tests/function-bind-create.js: Added.
(test):
- js/regress/script-tests/function-bind.js:
- 2:51 PM Changeset in webkit [167271] by
-
- 3 edits in trunk/Source/WebKit2
Allow dynamic changes of WKThumbnailView snapshot scale
https://bugs.webkit.org/show_bug.cgi?id=131628
<rdar://problem/16584156>
Reviewed by Beth Dakin.
- UIProcess/API/Cocoa/_WKThumbnailView.mm:
(-[_WKThumbnailView _requestSnapshotIfNeeded]):
Don't bail from requesting a snapshot just because we already had one; we want to resnapshot.
Keep track of when we bail from requesting a snapshot because we have one in-flight, so we can request it later.
(-[_WKThumbnailView _didTakeSnapshot:]):
Apply the scale to the bitmap size (whoops!).
Make CA always resize the content to fill the thumbnail view's layer, respecting aspect ratio.
Re-snapshot if we previously deferred a snapshot.
(-[_WKThumbnailView setScale:]):
If we get a scale change, request a new snapshot.
(-[_WKThumbnailView setUsesSnapshot:]):
Never apply thumbnail scale to the page if we're using snapshots. It's unnecessary,
because scale will be applied simply when painting the software snapshot.
Apply the thumbnail scale if we're going from usesSnapshot -> !usesSnapshot.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::snapshotAtSize):
Snapshots should use the greater of the two scales, so as to never leave a portion of the snapshot unpainted.
- 2:48 PM Changeset in webkit [167270] by
-
- 2 edits in trunk/Source/WebCore
RenderLayerCompositor's m_layerForOverhangAreas should be offset by the
topContentInset
https://bugs.webkit.org/show_bug.cgi?id=131632
-and corresponding-
<rdar://problem/16609602>
Reviewed by Tim Horton.
Offset m_layerForOverhangAreas by the topContentInset.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
- 2:46 PM Changeset in webkit [167269] by
-
- 3 edits in trunk/Source/JavaScriptCore
[sh4] Allow use of SubImmediates in LLINT.
https://bugs.webkit.org/show_bug.cgi?id=131608
Reviewed by Mark Lam.
Allow use of SubImmediates with const pool so the sh4 architecture can
share the arm path for setEntryAddress macro. It reduces architecture
specific code and lead to a more optimal generated code for sh4.
- llint/LowLevelInterpreter.asm:
- offlineasm/sh4.rb:
- 2:38 PM Changeset in webkit [167268] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (WebKit2 View Gestures): Double-tap doesn't work properly when there's no element underneath the cursor
https://bugs.webkit.org/show_bug.cgi?id=131629
<rdar://problem/16192821>
Reviewed by Dan Bernstein.
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
If there's nothing under the cursor, zoom towards the cursor instead of towards 0,0.
- 2:24 PM Changeset in webkit [167267] by
-
- 5 edits in trunk/Source/WebCore
Eliminate CachedFrame::m_mousePressNode
https://bugs.webkit.org/show_bug.cgi?id=131626
Reviewed by Brady Eidson.
I couldn't find any observable effect of this change.
- history/CachedFrame.cpp:
(WebCore::CachedFrameBase::CachedFrameBase):
(WebCore::CachedFrameBase::restore):
(WebCore::CachedFrame::clear):
- history/CachedFrame.h:
(WebCore::CachedFrame::documentLoader):
(WebCore::CachedFrame::mousePressNode): Deleted.
Eliminated m_mousePressNode, accessor, and code that reached out to EventHandler.
- page/EventHandler.cpp:
(WebCore::EventHandler::mousePressNode): Deleted.
(WebCore::EventHandler::setMousePressNode): Deleted.
- page/EventHandler.h:
(WebCore::EventHandler::setMousePressed): Deleted. This function was already unused.
- 1:46 PM Changeset in webkit [167266] by
-
- 11 edits in trunk/Source
Run filter animations in the UI process with UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=131199
<rdar://problem/16479487>
Source/WebCore:
Reviewed by Sam Weinig.
Add FilterOperation::clone() which is used during decoding.
Export some things.
- WebCore.exp.in:
- platform/graphics/filters/FilterOperation.h:
Source/WebKit2:
Reviewed by Sam Weinig.
- Shared/WebCoreArgumentCoders.cpp: Removed lots of WebCore::
(IPC::ArgumentCoder<SelectionRect>::decode):
(IPC::ArgumentCoder<PasteboardWebContent>::encode):
(IPC::ArgumentCoder<PasteboardWebContent>::decode):
(IPC::ArgumentCoder<PasteboardImage>::encode):
(IPC::ArgumentCoder<PasteboardImage>::decode):
(IPC::ArgumentCoder<URL>::decode):
(IPC::ArgumentCoder<UserStyleSheet>::encode):
(IPC::ArgumentCoder<UserStyleSheet>::decode):
(IPC::ArgumentCoder<UserScript>::encode):
(IPC::ArgumentCoder<UserScript>::decode):
(IPC::ArgumentCoder<ScrollableAreaParameters>::encode):
(IPC::ArgumentCoder<ScrollableAreaParameters>::decode):
(IPC::ArgumentCoder<FixedPositionViewportConstraints>::encode):
(IPC::ArgumentCoder<FixedPositionViewportConstraints>::decode):
(IPC::ArgumentCoder<StickyPositionViewportConstraints>::encode):
(IPC::ArgumentCoder<StickyPositionViewportConstraints>::decode):
(IPC::ArgumentCoder<FilterOperation>::encode):
(IPC::decodeFilterOperation):
(IPC::ArgumentCoder<FilterOperations>::encode):
(IPC::ArgumentCoder<WebCore::UserStyleSheet>::encode): Deleted.
(IPC::ArgumentCoder<WebCore::UserStyleSheet>::decode): Deleted.
(IPC::ArgumentCoder<WebCore::UserScript>::encode): Deleted.
(IPC::ArgumentCoder<WebCore::UserScript>::decode): Deleted.
(IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::encode): Deleted.
(IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::decode): Deleted.
(IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::encode): Deleted.
(IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::decode): Deleted.
(IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::encode): Deleted.
(IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::decode): Deleted.
(IPC::encodeFilterOperation): Deleted.
Add encoding/decoding support for FilterOperation.
decodeFilterOperation() has to be a bare function because of the RefPtr
out parameter.
REFERENCE filters should never be encoded, since they have CachedSVGDocumentReferences.
- Shared/WebCoreArgumentCoders.h:
- Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::operator<<):
Add logging for filter animations to the RemoteLayerTree log output.
- WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
- WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
(WebKit::GraphicsLayerCARemote::addAnimation): Deleted. We can run
filter animations now.
- WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
KeyValues have a RefPtr<WebCore::FilterOperation> now (which can't be part of
the union because we need its constructor to get called).
- WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
(WebKit::PlatformCAAnimationRemote::KeyframeValue::encode): Encode the filter.
(WebKit::PlatformCAAnimationRemote::KeyframeValue::decode): Decode the filter.
(WebKit::PlatformCAAnimationRemote::setFromValue): Implement.
(WebKit::PlatformCAAnimationRemote::setToValue): Implement.
(WebKit::PlatformCAAnimationRemote::setValues): Implement.
(WebKit::animationValueFromKeyframeValue): Handle filters.
- 1:38 PM Changeset in webkit [167265] by
-
- 2 edits in trunk/Source/WebKit2
Fix the build.
- UIProcess/mac/PageClientImpl.h:
- 1:37 PM Changeset in webkit [167264] by
-
- 4 edits in trunk/Source/WebCore
Use after free in WebCore::CachedResourceHandleBase::~CachedResourceHandleBase / WebCore::removeDetachedChildrenInContainer
https://bugs.webkit.org/show_bug.cgi?id=131169
Reviewed by Eric Carlson.
Invalidate the WebCoreAVFResourceLoader owned by MediaPlayerPrivateAVFoundationObjC
in its destructor, to prevent a private function being called in response to the
WebCoreAVFResourceLoader being stopped.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::invalidate):
- 1:31 PM Changeset in webkit [167263] by
-
- 2 edits in trunk/Source/WTF
monotonicallyIncreasingTime() should only initialize its static timebaseInfo once.
<https://webkit.org/b/131630>
Reviewed by Filip Pizlo.
The current initialization of the static field is not thread safe.
- wtf/CurrentTime.cpp:
(WTF::monotonicallyIncreasingTime):
- 12:49 PM Changeset in webkit [167262] by
-
- 21 edits in trunk/Source
[WK2 iOS] Scrolling to anchor links is broken
https://bugs.webkit.org/show_bug.cgi?id=131618
<rdar://problem/16599144>
Source/WebCore:
Reviewed by Tim Horton.
Have ScrollingTreeScrollingNode pass RequestedScrollPosition updates
to the scrolling tree, so that the scrolling tree can have custom behavior
for them if necessary.
- page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::scrollingTreeNodeRequestsScroll):
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::updateAfterChildren):
- page/scrolling/ScrollingTreeScrollingNode.h:
Source/WebKit2:
Reviewed by Tim Horton.
The RemoteScrollingTree implements scrollingTreeNodeRequestsScroll
to get informed about requested scroll position updates, and passes
them along via the RemoteScrollingCoordinatorProxy, WebPageProxy and PageClient
to the WKWebView, which performs a scroll.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _scrollToContentOffset:WebCore::]): Scroll to content offset,
taking page scale and insets into account.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::requestScroll):
- UIProcess/CoordinatedGraphics/WebView.h:
- UIProcess/PageClient.h:
- UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeRequestsScroll):
Pass scrolls along to the WebPageProxy for the root node. We will also need
to handle programmatic scrolls for overflow soon.
- UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
- UIProcess/Scrolling/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::scrollingTreeNodeRequestsScroll):
- UIProcess/Scrolling/RemoteScrollingTree.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestScroll):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::canScrollView):
(WebKit::PageClientImpl::requestScroll):
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::requestScroll):
- 12:45 PM Changeset in webkit [167261] by
-
- 4 edits1 add in trunk
Web Replay: memoize fallback time values for document.lastModified
https://bugs.webkit.org/show_bug.cgi?id=131318
Reviewed by Joseph Pecoraro.
Source/WebCore:
If a document's Last-Modified header can't be found or used, then
document.lastModified is derived from the current system time or
from filesystem data, which is obviously nondeterministic.
It's better to handle this inside Document::lastModified rather than using
MemoizedDOMResult, because only the fallback case is nondeterministic.
Test: http/tests/inspector/replay/document-last-modified-fallback-value.html
- dom/Document.cpp:
(WebCore::Document::lastModified): Save or reuse memoized fallback value.
- replay/WebInputs.json: Add input DocumentLastModifiedDate.
LayoutTests:
- http/tests/inspector/replay/document-last-modified-fallback-value.html: Added.
- 12:11 PM Changeset in webkit [167260] by
-
- 8 edits in trunk/PerformanceTests
A few MallocBench record/replay fixes
https://bugs.webkit.org/show_bug.cgi?id=131627
Reviewed by Andreas Kling.
- MallocBench/MallocBench/Interpreter.cpp:
(Interpreter::run): Accept 0-sized allocations without asserting because
WebKit does that sometimes.
- MallocBench/MallocBench/flickr.ops:
- MallocBench/MallocBench/flickr_memory_warning.ops:
- MallocBench/MallocBench/reddit.ops:
- MallocBench/MallocBench/reddit_memory_warning.ops:
- MallocBench/MallocBench/theverge.ops:
- MallocBench/MallocBench/theverge_memory_warning.ops: Updated these
recordings because a bug in the recording mechanism caused one out of
every few thousand slot values to be bogus.
- 12:02 PM Changeset in webkit [167259] by
-
- 3 edits in trunk/LayoutTests
[GTK] Unreviewed GTK gardening.
Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-04-14
- platform/gtk/TestExpectations: Update test expectations for new failing test 'editing/editability/ignored-content.html'.
- platform/gtk/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Rebaselined.
- 12:00 PM Changeset in webkit [167258] by
-
- 5 edits in trunk/Source
Versioning.
- 11:57 AM Changeset in webkit [167257] by
-
- 1 copy in tags/Safari-538.29
New tag.
- 11:40 AM Changeset in webkit [167256] by
-
- 9 edits in trunk/Source
Keep secondary tile grid for zoomed-out scale
https://bugs.webkit.org/show_bug.cgi?id=131586
Reviewed by Darin Adler.
Source/WebCore:
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateContentsScale):
Don't repaint tiled backing with setNeedsDisplay, it invalidates itself correctly in setContentsScale.
Update custom child layers when tiled backing scale changes.
- platform/graphics/ca/mac/TileController.h:
- platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::TileController):
(WebCore::TileController::setNeedsDisplay):
Drop the whole zoomed-out grid on full repaint.
(WebCore::TileController::setNeedsDisplayInRect):
Drop changed zoomed-out tiles. A more sophisticated strategy is possible.
(WebCore::TileController::setContentsScale):
Swap the zoomed-out grid in and out as needed.
Repaint the active grid after scale change so the client does not have to.
(WebCore::TileController::contentsScale):
Get the content scale from the tile grid so it is not kept in two places.
(WebCore::TileController::zoomedOutContentsScale):
(WebCore::TileController::setZoomedOutContentsScale):
Drop the zoomed-out grid if it no longer matches the zoomed-out scale.
(WebCore::TileController::tileRevalidationTimerFired):
(WebCore::TileController::retainedTileBackingStoreMemory):
(WebCore::TileController::containerLayers):
Return both zoomed-out tiles and the active tiles. Active tiles are on top.
(WebCore::TileController::numberOfUnparentedTiles):
(WebCore::TileController::removeUnparentedTilesNow):
- platform/graphics/ca/mac/TileGrid.h:
- platform/graphics/ca/mac/TileGrid.mm:
(WebCore::TileGrid::dropTilesInRect):
Add a function for dropping tiles.
(WebCore::TileGrid::revalidateTiles):
Source/WebKit2:
- WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
(WebKit::PlatformCALayerRemoteTiledBacking::PlatformCALayerRemoteTiledBacking):
(WebKit::PlatformCALayerRemoteTiledBacking::customSublayers):
Always request new sublayer list from tile controller.
- WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
- 11:33 AM WebKitGTK/KeepingTheTreeGreen edited by
- (diff)
- 11:17 AM WebKitGTK/KeepingTheTreeGreen edited by
- (diff)
- 11:05 AM April 2014 Meeting edited by
- (diff)
- 11:04 AM Changeset in webkit [167255] by
-
- 2 edits in trunk/Source/JavaScriptCore
Array.prototype.concat should allocate output storage only once.
<https://webkit.org/b/131609>
Do a first pass across 'this' and any arguments to compute the
final size of the resulting array from Array.prototype.concat.
This avoids having to grow the output incrementally as we go.
This also includes two other micro-optimizations:
- Mark getProperty() with ALWAYS_INLINE.
- Use JSArray::length() instead of taking the generic property lookup path when we know an argument is an Array.
My MBP says ~3% progression on Dromaeo/jslib-traverse-jquery.
Reviewed by Oliver & Darin.
- runtime/ArrayPrototype.cpp:
(JSC::getProperty):
(JSC::arrayProtoFuncConcat):
- 11:02 AM April 2014 Meeting edited by
- (diff)
- 11:00 AM April 2014 Meeting edited by
- (diff)
- 10:51 AM April 2014 Meeting edited by
- (diff)
- 10:49 AM April 2014 Meeting edited by
- (diff)
- 10:33 AM Changeset in webkit [167254] by
-
- 2 edits in trunk/Source/bmalloc
Fixed svn:ignore on bmalloc.xcodeproj, it had erroneous leading spaces.
- bmalloc.xcodeproj: Modified property svn:ignore.
- 10:27 AM Changeset in webkit [167253] by
-
- 7 edits in trunk/Source/WebKit2
Make WK(Web)View magnification setters actually use view-relative positions
https://bugs.webkit.org/show_bug.cgi?id=131611
<rdar://problem/15965239>
Reviewed by Darin Adler.
- UIProcess/API/mac/WKView.mm:
(-[WKView setMagnification:centeredAtPoint:]):
(-[WKView setMagnification:]):
Use scalePageInViewCoordinates instead.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::scalePageInViewCoordinates):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scalePageInViewCoordinates):
(WebKit::WebPage::pageScaleFactor):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Add scalePageInViewCoordinates, which turns the scale centerpoint within the view
into what scalePage expects: a post-scale scroll offset.
- 10:26 AM Changeset in webkit [167252] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r167249.
https://bugs.webkit.org/show_bug.cgi?id=131621
broke 3 tests on cloop (Requested by kling on #webkit).
Reverted changeset:
"Array.prototype.concat should allocate output storage only
once."
https://bugs.webkit.org/show_bug.cgi?id=131609
http://trac.webkit.org/changeset/167249
Patch by Commit Queue <commit-queue@webkit.org> on 2014-04-14
- 10:20 AM WebKitGTK/KeepingTheTreeGreen edited by
- (diff)
- 10:17 AM Changeset in webkit [167251] by
-
- 2 edits in trunk/Source/WebCore
Update test result
- 9:52 AM WebKitGTK/KeepingTheTreeGreen edited by
- (diff)
- 9:31 AM Changeset in webkit [167250] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fixed potential integer truncation.
https://bugs.webkit.org/show_bug.cgi?id=131615
Patch by Alex Christensen <achristensen@webkit.org> on 2014-04-14
Reviewed by Darin Adler.
- assembler/X86Assembler.h:
(JSC::X86Assembler::fillNops):
Truncate the size_t to an unsigned after it is limited to 15 instead of before.
- 9:19 AM Changeset in webkit [167249] by
-
- 2 edits in trunk/Source/JavaScriptCore
Array.prototype.concat should allocate output storage only once.
<https://webkit.org/b/131609>
Do a first pass across 'this' and any arguments to compute the
final size of the resulting array from Array.prototype.concat.
This avoids having to grow the output incrementally as we go.
This also includes two other micro-optimizations:
- Mark getProperty() with ALWAYS_INLINE.
- Use JSArray::length() instead of taking the generic property lookup path when we know an argument is an Array.
My MBP says ~3% progression on Dromaeo/jslib-traverse-jquery.
Reviewed by Darin Adler.
- runtime/ArrayPrototype.cpp:
(JSC::getProperty):
(JSC::arrayProtoFuncConcat):
- 9:02 AM Changeset in webkit [167248] by
-
- 5 edits in trunk
Optimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and DestinationAtop using transparencyLayer.
https://bugs.webkit.org/show_bug.cgi?id=79659
Reviewed by Darin Adler.
Source/WebCore:
Optimize fill() and fillRect() operations in Canvas on composited contexts by
10 to 20 times on CG.
Replacing the ImageBuffer code by transparency layers allows the
graphics library to optimize the drawing.
Doing the same for drawImage() would give performance regressions.
An inline function will create a transparency layer for CG. Cairo graphics
does not composite correctly when a transparency layer gets created.
The inline function is just a NOOP for Cairo.
This fixes bug 131303 as well.
Added performance tests with r167124 already.
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fillInternal):
(WebCore::CanvasRenderingContext2D::strokeInternal):
(WebCore::CanvasRenderingContext2D::beginCompositeLayer):
(WebCore::CanvasRenderingContext2D::endCompositeLayer):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::strokeRect):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill): Deleted.
- html/canvas/CanvasRenderingContext2D.h:
LayoutTests:
Unskip previously failing tests.
- platform/gtk/TestExpectations:
- 8:48 AM Changeset in webkit [167247] by
-
- 1 copy in releases/WebKitGTK/webkit-2.4.1
Tagging the WebKitGTK+ 2.4.1 release
- 8:42 AM Changeset in webkit [167246] by
-
- 2 edits in trunk/Source/WebCore
Lots of compositing test failures after r167152
https://bugs.webkit.org/show_bug.cgi?id=131574
Reviewed by Darin Adler.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::dumpChildren):
(WebCore::GraphicsLayer::dumpProperties):
Make child-dumping recursive so that we can easily skip layers up to any depth.
- 8:35 AM Changeset in webkit [167245] by
-
- 4 edits in releases/WebKitGTK/webkit-2.4
Unreviewed. Update NEWS and Versions.m4 for 2.4.1 release.
.:
- Source/autotools/Versions.m4: Bump version numbers.
Source/WebKit/gtk:
- NEWS: Added release notes for 2.4.1.
- 5:45 AM Changeset in webkit [167244] by
-
- 3 edits in trunk/Source/WebCore
Fix incorrect indentations in CodeGeneratorJS.pm introduced in r165521
https://bugs.webkit.org/show_bug.cgi?id=131613
Reviewed by Csaba Osztrogonác.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
Fixed 5-space indentation.
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
Updated the tests accordingly.
- 5:24 AM Changeset in webkit [167243] by
-
- 2 edits in trunk/Tools
Fix commit-log-editor bug revealed by r165447
https://bugs.webkit.org/show_bug.cgi?id=130676
Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-04-14
Reviewed by Csaba Osztrogonác.
- Scripts/commit-log-editor:
(createCommitMessage): Omitting empty Source/JavaScriptCore:... blocks.
Add \n before the first block too, because the longest common prefix now ends with only one newline.
(removeLongestCommonPrefixEndingInNewline): The longest common prefix ends with only one newline,
now the last block of the common prefix isn't duplicated below. Changing the function name accordingly.
- 4:41 AM WebKitGTK/2.4.x edited by
- (diff)
- 4:40 AM Changeset in webkit [167242] by
-
- 9 edits4 adds in releases/WebKitGTK/webkit-2.4
Merge r167193 - [GStreamer] No CORS support for media elements
https://bugs.webkit.org/show_bug.cgi?id=99037
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-04-13
Reviewed by Philippe Normand.
Source/WebCore:
Added CORS access control check to media sources when crossorigin attribute is set.
Added getter to CORS access control check status (used to compute whether the stream is tainted or not).
Related test is http/tests/security/video-cross-origin-readback.html.
Disabled access to cross-origin streams that fail CORS check when crossorigin attribute is set.
Related test is http/tests/security/video-cross-origin-accessfailure.html.
Tests: http/tests/security/video-cross-origin-accessfailure.html
http/tests/security/video-cross-origin-accesssameorigin.html
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::didPassCORSAccessCheck): Return whether media is cross-origin (tainted) or not by querying the gstreamer source layer.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Added MediaPlayerPrivateGStreamer::didPassCORSAccessCheck declaration.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart): Passed CORS mode parameter to the streaming client. In case of CORS check failure, stop the resource loading.
(webKitSrcPassedCORSAccessCheck): Return whether CORS access control check was done and successful.
(StreamingClient::handleResponseReceived): Take a parameter to assign the CORS access control check result.
(CachedResourceStreamingClient::CachedResourceStreamingClient): Updated setting of the ResourceLoaderOptions according CORS mode.
(CachedResourceStreamingClient::responseReceived): Check CORS and pass result to handleResponseReceived.
(ResourceHandleStreamingClient::didReceiveResponse): No CORS check.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Added webKitSrcPassedCORSAccessCheck declaration.
LayoutTests:
http/tests/security/video-cross-origin-accessfailure.html verifies that cross-origin streams that fail CORS check
are not played when crossorigin attribute is set.
http/tests/security/video-cross-origin-accesssameorigin.html verifies that access to same-origin streams
are played when crossorigin attribute is set.
- http/tests/security/video-cross-origin-accessfailure-expected.txt: Added.
- http/tests/security/video-cross-origin-accessfailure.html: Added.
- http/tests/security/video-cross-origin-accesssameorigin-expected.txt: Added.
- http/tests/security/video-cross-origin-accesssameorigin.html: Added.
- platform/efl/TestExpectations: Enabled http/tests/security/video-cross-origin-readback.html.
- platform/gtk/TestExpectations: Ditto.
- platform/mac/TestExpectations: Disabled http/tests/security/video-cross-origin-accessfailure.html.
- 4:25 AM Changeset in webkit [167241] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r166304 - REGRESSION(r162679): Poster image visible under the video
https://bugs.webkit.org/show_bug.cgi?id=130783
Reviewed by Simon Fraser.
In the listed revision, we started checking for isRenderImage()
instead of isImage(). RenderMedias return 'true' for the first
but 'false' for the second. Change the if() statement to check
for isRenderMedia() in addition to !isRenderImage().
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isDirectlyCompositedImage):
- 4:21 AM Changeset in webkit [167240] by
-
- 3 edits2 adds in trunk
[JSC] CSSStyleDeclaration report incorrect descriptor
https://bugs.webkit.org/show_bug.cgi?id=89697
Reviewed by Benjamin Poulain.
Source/WebCore:
Change descriptor of CSSStyleDeclaration properties in order to have
writable and enumerable attributes set to true. Configurable is kept to
false since the property is not deleteable.
Test: fast/dom/CSSStyleDeclaration/cssstyledeclaration-properties-descriptor.html
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate): Only set
DontDelete attribute when creating the descriptor for
CSSStyleDeclaration properties.
LayoutTests:
Add new test to check the descriptor of CSSStyleDeclaration properties.
- fast/dom/CSSStyleDeclaration/cssstyledeclaration-properties-descriptor-expected.txt: Added.
- fast/dom/CSSStyleDeclaration/cssstyledeclaration-properties-descriptor.html: Added.
- 4:20 AM Changeset in webkit [167239] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.4
Merge r166090 - Source/WebCore: Fix a crash when assigning an object to document.location
https://bugs.webkit.org/show_bug.cgi?id=130213
Reviewed by Geoffrey Garen.
Convert location to string before we make use the document.
This prevents us from attempting to navigate a frame that
has already been removed.
Test: fast/dom/navigation-with-sideeffects-crash.html
- bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::location):
(WebCore::JSDocument::setLocation):
LayoutTests: Fix semantics of JS execution when assigning an object to document.location
https://bugs.webkit.org/show_bug.cgi?id=130213
Reviewed by Geoffrey Garen.
- fast/dom/navigation-with-sideeffects-expected.txt: Added.
- fast/dom/navigation-with-sideeffects.html: Added.
- 4:12 AM Changeset in webkit [167238] by
-
- 4 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2
Merge r166026 - Generalize WebInspector check in maybeInitializeSandboxExtensionHandle().
https://bugs.webkit.org/show_bug.cgi?id=130079
<rdar://problem/16286683>
Reviewed by Anders Carlsson.
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
Perform an early return for all paths that don't need a sandbox extension due to
access being assumed, not only for WebInspector pages.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::hasAssumedReadAccessToURL):
(WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
- UIProcess/WebProcessProxy.h:
Factored out m_localPathsWithAssumedReadAccess iteration to a public function.
- 4:04 AM Changeset in webkit [167237] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.4
Merge r165921 - Crash with long selector list
https://bugs.webkit.org/show_bug.cgi?id=123006
Reviewed by Andreas Kling.
Source/WebCore:
Test: fast/css/long-selector-list-crash.html
- css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::CSSSelectorList):
(WebCore::CSSSelectorList::adoptSelectorVector):
(WebCore::CSSSelectorList::operator=):
- css/StyleRule.cpp:
(WebCore::StyleRule::create):
Add a bunch of asserts.
(WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount):
This could produce a zero-length selector list.
LayoutTests:
- fast/css/long-selector-list-crash-expected.txt: Added.
- fast/css/long-selector-list-crash.html: Added.
- 3:53 AM Changeset in webkit [167236] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore
Merge r165902 - Update type of local vars to match the type of String length.
<https://webkit.org/b/130077>
Reviewed by Geoffrey Garen.
- runtime/JSStringJoiner.cpp:
(JSC::JSStringJoiner::join):
- 3:47 AM Changeset in webkit [167235] by
-
- 5 edits4 adds in releases/WebKitGTK/webkit-2.4
Merge r165821 - Mutating rules returned by getMatchedCSSRules can result in crash
https://bugs.webkit.org/show_bug.cgi?id=130209
Source/WebCore:
Reviewed by Andreas Kling.
The non-standard getMatchedCSSRules API returns CSSStyleRule objects that don't
have parent stylesheet pointer (as we don't know which sheet the rule originated from).
Mutating the rule via such wrapper can lead to crashes later as we fail to invalidate
the underlying stylesheet.
Fix by disallowing mutation of style rules that don't have parent sheet pointer. CSSStyleRule
has two mutable properties selectorText and style. The latter gives back CSSStyleDeclaration.
This patch disallows mutations in both cases for CSSStyleRules that don't have parent stylesheet
pointer.
While it is technically possible to have CSSRules that are legitimately disconnected
from stylesheet (by removing rule from sheet while holding a reference to it) it never
makes sense to mutate such rule as there is no way to do anything with it afterwards.
Tests: fast/css/getMatchedCSSProperties-rule-mutation.html
fast/css/getMatchedCSSRules-crash.html
- css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):
Bail out if parent stylesheet is null.
- css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
Allow StyleRuleCSSStyleDeclaration subclass cancel the mutation via
boolean return value from willMutate.
(WebCore::StyleRuleCSSStyleDeclaration::willMutate):
Disallow mutation if the owning CSSStyleRule is null or has null stylesheet.
(WebCore::StyleRuleCSSStyleDeclaration::didMutate):
We never get here with null rule or stylesheet anymore.
- css/PropertySetCSSStyleDeclaration.h:
(WebCore::PropertySetCSSStyleDeclaration::willMutate):
LayoutTests:
Reviewed by Andreas Kling.
- fast/css/getMatchedCSSProperties-rule-mutation-expected.txt: Added.
- fast/css/getMatchedCSSProperties-rule-mutation.html: Added.
- fast/css/getMatchedCSSRules-crash-expected.txt: Added.
- fast/css/getMatchedCSSRules-crash.html: Added.
- 3:38 AM Changeset in webkit [167234] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r165548 - Don't send synchronous resize events when FrameView has auto-sizing enabled.
<https://webkit.org/b/130198>
<rdar://problem/15991333>
Reviewed by Dan Bernstein.
- page/FrameView.cpp:
(WebCore::FrameView::sendResizeEventIfNeeded):
- 3:26 AM Changeset in webkit [167233] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WTF
Merge r165425 - Improve WeakPtr operators.
https://bugs.webkit.org/show_bug.cgi?id=130053
Reviewed by Andreas Kling.
Replace the "operator!()" with an explicit bool operator. Add an "operator->()".
- wtf/WeakPtr.h:
(WTF::WeakPtr::operator bool):
(WTF::WeakPtr::operator->):
- 3:05 AM Changeset in webkit [167232] by
-
- 5 edits3 adds in releases/WebKitGTK/webkit-2.4
Merge r165339 - SerializedScriptValue may move Identifiers between worlds
https://bugs.webkit.org/show_bug.cgi?id=129979
Reviewed by Andreas Kling.
Source/WebCore:
Test: fast/workers/worker-copy-shared-blob-url.html
Don't use Strings to store blob URLs as String's may be Identifiers
and they can only exist in one world/thread at a time.
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::put):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::deserializeString):
(WebCore::SerializedScriptValue::addBlobURL):
(WebCore::SerializedScriptValue::SerializedScriptValue):
- bindings/js/SerializedScriptValue.h:
LayoutTests:
Add test cases
- fast/workers/resources/worker-copy-shared-blob-url-worker.js: Added.
(count.0.onmessage):
- fast/workers/worker-copy-shared-blob-url-expected.txt: Added.
- fast/workers/worker-copy-shared-blob-url.html: Added.
- 2:47 AM Changeset in webkit [167231] by
-
- 4 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r165145 - ASSERT(newestManifest) fails in WebCore::ApplicationCacheGroup::didFinishLoadingManifest()
https://bugs.webkit.org/show_bug.cgi?id=129753
<rdar://problem/12069835>
Reviewed by Alexey Proskuryakov.
Fixes an issue where an assertion failure would occur when visiting a web site whose on-disk
app cache doesn't contain a manifest resource.
For some reason an app cache for a web site may be partially written to disk. In particular, the
app cache may only contain a CacheGroups entry. That is, the manifest resource and origin records
may not be persisted to disk. From looking over the code, we're unclear how such a situation can occur
and hence have been unable to create such an app cache. We were able to reproduce this issue using
an app cache database file that was provided by a person that was affected by this issue.
No test included because it's not straightforward to write a test for this change.
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Assert that m_cacheBeingUpdated->manifestResource()
is non-null. Currently we only document this assumption in a code comment. Also separated a single assertion
expression into two assertion expressions to make it straightforward to identify the failing sub-expression
on failure.
- loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::store): Modified to call ApplicationCacheStorage::deleteCacheGroupRecord()
to remove a cache group and associated cache records (if applicable) before inserting a cache group entry.
This replacement approach will ultimately repair incomplete app cache data for people affected by this bug.
(WebCore::ApplicationCacheStorage::loadCache): Log an error and return nullptr if the cache we loaded doesn't
have a manifest resource.
(WebCore::ApplicationCacheStorage::deleteCacheGroupRecord): Added.
(WebCore::ApplicationCacheStorage::deleteCacheGroup): Extracted deletion logic for cache group record into
ApplicationCacheStorage::deleteCacheGroupRecord().
- loader/appcache/ApplicationCacheStorage.h:
- 2:43 AM Changeset in webkit [167230] by
-
- 4 edits3 adds in releases/WebKitGTK/webkit-2.4
Merge r165138 - Fix crash in CompositeEditCommand::cloneParagraphUnderNewElement()
<http://webkit.org/b/129751>
<rdar://problem/16237965>
Reviewed by Jon Honeycutt.
Merged from Blink (patch by Yuta Kitamura):
https://src.chromium.org/viewvc/blink?revision=168160&view=revision
http://crbug.com/345005
The root cause is CompositeEditCommand::moveParagraphWithClones() passing
two positions |start| and |end| which do not follow the document order,
i.e. in some situations |start| is located after |end| because of
the difference in affinity.
This patch fixes this crash by normalizing |end| to |start| in such situations.
It also adds an ASSERT that checks the relationship between |start| and |end|.
Source/WebCore:
Test: editing/execCommand/format-block-crash.html
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
(WebCore::CompositeEditCommand::moveParagraphWithClones):
- editing/CompositeEditCommand.h:
LayoutTests:
- editing/execCommand/format-block-crash-expected.txt: Added.
- editing/execCommand/format-block-crash.html: Added.
- editing/execCommand/resources/format-block-crash-iframe.html: Added.
- 2:37 AM Changeset in webkit [167229] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.4
Merge r164933 - Ensure keySplines is valid in SMIL animations
<http://webkit.org/b/129547>
<rdar://problem/15676128>
Reviewed by Darin Adler.
Merged from Blink (patch by Philip Rogers):
https://src.chromium.org/viewvc/blink?revision=156452&view=revision
http://crbug.com/276111
This patch fixes a crash in SMIL animations when keySplines are not
specified. The SMIL spec is clear on this:
http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncCalcMode
"If there are any errors in the keyTimes specification (bad values,
too many or too few values), the animation will have no effect."
This patch simply checks that keyTimes is not empty. Previously,
splinesCount was set to be m_keySplines.size() + 1 in
SVGAnimationElement.cpp; this patch changes splinesCount to be equal
to m_keySplines.size() to make the logic easier to follow and to
match other checks in SVGAnimationElement::startedActiveInterval.
Source/WebCore:
Test: svg/animations/animate-keysplines-crash.html
- svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::startedActiveInterval):
LayoutTests:
- svg/animations/animate-keysplines-crash-expected.txt: Added.
- svg/animations/animate-keysplines-crash.html: Added.
- 2:34 AM Changeset in webkit [167228] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r164876 - Properly clear m_logicallyLastRun to remove use-after-free possibility
https://bugs.webkit.org/show_bug.cgi?id=129489
Reviewed by David Hyatt.
A use-after-free issue was caught in Blink because m_logicallyLastRun
is not cleared when the item it points to is deleted. Clearing it
turns the use-after-free into a segfault, and prevents any future
use-after-frees from happening.
- platform/text/BidiRunList.h:
(WebCore::BidiRunList<Run>::deleteRuns):
- 2:31 AM Changeset in webkit [167227] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WTF
Merge r164408 - Crash in WTF::StringBuilder::append()
https://bugs.webkit.org/show_bug.cgi?id=125817
<rdar://problem/15671883>
Reviewed by Oliver Hunt.
- wtf/text/StringBuilder.cpp:
(WTF::expandedCapacity):
Ensure that we return a new capacity of at least 'requiredLength' in
the case where requiredLength is large. Also, use unsigned rather than
size_t for the parameters and the return value, as callers pass
unsigned arguments and treat the result as an unsigned int.
- 2:24 AM Changeset in webkit [167226] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.4
Merge r164367 - Do not dispatch change event twice in single step action
https://bugs.webkit.org/show_bug.cgi?id=116936
<rdar://problem/16086828>
Reviewed by Ryosuke Niwa.
Merged from Blink (patch by Kent Tamura):
https://src.chromium.org/viewvc/blink?view=rev&revision=151175
Source/WebCore:
Test: fast/forms/number/number-type-update-by-change-event.html
- html/InputType.cpp:
(WebCore::InputType::stepUpFromRenderer):
LayoutTests:
- fast/forms/number/number-type-update-by-change-event-expected.txt: Added.
- fast/forms/number/number-type-update-by-change-event.html: Added.
- 2:17 AM Changeset in webkit [167225] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.4
Merge r164249 - AX: Invalid cast in WebCore::AccessibilityTable::isDataTable (CRBug 280352)
<https://webkit.org/b/128925>
<rdar://problem/16087351>
Merged from Blink (patch by Dominic Mazzoni):
https://src.chromium.org/viewvc/blink?revision=159711&view=revision
Reviewed by Oliver Hunt.
Source/WebCore:
Don't cast to a table cell element unless we are sure it is one.
Test: accessibility/display-table-cell-causes-crash.html
- accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isDataTable):
LayoutTests:
- accessibility/display-table-cell-causes-crash-expected.txt: Added.
- accessibility/display-table-cell-causes-crash.html: Added.
- 2:11 AM Changeset in webkit [167224] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.4
Merge r164204 - Ensure that removing an iframe from the DOM tree disconnects its Frame.
<https://webkit.org/b/128889>
<rdar://problem/15671221>
Merged from Blink (patch by Adam Klein):
https://src.chromium.org/viewvc/blink?revision=156174&view=revision
Source/WebCore:
SubframeLoadingDisabler wasn't catching the case when an <iframe> was,
in its unload handler, removed and re-added to the same parent.
Fix this by using a count of SubframeLoadingDisablers that are on the
stack for a given root, rather than a simple boolean.
Test: fast/frames/reattach-in-unload.html
- html/HTMLFrameOwnerElement.h:
(WebCore::SubframeLoadingDisabler::disabledSubtreeRoots):
LayoutTests:
- fast/frames/reattach-in-unload-expected.txt: Added.
- fast/frames/reattach-in-unload.html: Added.
- 2:00 AM Changeset in webkit [167223] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.4
Merge r164170 - ASSERT_WITH_SECURITY_IMPLICATION in WebCore::toElement
https://bugs.webkit.org/show_bug.cgi?id=128810
Patch by Renata Hodovan <rhodovan.u-szeged@partner.samsung.com> on 2014-02-15
Reviewed by Ryosuke Niwa.
Source/WebCore:
Make CompositeEditCommand::cloneParagraphUnderNewElement() to work when |outerNode|
doesn't contain |start|.
Before this patch, CompositeEditCommand::cloneParagraphUnderNewElement() tried to copy
ancestry nodes from |start| to Document node when |start| position isn't in |outerNode|. This
patch changes CompositeEditCommand::cloneParagraphUnderNewElement() to copy |start| to
|outerNode| only if |outerNode| contains |start| position.
Merged from Blink https://src.chromium.org/viewvc/blink?revision=161762&view=revision by yosin@chromium.org.
Test: editing/execCommand/indent-with-uneditable-crash.html
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
LayoutTests:
- editing/execCommand/indent-with-uneditable-crash-expected.txt: Added.
- editing/execCommand/indent-with-uneditable-crash.html: Added.
- 1:53 AM Changeset in webkit [167222] by
-
- 4 edits in releases/WebKitGTK/webkit-2.4
Merge r163599 - loadSubframe can return null in SubframeLoader::loadOrRedirectSubframe
https://bugs.webkit.org/show_bug.cgi?id=128344
Reviewed by Ryosuke Niwa.
Source/WebCore:
- loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadOrRedirectSubframe):
LayoutTests:
- TestExpectations: Unskipped tests that were previously crashing
- 1:47 AM Changeset in webkit [167221] by
-
- 6 edits6 adds in releases/WebKitGTK/webkit-2.4
Merge r163579 - Make adoption agency use the task queue
https://bugs.webkit.org/show_bug.cgi?id=109445
Reviewed by Ryosuke Niwa.
Source/WebCore:
Tests: fast/parser/adoption-agency-crash-01.html
fast/parser/adoption-agency-crash-02.html
fast/parser/adoption-agency-crash-03.html
- html/parser/HTMLConstructionSite.cpp:
(WebCore::insert):
(WebCore::executeInsertTask):
(WebCore::executeReparentTask):
(WebCore::executeInsertAlreadyParsedChildTask):
(WebCore::executeTakeAllChildrenTask):
(WebCore::executeTask):
(WebCore::HTMLConstructionSite::attachLater):
(WebCore::HTMLConstructionSite::executeQueuedTasks):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::reparent):
(WebCore::HTMLConstructionSite::insertAlreadyParsedChild):
(WebCore::HTMLConstructionSite::takeAllChildren):
(WebCore::HTMLConstructionSite::fosterParent):
- html/parser/HTMLConstructionSite.h:
(WebCore::HTMLConstructionSiteTask::HTMLConstructionSiteTask):
(WebCore::HTMLConstructionSiteTask::oldParent):
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
LayoutTests:
- TestExpectations:
- fast/parser/adoption-agency-crash-01-expected.txt: Added.
- fast/parser/adoption-agency-crash-01.html: Added.
- fast/parser/adoption-agency-crash-02-expected.txt: Added.
- fast/parser/adoption-agency-crash-02.html: Added.
- fast/parser/adoption-agency-crash-03-expected.txt: Added.
- fast/parser/adoption-agency-crash-03.html: Added.
- 1:46 AM Changeset in webkit [167220] by
-
- 7 edits in trunk/Source
[JSC] Improve the call site of string comparison in some hot path
https://bugs.webkit.org/show_bug.cgi?id=131605
Reviewed by Darin Adler.
Source/JavaScriptCore:
When resolved, the String of a JSString is never null. It can be empty but not null.
The null value is reserved for ropes but those would be resolved when getting the value.
Consequently, we should use the equal() operation that do not handle null values.
Using the StringImpl directly is already common in StringPrototype but it was not used here for some reason.
- jit/JITOperations.cpp:
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::equalSlowCaseInline):
(JSC::JSValue::strictEqualSlowCaseInline):
(JSC::JSValue::pureStrictEqual):
Source/WebCore:
- dom/NodeRareData.h:
(WebCore::NodeListsNodeData::NodeListCacheMapEntryHash::equal):
We should use the right comparison operation depending on the Hash Traits.
Source/WTF:
- wtf/text/StringImpl.cpp:
(WTF::stringImplContentEqual):
Inline that function to reduce the call overhead for JSC.
This is only inlined twice, it is not catastrophic for our binary.
- 1:45 AM Changeset in webkit [167219] by
-
- 2 edits1 move1 delete in trunk/Source/WebCore
Merge MemoryPressureHandler{Mac,IOS}.mm
<https://webkit.org/b/131603>
Join the iOS and Mac platform implementations of MemoryPressureHandler
under the shared Cocoa banner. Each platform still has its own quirky
behavior, but this puts them in the same file so we can start sharing.
Reviewed by Darin Adler.
- WebCore.xcodeproj/project.pbxproj:
- platform/cocoa/MemoryPressureHandlerCocoa.mm: Renamed from Source/WebCore/platform/mac/MemoryPressureHandlerMac.mm.
(WebCore::MemoryPressureHandler::platformReleaseMemory):
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::uninstall):
(WebCore::MemoryPressureHandler::holdOff):
(WebCore::MemoryPressureHandler::respondToMemoryPressure):
(WebCore::respondToMemoryPressureCallback):
(WebCore::MemoryPressureHandler::installMemoryReleaseBlock):
(WebCore::MemoryPressureHandler::setReceivedMemoryPressure):
(WebCore::MemoryPressureHandler::hasReceivedMemoryPressure):
(WebCore::MemoryPressureHandler::clearMemoryPressure):
(WebCore::MemoryPressureHandler::shouldWaitForMemoryClearMessage):
(WebCore::MemoryPressureHandler::respondToMemoryPressureIfNeeded):
- platform/ios/MemoryPressureHandlerIOS.mm: Removed.
- 1:42 AM Changeset in webkit [167218] by
-
- 10 edits4 adds in trunk
CSS JIT: compile the :nth-child() pseudo class
https://bugs.webkit.org/show_bug.cgi?id=131602
Reviewed by Andreas Kling.
Source/WebCore:
Tests: fast/selectors/nth-child-bounds.html
fast/selectors/nth-child-with-backtracking.html
Compile the :nth-child() pseudo class function + some related clean up.
- css/CSSSelector.cpp:
(WebCore::CSSSelector::nthA):
(WebCore::CSSSelector::nthB):
Expose the parsed value of an+b filters. Those values are used to compile
the selector.
(WebCore::CSSSelector::RareData::parseNth):
While working on the patch, I discovered some severe issues with the parsing of large
values of a and/or b. The problem comes from the way the CSS parser handle the values:
the values are parsed as a double then converted to an AtomicString for CSSSelector.
There are many problems related to large values but we never got bug reports because
they are very uncommon. Fixing those problem would require changing the parser.
Here, CSSSelector::RareData::parseNth() is hardened a little bit to avoid absurd values
of a and b.
- css/CSSSelector.h:
- cssjit/RegisterAllocator.h:
It looks like I forgot RDX in the list of register. Add it now since it is required
for SelectorCodeGenerator::modulo().
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
(WebCore::SelectorCompiler::SelectorCodeGenerator::moduloIsZero):
There is no modulo() operation exposed on the macro assemblers. This is a basic
implementation on top of idiv for x86_64.
Since idiv works exclusively with RAX and RDX, most of the code is about getting
those registers efficiently.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::setElementChildIndex):
(WebCore::SelectorCompiler::setElementChildIndexAndUpdateStyle):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
This is pretty much a straightforward implementation of :nth-child().
The first part counts the number of previous elements.
The second part updates the tree if this is style resolution.
The last part compares the number of previous siblings to an+b to find if the filter matches.
The only part that diverges from SelectorChecker is how childIndex is used. Instead of testing it
at every iteration, only the first iteration handle the cache.
- dom/ElementRareData.h:
(WebCore::ElementRareData::childIndexMemoryOffset):
- dom/Node.h:
(WebCore::Node::rareDataMemoryOffset):
(WebCore::Node::flagHasRareData):
- rendering/style/RenderStyle.h:
LayoutTests:
Add a couple of test for the new code:
-nth-child-with-backtracking tests the register pressure with backtracking.
-nth-child-bounds tests invalid selectors do not cause problems.
- fast/selectors/nth-child-bounds-expected.txt: Added.
- fast/selectors/nth-child-bounds.html: Added.
- fast/selectors/nth-child-with-backtracking-expected.txt: Added.
- fast/selectors/nth-child-with-backtracking.html: Added.
- http/tests/security/video-poster-cross-origin-crash.html:
Now that CSSSelector filters out ridiculously bad values, the pseudo class in this test
was no longer executed.
The particular value of nth-child is irrelevant for this test, all it needs it the tree marking
while not matching.
- 1:29 AM Changeset in webkit [167217] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.4
Merge r163465 - Move characterAt index checks from InlineIterator to RenderText
https://bugs.webkit.org/show_bug.cgi?id=128224
Source/WebCore:
Reviewed by Simon Fraser.
Move characterAt index checks from InlineIterator to RenderText
so that all RenderText calls are covered. Few safe instances are
now covered with uncheckedCharacterAt.
Merged from Blink:
http://src.chromium.org/viewvc/blink?view=revision&revision=150830
Test: fast/text/character-at-crash.html
- rendering/InlineIterator.h:
(WebCore::InlineIterator::characterAt):
- rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):
- rendering/RenderText.h:
(WebCore::RenderText::operator[]):
(WebCore::RenderText::uncheckedCharacterAt):
(WebCore::RenderText::characterAt):
LayoutTests:
Move characterAt index checks from InlineIterator to RenderText
so that all RenderText calls are covered. Few safe instances are
now covered with uncheckedCharacterAt.
Merged from Blink:
http://src.chromium.org/viewvc/blink?view=revision&revision=150830
Reviewed by Simon Fraser.
- fast/text/character-at-crash-expected.txt: Added.
- fast/text/character-at-crash.html: Added.
- 1:10 AM Changeset in webkit [167216] by
-
- 8 edits in trunk/Source
Support setting a background color on page overlays
https://bugs.webkit.org/show_bug.cgi?id=131600
Reviewed by Darin Adler.
- WebProcess/WebPage/PageOverlay.cpp:
(WebKit::PageOverlay::PageOverlay):
(WebKit::PageOverlay::bounds):
(WebKit::PageOverlay::startFadeInAnimation):
(WebKit::PageOverlay::startFadeOutAnimation):
(WebKit::PageOverlay::startFadeAnimation):
(WebKit::PageOverlay::fadeAnimationTimerFired):
Minor style adjustments.
Use more references everywhere.
(WebKit::PageOverlay::setBackgroundColor):
(WebKit::PageOverlay::setNeedsDisplay):
- WebProcess/WebPage/PageOverlay.h:
(WebKit::PageOverlay::backgroundColor):
Keep track of our background color, and push it down to the page overlay controller if we have one.
- WebProcess/WebPage/PageOverlayController.cpp:
(WebKit::updateOverlayGeometry):
(WebKit::PageOverlayController::clearPageOverlay):
Page overlays will always have the right size, and just use drawsContents to determine
whether or not they should tile/have backing store/etc.
(WebKit::PageOverlayController::installPageOverlay):
(WebKit::PageOverlayController::didChangeOverlayBackgroundColor):
Set the background color of the layer.
- WebProcess/WebPage/PageOverlayController.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
References!
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::setDocumentOverlayRootLayer):
Mark the compositing tree as needing a rebuild when we get a new document-relative
overlay layer; otherwise we were depending on something else coming along and
requiring a rebuild, which didn't always happen.
- 12:50 AM Changeset in webkit [167215] by
-
- 4 edits2 adds in trunk
[CSS Regions] Hit testing doesn't work in video
https://bugs.webkit.org/show_bug.cgi?id=131485
Reviewed by Andrei Bucur.
Source/WebCore:
When hit testing flow thread layer through the region layer,
we have to pass the depth sorting information and take that
into account for the situation in which an ancestor of the region
has preserve-3d transform style.
Test: fast/regions/hit-test-region-preserve3d-container.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestFlowThreadIfRegionForFragments):
- rendering/RenderLayer.h:
LayoutTests:
- fast/regions/hit-test-region-preserve3d-container-expected.txt: Added.
- fast/regions/hit-test-region-preserve3d-container.html: Added.
- 12:28 AM WebKitGTK/2.4.x edited by
- (diff)
- 12:28 AM Changeset in webkit [167214] by
-
- 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2
Merge r167128 - wk2-gtk does not display anything
https://bugs.webkit.org/show_bug.cgi?id=125558
Reviewed by Martin Robinson.
Remove fcntl call to set access mode flags on the duplicated files
descriptor. Those flags are ignored in Linux and make fcntl to
fail in FreeBSD. We should handle the case where the passed
protection is ReadOnly.
Thanks to Raphael Kubo da Costa who proposed the solution.
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::createHandle):
(WebKit::accessModeFile): Deleted.
- 12:19 AM Changeset in webkit [167213] by
-
- 51 edits9 adds in trunk/LayoutTests
Update html5lib test data to latest version
https://bugs.webkit.org/show_bug.cgi?id=131588
Patch by Koji Ishii <kojishi@gmail.com> on 2014-04-14
Reviewed by Darin Adler.
This patch imports the latest version of the "dat" files from
https://github.com/html5lib/html5lib-tests
Also updated expected files for failures of new tests.
- html5lib/generated/run-adoption01-data-expected.txt: Passes now as a bug in the test was fixed.
- html5lib/generated/run-adoption01-write-expected.txt: Supressed new failures.
- html5lib/generated/run-inbody01-data-expected.txt: Added.
- html5lib/generated/run-inbody01-data.html: Added.
- html5lib/generated/run-inbody01-write-expected.txt: Added.
- html5lib/generated/run-inbody01-write.html: Added.
- html5lib/generated/run-main-element-data-expected.txt: Added.
- html5lib/generated/run-main-element-data.html: Added.
- html5lib/generated/run-main-element-write-expected.txt: Added.
- html5lib/generated/run-main-element-write.html: Added.
- html5lib/generated/run-template-data-expected.txt: Supressed new failures.
- html5lib/generated/run-template-write-expected.txt: Supressed new failures.
- html5lib/generated/run-tests21-data-expected.txt: Supressed new failures.
- html5lib/generated/run-tests21-write-expected.txt: Supressed new failures.
- html5lib/generated/run-tests25-data-expected.txt: Supressed new failures.
- html5lib/generated/run-tests25-write-expected.txt: Supressed new failures.
- html5lib/resources/adoption01.dat:
- html5lib/resources/adoption02.dat:
- html5lib/resources/comments01.dat:
- html5lib/resources/doctype01.dat:
- html5lib/resources/domjs-unsafe.dat:
- html5lib/resources/entities01.dat:
- html5lib/resources/entities02.dat:
- html5lib/resources/html5test-com.dat:
- html5lib/resources/inbody01.dat:
- html5lib/resources/isindex.dat:
- html5lib/resources/main-element.dat: Added.
- html5lib/resources/pending-spec-changes-plain-text-unsafe.dat:
- html5lib/resources/pending-spec-changes.dat:
- html5lib/resources/plain-text-unsafe.dat:
- html5lib/resources/scriptdata01.dat:
- html5lib/resources/tables01.dat:
- html5lib/resources/template.dat:
- html5lib/resources/tests1.dat:
- html5lib/resources/tests10.dat:
- html5lib/resources/tests14.dat:
- html5lib/resources/tests15.dat:
- html5lib/resources/tests16.dat:
- html5lib/resources/tests17.dat:
- html5lib/resources/tests18.dat:
- html5lib/resources/tests19.dat:
- html5lib/resources/tests2.dat:
- html5lib/resources/tests20.dat:
- html5lib/resources/tests21.dat:
- html5lib/resources/tests22.dat:
- html5lib/resources/tests23.dat:
- html5lib/resources/tests25.dat:
- html5lib/resources/tests26.dat:
- html5lib/resources/tests3.dat:
- html5lib/resources/tests4.dat:
- html5lib/resources/tests5.dat:
- html5lib/resources/tests6.dat:
- html5lib/resources/tests7.dat:
- html5lib/resources/tests8.dat:
- html5lib/resources/tests9.dat:
- html5lib/resources/tests_innerHTML_1.dat:
- html5lib/resources/tricky01.dat:
- html5lib/resources/webkit01.dat:
- html5lib/resources/webkit02.dat:
- 12:17 AM Changeset in webkit [167212] by
-
- 8 edits in releases/WebKitGTK/webkit-2.4
Merge r167185 - [SOUP] Libsoup internal credential setting should be controlled by loader decision
https://bugs.webkit.org/show_bug.cgi?id=130963
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-04-12
Reviewed by Darin Adler.
Source/WebCore:
Disabled libsoup internal authentication manager for messages for which no credential is available and no stored credentials should be used.
Updated synchronous loader to return whether using credentials or not according StoredCredential loader option parameter.
Unskipped test http/tests/xmlhttprequest/cross-origin-no-authorization.html covers the patch.
- platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal): Added m_useAuthenticationManager boolean to control whether disable authentication manager or not.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Added m_storedCredentials member.
(WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage): Return true if stored credentials are allowed.
(WebCore::applyAuthenticationToRequest): Set m_useAuthenticationManager value to disable authentication manager if cannot use stored credentials and ResourceHandleInternal has no username and password.
(WebCore::createSoupMessageForHandleAndRequest): Disable authentication mananger according m_useAuthenticationManager value.
(WebCore::ResourceHandle::platformLoadResourceSynchronously): Added StoredCredentials loader option to the sync loader constructor.
Source/WebKit/efl:
- WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::shouldUseCredentialStorage): Similarly to GTK, let soup/loader layer handle when to use credential storage. Return always true
LayoutTests:
- platform/efl/TestExpectations: Unskipped http/tests/xmlhttprequest/cross-origin-no-authorization.html.
- platform/gtk/TestExpectations: Ditto.
Apr 13, 2014:
- 11:58 PM Changeset in webkit [167211] by
-
- 6 edits1 add in trunk
userVisibleString should not try to "encode" host names
https://bugs.webkit.org/show_bug.cgi?id=131587
rdar://problem/14686849
Reviewed by Alexey Proskuryakov.
Source/WebCore:
- WebCore.exp.in: Updated for WebCoreNSURLExtras argument type changes.
- platform/mac/WebCoreNSURLExtras.h: Removed unneeded code to make this
Objective-C++ header compile in plain C++ files, which we never need to do.
Added missing argument name, baseURL, and changed mysterious CFIndex arguments
to the correct type, CFURLComponentType.
- platform/mac/WebCoreNSURLExtras.mm:
(WebCore::isLookalikeCharacter): Removed the inline keyword from this, and added
more lookalike characters from the Mozilla list referenced here.
(WebCore::URLByTruncatingOneCharacterBeforeComponent): Updated argument type.
(WebCore::dataForURLComponentType): Ditto.
(WebCore::userVisibleString): Only call mapHostNames if host name decoding is
needed; no encoding here.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added URLExtras.mm.
- TestWebKitAPI/Tests/mac/URLExtras.mm: Added. A few tests for WebCoreNSURLExtras.
Coverage is tiny at this point; we could add a lot more cases!
- 11:55 PM Changeset in webkit [167210] by
-
- 14 edits2 adds in trunk
REGRESSION (r158617): Find on Page can get stuck in a loop when the search string occurs in an <input> in a <fieldset>
https://bugs.webkit.org/show_bug.cgi?id=126322
Reviewed by Ryosuke Niwa.
Source/WebCore:
- dom/Element.cpp:
(WebCore::Element::canContainRangeEndPoint): Now returns false when the role of the element
is "img". This is the same rule that's hard-coded in isRenderReplacedElement for the same
reason. Need more test coverage to make sure this role feature works consistently.
- dom/Element.h: Made canContainRangeEndPoint no longer inline since it's not just a
return statement any more.
- dom/Position.cpp:
(WebCore::Position::isCandidate): Took out code that calls isRendererReplacedElement
that was added in r158617; not needed now that we updated canContainRangeEndPoint.
- dom/Range.cpp:
(WebCore::Range::firstNode): Removed code here that called isRendererReplacedElement.
This was the wrong level to be adding editing logic, and there's a FIXME here to that
effect, which we are now deleting. This was the change that broke Find.
- editing/TextIterator.cpp: Added a comment about the redundancy between the
isRendererReplacedElement and editingIgnoresContent functions.
- html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::canContainRangeEndPoint): Call through to base class instead
of just returning true when we have child nodes. Lets Element::canContainRangeEndPoint
do its thing.
- html/HTMLHRElement.h: Ditto.
- html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::canContainRangeEndPoint): Call through to base class instead
of just returning true when we have fallback content. Lets Element::canContainRangeEndPoint
do its thing.
- html/HTMLObjectElement.h: Ditto.
- testing/Internals.cpp:
(WebCore::Internals::countMatchesForText): Set the limit to 1000 instead of infinite.
LayoutTests:
- editing/text-iterator/count-matches-in-form-expected.txt: Added.
- editing/text-iterator/count-matches-in-form.html: Added.
- fast/text/window-find.html: Tweaked the test a bit, making it a little easier to
see if the test hasn't even run.
- 11:55 PM WebKitGTK/2.4.x edited by
- (diff)
- 10:35 PM April 2014 Meeting edited by
- Add my intentions to attend talks/hackathons (diff)
- 10:29 PM Changeset in webkit [167209] by
-
- 2 edits in trunk/Tools
Use #include instead of #import
https://bugs.webkit.org/show_bug.cgi?id=131604
Reviewed by Darin Adler.
Fix "warning: #import is a deprecated GCC extension [-Wdeprecated]".
- TestWebKitAPI/Tests/WTF/StringView.cpp:
- 9:28 PM Changeset in webkit [167208] by
-
- 6 edits in trunk/Source/WebCore
Use unique_ptr for FillLayer::m_next
https://bugs.webkit.org/show_bug.cgi?id=75222
Reviewed by Dan Bernstein.
- css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyFillLayer::applyInheritValue):
Renamed currChild to just child and prevChild to previousChild.
Changed code to pass ownership of the new FillLayer immediately.
Changed some loops to be for loops.
(WebCore::ApplyPropertyFillLayer::applyInitialValue): Ditto.
(WebCore::ApplyPropertyFillLayer::applyValue): Ditto.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::backgroundHasOpaqueTopLayer): Use reference
instead of pointer.
(WebCore::RenderBox::paintFillLayers): Ditto.
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended): Ditto.
- rendering/style/FillLayer.cpp:
(WebCore::FillLayer::FillLayer): Removed m_next initializer since it is now an
OwnPtr and initializes automatically. In a couple other places, changed m_next
initializer to use make_unique.
(WebCore::FillLayer::~FillLayer): Wrote loop for deletion of m_next.
(WebCore::FillLayer::operator=): Removed unneeded explicit deletion of m_next.
(WebCore::FillLayer::cullEmptyLayers): Ditto.
(WebCore::clipMax): Marked inline.
(WebCore::FillLayer::computeClipMax): Rewrote to use a loop instead of recursion.
(WebCore::FillLayer::containsImage): Ditto.
(WebCore::FillLayer::imagesAreLoaded): Ditto.
(WebCore::FillLayer::hasOpaqueImage): Rewrote to use && instead of multiple if.
(WebCore::FillLayer::hasImage): Rewrote to use a loop instead of recursion.
(WebCore::FillLayer::hasFixedImage): Ditto.
- rendering/style/FillLayer.h: Changed m_next to be a unique_ptr.
- 7:57 PM Changeset in webkit [167207] by
-
- 15 edits1 add in trunk/Source
[QuickLook] Move file system-related code into WebKit
https://bugs.webkit.org/show_bug.cgi?id=131597
Reviewed by Dan Bernstein.
Source/WebCore:
QuickLookHandle should not be responsible for saving a copy of the
original document to disk as it might be running in a process that
either can't write to disk or can only write into a sandboxed
container. To account for this, we need to separate the concern of
quick look conversion from that of original document saving so that
each activity can run in the appropriate process.
Created a new interface between WebCore and WebKit by adding a client
(QuickLookHandleClient) to QuickLookHandle which is notified of incoming
bytes. A new function on FrameLoaderClient tells WebKit when a new
QuickLookHandle is created, giving WebKit the opportunity to register a
handle client. Moved the existing file system-related code as well as
code only needed by WebKit1 in QuickLookHandle into a new WebKit1
QuickLookHandleClient subclass.
- WebCore.exp.in:
- WebCore.xcodeproj/project.pbxproj: Made QuickLookHandleClient.h Private.
- loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::didCreateQuickLookHandle): Added.
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didCreateQuickLookHandle): Called FrameLoaderClient::didCreateQuickLookHandle().
- loader/ResourceLoader.h:
- platform/network/ResourceHandle.h: Made m_quickLook a unique_ptr.
(WebCore::ResourceHandle::setQuickLookHandle): Changed to take a unique_ptr.
- platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::didCreateQuickLookHandle): Added.
- platform/network/ios/QuickLook.h: Added m_client, gave m_converter a stronger type, and made m_nsResponse a RetainPtr.
(WebCore::QuickLookHandle::setClient): Added.
(WebCore::QuickLookHandle::firstRequestURL): Added.
(WebCore::QuickLookHandle::converter): Added.
- platform/network/ios/QuickLook.mm:
(WebCore::registerQLPreviewConverterIfNeeded):
(WebCore::createTemporaryFileForQuickLook): Made non-static.
(WebCore::emptyClient): Returned a shared empty QuickLookHandleClient.
(WebCore::QuickLookHandle::QuickLookHandle): Removed file system and WebKit1-only code.
(WebCore::QuickLookHandle::create): Changed to return a unique_ptr.
(WebCore::QuickLookHandle::nsResponse):
(WebCore::QuickLookHandle::didReceiveDataArray): Removed file system code and called QuickLookHandleClient::didReceiveDataArray() instead.
(WebCore::QuickLookHandle::didReceiveData): Removed file system code and called QuickLookHandleClient::didReceiveData() instead.
(WebCore::QuickLookHandle::didFinishLoading): Removed file system code and called QuickLookHandleClient::didFinishLoading() instead.
(WebCore::QuickLookHandle::didFail): Removed file system and WebKit1-only code, calling QuickLookHandleClient::didFail() instead.
(WebCore::QuickLookHandle::~QuickLookHandle): Removed file system and WebKit1-only code. Cleared our reference to m_client.
(WebCore::QuickLookHandle::previewFileName): Retrieved from m_converter.
(WebCore::QuickLookHandle::previewRequestURL): Ditto.
- platform/network/ios/QuickLookHandleClient.h: Added.
(WebCore::QuickLookHandleClient::~QuickLookHandleClient):
(WebCore::QuickLookHandleClient::didReceiveDataArray):
(WebCore::QuickLookHandleClient::didReceiveData):
(WebCore::QuickLookHandleClient::didFinishLoading):
(WebCore::QuickLookHandleClient::didFail):
Source/WebKit/mac:
Moved file system and WebKit1-only code from QuickLookHandle into a new
QuickLookHandleClient subclass.
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
Source/WebKit2:
- WebProcess/Network/WebResourceLoader.h: Made m_quickLookHandle a unique_ptr.
- WebProcess/ios/WebResourceLoaderIOS.mm:
(WebKit::WebResourceLoader::setUpQuickLookHandleIfNeeded):
- 6:35 PM Changeset in webkit [167206] by
-
- 2 edits in trunk/Source/WTF
Relax adoption requirements of RefCounted objects that are NeverDestroyed
https://bugs.webkit.org/show_bug.cgi?id=131593
Reviewed by Dan Bernstein.
RefCounted objects that are created by NeverDestroyed<> won't have a
RefPtr adopting them, so call relaxAdoptionRequirements().
- wtf/NeverDestroyed.h:
(WTF::NeverDestroyed::NeverDestroyed):
(WTF::NeverDestroyed::MaybeRelax::MaybeRelax):
- 5:02 PM Changeset in webkit [167205] by
-
- 3 edits12 adds in trunk/PerformanceTests
Added some website recordings to MallocBench -- taken from Membuster
https://bugs.webkit.org/show_bug.cgi?id=131601
Reviewed by Ryosuke Niwa.
Added flickr, reddit, and theverge -- each recorded from Membuster's
cache, with and without sending Safari a low memory warning.
- MallocBench/MallocBench.xcodeproj/project.pbxproj:
- MallocBench/MallocBench/Benchmark.cpp:
- MallocBench/MallocBench/flickr.cpp: Added.
(benchmark_flickr):
(benchmark_flickr_memory_warning):
- MallocBench/MallocBench/flickr.h: Added.
- MallocBench/MallocBench/flickr.ops: Added.
- MallocBench/MallocBench/flickr_memory_warning.ops: Added.
- MallocBench/MallocBench/reddit.cpp: Added.
(benchmark_reddit):
(benchmark_reddit_memory_warning):
- MallocBench/MallocBench/reddit.h: Added.
- MallocBench/MallocBench/reddit.ops: Added.
- MallocBench/MallocBench/reddit_memory_warning.ops: Added.
- MallocBench/MallocBench/theverge.cpp: Added.
(benchmark_theverge):
(benchmark_theverge_memory_warning):
- MallocBench/MallocBench/theverge.h: Added.
- MallocBench/MallocBench/theverge.ops: Added.
- MallocBench/MallocBench/theverge_memory_warning.ops: Added.
- 4:28 PM Changeset in webkit [167204] by
-
- 3 edits in trunk/Source/bmalloc
Fixed some mbmalloc exports
https://bugs.webkit.org/show_bug.cgi?id=131599
Reviewed by Ryosuke Niwa.
- bmalloc.xcodeproj/project.pbxproj: Made some headers a private part
of the project, so we can call them from API.
- bmalloc/mbmalloc.cpp: Marked the mbmalloc functions with default
visibility, so they show up as exported in the .dylib.
- 4:21 PM Changeset in webkit [167203] by
-
- 4 edits in trunk/PerformanceTests
MallocBench record/replay should support realloc
https://bugs.webkit.org/show_bug.cgi?id=131598
Reviewed by Ryosuke Niwa.
- MallocBench/MallocBench.xcodeproj/project.pbxproj: Fixed some linkage
issues that caused us not to fully link to system malloc in the default
case. Also marked mbmalloc.dylib as required so the error message will
be clearer if we mess up.
- MallocBench/MallocBench/Interpreter.cpp:
(Interpreter::run):
- MallocBench/MallocBench/Interpreter.h: Added the realloc case, and
upgraded one-letter names to full words.
- 4:03 PM April 2014 Meeting edited by
- Add a hackathon to import more w3c tests (diff)
- 1:02 PM Changeset in webkit [167202] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r167164): -[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:] _block_invoke can access a deallocated completionHandler
https://bugs.webkit.org/show_bug.cgi?id=131595
Reviewed by Dan Bernstein.
Make a copy of completionHandler and release it after we're done with it.
- Shared/mac/CookieStorageShim.mm:
(-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):
- 12:23 PM Changeset in webkit [167201] by
-
- 5 edits in trunk/Source/WebKit2
Don't use ImportanceAssertion on iOS
https://bugs.webkit.org/show_bug.cgi?id=131481
<rdar://problem/16575830>
Reviewed by Darin Adler.
We have other API to mark processes as being in use on iOS. No need to use ImportanceAssertion.
- Platform/IPC/MessageDecoder.cpp:
- Platform/IPC/MessageDecoder.h:
- Platform/IPC/mac/ConnectionMac.cpp:
(IPC::Connection::receiveSourceEventHandler):
- Platform/IPC/mac/ImportanceAssertion.h:
- 12:20 PM Changeset in webkit [167200] by
-
- 3 edits in trunk/Source/WebCore
Move early return out of dispatch_async() block so we can return from willSendRequest quickly
https://bugs.webkit.org/show_bug.cgi?id=131478
<rdar://problem/16575535>
Reviewed by Alexey Proskuryakov.
Do a quick check to see if we need to synthesize the redirect response on the dispatch queue
and return from willSendRequest callback quickly instead of always doing an effectively synchronous
call to the main thread. We can't call synthesizeRedirectResponseIfNecessary on the dispatch
queue since that accesses the ResourceRequest.
No new tests because no change in functionality.
- platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
- platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupRequest): Save the
request scheme to use later for early return from willSendRequest.
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
- 11:01 AM Changeset in webkit [167199] by
-
- 70 edits3 adds2 deletes in trunk
Rewrite Function.bind as a builtin
https://bugs.webkit.org/show_bug.cgi?id=131083
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
This change removes the existing function.bind implementation
entirely so JSBoundFunction is no more.
Instead we just return a regular JS closure with a few
private properties hanging off it that allow us to perform
the necessary bound function fakery. While most of this is
simple, a couple of key changes:
- The parser and lexer now directly track whether they're parsing code for call or construct and convert the private name @IsConstructor into TRUETOK or FALSETOK as appropriate. This automatically gives us the ability to vary behaviour from within the builtin. It also leaves a lot of headroom for trivial future improvements.
- The instanceof operator now uses the prototypeForHasInstance private name, and we have a helper function to ensure that all objects that need to can update their magical 'prototype' property pair correctly.
- API/JSScriptRef.cpp:
(parseScript):
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createBuiltinExecutable):
- builtins/Function.prototype.js:
(bind.bindingFunction):
(bind.else.bindingFunction):
(bind):
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::generateFunctionCodeBlock):
- bytecompiler/NodesCodegen.cpp:
(JSC::InstanceOfNode::emitBytecode):
- interpreter/Interpreter.cpp:
- parser/Lexer.cpp:
(JSC::Lexer<T>::Lexer):
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
- parser/Lexer.h:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
- parser/Parser.h:
(JSC::parse):
- parser/ParserModes.h:
- runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
- runtime/CommonIdentifiers.h:
- runtime/Completion.cpp:
(JSC::checkSyntax):
- runtime/Executable.cpp:
(JSC::ProgramExecutable::checkSyntax):
- runtime/FunctionPrototype.cpp:
(JSC::FunctionPrototype::addFunctionProperties):
(JSC::functionProtoFuncBind): Deleted.
- runtime/JSBoundFunction.cpp: Removed.
- runtime/JSBoundFunction.h: Removed.
- runtime/JSFunction.cpp:
(JSC::RetrieveCallerFunctionFunctor::RetrieveCallerFunctionFunctor):
(JSC::RetrieveCallerFunctionFunctor::operator()):
(JSC::retrieveCallerFunction):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncSetTypeErrorAccessor):
- runtime/JSGlobalObjectFunctions.h:
- runtime/JSObject.h:
(JSC::JSObject::inlineGetOwnPropertySlot):
Source/WebCore:
Switch WebCore to use the helper functions when defining the
prototype properties on DOM constructors, and update bindings
tests accordingly.
- bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::finishCreation):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorHelperMethods):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTargetConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestExceptionConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachableConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorConstructor::finishCreation):
(WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::finishCreation):
- bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::JSattributeConstructor::finishCreation):
- bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::JSreadonlyConstructor::finishCreation):
LayoutTests:
Testing.
- js/dom/function-bind-expected.txt:
- js/regress/function-bind-expected.txt: Added.
- js/regress/function-bind.html: Added.
- js/regress/script-tests/function-bind.js: Added.
(foo):
- 9:41 AM Changeset in webkit [167198] by
-
- 2 edits in trunk/Source/WebCore
[iOS WK2] Hook up scrolling tree nodes when coming out of the page cache
https://bugs.webkit.org/show_bug.cgi?id=131577
Reviewed by Tim Horton.
The call to scrollingCoordinator->frameViewRootLayerDidChange() was inside
a #if !PLATFORM(IOS) block, but now that we use the ScrollingCoordinator
for WK2 we want to call this.
- loader/HistoryController.cpp:
(WebCore::HistoryController::restoreScrollPositionAndViewState):
- 7:59 AM Changeset in webkit [167197] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r167196.
- platform/RemoteCommandListener.cpp:
(WebCore::RemoteCommandListener::create): Fall back to using the new operator
for allocating RemoteCommandListener object. Using std::make_unique() requires
for the operator to be public, which doesn't work well with the static create()
method.
- 7:18 AM Changeset in webkit [167196] by
-
- 10 edits in trunk/Source/WebCore
Remove unnecessary uses of std::move() in return statements
https://bugs.webkit.org/show_bug.cgi?id=131457
Reviewed by Darin Adler.
Don't use std::move() in return statements unless necessary as it inhibits
named return value optimizations as performed by compilers.
- Modules/battery/BatteryManager.cpp:
(WebCore::BatteryManager::create):
- html/FormController.cpp:
(WebCore::FormController::createSavedFormStateMap):
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::create):
- platform/RemoteCommandListener.cpp:
(WebCore::RemoteCommandListener::create):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayer::create):
- platform/ios/RemoteCommandListenerIOS.mm:
(WebCore::RemoteCommandListener::create):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupFilters):
- rendering/style/CounterDirectives.cpp:
(WebCore::clone):
- 4:23 AM Changeset in webkit [167195] by
-
- 11 edits in trunk/Source
Unreviewed, rolling out r167168 and r167194.
https://bugs.webkit.org/show_bug.cgi?id=131589
Caused massive ASSERTION failures on the GTK Debug bot
(Requested by philn on #webkit).
Reverted changesets:
"[GTK] Add HighDPI support for non-accelerated compositing
contents"
https://bugs.webkit.org/show_bug.cgi?id=131562
http://trac.webkit.org/changeset/167168
Source/WebCore:
"Unreviewed. Fix GTK+ build with recent cairo and GTK+ after
r167168."
http://trac.webkit.org/changeset/167194
Source/WebKit2:
"Unreviewed. Fix GTK+ build with recent cairo and GTK+ after
r167168."
http://trac.webkit.org/changeset/167194
- 2:46 AM Changeset in webkit [167194] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix GTK+ build with recent cairo and GTK+ after r167168.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseCreateWebPage):
- 2:33 AM Changeset in webkit [167193] by
-
- 9 edits4 adds in trunk
[GStreamer] No CORS support for media elements
https://bugs.webkit.org/show_bug.cgi?id=99037
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-04-13
Reviewed by Philippe Normand.
Source/WebCore:
Added CORS access control check to media sources when crossorigin attribute is set.
Added getter to CORS access control check status (used to compute whether the stream is tainted or not).
Related test is http/tests/security/video-cross-origin-readback.html.
Disabled access to cross-origin streams that fail CORS check when crossorigin attribute is set.
Related test is http/tests/security/video-cross-origin-accessfailure.html.
Tests: http/tests/security/video-cross-origin-accessfailure.html
http/tests/security/video-cross-origin-accesssameorigin.html
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::didPassCORSAccessCheck): Return whether media is cross-origin (tainted) or not by querying the gstreamer source layer.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Added MediaPlayerPrivateGStreamer::didPassCORSAccessCheck declaration.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart): Passed CORS mode parameter to the streaming client. In case of CORS check failure, stop the resource loading.
(webKitSrcPassedCORSAccessCheck): Return whether CORS access control check was done and successful.
(StreamingClient::handleResponseReceived): Take a parameter to assign the CORS access control check result.
(CachedResourceStreamingClient::CachedResourceStreamingClient): Updated setting of the ResourceLoaderOptions according CORS mode.
(CachedResourceStreamingClient::responseReceived): Check CORS and pass result to handleResponseReceived.
(ResourceHandleStreamingClient::didReceiveResponse): No CORS check.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Added webKitSrcPassedCORSAccessCheck declaration.
LayoutTests:
http/tests/security/video-cross-origin-accessfailure.html verifies that cross-origin streams that fail CORS check
are not played when crossorigin attribute is set.
http/tests/security/video-cross-origin-accesssameorigin.html verifies that access to same-origin streams
are played when crossorigin attribute is set.
- http/tests/security/video-cross-origin-accessfailure-expected.txt: Added.
- http/tests/security/video-cross-origin-accessfailure.html: Added.
- http/tests/security/video-cross-origin-accesssameorigin-expected.txt: Added.
- http/tests/security/video-cross-origin-accesssameorigin.html: Added.
- platform/efl/TestExpectations: Enabled http/tests/security/video-cross-origin-readback.html.
- platform/gtk/TestExpectations: Ditto.
- platform/mac/TestExpectations: Disabled http/tests/security/video-cross-origin-accessfailure.html.
- 1:05 AM Changeset in webkit [167192] by
-
- 5 edits in trunk
REGRESSION (r166860): ASSERTION FAILED: !isCalculated() on fast/css/image-set-value-not-removed-crash.html
https://bugs.webkit.org/show_bug.cgi?id=131480
Reviewed by Andreas Kling.
Source/WebCore:
Fixes intermittent assertion failure in fast/css/image-set-value-not-removed-crash.html.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForImageSliceSide): Added. Helper used below in valueForNinePieceImageSlice.
Handles calculated values by returning 0; incorrect but predictable.
(WebCore::valueForNinePieceImageSlice): Updated to call valueForImageSliceSide.
(WebCore::positionOffsetValue): Use nullptr.
(WebCore::ComputedStyleExtractor::propertyValue): Updated to call positionOffsetValue
by its new name. Removed "get" from the name.
(WebCore::positionOffsetValue): Renamed from getPositionOffsetValue.
- platform/Length.h: Made isCalculated public.
LayoutTests:
- platform/mac/TestExpectations: Unskip the test now that the assertion is fixed.
Apr 12, 2014:
- 6:50 PM Changeset in webkit [167191] by
-
- 5 edits in trunk
Make slow-stress tests run faster by running fewer VM variants.
Rubber stamped by Geoffrey Garen.
Tools:
- Scripts/run-javascriptcore-tests:
- Scripts/run-jsc-stress-tests:
LayoutTests:
- jsc-layout-tests.yaml:
- 4:59 PM Changeset in webkit [167190] by
-
- 3 edits in trunk/Source/WebCore
Fix the iOS build after r167183.
- platform/network/ResourceHandle.h:
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::schedule):
(WebCore::ResourceHandle::unschedule):
- 4:01 PM Changeset in webkit [167189] by
-
- 16 edits3 adds in trunk
Math.fround() should be an intrinsic
https://bugs.webkit.org/show_bug.cgi?id=131583
Source/JavaScriptCore:
Reviewed by Geoffrey Garen.
Makes programs that use Math.fround() run up to 6x faster.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
- dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithFRound):
- runtime/Intrinsic.h:
- runtime/MathObject.cpp:
(JSC::MathObject::finishCreation):
LayoutTests:
Reviewed by Geoffrey Garen.
This test runs 4.4635x faster with the intrinsic.
- js/regress/fround-expected.txt: Added.
- js/regress/fround.html: Added.
- js/regress/script-tests/fround.js: Added.
- 2:06 PM Changeset in webkit [167188] by
-
- 6 edits in trunk/Source
[iOS] Move QuickLookHandle from ResourceLoader to WebResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=131580
Reviewed by Darin Adler.
There's no need to bloat WebKit1's ResourceLoader with a pointer that
only WebKit2's WebResourceLoader cares about.
Source/WebCore:
- loader/ResourceLoader.h:
(WebCore::ResourceLoader::quickLookHandle): Deleted.
(WebCore::ResourceLoader::setQuickLookHandle): Deleted.
Source/WebKit2:
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::didFailResourceLoad):
- WebProcess/Network/WebResourceLoader.h:
- WebProcess/ios/WebResourceLoaderIOS.mm:
(WebKit::WebResourceLoader::setUpQuickLookHandleIfNeeded):
- 1:41 PM Changeset in webkit [167187] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
FTL should use stackmap register liveness
https://bugs.webkit.org/show_bug.cgi?id=130791
Reviewed by Goeffrey Garen.
Enable the stackmap register liveness support by fixing the two last bugs:
- If everything is dead after the patchpoint - a good possibility for a put_by_id - then we shouldn't crash due to a null scratch buffer.
- Always consider callee-saves as if they were live. More precisely, we should consider those callee-saves that are not saved by the enclosing function to be live. For now we do the much simpler thing and consider callee-saves to be always live since it has minimal impact on the scratch register allocator. It will know not to preserve those for calls, anyway.
I tried writing a test for the null scratch buffer thing, but failed. I will land the
test anyway since it seems useful.
- ftl/FTLCompile.cpp:
(JSC::FTL::usedRegistersFor):
- jit/ScratchRegisterAllocator.cpp:
(JSC::ScratchRegisterAllocator::preserveUsedRegistersToScratchBufferForCall):
(JSC::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBufferForCall):
- runtime/Options.h:
- tests/stress/repeated-put-by-id-reallocating-transition.js: Added.
(foo):
- 1:06 PM Changeset in webkit [167186] by
-
- 2 edits in trunk/Source/WebCore
AX: Cleanup AccessibilityObject::getAttribute
https://bugs.webkit.org/show_bug.cgi?id=131555
Reviewed by Darin Adler.
No new functionality.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::getAttribute):
- 1:01 PM Changeset in webkit [167185] by
-
- 8 edits in trunk
[SOUP] Libsoup internal credential setting should be controlled by loader decision
https://bugs.webkit.org/show_bug.cgi?id=130963
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-04-12
Reviewed by Darin Adler.
Source/WebCore:
Disabled libsoup internal authentication manager for messages for which no credential is available and no stored credentials should be used.
Updated synchronous loader to return whether using credentials or not according StoredCredential loader option parameter.
Unskipped test http/tests/xmlhttprequest/cross-origin-no-authorization.html covers the patch.
- platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal): Added m_useAuthenticationManager boolean to control whether disable authentication manager or not.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Added m_storedCredentials member.
(WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage): Return true if stored credentials are allowed.
(WebCore::applyAuthenticationToRequest): Set m_useAuthenticationManager value to disable authentication manager if cannot use stored credentials and ResourceHandleInternal has no username and password.
(WebCore::createSoupMessageForHandleAndRequest): Disable authentication mananger according m_useAuthenticationManager value.
(WebCore::ResourceHandle::platformLoadResourceSynchronously): Added StoredCredentials loader option to the sync loader constructor.
Source/WebKit/efl:
- WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::shouldUseCredentialStorage): Similarly to GTK, let soup/loader layer handle when to use credential storage. Return always true
LayoutTests:
- platform/efl/TestExpectations: Unskipped http/tests/xmlhttprequest/cross-origin-no-authorization.html.
- platform/gtk/TestExpectations: Ditto.
- 12:34 PM Changeset in webkit [167184] by
-
- 3 edits in trunk/LayoutTests
(before-mar-1-1000) In correct date creation prior to 1 Mar 1000
https://bugs.webkit.org/show_bug.cgi?id=129308
Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-04-12
Reviewed by Darin Adler.
- js/date-constructor-expected.txt:
- js/script-tests/date-constructor.js:
- 12:10 PM Changeset in webkit [167183] by
-
- 9 edits in trunk/Source/WebCore
Some small loader refinements and refactoring
https://bugs.webkit.org/show_bug.cgi?id=131541
Reviewed by Alexey Proskuryakov.
Cut down on use of ResourceLoader::handle, which always returns null when
using a network process. Also streamlined conditionals and did some other
small refactoring.
- loader/DocumentLoader.h: Use references rather than pointers for SchedulePair.
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didChangePriority): Use m_handle instead of handle(),
since we'd like to delete handle() entirely soon.
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge): Ditto.
(WebCore::ResourceLoader::schedule): Added.
(WebCore::ResourceLoader::unschedule): Ditto.
- loader/ResourceLoader.h: Rearranged header to eliminate nested conditionals.
Added schedule and unschedule functions for Mac.
- loader/mac/DocumentLoaderMac.cpp:
(WebCore::scheduleAll): Changed to take a reference and call ResourceLoader::schedule.
(WebCore::unscheduleAll): Ditto.
(WebCore::DocumentLoader::schedule): Ditto.
(WebCore::DocumentLoader::unschedule): Ditto.
- page/mac/PageMac.cpp:
(WebCore::Page::addSchedulePair): Pass a reference rather than a pointer to schedule.
(WebCore::Page::removeSchedulePair): Ditto.
- platform/network/ResourceHandle.h: Did a bit of reformatting and reorganizing of
conditionals.
- platform/network/ResourceHandleInternal.h: Removed a tiny bit of unneeded declaration.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::schedule): Updated to take a reference rather than a pointer.
(WebCore::ResourceHandle::unschedule): Ditto.
- 11:22 AM Changeset in webkit [167182] by
-
- 3 edits in trunk/Source/JavaScriptCore
DFG::FixupPhase should insert conversion nodes after the rest of fixup so that we know how the types settled
https://bugs.webkit.org/show_bug.cgi?id=131424
Reviewed by Geoffrey Garen.
This defers type conversion injection until we've decided on types. This makes the
process of deciding types a bit more flexible - for example we can naturally fixpoint
and change our minds. Only when things are settled do we actually insert conversions.
This is a necessary prerequisite for keeping double, int52, and JSValue data flow
separate. A SetLocal/GetLocal will appear to be JSValue until we fixpoint and realize
that there are typed uses. If we were eagerly inserting type conversions then we would
first insert a to/from-JSValue conversion in some cases only to then replace it by
the other conversions. It's probably trivial to remove those redundant conversions later
but I think it's better if we don't insert them to begin with.
- bytecode/CodeOrigin.h:
(JSC::CodeOrigin::operator!):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::run):
(JSC::DFG::FixupPhase::fixupBlock):
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupSetLocalsInBlock):
(JSC::DFG::FixupPhase::fixEdge):
(JSC::DFG::FixupPhase::fixIntEdge):
(JSC::DFG::FixupPhase::injectTypeConversionsInBlock):
(JSC::DFG::FixupPhase::injectTypeConversionsForEdge):
(JSC::DFG::FixupPhase::addRequiredPhantom):
(JSC::DFG::FixupPhase::addPhantomsIfNecessary):
(JSC::DFG::FixupPhase::clearPhantomsAtEnd):
(JSC::DFG::FixupPhase::observeUntypedEdge): Deleted.
(JSC::DFG::FixupPhase::fixupUntypedSetLocalsInBlock): Deleted.
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode): Deleted.
Apr 11, 2014:
- 10:59 PM Changeset in webkit [167181] by
-
- 3 edits in trunk/Source/WebCore
Make NodeList.length inline-cacheable by JSC.
<https://webkit.org/b/131579>
For objects with custom index or name getters, we have to make sure
that builtin properties take precedence. We do this by scanning the
ancestor chain for a suitable property slot before moving on to
named items.
With this patch, we now mark such builtins as cacheable. This is
safe since the whole point of doing this before processing named
items is to ensure the same slot is returned consistently.
Reviewed by Benjamin Poulain.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
- 8:09 PM Changeset in webkit [167180] by
-
- 5 edits in trunk/Source/WebKit2
[Mac] Crashes when copying or pasting huge images
https://bugs.webkit.org/show_bug.cgi?id=131576
<rdar://problem/12131833>
<rdar://problem/14427398>
Reviewed by Darin Adler.
Added a few null checks for SharedMemory::create() return value in pasteboard code.
Error handling feels a bit sketchy, but
- I'm not sure what it should look like ideally;
- it matches the kind of error handling we already have in these functions;
- it appears to work reasonably well in practice. We get empty content, which
is not nice, but not particularly problematic either. When copying an animated GIF,
we also get the GIF in RTFD flavor, so even pasting into NSTextViews works!
- Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::createFromVMBuffer):
- UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::getPasteboardBufferForType):
(WebKit::WebContext::readBufferFromPasteboard):
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::setBufferForType):
- WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: (WebKit::WebDragClient::declareAndWriteDragImage):
Also renamed some variables to prevent name collisions with with nested scope.
- 7:49 PM Changeset in webkit [167179] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed build fix on the EFL port after r167152
- WebProcess/WebPage/PageOverlay.cpp:
(WebKit::PageOverlay::bounds):
- 6:56 PM Changeset in webkit [167178] by
-
- 2 edits in trunk/Source/WebKit2
[WK2] WebProcess crashes, when closing window after opening page by means of context menu
https://bugs.webkit.org/show_bug.cgi?id=131439
Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-04-11
Reviewed by Tim Horton.
CoordinatedGraphicsLayer calls notifyFlushRequired() through its client when destroyed.
When PageOverlayController::notifyFlushRequired() is called, the DrawingArea could be null
because it's destoryed in WebPage::close().
- WebProcess/WebPage/PageOverlayController.cpp:
(WebKit::PageOverlayController::notifyFlushRequired): Add null check of m_webPage->drawingArea().
- 6:24 PM Changeset in webkit [167177] by
-
- 4 edits in trunk/Source
Lots of compositing test failures after r167152
https://bugs.webkit.org/show_bug.cgi?id=131574
Reviewed by Simon Fraser.
- WebProcess/WebPage/PageOverlayController.h:
Skip page overlay layers in layer tree dumps, for consistency between platforms.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::dumpProperties):
We were asking the parent's client whether the child should be dumped,
but really the child's client is the one who should decide.
- 5:43 PM Changeset in webkit [167176] by
-
- 2 edits in trunk/Source/WebCore
ViewportConfiguration::layoutWidth() compute the width incorrectly when initial-scale+width do not fit in view
https://bugs.webkit.org/show_bug.cgi?id=131575
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-11
Reviewed by Enrica Casucci.
I made a mistake when writing the new viewport code: ViewportConfiguration::layoutWidth() uses m_contentSize in one place.
That make no sense, contentSize depends on the layout width.
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::layoutWidth):
- 5:26 PM Changeset in webkit [167175] by
-
- 2 edits in trunk/Source/WebCore
Remove "numeric index getter" stuff from bindings code generator.
<https://webkit.org/b/131565>
This was used for an earlier generation of typed arrays. Now that JSC
has native typed array support, we're not using this functionality and
can just remove it.
Reviewed by Geoffrey Garen.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(HasComplexGetOwnProperty):
(InterfaceRequiresAttributesOnInstance):
(InstanceOverridesGetOwnPropertySlot):
(GenerateHeader):
(GenerateImplementation):
- 5:25 PM Changeset in webkit [167174] by
-
- 3 edits1 copy4 adds in trunk/Source/JavaScriptCore
Web Replay: code generator should consider enclosing class when computing duplicate type names
https://bugs.webkit.org/show_bug.cgi?id=131554
Reviewed by Timothy Hatcher.
We need to prepend an enum's enclosing class, if any, so that multiple enums with the same name
can coexist without triggering a "duplicate types" error. Now, such enums must be referenced
by the enclosing class and enum name.
Added tests for the new syntax, and rebaselined one test to reflect a previous patch's change.
- replay/scripts/CodeGeneratorReplayInputs.py:
(Type.type_name): Prepend the enclosing class name.
(Type.type_name.is):
- replay/scripts/tests/expected/fail-on-duplicate-enum-type.json-error: Added.
- replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.cpp: Added.
- replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.h: Added.
- replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.h: Rebaseline.
- replay/scripts/tests/fail-on-duplicate-enum-type.json: Added.
- replay/scripts/tests/generate-enums-with-same-base-name.json: Added.
- 5:19 PM Changeset in webkit [167173] by
-
- 2 edits in trunk/Source/WebCore
Web Replay: consolidate decoding macros used in SerializationMethods
https://bugs.webkit.org/show_bug.cgi?id=131564
Reviewed by Timothy Hatcher.
We can use EncodingTraits<T>::DecodedType to create a local variable
with the appropriate decoded type, rather than special casing.
- replay/SerializationMethods.cpp:
(JSC::EncodingTraits<NondeterministicInputBase>::decodeValue):
(JSC::EncodingTraits<KeypressCommand>::decodeValue):
(JSC::EncodingTraits<PlatformKeyboardEvent>::decodeValue):
(JSC::EncodingTraits<PlatformMouseEvent>::decodeValue):
(JSC::EncodingTraits<PlatformWheelEvent>::decodeValue):
(JSC::EncodingTraits<PluginData>::decodeValue):
- 4:51 PM Changeset in webkit [167172] by
-
- 13 edits in trunk/Source
Need WK2 API to disable rubber-banding
https://bugs.webkit.org/show_bug.cgi?id=131567
Reviewed by Simon Fraser.
Source/WebCore:
Page will now store a vertical and horizontal ScrollElasticity in case the API has
been called before the FrameView even exists.
New Page functions.
- WebCore.exp.in:
Use Page’s cached ScrollElasticity.
- page/FrameView.cpp:
(WebCore::FrameView::FrameView):
If there is already a FrameView, then assign it the new ScrollElasticity.
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::setVerticalScrollElasticity):
(WebCore::Page::setHorizontalScrollElasticity):
- page/Page.h:
(WebCore::Page::verticalScrollElasticity):
(WebCore::Page::horizontalScrollElasticity):
Source/WebKit2:
New API allows the client to enable/disable horizontal or vertical rubber-banding.
By default, rubber-banding is enabled.
- UIProcess/API/C/WKPage.cpp:
(WKPageVerticalRubberBandingIsEnabled):
(WKPageSetEnableVerticalRubberBanding):
(WKPageHorizontalRubberBandingIsEnabled):
(WKPageSetEnableHorizontalRubberBanding):
- UIProcess/API/C/WKPage.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setEnableVerticalRubberBanding):
(WebKit::WebPageProxy::verticalRubberBandingIsEnabled):
(WebKit::WebPageProxy::setEnableHorizontalRubberBanding):
(WebKit::WebPageProxy::horizontalRubberBandingIsEnabled):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setEnableVerticalRubberBanding):
(WebKit::WebPage::setEnableHorizontalRubberBanding):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 4:50 PM Changeset in webkit [167171] by
-
- 2 edits in trunk/Source/WebKit2
Fix the Mac build.
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindIndicator):
- 4:49 PM Changeset in webkit [167170] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION(167145): Many media tests fail
https://bugs.webkit.org/show_bug.cgi?id=131569
Reviewed by Brent Fulgham.
- PlatformGTK.cmake: Add the localized strings file to the list of user agent scripts.
- platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::mediaControlsScript): Include the localized strings file in the script body.
- 4:31 PM Changeset in webkit [167169] by
-
- 7 edits2 adds in trunk/Source
[iOS WebKit2] Find-in-page indicator
https://bugs.webkit.org/show_bug.cgi?id=131510
<rdar://problem/16547777>
Reviewed by Simon Fraser and Enrica Casucci.
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindUIAfterPageScroll):
WebKit2 will clear the selection if we reveal it while not enabling selection painting.
So, avoid revealing it.
(WebKit::FindController::findString):
(WebKit::FindController::hideFindIndicator):
(WebKit::FindController::willFindString):
(WebKit::FindController::didFailToFindString):
(WebKit::FindController::didHideFindIndicator):
#if out the cross-platform find indicator code on iOS; it will be replaced
by the code in FindControllerIOS.
- WebProcess/WebPage/FindController.h:
- WebProcess/WebPage/ios/FindControllerIOS.mm: Added.
(highlightColor):
(WebKit::FindIndicatorOverlayClientIOS::drawRect):
Paint the selection (with black text forced on), and the yellow rounded rect
into the indicator page overlay.
(WebKit::FindController::updateFindIndicator):
Create or update a small document-relative page overlay in the selection rect.
(WebKit::FindController::hideFindIndicator):
(WebKit::FindController::willFindString):
(WebKit::FindController::didFailToFindString):
(WebKit::FindController::didHideFindIndicator):
Add willFindString, didFailToFindString, and didHideFindIndicator functions.
They do nothing, except on iOS where they are used to prevent selection change
messages from being dispatched while using find-in-page, and to force
WebCore to compute a selection rect (via updateAppearance) despite the selection not being painted.
- WebProcess/WebPage/ios/FindIndicatorOverlayClientIOS.h:
(WebKit::FindIndicatorOverlayClientIOS::setFrame):
- editing/Editor.cpp:
(WebCore::Editor::findString):
- editing/FindOptions.h:
Add a find option which prevents WebCore from revealing the selection
after selecting a successful find match.
- 4:20 PM Changeset in webkit [167168] by
-
- 11 edits in trunk/Source
[GTK] Add HighDPI support for non-accelerated compositing contents
https://bugs.webkit.org/show_bug.cgi?id=131562
Patch by Owen Taylor <otaylor@redhat.com> on 2014-04-11
Reviewed by Martin Robinson.
Source/WebCore:
No new tests. This will be tested once we have the proper dependencies in the WebKit testing
JHBuild.
- platform/cairo/WidgetBackingStore.h:
(WebCore::WidgetBackingStore::WidgetBackingStore): Accept a device scale argument.
- platform/cairo/WidgetBackingStoreCairo.cpp: Use the device scale argument to make the surface the proper size and set the surface device scale.
- platform/cairo/WidgetBackingStoreCairo.h: Accept a device scale argument.
- platform/graphics/cairo/CairoUtilities.cpp: Add a new helper to set the device scale if Cairo built against is new enough.
- platform/graphics/cairo/CairoUtilities.h:
- platform/gtk/GtkVersioning.h: Add the HAVE_GTK_SCALE_FACTOR macro.
- platform/gtk/WidgetBackingStoreGtkX11.cpp: Use the device scale argument to make the surface the proper size and set the surface device scale.
- platform/gtk/WidgetBackingStoreGtkX11.h: Accept a device scale argument.
Source/WebKit2:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(scaleFactorChanged): Added this callback to pass scale changes to the page proxy.
(webkitWebViewBaseCreateWebPage): Attach the callback to the notify signal.
- UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::createBackingStoreForGTK): Pass the scale factor to the WebCore backing store.
(WebKit::BackingStore::incorporateUpdate): Ditto.
- 4:09 PM Changeset in webkit [167167] by
-
- 3 edits2 adds in trunk
Assertion failure changing select element size during focus event
dispatch
<https://bugs.webkit.org/show_bug.cgi?id=131566>
<rdar://problem/16400735>
Reviewed by Andy Estes.
Source/WebCore:
Test: fast/forms/select-change-size-during-focus.html
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
Adopt the fix from Chromium r171216; check that the renderer is still
of the expected type, and return early if it is not.
LayoutTests:
- fast/forms/select-change-size-during-focus-expected.txt: Added.
- fast/forms/select-change-size-during-focus.html: Added.
- 3:46 PM Changeset in webkit [167166] by
-
- 3 edits2 adds in trunk
Clear sibling floats while splitting inline flow
https://bugs.webkit.org/show_bug.cgi?id=130905
Reviewed by David Hyatt.
Source/WebCore:
This is a port of a Blink patch by kenrb@chromium.org.
(https://src.chromium.org/viewvc/blink?revision=169658&view=revision)
During RenderInline::splitFlow(), floats are cleared on an anonymous
containingBlock() for the inline being split. This is a problem if
siblings of the block contain references to the same floats, since the
float removal code in markSiblingsWithFloatsForLayout() will not later
find them.
This change also affects RenderBlock::splitFlow() and
RenderBoxModelObject::moveChildrenTo, since those are called in
similar situations as RenderInline::splitFlow().
Test: fast/block/float/split-inline-sibling-of-float-crash.html
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::removeFloatingObjects): Add call to
markSiblingsWithFloatsForLayout() before removing floats.
LayoutTests:
This test will only crash if run with Address Sanitizer or some other
address checking tool.
- fast/block/float/split-inline-sibling-of-float-crash-expected.txt: Added.
- fast/block/float/split-inline-sibling-of-float-crash.html: Added.
- 3:38 PM Changeset in webkit [167165] by
-
- 69 edits2 adds3 deletes in trunk
Rollout - Rewrite Function.bind as a builtin
https://bugs.webkit.org/show_bug.cgi?id=131083
Unreviewed.
Rolling out r167020 while investigating a performance regression.
Source/JavaScriptCore:
- API/JSObjectRef.cpp:
(JSObjectMakeConstructor):
- API/JSScriptRef.cpp:
(parseScript):
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createBuiltinExecutable):
- builtins/Function.prototype.js:
(apply):
(bind.bindingFunction): Deleted.
(bind.else.bindingFunction): Deleted.
(bind): Deleted.
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::generateFunctionCodeBlock):
- bytecompiler/NodesCodegen.cpp:
(JSC::InstanceOfNode::emitBytecode):
- interpreter/Interpreter.cpp:
- parser/Lexer.cpp:
(JSC::Lexer<T>::Lexer):
(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
- parser/Lexer.h:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
- parser/Parser.h:
(JSC::parse):
- parser/ParserModes.h:
- runtime/ArgumentsIteratorConstructor.cpp:
(JSC::ArgumentsIteratorConstructor::finishCreation):
- runtime/ArrayConstructor.cpp:
(JSC::ArrayConstructor::finishCreation):
- runtime/BooleanConstructor.cpp:
(JSC::BooleanConstructor::finishCreation):
- runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
- runtime/CommonIdentifiers.h:
- runtime/Completion.cpp:
(JSC::checkSyntax):
- runtime/DateConstructor.cpp:
(JSC::DateConstructor::finishCreation):
- runtime/ErrorConstructor.cpp:
(JSC::ErrorConstructor::finishCreation):
- runtime/Executable.cpp:
(JSC::ProgramExecutable::checkSyntax):
- runtime/FunctionConstructor.cpp:
(JSC::FunctionConstructor::finishCreation):
- runtime/FunctionPrototype.cpp:
(JSC::FunctionPrototype::addFunctionProperties):
(JSC::functionProtoFuncBind):
- runtime/JSArrayBufferConstructor.cpp:
(JSC::JSArrayBufferConstructor::finishCreation):
- runtime/JSBoundFunction.cpp: Added.
(JSC::boundFunctionCall):
(JSC::boundFunctionConstruct):
(JSC::JSBoundFunction::create):
(JSC::JSBoundFunction::destroy):
(JSC::JSBoundFunction::customHasInstance):
(JSC::JSBoundFunction::JSBoundFunction):
(JSC::JSBoundFunction::finishCreation):
(JSC::JSBoundFunction::visitChildren):
- runtime/JSBoundFunction.h: Added.
(JSC::JSBoundFunction::targetFunction):
(JSC::JSBoundFunction::boundThis):
(JSC::JSBoundFunction::boundArgs):
(JSC::JSBoundFunction::createStructure):
- runtime/JSFunction.cpp:
(JSC::RetrieveCallerFunctionFunctor::RetrieveCallerFunctionFunctor):
(JSC::RetrieveCallerFunctionFunctor::operator()):
(JSC::retrieveCallerFunction):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::getOwnNonIndexPropertyNames):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::JSGenericTypedArrayViewConstructor<ViewClass>::finishCreation):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncSetTypeErrorAccessor): Deleted.
- runtime/JSGlobalObjectFunctions.h:
- runtime/JSObject.cpp:
(JSC::JSObject::putDirectPrototypeProperty): Deleted.
(JSC::JSObject::putDirectPrototypePropertyWithoutTransitions): Deleted.
- runtime/JSObject.h:
- runtime/JSPromiseConstructor.cpp:
(JSC::JSPromiseConstructor::finishCreation):
- runtime/MapConstructor.cpp:
(JSC::MapConstructor::finishCreation):
- runtime/MapIteratorConstructor.cpp:
(JSC::MapIteratorConstructor::finishCreation):
- runtime/NameConstructor.cpp:
(JSC::NameConstructor::finishCreation):
- runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor::finishCreation):
- runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::finishCreation):
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::finishCreation):
- runtime/RegExpConstructor.cpp:
(JSC::RegExpConstructor::finishCreation):
- runtime/SetConstructor.cpp:
(JSC::SetConstructor::finishCreation):
- runtime/SetIteratorConstructor.cpp:
(JSC::SetIteratorConstructor::finishCreation):
- runtime/StringConstructor.cpp:
(JSC::StringConstructor::finishCreation):
- runtime/WeakMapConstructor.cpp:
(JSC::WeakMapConstructor::finishCreation):
Source/WebCore:
- bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::finishCreation):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorHelperMethods):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTargetConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestExceptionConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachableConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorConstructor::finishCreation):
(WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::finishCreation):
- bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::JSattributeConstructor::finishCreation):
- bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::JSreadonlyConstructor::finishCreation):
LayoutTests:
- js/dom/function-bind-expected.txt:
- js/regress/function-bind-expected.txt: Removed.
- js/regress/function-bind.html: Removed.
- js/regress/script-tests/function-bind.js: Removed.
- 3:36 PM Changeset in webkit [167164] by
-
- 2 edits in trunk/Source/WebKit2
[WK2] Dispatch to main thread's run loop to handle cookie requests.
https://bugs.webkit.org/show_bug.cgi?id=131524
Reviewed by Brady Eidson.
When using synchronous network APIs from the main thread (e.g., -[NSImage
initWithContentsOfURL:]) our cookie shim would attempt to dispath_async
to the main thread to handle the cookie request, and block against the original
request. CFNetwork is still servicing the run loop however, so rather than
dispatch_async to the main queue, use the RunLoop to dispatch to the main thread.
- Shared/mac/CookieStorageShim.mm:
(-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):
- 3:29 PM Changeset in webkit [167163] by
-
- 2 edits in tags/Safari-538.26.5/Source/WebCore
Merged r167160.
- 3:23 PM Changeset in webkit [167162] by
-
- 1 edit in trunk/Source/WebCore/ChangeLog
Build Fix after r167151.
Unreviewed.
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::applyAlternativeTextToRange):
- 3:17 PM Changeset in webkit [167161] by
-
- 2 edits in trunk/Source/WebCore
[EME][Mac] Using KeySession.update([renew]) should trigger KeyMessage event instead of NeedKey event
https://bugs.webkit.org/show_bug.cgi?id=131527
Reviewed by Eric Carlson.
Rather than triggering a needKey() event, necessatating the creation
of an entirely new MediaKeySession, cause a new key request to be
created by sending the same initData back into the AVSampleDataParser.
Also, do some drive-by clean up suggested by Darin in the review for
r166509.
- platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::isEqual): Support an alloc-free equality check between
Uint8Array and static strings.
(WebCore::CDMSessionMediaSourceAVFObjC::update):
- 3:13 PM Changeset in webkit [167160] by
-
- 2 edits in trunk/Source/WebCore
Build fix (r167151): Do not dereference Node::document() before passing to Range::create()
<https://webkit.org/b/131475>
Fixes the following build failure:
WebCore/editing/AlternativeTextController.cpp:275:71: error: indirection requires pointer operand ('WebCore::Document' invalid)
int paragraphStartIndex = TextIterator::rangeLength(Range::create(*rootNode.document(), &rootNode, 0, paragraphRangeContainingCorrection.get()->startContainer(), paragraphRangeContainingCorrection.get()->startOffset()).get());
~
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::applyAlternativeTextToRange):
Remove unneeded '*' operator since Node::document() returns a
Document& and Range::create() accepts a Document& for its first
argument.
- 3:07 PM Changeset in webkit [167159] by
-
- 2 edits1 copy in tags/Safari-538.26.5
Merged r167151.
- 3:02 PM Changeset in webkit [167158] by
-
- 5 edits in tags/Safari-538.26.5/Source
Versioning.
- 3:01 PM Changeset in webkit [167157] by
-
- 3 edits1 add in trunk
Web Replay: memoize nondeterministic attributes of the Navigator interface
https://bugs.webkit.org/show_bug.cgi?id=131340
Reviewed by Timothy Hatcher.
.:
- ManualTests/inspector/replay-window-navigator-basic.html: Added.
Source/WebCore:
Most attributes of window.navigator do not change very often, but they
could be easily changed by the user or embedder. So, memoize attribute values.
This change does not include navigator.mimeTypes and navigator.plugins,
which will be handled at a different level. <https://webkit.org/b/131341>
Test: ManualTests/inspector/replay-window-navigator-basic.html
- page/Navigator.idl: Add Nondeterministic attribute.
- 2:58 PM April 2014 Meeting edited by
- (diff)
- 2:58 PM Changeset in webkit [167156] by
-
- 1 copy in tags/Safari-538.26.5
New Tag.
- 2:56 PM Changeset in webkit [167155] by
-
- 4 edits in trunk/Source/WebKit2
Make the stylebot happier with r167154.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/ios/PageClientImplIOS.h:
- 2:55 PM Changeset in webkit [167154] by
-
- 9 edits in trunk/Source/WebKit2
[iOS WebKit2] Expose a simplified zoom-to-rect to the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=131563
Reviewed by Simon Fraser.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::zoomToRect):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::zoomToRect):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::zoomToRect):
Add a simple message that calls WKContentView's zoom-to-rect code given just a rect and min/max scale.
We will use the center of the rect as the zoom origin, and will try to show the whole rect.
- 2:50 PM Changeset in webkit [167153] by
-
- 10 edits in trunk/Source
[iOS][WK2] Videos should animate into and out of fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=131497
Reviewed by Simon Fraser.
Source/WebCore:
Use AVPlayerViewController's new enterFullScreenWithCompletionHandler: and exitFullScreenWithCompletionHandler:
methods to animate into and out of full screen. To do so, use the provided initialFrame and finalFrame screen
rects to correctly place the AVPlayerViewController's view before entering or exiting fullscreen.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(-[WebVideoFullscreenController enterFullscreen:]): Pass the media element's screen rect.
(-[WebVideoFullscreenController exitFullscreen]): Ditto.
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerController playerViewController:shouldExitFullScreenWithReason:]): Renamed from shouldDismissWithReason.
(WebVideoFullscreenInterfaceAVKit::enterFullscreen): Use the new AVKit APIs.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): Ditto.
- WebCore.exp.in: Modify the exported symbols for enter and exitFullscreen.
Source/WebKit2:
Pass a starting rect for the enterFullscreen animation and an ending rect
for the exitFullscreen animation.
- UIProcess/ios/WebVideoFullscreenManagerProxy.h:
- UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
- UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::enterFullscreenWithID): Pass initialFrame.
- WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::screenRectOfContents): Casts node -> element and returns its screenRect().
(WebKit::WebVideoFullscreenManager::enterFullscreenForNode): Pass initialFrame.
(WebKit::WebVideoFullscreenManager::exitFullscreenForNode): Pass finalFrame.
- 2:41 PM Changeset in webkit [167152] by
-
- 16 edits in trunk/Source
Support document-relative and custom-frame page overlays
https://bugs.webkit.org/show_bug.cgi?id=131560
<rdar://problem/16595556>
Reviewed by Simon Fraser.
Add "document-relative" overlays, which attach to (and scroll with) the document,
and can be given a frame rect within the document to avoid overallocation of backing store.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::didChangeScrollOffset):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mainFrame):
(WebKit::WebPage::mainFrameView):
(WebKit::WebPage::didChangeScrollOffsetForFrame):
- WebProcess/WebPage/WebPage.h:
Let the PageOverlayController know *which* frame scrolled, instead of "any frame".
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindUIAfterPageScroll):
Factor out shared code.
(WebKit::FindController::willMoveToWebPage):
(WebKit::FindController::drawRect):
We can use clearRect() instead of a transparency layer and fillRect().
I've looked through all the other overlay clients I know of and none of them
depend on having a transparency layer at the overlay level.
- WebProcess/WebPage/PageOverlay.cpp:
(WebKit::PageOverlay::create):
(WebKit::PageOverlay::PageOverlay):
(WebKit::PageOverlay::bounds):
(WebKit::PageOverlay::frame):
(WebKit::PageOverlay::setFrame):
(WebKit::PageOverlay::drawRect):
Add OverlayType, which allows creation of Document or View relative overlays.
All overlays up to this point are View relative, so we default to that.
Document-relative overlays scroll with the page instead of repainting as
the page scrolls. They can also be given an explicit frame, allowing them
to be smaller than the entire document.
- WebProcess/WebPage/PageOverlay.h:
(WebKit::PageOverlay::overlayType):
(WebKit::PageOverlay::webPage):
(WebKit::PageOverlay::client): Deleted.
- WebProcess/WebPage/PageOverlayController.cpp:
(WebKit::PageOverlayController::initialize):
(WebKit::PageOverlayController::installPageOverlay):
(WebKit::PageOverlayController::uninstallPageOverlay):
(WebKit::PageOverlayController::updateForceSynchronousScrollLayerPositionUpdates):
(WebKit::updateOverlayGeometry):
(WebKit::PageOverlayController::setPageOverlayNeedsDisplay):
(WebKit::PageOverlayController::didChangeViewSize):
(WebKit::PageOverlayController::didChangeDocumentSize):
(WebKit::PageOverlayController::didChangeDeviceScaleFactor):
(WebKit::PageOverlayController::didScrollFrame):
(WebKit::PageOverlayController::flushPageOverlayLayers):
(WebKit::PageOverlayController::didChangeOverlayFrame):
Keep two overlay root layers - one for view-relative
and one for document-relative overlays.
Don't force synchronous scrolling if we only have document-relative overlays.
Update the overlay's position as well as its size whenever necessary.
Update document-relative overlay geometry when the document size changes.
Only explicitly flush view-relative overlays; document-relative ones
are plugged into the WebCore layer tree and flushed along with the page.
- WebProcess/WebPage/PageOverlayController.h:
(WebKit::PageOverlayController::documentOverlayRootLayer):
(WebKit::PageOverlayController::viewOverlayRootLayer):
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
(WebKit::RemoteLayerTreeDrawingArea::mainFrameContentSizeChanged):
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
Let the PageOverlay controller know when the document size changes.
When we set up compositing, push the document overlay root layer
down into WebCore.
- WebCore.exp.in:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::setDocumentOverlayRootLayer):
- rendering/RenderLayerCompositor.h:
Add the concept of a document overlay layer, which is plugged in as the
last child of the root content layer. Expose it to WebKit2.
- 2:35 PM Changeset in webkit [167151] by
-
- 2 edits1 add in trunk
Autocorrection causes ASSERT when replacing alternative string
https://bugs.webkit.org/show_bug.cgi?id=131475
Reviewed by Ryosuke Niwa.
In AlternativeTextController::applyAlternativeTextToRange(), we attempt to create
a Range that crosses from outside of a shadow root to inside of one. Instead,
we should keep the Range entirely within the shadow root.
Test: ManualTests/autocorrection/autocorrection-accept-crash.html
- editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::applyAlternativeTextToRange):
- 2:27 PM Changeset in webkit [167150] by
-
- 4 edits2 adds in trunk
[CSS Shapes] shape-outside from image doesn't load properly
https://bugs.webkit.org/show_bug.cgi?id=131491
Reviewed by Bem Jones-Bey.
Source/WebCore:
Make RenderImage::imageChanged() call super if there's a shape-outside
image because the shape-outside imageChanged() logic is in RenderBox.
Test: http/tests/css/shape-image-file.html
- rendering/RenderElement.h:
(WebCore::RenderElement::hasShapeOutside):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::imageChanged):
LayoutTests:
- http/tests/css/shape-image-file-expected.html: Added.
- http/tests/css/shape-image-file.html: Added.
- 2:11 PM Changeset in webkit [167149] by
-
- 2 edits in trunk/Source/JavaScriptCore
[ASan] Build broke because libCompileRuntimeToLLVMIR.a links to libclang_rt.asan_osx_dynamic.dylib
<http://webkit.org/b/131556>
<rdar://problem/16591856>
Reviewed by Brent Fulgham.
- Configurations/CompileRuntimeToLLVMIR.xcconfig: Clear
OTHER_LDFLAGS so the ASan build does not try to link to
libclang_rt.asan_osx_dynamic.dylib.
- 2:09 PM Changeset in webkit [167148] by
-
- 3 edits in trunk/Source/WebCore
Aggregate multiple "respondToChangedSelection" calls to one scan for telephone numbers
https://bugs.webkit.org/show_bug.cgi?id=131559
Reviewed by Gavin Barraclough.
No new tests (Perf-only change to an untested feature)
- editing/Editor.cpp:
(WebCore::Editor::Editor):
(WebCore::Editor::respondToChangedSelection): Start a one shot timer for scanSelectionForTelephoneNumbers
instead of scanning synchronously.
(WebCore::Editor::scanSelectionForTelephoneNumbers):
- editing/Editor.h:
- 2:01 PM Changeset in webkit [167147] by
-
- 2 edits in trunk/Source/WebCore
Try to fix windows build.
Patch by Antti Koivisto <Antti Koivisto> on 2014-04-11
- platform/graphics/ca/GraphicsLayerCA.h:
- 1:58 PM Changeset in webkit [167146] by
-
- 1 edit in trunk/Source/WebCore/ChangeLog
Try to fix windows build.
- platform/graphics/ca/GraphicsLayerCA.h:
- 1:49 PM April 2014 Meeting edited by
- (diff)
- 1:42 PM Changeset in webkit [167145] by
-
- 8 edits2 adds in trunk/Source/WebCore
Regression: media controls and status messages are no longer localized.
https://bugs.webkit.org/show_bug.cgi?id=120956
Reviewed by Jer Noble.
- English.lproj/mediaControlsLocalizedStrings.js: Added.
(mediaControlsLocalizedStrings): Moved from mediaControlsApple.js.
- English.lproj/mediaControlsLocalizedStringsiOS.js: Added.
(mediaControlsLocalizedStringsiOS): Moved from mediaControlsiOS.js.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.UIString): Get strings from external file.
- Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.UIString): Ditto.
- WebCore.vcxproj/copyWebCoreResourceFiles.cmd: Copy to Windows bundle.
- WebCore.xcodeproj/project.pbxproj: Copy new files to bundle.
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::mediaControlsScript): Load the locale-specific
string resource when loading the media controls.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::mediaControlsScript): Ditto.
- rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::mediaControlsScript): Ditto.
- 1:36 PM Changeset in webkit [167144] by
-
- 2 edits in trunk/Source/WebCore
[Win] Build fix after r167138
- platform/graphics/ca/GraphicsLayerCA.h: The TileController is
only available on Mac/Cocoa builds.
- 1:33 PM Changeset in webkit [167143] by
-
- 3 edits in trunk/Source/WebKit2
[iOS WebKit2]: Share NSURLCache directory for webkit processes
https://bugs.webkit.org/show_bug.cgi?id=131513
<rdar://problem/16420859>
Reviewed by Alexey Proskuryakov.
Use iOS specific NSURLCache API to share the cache directory used by the networking process,
web process and Safari.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 1:29 PM April 2014 Meeting edited by
- (diff)
- 1:24 PM Changeset in webkit [167142] by
-
- 20 edits2 adds in trunk
JSMainThreadExecState::call() should clear exceptions before returning.
<https://webkit.org/b/131530>
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Added a version of JSC::call() that return any uncaught exception instead
of leaving it pending in the VM.
As part of this change, I updated various parts of the code base to use the
new API as needed.
- bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptFunctionCall::call):
- ScriptFunctionCall::call() is only used by the inspector to inject scripts. The injected scripts that will include Inspector scripts that should catch and handle any exceptions that were thrown. We should not be seeing any exceptions returned from this call. However, we do have checks for exceptions in case there are bugs in the Inspector scripts which allowed the exception to leak through. Hence, it is proper to clear the exception here, and only record the fact that an exception was seen (if present).
- bindings/ScriptFunctionCall.h:
- inspector/InspectorEnvironment.h:
- runtime/CallData.cpp:
(JSC::call):
- runtime/CallData.h:
Source/WebCore:
Test: fast/dom/regress-131530.html
Previously, JSMainThreadExecState::call() did not clear any pending
exceptions in the VM before returning. On returning, the
JSMainThreadExecState destructor may re-enter the VM to notify
MutationObservers. This may result in a crash because the VM expects
exceptions to be cleared at entry.
We now change JSMainThreadExecState::call() to return the exception
(if present) via an argument, and clear it from the VM before returning.
As part of this change, I updated various parts of the code base to use the
new API as needed.
- bindings/js/JSCallbackData.cpp:
(WebCore::JSCallbackData::invokeCallback):
- bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
- bindings/js/JSDOMGlobalObjectTask.cpp:
- Assert that there's no unhandled exception after the Microtask returns. See comment for WebCore::JSMainThreadExecState::runTask below for more details.
- bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
- bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::open):
- Document.open() cannot be the first function on the JS stack. Hence, there is no need to use JSMainThreadExecState to call into the VM, as this is only needed to catch the event of returning from the first function for the purpose of notifying MutationObservers. Change to call JSC::call() directly.
- bindings/js/JSMainThreadExecState.cpp:
(WebCore::functionCallHandlerFromAnyThread):
- bindings/js/JSMainThreadExecState.h:
(WebCore::JSMainThreadExecState::call):
(WebCore::JSMainThreadExecState::evaluate):
- Remove the explicitly acquisition of the JSLock here because we now acquire the JSLock as part of the JSMainThreadExecState instance.
(WebCore::JSMainThreadExecState::runTask):
- Added an assert to verify that the task does not return with an unhandled exception. Currently, the only Microtask in use is for the Promise implementation, which will eat the exception before returning. This assertion is added here to verify that this contract does not inadvertantly change in the future.
(WebCore::JSMainThreadExecState::JSMainThreadExecState):
- Now acquires the JSLock as well since by definition, we're only instantiating the JSMainThreadExecState because we're about to enter the VM.
- bindings/js/JSMutationCallback.cpp:
(WebCore::JSMutationCallback::call):
- bindings/js/JSNodeFilterCondition.cpp:
(WebCore::JSNodeFilterCondition::acceptNode):
- acceptNode() is only used in the TreeWalker and NodeIterator APIs which cannot be the first function on the JS stack. Hence, we should call JSC::call() directly instead of going through JSMainThreadExecState.
- bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::executeFunctionInContext):
- bindings/objc/WebScriptObject.mm:
(WebCore::addExceptionToConsole):
(-[WebScriptObject callWebScriptMethod:withArguments:]):
LayoutTests:
- fast/dom/regress-131530-expected.txt: Added.
- fast/dom/regress-131530.html: Added.
- 1:22 PM Changeset in webkit [167141] by
-
- 2 edits in trunk/Source/WebKit2
[Mac] Add IconServices to WebProcess sandbox profile
https://bugs.webkit.org/show_bug.cgi?id=131558
<rdar://problem/16552397>
Reviewed by Brady Eidson.
- WebProcess/com.apple.WebProcess.sb.in:
- 1:20 PM April 2014 Meeting edited by
- (diff)
- 1:17 PM April 2014 Meeting edited by
- (diff)
- 1:05 PM Changeset in webkit [167140] by
-
- 2 edits10 adds in trunk/Source/WebCore
Web Replay: CodeGeneratorJS should guard includes of replay-related headers
https://bugs.webkit.org/show_bug.cgi?id=131407
Reviewed by Timothy Hatcher.
This patch adds guards to headers that are only required by generated replay code
that is itself guarded. Other ports probably haven't added the headers to their
build files, so we don't want to emit the unused header includes.
This patch also converts generated uses of DEFINE_STATIC_LOCAL to NeverDestroyed<T>.
Finally, a new bindings test was added to document changes to generated replay code.
Test: Source/WebCore/bindings/scripts/test/TestNondeterministic.idl
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateImplementationFunctionCall):
- bindings/scripts/test/GObject/WebKitDOMTestNondeterministic.cpp: Added.
- bindings/scripts/test/GObject/WebKitDOMTestNondeterministic.h: Added.
- bindings/scripts/test/GObject/WebKitDOMTestNondeterministic.symbols: Added.
- bindings/scripts/test/GObject/WebKitDOMTestNondeterministicPrivate.h: Added.
- bindings/scripts/test/JS/JSTestNondeterministic.cpp: Added.
- bindings/scripts/test/JS/JSTestNondeterministic.h: Added.
- bindings/scripts/test/ObjC/DOMTestNondeterministic.h: Added.
- bindings/scripts/test/ObjC/DOMTestNondeterministic.mm: Added.
- bindings/scripts/test/ObjC/DOMTestNondeterministicInternal.h: Added.
- bindings/scripts/test/TestNondeterministic.idl: Added.
- 12:04 PM Changeset in webkit [167139] by
-
- 2 edits in trunk/LayoutTests
[GTK] Unreviewed GTK gardening.
Support for audio and video tracks was added on r158436. Stop skipping the following tests:
media/track/audio-track.html
media/track/video-track.html
Update bug number for media/track/track*in-band*.html tests
Report and update text expectations for new failing tests:
media/track/track-remove-track.html
fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-svg.html
media/media-event-listeners.html
Update timeout expectation for media/video-controls-captions.html
Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-04-11
- platform/gtk/TestExpectations:
- 11:58 AM Changeset in webkit [167138] by
-
- 16 edits in trunk/Source
Pipe initial scale factor to TileController
https://bugs.webkit.org/show_bug.cgi?id=131521
Reviewed by Tim Horton.
Source/WebCore:
- WebCore.exp.in:
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::setZoomedOutPageScaleFactor):
- page/Page.h:
(WebCore::Page::zoomedOutPageScaleFactor):
- platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::zoomedOutPageScaleFactor):
- platform/graphics/TiledBacking.h:
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateContentsScale):
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/ca/mac/TileController.h:
- platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::TileController):
(WebCore::TileController::setContentsScale):
(WebCore::TileController::setZoomedOutContentsScale):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::zoomedOutPageScaleFactor):
- rendering/RenderLayerBacking.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::zoomedOutPageScaleFactor):
- rendering/RenderLayerCompositor.h:
Source/WebKit2:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::viewportConfigurationChanged):
- 11:39 AM Changeset in webkit [167137] by
-
- 5 edits in trunk/Source/JavaScriptCore
Add BuiltinLog function to make debugging builtins easier
https://bugs.webkit.org/show_bug.cgi?id=131550
Reviewed by Andreas Kling.
Add a logging function that builtins can use for debugging.
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncBuiltinLog):
- runtime/JSGlobalObjectFunctions.h:
- 11:32 AM WebKitGTK/KeepingTheTreeGreen edited by
- (diff)
- 11:23 AM Changeset in webkit [167136] by
-
- 2 edits in trunk/Source/WebKit2
AX: WebProcess at com.apple.WebCore: WebCore::AXObjectCache::rootObject + 18
https://bugs.webkit.org/show_bug.cgi?id=131522
Reviewed by Anders Carlsson.
Protect against documents that have had their render tree destroyed, and no longer return a valid cache.
- WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:
- 11:18 AM Changeset in webkit [167135] by
-
- 3 edits2 adds in trunk
Heap-use-after-free in WebCore::SpeechSynthesisUtterance::startTime
https://bugs.webkit.org/show_bug.cgi?id=131482
Reviewed by David Kilzer.
Source/WebCore:
Hold onto the utterance until it has time to fire, in case other references have been removed.
Merged from Blink r171077 by <dmazzoni@chromium.org>
Test: platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html
- Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::handleSpeakingCompleted):
LayoutTests:
- platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt: Added.
- platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html: Added.
- 10:56 AM Changeset in webkit [167134] by
-
- 3 edits in trunk/Source/WebCore
Avoid Vector copies in RenderGrid::placeItemsOnGrid()
https://bugs.webkit.org/show_bug.cgi?id=131452
Reviewed by Sergio Villar Senin.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid): Take in a const reference to the
Vector object. Make the for-loop that iterates through it range-based.
(WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid): Ditto.
- rendering/RenderGrid.h:
- 10:48 AM Changeset in webkit [167133] by
-
- 15 edits1 move1 add1 delete in trunk/Source/WebCore
Web Inspector: Remove shared PageScriptDebugServer, create per-Page
https://bugs.webkit.org/show_bug.cgi?id=131523
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-11
Reviewed by Timothy Hatcher.
Having a shared PageScriptDebugServer was causing issues when we called
JSC::Debugger::clearBreakpoints() closing one inspector while another
is open for another WebCore::Page in the same process. Having the same
JSC::Debugger underlying multiple InspectorDebuggerAgent instances
means that when clearBreakpoints is called, the real JSC breakpoints
underlying other InspectorDebuggerAgent's get removed. When those
InspectorDebuggerAgents attempt to remove their breakpoints they
encounter unexpected issues.
This entirely rebuilds PageScriptDebugServer to be per-Page instead
of shared across all pages. So take this opportunity to move the
file from WebCore/bindings/js to WebCore/inspector.
- CMakeLists.txt:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSBindingsAllInOne.cpp:
- bindings/js/PageScriptDebugServer.h: Removed.
- inspector/InspectorAllInOne.cpp:
Move PageScriptDebugServer.
- inspector/InspectorController.h:
- inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
Set the ScriptDebugServer directly on some other agents that
were previously using the global debug server.
- inspector/InspectorProfilerAgent.h:
(WebCore::InspectorProfilerAgent::scriptDebugServer):
- inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::setScriptDebugServer):
(WebCore::InspectorProfilerAgent::start):
(WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend): Deleted.
- inspector/InspectorTimelineAgent.h:
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::start):
(WebCore::InspectorTimelineAgent::stop):
(WebCore::InspectorTimelineAgent::setPageScriptDebugServer):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
Refactor these two agents to take in a script debug server.
The server is expected to be set during initialization and
to always be valid (like debug server on RuntimeAgent).
- inspector/PageDebuggerAgent.h:
- inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::PageDebuggerAgent):
(WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
(WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
(WebCore::PageDebuggerAgent::scriptDebugServer):
Have PageDebuggerAgent hold the PageScriptDebugServer.
Update for the simplified interfaces.
- inspector/PageScriptDebugServer.h: Added.
- inspector/PageScriptDebugServer.cpp: Renamed from Source/WebCore/bindings/js/PageScriptDebugServer.cpp.
(WebCore::PageScriptDebugServer::PageScriptDebugServer):
(WebCore::PageScriptDebugServer::addListener):
(WebCore::PageScriptDebugServer::removeListener):
(WebCore::PageScriptDebugServer::recompileAllJSFunctions):
(WebCore::PageScriptDebugServer::didPause):
(WebCore::PageScriptDebugServer::didContinue):
(WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
(WebCore::PageScriptDebugServer::runEventLoopWhilePausedInternal):
(WebCore::PageScriptDebugServer::isContentScript):
(WebCore::PageScriptDebugServer::reportException):
(WebCore::PageScriptDebugServer::setJavaScriptPaused):
Model after JSGlobalObjectScriptDebugServer, the PageScriptDebugServer
holds a reference to a Page.
- 10:09 AM Changeset in webkit [167132] by
-
- 14 edits in trunk
[CSS Shapes] inset args and radial args should serialize to the simplest form
https://bugs.webkit.org/show_bug.cgi?id=129825
Reviewed by Dirk Schulze.
Source/WebCore:
Modify inset serialization to omit components where possible. The insets simplify
according to the margin shorthand, while the corner radii simplify according to
the border-radius shorthand.
Modifying existing parsing tests.
- css/CSSBasicShapes.cpp:
(WebCore::buildInsetRadii): Add the necessary radii, omitting components where possible.
(WebCore::buildInsetString): Omit components where possible.
LayoutTests:
Modify tests to use the shortened inset serialization.
- animations/resources/animation-test-helpers.js: Accept shortened inset forms.
- css3/masking/clip-path-animation-expected.txt:
- css3/masking/clip-path-animation.html:
- fast/masking/parsing-clip-path-shape-expected.txt:
- fast/masking/parsing-clip-path-shape.html:
- fast/shapes/parsing/parsing-shape-lengths-expected.txt:
- fast/shapes/parsing/parsing-shape-lengths.html:
- fast/shapes/parsing/parsing-shape-outside-expected.txt:
- fast/shapes/parsing/parsing-test-utils.js:
- fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
- fast/shapes/shape-outside-floats/shape-outside-animation.html:
- 9:52 AM Changeset in webkit [167131] by
-
- 6 edits2 adds in trunk
"playbackTime" parameter is not present in AudioProcessingEvent Interface as per W3C spec
https://bugs.webkit.org/show_bug.cgi?id=105518
Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-04-11
Reviewed by Jer Noble.
Source/WebCore:
Attribute "playbackTime" in AudioProcessingEvent implemented to pass playback time of
audiobuffer associated with ScriptProcessorNode of the context.
Reference: https://codereview.chromium.org/210973002
Spec: http://www.w3.org/TR/webaudio/#AudioProcessingEvent
Test: webaudio/audioprocessingevent.html
- Modules/webaudio/AudioProcessingEvent.cpp:
(WebCore::AudioProcessingEvent::create):
(WebCore::AudioProcessingEvent::AudioProcessingEvent):
- Modules/webaudio/AudioProcessingEvent.h:
(WebCore::AudioProcessingEvent::playbackTime):
- Modules/webaudio/AudioProcessingEvent.idl:
- Modules/webaudio/ScriptProcessorNode.cpp:
(WebCore::ScriptProcessorNode::fireProcessEvent):
LayoutTests:
Test case added to check AudioProcessingEvent attributes.
- webaudio/audioprocessingevent-expected.txt: Added.
- webaudio/audioprocessingevent.html: Added.
- 9:51 AM Changeset in webkit [167130] by
-
- 2 edits in trunk/Source/WebKit2
[Mac] Prevent crash when exiting fullscreen mode
https://bugs.webkit.org/show_bug.cgi?id=131528
Reviewed by Jer Noble.
- UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
Clean up the _scaleAnimation controller, not just the _fadeAnimation controller.
(-[WKFullScreenWindowController close]): If we are doing an immediate
close of the view, we need to stop animations so we avoid any
final timer events from interacting with invalid window handles.
- 9:50 AM Changeset in webkit [167129] by
-
- 3 edits2 adds in trunk
Subpixel rendering: WK1: Trail of cruft in redraw during animations.
https://bugs.webkit.org/show_bug.cgi?id=131525
Reviewed by Simon Fraser.
Use enclosing rect instead of snapping to make sure the repaint rect always
covers the dirty area when painting is requested in a non-compositing RenderView.
This only applies to WK1 as WK2 has compositing RenderView and the repainting
is managed by RenderLayerBacking.
This is a temporary solution until after ScrollView/FrameView/RenderView
is transitioned to device pixels. (tracked here: webkit.org/b/131526).
Source/WebCore:
Test: fast/repaint/hidpi-block-width-change-leaves-cruft.html
- rendering/RenderView.cpp:
(WebCore::RenderView::repaintViewRectangle):
LayoutTests:
- fast/repaint/hidpi-block-width-change-leaves-cruft-expected.html: Added.
- fast/repaint/hidpi-block-width-change-leaves-cruft.html: Added.
- 9:00 AM Changeset in webkit [167128] by
-
- 2 edits in trunk/Source/WebKit2
wk2-gtk does not display anything
https://bugs.webkit.org/show_bug.cgi?id=125558
Reviewed by Martin Robinson.
Remove fcntl call to set access mode flags on the duplicated files
descriptor. Those flags are ignored in Linux and make fcntl to
fail in FreeBSD. We should handle the case where the passed
protection is ReadOnly.
Thanks to Raphael Kubo da Costa who proposed the solution.
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::createHandle):
(WebKit::accessModeFile): Deleted.
- 8:55 AM Changeset in webkit [167127] by
-
- 5 edits in trunk/Source/JavaScriptCore
Fix LLInt for sh4 architecture (broken since C stack merge).
https://bugs.webkit.org/show_bug.cgi?id=131532
Reviewed by Mark Lam.
This patch fixes build and also implements sh4 parts for initPCRelative and
setEntryAddress macros introduced in http://trac.webkit.org/changeset/167094.
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- offlineasm/instructions.rb:
- offlineasm/sh4.rb:
- 8:43 AM Changeset in webkit [167126] by
-
- 4 edits in trunk/Source/WebCore
WebGL: need error checking after texture uploads
https://bugs.webkit.org/show_bug.cgi?id=62902
rdar://problem/9640309
Reviewed by Brent Fulgham.
A followup to Darin's r167109. We need to also check for errors
in the texImage2D case.
This is difficult to reproducibly test because it would require
attempting to exhaust GPU memory.
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::compressedTexImage2D): Check for errors by calling
moveErrorsToSyntheticErrorList twice, once before and once after. If an error
occurred, explicitly mark the texture as invalid.
(WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
- html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::markInvalid): If the LevelInfo exists for this
mipmap level, then set the valid flag to false. There is a chance that
a previous call to texImage2D succeeded for this level, but it's probably
better to assume that is now invalid.
- html/canvas/WebGLTexture.h: New markInvalid method.
- 6:20 AM Changeset in webkit [167125] by
-
- 2 edits in trunk/LayoutTests
[GTK] Unreviewed GTK gardening.
Update test expectations for flaky tests timing out:
media/track/track-remove-active-cue-crash.html
media/media-ended.html
media/audio-mpeg-supported.html
Patch by Enrique Ocaña González <eocanha@igalia.com> on 2014-04-11
- platform/gtk/TestExpectations:
- 6:08 AM WebKitGTK/2.4.x edited by
- (diff)
- 5:52 AM WebKitGTK/KeepingTheTreeGreen edited by
- Tanty won't have the needed time :( (diff)
- 5:51 AM WebKitGTK/KeepingTheTreeGreen edited by
- (diff)
- 5:49 AM WebKitGTK/KeepingTheTreeGreen edited by
- (diff)
- 5:44 AM Changeset in webkit [167124] by
-
- 1 edit2 adds in trunk/PerformanceTests
Optimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and DestinationAtop using transparencyLayer.
https://bugs.webkit.org/show_bug.cgi?id=79659
Patch by Dirk Schulze <krit@webkit.org> on 2014-04-11
Reviewed by Andreas Kling.
Add performance tests for real this time.
- Canvas/compositing-drawimage.html: Added.
- Canvas/compositing-fillRect.html: Added.
- 5:37 AM Changeset in webkit [167123] by
-
- 1 edit in trunk/PerformanceTests/ChangeLog
Optimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and DestinationAtop using transparencyLayer.
https://bugs.webkit.org/show_bug.cgi?id=79659
Patch by Dirk Schulze <krit@webkit.org> on 2014-04-11
Reviewed by Andreas Kling.
Add performance tests for fillRect() and drawImage() on composited contexts.
- Canvas/compositing-drawimage.html: Added.
- Canvas/compositing-fillRect.html: Added.
- 3:52 AM WebKitGTK/2.4.x edited by
- (diff)
- 3:50 AM Changeset in webkit [167122] by
-
- 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2
Merge r167116 - [GTK][WK2] Move Vector objects into WebEditorClient::executePendingEditorCommands() invocations
https://bugs.webkit.org/show_bug.cgi?id=131454
Reviewed by Carlos Garcia Campos.
- WebProcess/WebCoreSupport/WebEditorClient.h:
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::executePendingEditorCommands): Take a const reference of the Vector
object to avoid unnecessary copies. Also deploy two range-based for loops and efficiently move
the Editor::Command objects into the other Vector.
- 3:49 AM WebKitGTK/KeepingTheTreeGreen edited by
- (diff)
- 3:39 AM Changeset in webkit [167121] by
-
- 9 edits in releases/WebKitGTK/webkit-2.4
Merge r166924 - [SOUP] Control cookie management according ResourceRequest.allowCookies()
https://bugs.webkit.org/show_bug.cgi?id=131026
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-04-08
Reviewed by Sergio Villar Senin.
Source/WebCore:
Added per soup-message disabling of cookie jar manager when related ResourceRequest does not allow cookies (e.g. some cross-origin requests).
Patch is covered by unskipped test http/tests/xmlhttprequest/cross-origin-cookie-storage.html.
- platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessageMembers): Added disabling of cookie jar manager if cookies are not allowed.
Source/WebKit2:
Added setting of accept cookies policy for the current soup network session cookie jar and all tracked sessions.
Moved the implementation of cookie policy setting from WebCookieManager to WebFrameNetworkingContext.
- WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Moved implementation to WebCookieManager::platformSetHTTPCookieAcceptPolicy.
- WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
(WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): Moved implementation from WebCookieManager::platformSetHTTPCookieAcceptPolicy and set the cookie jar accept policy to the cookie jars of all sessions in addition to the default cookie jar.
- WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: Added method prototype.
LayoutTests:
- platform/efl/TestExpectations: Unskipped test http/tests/xmlhttprequest/cross-origin-cookie-storage.html.
- platform/gtk/TestExpectations: Ditto.
- 3:22 AM WebKitGTK/2.4.x edited by
- (diff)
- 3:22 AM Changeset in webkit [167120] by
-
- 5 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Unreviewed. [GTK] Plugin process crashes when loading totem plugin
https://bugs.webkit.org/show_bug.cgi?id=131357
Make Netscape browser functions static to avoid conflicts with
plugins defining those functions as well.
- GNUmakefile.list.am: Do not build npapi.cpp.
- plugins/PluginPackage.cpp:
(WebCore::pluginViewForInstance):
(WebCore::NPN_MemAlloc):
(WebCore::NPN_MemFree):
(WebCore::NPN_MemFlush):
(WebCore::NPN_ReloadPlugins):
(WebCore::NPN_RequestRead):
(WebCore::NPN_GetURLNotify):
(WebCore::NPN_GetURL):
(WebCore::NPN_PostURLNotify):
(WebCore::NPN_PostURL):
(WebCore::NPN_NewStream):
(WebCore::NPN_Write):
(WebCore::NPN_DestroyStream):
(WebCore::NPN_UserAgent):
(WebCore::NPN_Status):
(WebCore::NPN_InvalidateRect):
(WebCore::NPN_InvalidateRegion):
(WebCore::NPN_ForceRedraw):
(WebCore::NPN_GetValue):
(WebCore::NPN_SetValue):
(WebCore::NPN_GetJavaEnv):
(WebCore::NPN_GetJavaPeer):
(WebCore::NPN_PushPopupsEnabledState):
(WebCore::NPN_PopPopupsEnabledState):
(WebCore::NPN_PluginThreadAsyncCall):
(WebCore::NPN_GetValueForURL):
(WebCore::NPN_SetValueForURL):
(WebCore::NPN_GetAuthenticationInfo):
(WebCore::NPN_PopUpContextMenu):
- plugins/PluginPackage.h:
(WebCore::PluginPackage::browserFuncs): Add accessor to browser
function pointers.
- plugins/PluginView.cpp:
(WebCore::PluginView::stop): Use browser function pointers instead
of NPN wrappers that are now private.
(WebCore::PluginView::getValueForURL): Ditto.
- 2:23 AM Changeset in webkit [167119] by
-
- 7 edits in tags/Safari-538.28.2/Source/WebKit2
Merged r167096.
2014-04-10 Enrica Casucci <enrica@apple.com>
[iOS WebKit2] Support phraseboundary gesture recognizer for CJK.
https://bugs.webkit.org/show_bug.cgi?id=131493
<rdar://problem/16319583>
Reviewed by Benjamin Poulain.
On iOS it is possible with a gesture to change the selection
within the marked text.
Changing the selection triggers also the update of the inline candidates
over the keyboard area.
The patch adds the logic to decide whether the gesture can begin
as well as the code for the movement of
the selection within the marked range.
The gesture is allowed to start within a given radius from the marked
area.
- Shared/InteractionInformationAtPosition.cpp:
(WebKit::InteractionInformationAtPosition::encode):
(WebKit::InteractionInformationAtPosition::decode):
- Shared/InteractionInformationAtPosition.h:
(WebKit::InteractionInformationAtPosition::InteractionInformationAtPosition):
- Shared/ios/GestureTypes.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::editorStateChanged):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView pointIsNearMarkedText:]):
(toGestureType):
(toUIWKGestureType):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::selectWithGesture):
(WebKit::WebPage::getPositionInformation):
- 2:17 AM Changeset in webkit [167118] by
-
- 5 edits in tags/Safari-538.28.2/Source
Versioning.
- 2:11 AM Changeset in webkit [167117] by
-
- 1 copy in tags/Safari-538.28.2
New tag.
- 1:24 AM Changeset in webkit [167116] by
-
- 3 edits in trunk/Source/WebKit2
[GTK][WK2] Move Vector objects into WebEditorClient::executePendingEditorCommands() invocations
https://bugs.webkit.org/show_bug.cgi?id=131454
Reviewed by Carlos Garcia Campos.
- WebProcess/WebCoreSupport/WebEditorClient.h:
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::executePendingEditorCommands): Take a const reference of the Vector
object to avoid unnecessary copies. Also deploy two range-based for loops and efficiently move
the Editor::Command objects into the other Vector.
- 12:53 AM WebKitGTK/2.4.x edited by
- Stable branch not affected by 131471 (diff)
Apr 10, 2014:
- 11:32 PM Changeset in webkit [167115] by
-
- 2 edits in trunk/Tools
[CMake] Add missing WTF unit tests
https://bugs.webkit.org/show_bug.cgi?id=131459
Reviewed by Martin Robinson.
- TestWebKitAPI/CMakeLists.txt: Add a few missing source files
that should be compiled into the TestWTF binary.
- 11:16 PM Changeset in webkit [167114] by
-
- 3 edits in trunk/Source/WebKit2
<rdar://problem/16582465> [Cocoa] Avoid casts from CF types to unrelated Objective-C types
https://bugs.webkit.org/show_bug.cgi?id=131529
Reviewed by Mark Rowe.
- Shared/API/c/cf/WKStringCF.mm:
(WKStringCreateWithCFString): Cast the CFStringRef into its toll-free-bridged counterpart,
NSString, then cast the NSString into a WKNSString.
- Shared/API/c/cf/WKURLCF.mm:
(WKURLCreateWithCFURL): Cast the CFURLRef into its toll-free-bridged counterpart, NSURL,
then cast the NSURL into a WKNSURL.
- 10:23 PM Changeset in webkit [167113] by
-
- 2 edits in trunk/Source/WebKit2
BundlePageDiagnosticLoggingClient leaks every string passing through it.
https://bugs.webkit.org/show_bug.cgi?id=130140
Reviewed by Brent Fulgham.
- WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
(WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage): Don’t copy the
strings passed into the bundle client.
- 10:19 PM Changeset in webkit [167112] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
Crash beneath DFG JIT code @ video.disney.com
https://bugs.webkit.org/show_bug.cgi?id=131447
Reviewed by Geoffrey Garen.
The 32-bit path of speculateMisc() uses an 'is not int32' check followed by
'tag not less than Undefined' check. The first check was incorrectly elided if we
knew that the value *was* an int32, when it should have been elided if we already
knew that the value *was not* an int32.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateMisc):
- tests/stress/test-spec-misc.js: Added test.
(getX):
(foo):
(bar):
- 9:05 PM Changeset in webkit [167111] by
-
- 2 edits in trunk/Source/JavaScriptCore
Make room for additional types in SpeculatedType.h
https://bugs.webkit.org/show_bug.cgi?id=131422
Reviewed by Sam Weinig.
This'll make it easier to add DoubleHeavyNaN and DoubleEmptyNaN.
- bytecode/SpeculatedType.h:
- 8:52 PM Changeset in webkit [167110] by
-
- 2 edits in trunk/Source/WebKit2
Try to fix the debug bots after r167102
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-10
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 7:44 PM Changeset in webkit [167109] by
-
- 6 edits in trunk/Source/WebCore
WebGL: need error checking after texture and buffer uploads in some cases
https://bugs.webkit.org/show_bug.cgi?id=62902
rdar://problem/9640309
Reviewed by Dean Jackson.
Not clear how to write a test for this.
- html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::disassociateBufferData): Added.
- html/canvas/WebGLBuffer.h: Added disassociateBufferData.
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::bufferData): Check for errors by calling
moveErrorsToSyntheticErrorList twice, once before and once after. If an error
occurred, call the WebGLBuffer so it doesn't think it has data.
(WebCore::WebGLRenderingContext::bufferSubData): Ditto.
- platform/graphics/GraphicsContext3D.h: Added moveErrorsToSyntheticErrorList.
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::moveErrorsToSyntheticErrorList): Added. Calls
glError and moves any errors to the synthetic error list.
(WebCore::GraphicsContext3D::getError): Added call to moveErrorsToSyntheticErrorList
to preserve error ordering.
(WebCore::GraphicsContext3D::synthesizeGLError): Ditto.
- 7:17 PM Changeset in webkit [167108] by
-
- 2 edits in trunk/Source/JavaScriptCore
Compile fix for Win64.
https://bugs.webkit.org/show_bug.cgi?id=131508
Patch by Alex Christensen <achristensen@webkit.org> on 2014-04-10
Reviewed by Geoffrey Garen.
- assembler/X86Assembler.h:
(JSC::X86Assembler::fillNops):
Added unsigned template parameter to distinguish between size_t and unsigned long.
- 6:54 PM Changeset in webkit [167107] by
-
- 2 edits in tags/Safari-538.28.1/Source/WebCore
Merged r167106.
- 6:37 PM Changeset in webkit [167106] by
-
- 2 edits in trunk/Source/WebCore
iOS build fix to deal with CoreText changes.
Reviewed by Benjamin Poulain.
This is a temporary fix until CT fixes the issue.
- rendering/RenderThemeIOS.mm:
- 6:23 PM Changeset in webkit [167105] by
-
- 5 edits in tags/Safari-538.28.1/Source
Versioning.
- 6:20 PM Changeset in webkit [167104] by
-
- 1 copy in tags/Safari-538.28.1
New tag.
- 6:17 PM Changeset in webkit [167103] by
-
- 3 edits in trunk/Source/WebKit2
Add user default for FTL JIT
https://bugs.webkit.org/show_bug.cgi?id=131520
Reviewed by Benjamin Poulain.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::decode):
- UIProcess/mac/WebContextMac.mm:
(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebContext::platformInitializeWebProcess):
- D'oh, whitespace.
- 6:13 PM Changeset in webkit [167102] by
-
- 5 edits in trunk/Source/WebKit2
Add user default for FTL JIT
https://bugs.webkit.org/show_bug.cgi?id=131520
Reviewed by Benjamin Poulain.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- pass setting to WebContent process.
- UIProcess/mac/WebContextMac.mm:
(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebContext::platformInitializeWebProcess):
- read user default.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- set JSC::Option.
- 6:02 PM Changeset in webkit [167101] by
-
- 5 edits in trunk/Source/WTF
[Win] Clean up some 64-bit warnings from Visual Studio analyzer
https://bugs.webkit.org/show_bug.cgi?id=131514
Reviewed by Tim Horton.
- WTF.vcxproj/WTF.vcxproj: Use correct platform settings for
64-bit build.
- config.h: Ditto.
- wtf/CurrentTime.cpp:
(WTF::highResUpTime): Resolve warning about deprecated API.
- wtf/StackBounds.cpp:
(WTF::StackBounds::initialize): Silence warning about
an uninitialized variable.
- 5:53 PM Changeset in webkit [167100] by
-
- 3 edits in trunk/Source/WebKit2
[Cocoa] Notify the form delegate when the custom button in the form accessory view is tapped
https://bugs.webkit.org/show_bug.cgi?id=131518
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/_WKFormDelegate.h: Declared new delegate method.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView accessoryAutoFill]): Call the new delegate method.
- 5:50 PM Changeset in webkit [167099] by
-
- 5 edits in trunk/Source/WebKit2
Unreviewed, rolling out r167097.
https://bugs.webkit.org/show_bug.cgi?id=131519
there was already a mechanism for this, and this was
incomplete anyway (Requested by thorton on #webkit).
Reverted changeset:
"[iOS WebKit2] Disable the find overlay for now"
https://bugs.webkit.org/show_bug.cgi?id=131509
http://trac.webkit.org/changeset/167097
- 5:27 PM Changeset in webkit [167098] by
-
- 9 edits4 deletes in trunk
Unreviewed, rolling out r167073.
https://bugs.webkit.org/show_bug.cgi?id=131516
This patch caused crashes in video tests. (Requested by
mrobinson on #webkit).
Reverted changeset:
Source/WebCore:
"[GStreamer] No CORS support for media elements"
https://bugs.webkit.org/show_bug.cgi?id=99037
http://trac.webkit.org/changeset/167073
LayoutTests:
"[GStreamer] No CORS support for media elements"
https://bugs.webkit.org/show_bug.cgi?id=99037
http://trac.webkit.org/changeset/167073
- 4:52 PM Changeset in webkit [167097] by
-
- 5 edits in trunk/Source/WebKit2
[iOS WebKit2] Disable the find overlay for now
https://bugs.webkit.org/show_bug.cgi?id=131509
Reviewed by Adele Peterson.
- Shared/WebPreferencesStore.h:
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::FindController):
(WebKit::FindController::hideFindOverlay):
(WebKit::FindController::hideFindUI):
(WebKit::FindController::setShouldShowOverlay):
- WebProcess/WebPage/FindController.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Add a setting allowing us to turn off the find-in-page overlay on iOS.
- 4:23 PM Changeset in webkit [167096] by
-
- 7 edits in trunk/Source/WebKit2
Unreviewed GTK build fix after r167074.
This involves replacing resetDragSession() by
resetCurrentDragInformation() and dragSession().operation by
currentDragOperation().
Patch by Sergio Villar Senin <svillar@igalia.com> on 2014-04-10
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDragDataReceived):
(webkitWebViewBaseDragMotion):
(dragExitedCallback):
- 3:53 PM Changeset in webkit [167095] by
-
- 2 edits in trunk/Source/WebCore
Radio buttons are using the wrong sizes and margins
https://bugs.webkit.org/show_bug.cgi?id=131503
Reviewed by Jer Noble.
This is a regression that I caused recently when I combined radio button and
checkbox code.
- platform/mac/ThemeMac.mm:
(WebCore::paintToggleButton):
- 3:33 PM Changeset in webkit [167094] by
-
- 40 edits in trunk/Source
LLInt interpreter code should be generated as part of one function
https://bugs.webkit.org/show_bug.cgi?id=131205
Reviewed by Mark Lam.
Source/JavaScriptCore:
Changed the generation of llint opcodes so that they are all part of the same
global function, llint_entry. That function is used to fill in an entry point
table that includes each of the opcodes and helpers.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh:
- JavaScriptCore.vcxproj/LLInt/LLIntDesiredOffsets/build-LLIntDesiredOffsets.sh:
- JavaScriptCore.xcodeproj/project.pbxproj:
Added appropriate use of new -I option to offline assembler and offset
generator scripts.
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter.cpp:
- llint/LowLevelInterpreter.h:
- offlineasm/arm.rb:
- offlineasm/arm64.rb:
- offlineasm/asm.rb:
- offlineasm/ast.rb:
- offlineasm/backends.rb:
- offlineasm/cloop.rb:
- offlineasm/generate_offset_extractor.rb:
- offlineasm/instructions.rb:
- offlineasm/parser.rb:
- offlineasm/registers.rb:
- offlineasm/self_hash.rb:
- offlineasm/settings.rb:
- offlineasm/transform.rb:
- offlineasm/x86.rb:
Added a new "global" keyword to the offline assembler that denotes a label that
should be exported. Added opcode and operand support to get the absolute
address of a local label using position independent calculations. Updated the
offline assembler to handle included files, both when generating the checksum
as well as including files from other than the local directory via a newly
added -I option. The offline assembler now automatically determines external
functions by keeping track of referenced functions that are defined within the
assembly source. This is used both for choosing the correct macro for external
references as well as generating the needed EXTERN directives for masm.
Updated the generation of the masm only .sym file to be written once at the end
of the offline assembler.
- assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodePtr::createLLIntCodePtr):
(JSC::MacroAssemblerCodeRef::createLLIntCodeRef):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
- bytecode/Opcode.h:
(JSC::padOpcodeName):
- bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFromLLInt):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JITStubs.h:
- llint/LLIntCLoop.cpp:
(JSC::LLInt::initialize):
- llint/LLIntData.h:
(JSC::LLInt::getCodeFunctionPtr):
(JSC::LLInt::getOpcode): Deleted.
(JSC::LLInt::getCodePtr): Deleted.
- llint/LLIntOpcode.h:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LLIntThunks.cpp:
(JSC::LLInt::functionForCallEntryThunkGenerator):
(JSC::LLInt::functionForConstructEntryThunkGenerator):
(JSC::LLInt::functionForCallArityCheckThunkGenerator):
(JSC::LLInt::functionForConstructArityCheckThunkGenerator):
(JSC::LLInt::evalEntryThunkGenerator):
(JSC::LLInt::programEntryThunkGenerator):
- llint/LLIntThunks.h:
Changed references to llint helpers to go through the entry point table populated
by llint_entry. Added helpers to OpcodeID enum for all builds.
- bytecode/BytecodeList.json:
- generate-bytecode-files:
- llint/LLIntCLoop.cpp:
(JSC::LLInt::CLoop::initialize):
Reordered sections to match the order that the functions are added to the entry point
table. Added new "asmPrefix" property for symbols that have one name but are generated
with a prefix, e.g. op_enter -> llint_op_enter. Eliminated the "emitDefineID" property
as we are using enums for all bytecode references. Changed the C Loop only
llint_c_loop_init to llint_entry.
Source/WebKit:
Updated VS dependencies for JavaScriptCore changes.
- WebKit.vcxproj/WebKit.sln:
- 3:23 PM Changeset in webkit [167093] by
-
- 4 edits2 adds in trunk
Assertion failure in WebCore::FlexBoxIterator::next()
<https://bugs.webkit.org/show_bug.cgi?id=117176>
<rdar://problem/14054549>
Source/WebCore:
Code added in r115687 began removing anonymous wrappers when children
become inline. However, there are some objects, like
RenderDeprecatedFlexBox, whose children should always be blocks.
Reviewed by Tim Horton.
- rendering/RenderBlock.h:
(WebCore::RenderBlock::canCollapseAnonymousBlockChild):
Made public.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary):
Return early if we can't collapse anonymous block children.
LayoutTests:
Reviewed by Tim Horton.
- fast/flexbox/collapse-anonymous-wrappers-assertion-expected.txt: Added.
- fast/flexbox/collapse-anonymous-wrappers-assertion.html: Added.
- 3:23 PM Changeset in webkit [167092] by
-
- 3 edits2 adds in trunk
Assertion failure, !node node->isElementNode(), in WebCore::RenderBlock::clone()
<https://bugs.webkit.org/show_bug.cgi?id=110489>
<rdar://problem/13666425>
Reviewed by Antti Koivisto.
Source/WebCore:
We're ending up in RenderBlock::splitBlocks() with |this| ==
|fromBlock|. We then try to climb the ancestor block chain from
this->parent() to |fromBlock|, but this->parent() is already above
|fromBlock|, so we end up climbing up to the RenderView and trying to
clone it, causing the assertion failure.
Adopt Chromium's mitigation for this from
<https://codereview.chromium.org/13852041>. This is not intended as a
fix for the underlying issue.
Also, fix another issue that occurs with this fuzzed test case that's
not handled by the Chromium fix.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::splitBlocks):
Ensure while we're in the loop that |curr| is a descendant of
|fromBlock|. From the Chromium patch:
We need to check in every iteration of the loop because
moveChildrenTo could have moved |curr|. This is a mitigation and
not really a fix against a class of tree craziness.
Finally, before moving children from |fromBlock| to |toBlock|, ensure
that the children are children of |fromBlock|. If we never entered the
loop, they will be siblings of |fromBlock|, not children.
LayoutTests:
- fast/multicol/fuzzed-test-case-expected.txt: Added.
- fast/multicol/fuzzed-test-case.html: Added.
- 3:17 PM Changeset in webkit [167091] by
-
- 2 edits in trunk/Source/WebCore
Build fix after http://trac.webkit.org/changeset/167085.
Reviewed by Timothy Hatcher.
- plugins/PluginData.h:
- 3:09 PM Changeset in webkit [167090] by
-
- 3 edits2 adds in trunk
Web Inspector: Breakpoint in gutter has clipped / broken border image.
https://bugs.webkit.org/show_bug.cgi?id=131500
Reviewed by Joseph Pecoraro.
Typo in r166925.
Source/WebCore:
Test: fast/borders/border-image-slice-missing-right.html
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintNinePieceImage):
LayoutTests:
- fast/borders/border-image-slice-missing-right-expected.html: Added.
- fast/borders/border-image-slice-missing-right.html: Added.
- 2:44 PM Changeset in webkit [167089] by
-
- 5 edits in trunk
Web Inspector: AXI: expose aria-busy state of current and ancestor nodes
https://bugs.webkit.org/show_bug.cgi?id=130826
Patch by James Craig <jcraig@apple.com> on 2014-04-10
Reviewed by Timothy Hatcher.
Source/WebCore:
Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
Expose if node is contained by any "busy" ancestor nodes, too.
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
LayoutTests:
Expose if node is contained by any "busy" ancestor nodes, too.
- inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
- inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
- 2:27 PM Changeset in webkit [167088] by
-
- 2 edits in trunk/Source/WebKit
[Win] Unreviewed 64-bit Build Fix.
- WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Provide
proper mangled names for 64-bit build.
- 2:25 PM Changeset in webkit [167087] by
-
- 2 edits4 adds in trunk/Source/JavaScriptCore
WIP for inlining C++. Added a build target to produce LLVM IR.
https://bugs.webkit.org/show_bug.cgi?id=130523
Patch by Matthew Mirman <mmirman@apple.com> on 2014-04-10
Reviewed by Mark Rowe.
- JavaScriptCore.xcodeproj/project.pbxproj:
- build-symbol-table-index.py: Added.
- build-symbol-table-index.sh: Added.
- Configurations/CompileRuntimeToLLVMIR.xcconfig: Added.
- copy-llvm-ir-to-derived-sources.sh: Added.
- 1:57 PM Changeset in webkit [167086] by
-
- 5 edits in trunk/Source/WebCore
Web Inspector: Remove unused ruler in overlay code
https://bugs.webkit.org/show_bug.cgi?id=131507
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-10
Reviewed by Timothy Hatcher.
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
- inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForHighlight):
- inspector/InspectorOverlay.h:
(WebCore::Highlight::Highlight):
(WebCore::Highlight::setDataFromConfig):
- inspector/InspectorOverlayPage.js:
(_drawFragmentHighlight):
(_drawRegionNumber): Deleted.
(quadToPath): Deleted.
(drawOutlinedQuad): Deleted.
(pathCommand): Deleted.
(drawPath): Deleted.
(drawOutlinedQuadWithClip): Deleted.
(quadEquals): Deleted.
(drawGutter): Deleted.
(drawNodeHighlight): Deleted.
(drawQuadHighlight): Deleted.
(setPlatform): Deleted.
(dispatch): Deleted.
(log): Deleted.
- 1:52 PM Changeset in webkit [167085] by
-
- 12 edits2 adds in trunk
Web Replay: memoize plugin data for navigator.mimeTypes and navigator.plugins
https://bugs.webkit.org/show_bug.cgi?id=131341
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
Add support for encoding/decoding unsigned long with EncodedValue.
It is a distinct type from uint32_t and uint64_t.
- replay/EncodedValue.cpp:
(JSC::EncodedValue::convertTo<unsigned long>):
- replay/EncodedValue.h:
Source/WebCore:
Information about plugins and mime types is nondeterministic and can change
at any time, whether by system events, browser settings changes, or
triggered by script. To avoid interposing on all those code paths, just
memoize the plugin data used by DOMPluginArray and DOMMimeTypeArray.
This is less efficient than controlling mutations to the underlying PluginData
of a Page, but that can be done later if better plugin support is desired.
The point of this change is to make analytics trackers deterministic across
enabling/disabling of plugins.
Test: LayoutTests/inspector/window-navigator-plugins-memoized.hml
- plugins/DOMMimeTypeArray.cpp:
(WebCore::DOMMimeTypeArray::getPluginData):
- plugins/DOMPluginArray.cpp:
(WebCore::DOMPluginArray::pluginData): Save or restore memoized plugin
data during capture and replay, respectively.
- plugins/PluginData.h:
(WebCore::PluginData::PluginData): Add a constructor that uses the
provided plugin data rather than fetching live plugin data. This is
marked protected so it's only used by a subclass specifically for
deserialization.
- replay/SerializationMethods.cpp: Add encoder specializations.
(JSC::EncodingTraits<MimeClassInfo>::encodeValue):
(JSC::EncodingTraits<MimeClassInfo>::decodeValue):
(JSC::EncodingTraits<PluginInfo>::encodeValue):
(JSC::EncodingTraits<PluginInfo>::decodeValue):
(JSC::EncodingTraits<PluginData>::encodeValue):
(JSC::DeserializedPluginData::DeserializedPluginData): Add a custom
subclass of PluginData that can be initialized from deserialized data.
(JSC::EncodingTraits<PluginData>::decodeValue):
- replay/SerializationMethods.h:
- replay/WebInputs.json: Add new input FetchPluginData.
LayoutTests:
Add support for different setup methods before the initial navigation of
capture and replay. This is necessary to test that the value of
navigator.plugins is the same on replay even if the underlying data changed.
- http/tests/inspector/replay/replay-test.js:
(InspectorTestProxy.runSingleSegmentRefTest): Add calls to optional setup
functions in the test page called setupPreCapture and setupPreReplay.
- 1:34 PM April 2014 Meeting edited by
- (diff)
- 12:26 PM Changeset in webkit [167084] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed GTK build fix after r167074.
This involves replacing resetDragSession() by
resetCurrentDragInformation() and dragSession().operation by
currentDragOperation().
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDragDataReceived):
(webkitWebViewBaseDragMotion):
(dragExitedCallback):
- 12:22 PM Changeset in webkit [167083] by
-
- 2 edits in trunk/LayoutTests
[GTK] Unreviewed GTK gardening.
Update text expectations for new failing tests:
accessibility/help-text.html
fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order.html
fast/css3-text/css3-text-decoration/text-decoration-skip/glyph-inside-underline.html
Update test expectations related with highdpi still not supported.
On r166930 test media/track/opera/interfaces/TextTrackList/onremovetrack.html
was moved to media/track/w3c/interfaces/TextTrackList/onremovetrack.html.
Now it passes. Remove the expectation.
Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-04-10
- platform/gtk/TestExpectations:
- 12:16 PM Changeset in webkit [167082] by
-
- 2 edits in trunk/Source/WebCore
Remove "System Font" from character width calculations
https://bugs.webkit.org/show_bug.cgi?id=131411
Reviewed by Tim Horton.
Covered by existing tests
- platform/graphics/Font.cpp:
(WebCore::Font::hasValidAverageCharWidth):
- 12:10 PM Changeset in webkit [167081] by
-
- 6 edits in trunk/Tools
[Gtk] run-launcher doesn't work by default
https://bugs.webkit.org/show_bug.cgi?id=131494
Reviewed by Philippe Normand.
- Scripts/run-launcher: Always use MiniBrowser for WebKitGTK.
- Scripts/webkitdirs.pm:
(launcherName): Same.
- Scripts/webkitpy/style/checker.py: Remove reference to GtkLauncher.
- gtk/common.py:
(get_build_path.is_valid_build_directory): Same.
- gtk/manifest.txt: Same.
- 12:10 PM WebKitGTK/KeepingTheTreeGreen edited by
- (diff)
- 12:03 PM Changeset in webkit [167080] by
-
- 2 edits in trunk/Source/WebKit2
[Cairo] Implement ShareableBitmap::paint() with scale factor
https://bugs.webkit.org/show_bug.cgi?id=64665
Patch by Owen Taylor <otaylor@redhat.com> on 2014-04-10
Reviewed by Martin Robinson.
- Shared/cairo/ShareableBitmapCairo.cpp (WebKit::ShareableBitmap::paint):
- 11:53 AM Changeset in webkit [167079] by
-
- 3 edits2 adds in trunk
Invalid cast in WebCore::RenderLayer::setupClipPath
https://bugs.webkit.org/show_bug.cgi?id=131368
Reviewed by Dirk Schulze.
Source/WebCore:
Only attempt to clip to a box shape if the renderer being clipped is
actually a box.
Test: css3/masking/clip-path-box-shape-on-inline-crash.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupClipPath): Add isBox() check.
LayoutTests:
- css3/masking/clip-path-box-shape-on-inline-crash-expected.txt: Added.
- css3/masking/clip-path-box-shape-on-inline-crash.html: Added.
- 11:20 AM Changeset in webkit [167078] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Remove a comment that was incorrectly cut-and-pasted from WidgetBackingStoreCairo
https://bugs.webkit.org/show_bug.cgi?id=131499
Patch by Owen Taylor <otaylor@redhat.com> on 2014-04-10
Reviewed by Martin Robinson.
- platform/gtk/WidgetBackingStoreGtkX11.cpp: Remove a comment that was incorrectly copy and pasted
from the Cairo implementation.
- 11:00 AM Changeset in webkit [167077] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed iOS build fix after http://trac.webkit.org/changeset/167074
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
- 10:50 AM Changeset in webkit [167076] by
-
- 2 edits in trunk/Source/JavaScriptCore
LLINT loadisFromInstruction should handle the big endian case.
<https://webkit.org/b/131495>
Reviewed by Mark Hahnenberg.
The LLINT loadisFromInstruction macro aims to load the least significant
32-bit word from the 64-bit bytecode instruction stream and sign extend
it. For big endian machines, the current implementation would load the
wrong 32-bit word.
Without this fix, the JSC tests will crash on big endian machines.
Thanks to Tomas Popela for diagnosing this issue.
- llint/LowLevelInterpreter.asm:
- 10:42 AM Rebaseline edited by
- add Tools/Scripts path (diff)
- 10:37 AM Changeset in webkit [167075] by
-
- 2 edits in trunk/Source/WebKit2
Gtk build fix.
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::performDragControllerAction):
- 10:33 AM Changeset in webkit [167074] by
-
- 17 edits1 delete in trunk/Source
Eliminate DragSession structure
https://bugs.webkit.org/show_bug.cgi?id=131465
Reviewed by Benjamin Poulain.
Source/WebCore:
DragSession is really just a transient response to NSDragDestination delegate methods.
The "session" name was quite misleading, and thankfully, we don't need a class for this
bag of data at all.
- WebCore.xcodeproj/project.pbxproj:
- page/DragController.cpp:
(WebCore::DragController::DragController):
(WebCore::DragController::dragEntered):
(WebCore::DragController::dragUpdated):
(WebCore::DragController::dragEnteredOrUpdated):
(WebCore::DragController::tryDocumentDrag):
- page/DragController.h:
(WebCore::DragController::mouseIsOverFileInput):
(WebCore::DragController::numberOfItemsToBeAccepted):
- page/DragSession.h: Removed.
Source/WebKit/mac:
- WebView/WebView.mm:
(-[WebView draggingEntered:]):
(-[WebView draggingUpdated:]):
Source/WebKit/win:
- WebView.cpp:
(WebView::DragEnter):
(WebView::DragOver):
Source/WebKit2:
- Scripts/webkit2/messages.py:
(struct_or_class):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DragSession>::encode): Deleted.
(IPC::ArgumentCoder<DragSession>::decode): Deleted.
- Shared/WebCoreArgumentCoders.h:
- UIProcess/API/mac/WKView.mm:
(-[WKView draggingEntered:]):
(-[WKView draggingUpdated:]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::didPerformDragControllerAction):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::currentDragOperation):
(WebKit::WebPageProxy::currentDragIsOverFileInput):
(WebKit::WebPageProxy::currentDragNumberOfFilesToBeAccepted):
(WebKit::WebPageProxy::resetCurrentDragInformation):
(WebKit::WebPageProxy::dragSession): Deleted.
(WebKit::WebPageProxy::resetDragSession): Deleted.
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::performDragControllerAction):
- 8:46 AM Changeset in webkit [167073] by
-
- 9 edits4 adds in trunk
[GStreamer] No CORS support for media elements
https://bugs.webkit.org/show_bug.cgi?id=99037
Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-04-10
Reviewed by Philippe Normand.
Source/WebCore:
Added CORS access control check to media sources when crossorigin attribute is set.
Added getter to CORS access control check status (used to compute whether the stream is tainted or not).
Related test is http/tests/security/video-cross-origin-readback.html.
Disabled access to cross-origin streams that fail CORS check when crossorigin attribute is set.
Related test is http/tests/security/video-cross-origin-accessfailure.html.
Tests: http/tests/security/video-cross-origin-accessfailure.html
http/tests/security/video-cross-origin-accesssameorigin.html
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::didPassCORSAccessCheck): Return whether media is cross-origin (tainted) or not by querying the gstreamer source layer.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Added MediaPlayerPrivateGStreamer::didPassCORSAccessCheck declaration.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart): Passed CORS mode parameter to the streaming client. In case of CORS check failure, stop the resource loading.
(webKitSrcPassedCORSAccessCheck): Return whether CORS access control check was done and successful.
(StreamingClient::handleResponseReceived): Take a parameter to assign the CORS access control check result.
(CachedResourceStreamingClient::CachedResourceStreamingClient): Updated setting of the ResourceLoaderOptions according CORS mode.
(CachedResourceStreamingClient::responseReceived): Check CORS and pass result to handleResponseReceived.
(ResourceHandleStreamingClient::didReceiveResponse): No CORS check.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Added webKitSrcPassedCORSAccessCheck declaration.
LayoutTests:
http/tests/security/video-cross-origin-accessfailure.html verifies that cross-origin streams that fail CORS check
are not played when crossorigin attribute is set.
http/tests/security/video-cross-origin-accesssameorigin.html verifies that access to same-origin streams
are played when crossorigin attribute is set.
- http/tests/security/video-cross-origin-accessfailure-expected.txt: Added.
- http/tests/security/video-cross-origin-accessfailure.html: Added.
- http/tests/security/video-cross-origin-accesssameorigin-expected.txt: Added.
- http/tests/security/video-cross-origin-accesssameorigin.html: Added.
- platform/efl/TestExpectations: Enabled http/tests/security/video-cross-origin-readback.html.
- platform/gtk/TestExpectations: Ditto.
- platform/mac/TestExpectations: Disabled http/tests/security/video-cross-origin-accessfailure.html.
- 7:42 AM Changeset in webkit [167072] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] LayerTreeHostGtk is creating a software scene graph
https://bugs.webkit.org/show_bug.cgi?id=131471
Reviewed by Sergio Villar Senin.
At some point, a regression was introduced that sent the GTK+ WebKit2 scenegraph down the
software route. The rest of the file depends on the fact that the TextureMapper is the OpenGL
variety, so we should force that explicitly. This is causing crashes locally and soon we
should be able to test this directly.
- WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::initialize): Force the use of the OpenGL scenegraph.
- 6:10 AM Changeset in webkit [167071] by
-
- 2 edits1 delete in trunk/Source/WebCore
Move UseJSC.cmake back to CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=130834
Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-04-10
Reviewed by Csaba Osztrogonác.
No new tests required.
- CMakeLists.txt:
- UseJSC.cmake: Removed.
- 4:14 AM WebKitGTK/KeepingTheTreeGreen edited by
- (diff)
- 4:11 AM WebKitGTK/KeepingTheTreeGreen edited by
- (diff)
- 3:10 AM WebKitGTK/KeepingTheTreeGreen edited by
- (diff)
- 1:11 AM WebKitGTK/2.4.x edited by
- (diff)