Timeline
Feb 4, 2017:
- 11:19 PM Changeset in webkit [211679] by
-
- 14 edits in trunk/Source/WebKit2
Data interaction on an image should make it stand out when presenting the action sheet
https://bugs.webkit.org/show_bug.cgi?id=167846
<rdar://problem/30363014>
Reviewed by Tim Horton.
Adds infrastructure to improve the behavior of data interaction for images. We make two changes to accomplish
this: first, add some plumbing to WebKit so the web process can tell the UI process when it is done handling a
request to start data interaction, so that the UI process is able to clean up UI-side state in the event that
the page prevented the default behavior.
Secondly, this patch tweaks the heuristic used to present action sheets as popovers. For image elements, if
there is sufficient space around the element, we will use the element rect as the target rect; otherwise, we
fall back to presenting the popover at the touch location.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didHandleStartDataInteractionRequest):
- UIProcess/ios/WKActionSheet.h:
- UIProcess/ios/WKActionSheet.mm:
(-[WKActionSheet presentSheet:]):
Added a presentation style parameter, used to specify whether or not WKActionSheet should present the popover
using the element rect as the target rect, or the touch location.
(-[WKActionSheet doneWithSheet]):
(-[WKActionSheet updateSheetPosition]):
(-[WKActionSheet presentSheet]): Deleted.
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant presentationRectForIndicatedElement]):
Returns the (inflated) bounds of the element that is currently being indicated.
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant _presentationStyleForImageAtElementRect:]):
(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant showDataDetectorsSheet]):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didHandleStartDataInteractionRequest):
- UIProcess/mac/PageClientImpl.h:
- UIProcess/mac/PageClientImpl.mm:
Remove unnecessary function declarations and implementations.
(WebKit::PageClientImpl::didPerformDataInteractionControllerOperation): Deleted.
(WebKit::PageClientImpl::startDataInteractionWithImage): Deleted.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestStartDataInteraction):
Notify the UI process that the web process is done handling a data interaction request, specifying whether or
not the request was granted.
- 11:02 PM Changeset in webkit [211678] by
-
- 2 edits in trunk/Source/JavaScriptCore
Static Analyzer: Value stored to 'recordedMachineThreads' during its initialization is never read
https://bugs.webkit.org/show_bug.cgi?id=167845
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-02-04
Reviewed by Saam Barati.
Source/JavaScriptCore/heap/MachineStackMarker.cpp:151:14: warning: Value stored to 'recordedMachineThreads' during its initialization is never read
auto recordedMachineThreads = m_set.take(machineThreads);
~
- heap/MachineStackMarker.cpp:
(JSC::ActiveMachineThreadsManager::remove):
- 10:23 PM Changeset in webkit [211677] by
-
- 2 edits in trunk/Source/WebCore
Static Analyzer: WebCoreNSURLExtras.mm: Potential leak of memory pointed to by 'allBytesBuffer'
https://bugs.webkit.org/show_bug.cgi?id=167849
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-02-04
Reviewed by Sam Weinig.
Source/WebCore/platform/mac/WebCoreNSURLExtras.mm:883:20: warning: Potential leak of memory pointed to by 'allBytesBuffer'
return nil;
- platform/mac/WebCoreNSURLExtras.mm:
(WebCore::dataForURLComponentType):
Free the potentially malloc'd buffer before the early return.
- 6:20 PM Changeset in webkit [211676] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix mistake in comment added in r211569.
- history/PageCache.cpp:
(WebCore::PageCache::removeAllItemsForPage):
- 5:26 PM Changeset in webkit [211675] by
-
- 3 edits in trunk/Source/JavaScriptCore
Static Analyzer: Value stored to 'prev' is never read
https://bugs.webkit.org/show_bug.cgi?id=167844
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-02-04
Reviewed by Saam Barati.
Source/JavaScriptCore/runtime/JSMapIterator.h:60:13: warning: Value stored to 'prev' is never read
prev = bucket;
Source/JavaScriptCore/runtime/JSSetIterator.h:60:13: warning: Value stored to 'prev' is never read
prev = bucket;
- runtime/JSMapIterator.h:
(JSC::JSMapIterator::advanceIter):
- runtime/JSSetIterator.h:
(JSC::JSSetIterator::advanceIter):
- 1:46 PM Changeset in webkit [211674] by
-
- 3 edits in trunk/Tools
Plug some leaks in TestController and UIScriptContext.
<https://webkit.org/b/167839>
Reviewed by Alexey Proskuryakov.
Fix a couple of the leaks seen on the leaks bot.
- TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
(UIScriptContext::runUIScript):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::handleCheckOfUserMediaPermissionForOrigin):
(WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible):
- 1:40 PM Changeset in webkit [211673] by
-
- 2 edits in trunk/Source/WebCore
Fix memory issues related to preload eviction.
https://bugs.webkit.org/show_bug.cgi?id=167838
Reviewed by Andreas Kling.
This avoids removing resources from m_preloads during the iteration
by creating a second HashSetList containing the remaining link preloads.
No new tests but this will fix crashes on the leak bots.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::clearPreloads):
- 11:34 AM Changeset in webkit [211672] by
-
- 2 edits in trunk/Source/WTF
[GTK] Fix huge ENABLE_RESOURCE_USAGE warning spam
Unreviewed. We shouldn't redefine ENABLE_RESOURCE_USAGE in Platform.h as
it's already defined in cmakeconfig.h.
- wtf/Platform.h:
- 8:34 AM Changeset in webkit [211671] by
-
- 2 edits in trunk/Source/WebCore
Simple line layout: Skip 16bit specific checks on 8bit content.
https://bugs.webkit.org/show_bug.cgi?id=167831
<rdar://problem/30361948>
Reviewed by Antti Koivisto and Myles C. Maxfield.
Skip various checks on 8bit content.
Covered by existing tests.
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForCharacter):
(WebCore::SimpleLineLayout::canUseForText):
(WebCore::SimpleLineLayout::canUseForFontAndText):
- 5:46 AM Changeset in webkit [211670] by
-
- 9 edits1 add in trunk
[JSC] Add operationToInt32SensibleSlow to optimize kraken pbkdf2 and sha256
https://bugs.webkit.org/show_bug.cgi?id=167736
Reviewed by Saam Barati.
JSTests:
- stress/to-int32-sensible.js: Added.
(shouldBe):
(toInt32):
(test):
Source/JavaScriptCore:
Add a new function operationToInt32SensibleSlow. This function is only
called after x86 cvttss2si_rr is failed. This means that the
given double number never in range of int32 truncatable numbers.
As a result, exp in operationToInt32 always becomes >= 31. So
we can change the condition fromexp < 32toexp == 31.
This makes missingOne constant. And it leads significantly good
code generation.
The original operationToInt32 code.
170: 66 48 0f 7e c1 movq %xmm0,%rcx
175: 31 c0 xor %eax,%eax
177: 66 48 0f 7e c6 movq %xmm0,%rsi
17c: 48 c1 f9 34 sar $0x34,%rcx
180: 81 e1 ff 07 00 00 and $0x7ff,%ecx
186: 8d 91 01 fc ff ff lea -0x3ff(%rcx),%edx
18c: 83 fa 53 cmp $0x53,%edx
18f: 77 37 ja 1c8 <_ZN3JSC16operationToInt32Ed+0x58>
191: 83 fa 34 cmp $0x34,%edx
194: 7f 3a jg 1d0 <_ZN3JSC16operationToInt32Ed+0x60>
196: b9 34 00 00 00 mov $0x34,%ecx
19b: 66 48 0f 7e c7 movq %xmm0,%rdi
1a0: 29 d1 sub %edx,%ecx
1a2: 48 d3 ff sar %cl,%rdi
1a5: 83 fa 1f cmp $0x1f,%edx
1a8: 89 f8 mov %edi,%eax
1aa: 7f 12 jg 1be <_ZN3JSC16operationToInt32Ed+0x4e>
1ac: 89 d1 mov %edx,%ecx
1ae: b8 01 00 00 00 mov $0x1,%eax
1b3: d3 e0 shl %cl,%eax
1b5: 89 c2 mov %eax,%edx
1b7: 8d 40 ff lea -0x1(%rax),%eax
1ba: 21 f8 and %edi,%eax
1bc: 01 d0 add %edx,%eax
1be: 89 c2 mov %eax,%edx
1c0: f7 da neg %edx
1c2: 48 85 f6 test %rsi,%rsi
1c5: 0f 48 c2 cmovs %edx,%eax
1c8: f3 c3 repz retq
1ca: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
1d0: 66 48 0f 7e c0 movq %xmm0,%rax
1d5: 81 e9 33 04 00 00 sub $0x433,%ecx
1db: 48 d3 e0 shl %cl,%rax
1de: eb de jmp 1be <_ZN3JSC16operationToInt32Ed+0x4e>
The operationToInt32SensibleSlow code.
1e0: 66 48 0f 7e c1 movq %xmm0,%rcx
1e5: 66 48 0f 7e c2 movq %xmm0,%rdx
1ea: 48 c1 f9 34 sar $0x34,%rcx
1ee: 81 e1 ff 07 00 00 and $0x7ff,%ecx
1f4: 8d b1 01 fc ff ff lea -0x3ff(%rcx),%esi
1fa: 83 fe 34 cmp $0x34,%esi
1fd: 7e 21 jle 220 <_ZN3JSC28operationToInt32SensibleSlowEd+0x40>
1ff: 66 48 0f 7e c0 movq %xmm0,%rax
204: 81 e9 33 04 00 00 sub $0x433,%ecx
20a: 48 d3 e0 shl %cl,%rax
20d: 89 c1 mov %eax,%ecx
20f: f7 d9 neg %ecx
211: 48 85 d2 test %rdx,%rdx
214: 0f 48 c1 cmovs %ecx,%eax
217: c3 retq
218: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
21f: 00
220: 66 48 0f 7e c0 movq %xmm0,%rax
225: b9 34 00 00 00 mov $0x34,%ecx
22a: 29 f1 sub %esi,%ecx
22c: 48 d3 f8 sar %cl,%rax
22f: 89 c1 mov %eax,%ecx
231: 81 c9 00 00 00 80 or $0x80000000,%ecx
237: 83 fe 1f cmp $0x1f,%esi
23a: 0f 44 c1 cmove %ecx,%eax
23d: 89 c1 mov %eax,%ecx
23f: f7 d9 neg %ecx
241: 48 85 d2 test %rdx,%rdx
244: 0f 48 c1 cmovs %ecx,%eax
247: c3 retq
248: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
24f: 00
This improves kraken pbkdf2 by 10.8% and sha256 by 7.5%.
baseline patched
stanford-crypto-pbkdf2 153.195+-2.745 138.204+-2.513 definitely 1.1085x faster
stanford-crypto-sha256-iterative 49.047+-1.038 45.610+-1.235 definitely 1.0754x faster
<arithmetic> 101.121+-1.379 91.907+-1.500 definitely 1.1003x faster
- assembler/CPU.h:
(JSC::hasSensibleDoubleToInt):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::doubleToInt32):
(JSC::FTL::DFG::LowerDFGToB3::sensibleDoubleToInt32):
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::hasSensibleDoubleToInt): Deleted.
- ftl/FTLOutput.h:
- runtime/MathCommon.cpp:
(JSC::operationToInt32SensibleSlow):
- runtime/MathCommon.h:
- 12:25 AM Changeset in webkit [211669] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix the key shortcut to enable resource usage overlay in GTK+.
The condition to check for CTRL and Shift modifiers is wrong, causing the overlay to be shown on Shit+G and
making it impossible to write a 'G'.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseKeyPressEvent):
Feb 3, 2017:
- 10:03 PM Changeset in webkit [211668] by
-
- 2 edits in trunk/Source/WebCore
Simple line layout: Remove redundant codepath check.
https://bugs.webkit.org/show_bug.cgi?id=167827
<rdar://problem/30361850>
Reviewed by Myles C. Maxfield.
FontCascade::codePath() iterates through the entire text. It's rather wasteful to do twice.
No change in functionality.
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForFontAndText):
(WebCore::SimpleLineLayout::printReason):
- 9:53 PM Changeset in webkit [211667] by
-
- 3 edits2 adds in trunk
REGRESSION(r204858): Synthetic bold text in vertical writing mode is rotated away from original text
https://bugs.webkit.org/show_bug.cgi?id=167826
<rdar://problem/28193222>
Reviewed by Zalan Bujtas.
Source/WebCore:
When drawing vertical text, the rotation is not reset between successive paint calls. We implement
synthetic bold by drawing text twice, which means that the second draw call was getting rotated
twice. This was an oversight in r204858.
Test: fast/text/synthetic-bold-vertical-text.html
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::showGlyphsWithAdvances):
LayoutTests:
- fast/text/synthetic-bold-vertical-text-expected.html: Added.
- fast/text/synthetic-bold-vertical-text.html: Added.
- 9:18 PM Changeset in webkit [211666] by
-
- 5 edits in trunk/Source
Unreviewed rollout of r211486, r211629.
Original change is not ideal and is causing issues.
Source/JavaScriptCore:
- inspector/agents/InspectorHeapAgent.cpp:
(Inspector::SendGarbageCollectionEventsTask::SendGarbageCollectionEventsTask):
- runtime/InitializeThreading.cpp:
(JSC::initializeThreading):
Source/WebKit2:
- Shared/WebKit2Initialize.cpp:
(WebKit::InitializeWebKit2):
- 7:23 PM Changeset in webkit [211665] by
-
- 33 edits in trunk/Source
Performance Timing: Convert WTF::MonotonicTime and WTF::Seconds
https://bugs.webkit.org/show_bug.cgi?id=167768
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-02-03
Reviewed by Geoffrey Garen.
Source/WebCore:
The public APIs still return double (DOMHighResTimeStamp), which
is milliseconds since a time origin:
https://w3c.github.io/hr-time/#dom-domhighrestimestamp
- loader/LoadTiming.cpp:
(WebCore::LoadTiming::secondsSinceStartTime):
(WebCore::LoadTiming::monotonicTimeToPseudoWallTime):
(WebCore::LoadTiming::markStartTime):
(WebCore::LoadTiming::addRedirect):
(WebCore::LoadTiming::monotonicTimeToZeroBasedDocumentTime): Deleted.
- loader/LoadTiming.h:
(WebCore::LoadTiming::markUnloadEventStart):
(WebCore::LoadTiming::markUnloadEventEnd):
(WebCore::LoadTiming::markRedirectStart):
(WebCore::LoadTiming::markRedirectEnd):
(WebCore::LoadTiming::markFetchStart):
(WebCore::LoadTiming::setResponseEnd):
(WebCore::LoadTiming::markLoadEventStart):
(WebCore::LoadTiming::markLoadEventEnd):
(WebCore::LoadTiming::startTime):
(WebCore::LoadTiming::unloadEventStart):
(WebCore::LoadTiming::unloadEventEnd):
(WebCore::LoadTiming::redirectStart):
(WebCore::LoadTiming::redirectEnd):
(WebCore::LoadTiming::fetchStart):
(WebCore::LoadTiming::responseEnd):
(WebCore::LoadTiming::loadEventStart):
(WebCore::LoadTiming::loadEventEnd):
(WebCore::LoadTiming::redirectCount):
(WebCore::LoadTiming::referenceMonotonicTime):
(WebCore::LoadTiming::referenceWallTime):
Use MonotonicTime and WallTime for timestamps and references.
- dom/Document.cpp:
(WebCore::Document::setReadyState):
(WebCore::Document::finishedParsing):
(WebCore::Document::monotonicTimestamp):
- dom/DocumentTiming.h:
(WebCore::DocumentTiming::DocumentTiming): Deleted.
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::serviceScriptedAnimations):
- inspector/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::buildObjectForTiming):
(WebCore::InspectorNetworkAgent::didFinishLoading):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::dataReceived):
- loader/DocumentLoader.h:
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didFinishLoading):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::performance):
Use new types instead of raw doubles.
- page/Performance.cpp:
(WebCore::Performance::Performance):
(WebCore::Performance::now):
(WebCore::Performance::reduceTimeResolution):
(WebCore::Performance::addResourceTiming):
- page/Performance.h:
Do time arithmatic with WTF::Time classes.
This clarifies that we reduce our timestamps to 100us
resolution instead of the maximum 5us allowed by the spec.
- page/PerformanceResourceTiming.cpp:
(WebCore::monotonicTimeToDOMHighResTimeStamp):
(WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
(WebCore::PerformanceResourceTiming::networkLoadTimeToDOMHighResTimeStamp):
- page/PerformanceResourceTiming.h:
- page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::resourceLoadTimeRelativeToFetchStart):
(WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds):
(WebCore::toIntegerMilliseconds): Deleted.
- page/PerformanceTiming.h:
Do time arithmatic with WTF::Time classes.
- workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::create):
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
- workers/DedicatedWorkerGlobalScope.h:
- workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
(WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
- workers/DedicatedWorkerThread.h:
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
- workers/WorkerGlobalScope.h:
- workers/WorkerGlobalScopeProxy.h:
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
- workers/WorkerMessagingProxy.h:
- workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
(WebCore::WorkerThread::WorkerThread):
- workers/WorkerThread.h:
Pass time origin as MonotonicTime.
- workers/Worker.cpp:
(WebCore::Worker::create):
(WebCore::Worker::notifyFinished):
- workers/Worker.h:
Rename creation timestamp member. This matches Document's m_documentCreationTime.
Source/WTF:
- wtf/Stopwatch.h:
(WTF::Stopwatch::elapsedTimeSince):
(WTF::Stopwatch::elapsedTimeSinceMonotonicTime): Deleted.
- 7:16 PM Changeset in webkit [211664] by
-
- 3 edits1 add in trunk/Source/ThirdParty/libwebrtc
[WebRTC] Add more files to libwebrtc build
https://bugs.webkit.org/show_bug.cgi?id=167824
Reviewed by Youenn Fablet.
- Configurations/libwebrtc.xcconfig:
- Configurations/usrsctp.xcconfig: Added.
- libwebrtc.xcodeproj/project.pbxproj:
- 7:03 PM Changeset in webkit [211663] by
-
- 8 edits in trunk
WK1 mouse events are missing movementX and movementY for pointerlock.
https://bugs.webkit.org/show_bug.cgi?id=167775
rdar://problem/30343810
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-02-03
Reviewed by Alexey Proskuryakov.
Source/WebCore:
pointer-lock/mouse-event-delivery.html
Improve mouse-event-delivery.html test to mouse move and check for valid movementX and movementY.
- platform/mac/PlatformEventFactoryMac.mm:
(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder): WK1 plumb throuhg movementX and movementY
Tools:
Set kCGMouseEventDeltaX and kCGMouseEventDeltaY when synthesizing mouse move events.
- DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController mouseMoveToX:Y:]):
- WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseMoveTo):
LayoutTests:
Enable pointer-lock/mouse-event-delivery.html for mac.
- platform/mac/TestExpectations:
- 5:53 PM Changeset in webkit [211662] by
-
- 83 edits2 adds in trunk
Correctly set the "inWindow" flag for TileControllers that aren't the page tiles, and clarify "usingTiledBacking" logic
https://bugs.webkit.org/show_bug.cgi?id=167774
Reviewed by Tim Horton.
Source/WebCore:
RenderLayerBacking had some very confusing "usingTiledCacheLayer" uses.
Its member variable, m_usingTiledCacheLayer, really meant "m_isMainFrameLayerWithTiledBacking" so make it so.
It had a usingTiledBacking(), which returned the same thing, which this patch replaces with isMainFrameLayerWithTiledBacking().
The fact that usingTiledBacking() was only true for the page tiled layer tripped up
RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants(), which would only ever call setIsInWindow()
on the page tiled layer. These changes fix that.
Also make a way for tests to unparent the web view via UIScriptController, and dump out the "in window"
status of TileBackings when dumping tile caches.
Test: tiled-drawing/tiled-backing-in-window.html
- platform/graphics/TiledBacking.h:
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::dumpAdditionalProperties):
- platform/graphics/ca/TileController.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::computePageTiledBackingCoverage):
(WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
(WebCore::RenderLayerBacking::setTiledBackingHasMargins):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::shouldClipCompositedBounds):
(WebCore::RenderLayerBacking::updateDescendantClippingLayer):
(WebCore::RenderLayerBacking::updateRootLayerConfiguration):
(WebCore::RenderLayerBacking::paintsIntoWindow):
(WebCore::computeTileCoverage): Deleted.
- rendering/RenderLayerBacking.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
(WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged):
(WebCore::RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants):
(WebCore::RenderLayerCompositor::supportsFixedRootBackgroundCompositing):
(WebCore::RenderLayerCompositor::documentUsesTiledBacking):
Tools:
Implement UIScriptController removeViewFromWindow() and addViewToWindow(), and hook
up for Mac WK1 and WK2, and iOS WK2. It takes a callback because view state updates to the
web process are async, so the callback fires after the web process gets the new state.
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::removeViewFromWindow):
(WTR::UIScriptController::addViewToWindow):
- DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
(resetWebViewToConsistentStateBeforeTesting):
- DumpRenderTree/mac/DumpRenderTreeMac.h:
- DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::removeViewFromWindow):
(WTR::UIScriptController::addViewToWindow):
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::removeViewFromWindow):
(WTR::UIScriptController::addViewToWindow):
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/PlatformWebView.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
- WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::removeFromWindow):
(WTR::PlatformWebView::addToWindow):
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::removeViewFromWindow):
(WTR::UIScriptController::addViewToWindow):
- WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::removeFromWindow):
(WTR::PlatformWebView::addToWindow):
- WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::removeViewFromWindow):
(WTR::UIScriptController::addViewToWindow):
LayoutTests:
Rebase to include the "in window" output.
tiled-drawing/background-transparency-toggle.html was sensitive to the length of the output, so give the body
a fixed size.
- compositing/tiling/offscreen-tiled-layer-expected.txt:
- compositing/tiling/transform-origin-tiled-expected.txt:
- platform/mac-wk1/compositing/tiling/offscreen-tiled-layer-expected.txt:
- platform/mac-wk1/compositing/tiling/transform-origin-tiled-expected.txt:
- platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
- platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
- platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
- platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt:
- platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
- platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
- platform/mac/compositing/tiling/tiled-layer-resize-expected.txt:
- tiled-drawing/background-transparency-toggle-expected.txt:
- tiled-drawing/background-transparency-toggle.html:
- tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
- tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
- tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt:
- tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
- tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
- tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
- tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
- tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
- tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt:
- tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
- tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt:
- tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:
- tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt:
- tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt:
- tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt:
- tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt:
- tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt:
- tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-expected.txt:
- tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt:
- tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt:
- tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt:
- tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt:
- tiled-drawing/simple-document-with-margin-tiles-expected.txt:
- tiled-drawing/tile-coverage-after-scroll-expected.txt:
- tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt:
- tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
- tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
- tiled-drawing/tile-coverage-speculative-expected.txt:
- tiled-drawing/tile-coverage-view-exposed-rect-expected.txt:
- tiled-drawing/tile-size-both-scrollable-expected.txt:
- tiled-drawing/tile-size-horizontally-scrollable-expected.txt:
- tiled-drawing/tile-size-slow-zoomed-expected.txt:
- tiled-drawing/tile-size-unscrollable-expected.txt:
- tiled-drawing/tile-size-vertically-scrollable-expected.txt:
- tiled-drawing/tile-size-view-exposed-rect-expected.txt:
- tiled-drawing/tiled-backing-in-window-expected.txt: Added.
- tiled-drawing/tiled-backing-in-window.html: Added.
- tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt:
- tiled-drawing/tiled-drawing-zoom-expected.txt:
- tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
- tiled-drawing/use-tiled-drawing-expected.txt:
- tiled-drawing/visible-rect-content-inset-expected.txt:
- 5:42 PM Changeset in webkit [211661] by
-
- 3 edits2 adds in trunk
Simple line layout: Bail out from Simple Line Layout when the primary font is insufficient.
https://bugs.webkit.org/show_bug.cgi?id=167820
Source/WebCore:
<rdar://problem/30359685>
Reviewed by Myles C. Maxfield.
Currently simple line layout requires the primary font to have all the glyps for the content.
Test: fast/text/simple-line-layout-do-not-support-unicode-range.html
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForText):
(WebCore::SimpleLineLayout::canUseForFontAndText):
(WebCore::SimpleLineLayout::printReason):
LayoutTests:
Reviewed by Myles C. Maxfield.
- fast/text/simple-line-layout-do-not-support-unicode-range-expected.html: Added.
- fast/text/simple-line-layout-do-not-support-unicode-range.html: Added.
- 5:39 PM Changeset in webkit [211660] by
-
- 2 edits17 adds in trunk/LayoutTests/imported/w3c
Import web-platform-tests/hr-time tests
https://bugs.webkit.org/show_bug.cgi?id=167819
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-02-03
Reviewed by Youenn Fablet.
We pass all of these tests upstream.
- resources/ImportExpectations:
- web-platform-tests/hr-time/OWNERS: Added.
- web-platform-tests/hr-time/basic-expected.txt: Added.
- web-platform-tests/hr-time/basic.html: Added.
- web-platform-tests/hr-time/basic.worker-expected.txt: Added.
- web-platform-tests/hr-time/basic.worker.html: Added.
- web-platform-tests/hr-time/basic.worker.js: Added.
- web-platform-tests/hr-time/idlharness-expected.txt: Added.
- web-platform-tests/hr-time/idlharness.html: Added.
- web-platform-tests/hr-time/monotonic-clock-expected.txt: Added.
- web-platform-tests/hr-time/monotonic-clock.html: Added.
- web-platform-tests/hr-time/resources/now_frame.html: Added.
- web-platform-tests/hr-time/resources/w3c-import.log: Added.
- web-platform-tests/hr-time/test_cross_frame_start-expected.txt: Added.
- web-platform-tests/hr-time/test_cross_frame_start.html: Added.
- web-platform-tests/hr-time/w3c-import.log: Added.
- 5:20 PM Changeset in webkit [211659] by
-
- 3 edits2 adds in trunk
ASSERT in HTMLMediaElement::~HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=167818
Reviewed by Brent Fulgham.
Source/WebCore:
Test: media/audio-dealloc-crash.html
HTMLMediaElement's MediaElementSession can nominate the HTMLMediaElement itself
to become the playback controls session from inside the HTMLMediaElement destructor. Protect
against this by clearing out the session before calling updatePlaybackControlsManager().
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
LayoutTests:
- media/audio-dealloc-crash-expected.txt: Added.
- media/audio-dealloc-crash.html: Added.
- 5:17 PM Changeset in webkit [211658] by
-
- 7 edits in trunk/Source/JavaScriptCore
OSR entry: delay outer-loop compilation when at inner-loop
https://bugs.webkit.org/show_bug.cgi?id=167149
Reviewed by Filip Pizlo.
r211224 and r211461 were reverted because they caused massive
kraken/ai-astar regressions. This patch instead does the
minimally-disruptive change to fix the original bug as described
below, but omits extra tuning and refactoring which I had
before. I'll commit tuning and refactoring separately, if this
sticks. This patch is therefore very minimal, and layers carefully
on top of the complex spaghetti-logic. The only change it makes is
that it uses triggers to indicate to outer loops that they should
compile, which fixes the immediate bug and seems roughly perf
neutral (maybe a small gain on kraken sometimes, other times a
small regression as would be expected from slightly compiling
later). As opposed to r211461 this patch doesn't unconditionally
unset the trigger because it prevents further DFG executions from
entering. It therefore makes the trigger a tri-state enum class:
don't trigger, compilation done, start compilation. Only "start
compilation" gets reset to "don't trigger". "Compilation done"
does not (unless there's a problem compiling, then it gets set
back to "don't trigger").
As of https://bugs.webkit.org/show_bug.cgi?id=155217 OSR
compilation can be kicked off for an entry into an outer-loop,
while executing an inner-loop. This is desirable because often the
codegen from an inner-entry isn't as good as the codegen from an
outer-entry, but execution from an inner-loop is often pretty hot
and likely to kick off compilation. This approach provided nice
speedups on Kraken because we'd select to enter to the outer-loop
very reliably, which reduces variability (the inner-loop was
selected roughly 1/5 times from my unscientific measurements).
When compilation starts we take a snapshot of the JSValues at the
current execution state using OSR's recovery mechanism. These
values are passed to the compiler and are used as way to perform
type profiling, and could be used to observe cell types as well as
to perform predictions such as through constant propagation.
It's therefore desired to enter from the outer-loop when we can,
but we need to be executing from that location to capture the
right JSValues, otherwise we're confusing the compiler and giving
it inaccurate JSValues which can lead it to predict the wrong
things, leading to suboptimal code or recompilation due to
misprediction, or in super-corner-cases a crash.
DFG tier-up was added here:
https://bugs.webkit.org/show_bug.cgi?id=112838
- dfg/DFGJITCode.h:
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::JITCompiler):
- dfg/DFGOperations.cpp:
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::ToFTLForOSREntryDeferredCompilationCallback):
(JSC::DFG::Ref<ToFTLForOSREntryDeferredCompilationCallback>ToFTLForOSREntryDeferredCompilationCallback::create):
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::compilationDidBecomeReadyAsynchronously):
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::compilationDidComplete):
- dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h:
- 4:05 PM Changeset in webkit [211657] by
-
- 2 edits in trunk/Tools
Remove check for SkipSafariExecutableEntitlementChecks
https://bugs.webkit.org/show_bug.cgi?id=167762
Reviewed by Dan Bernstein.
Follow-up fix: don't break internal behavior.
- Scripts/webkitdirs.pm:
(safariPath):
(executableHasEntitlements): Deleted.
(safariPathFromSafariBundle): Deleted.
(installedSafariPath): Deleted.
- 3:14 PM Changeset in webkit [211656] by
-
- 21 edits5 adds in trunk
[Mac][WK2] Add SPI to override the Content Security Policy of a page
https://bugs.webkit.org/show_bug.cgi?id=167810
<rdar://problem/30102568>
Reviewed by Anders Carlsson.
Source/WebCore:
- dom/Document.cpp:
(WebCore::Document::initSecurityContext): Apply the embedding client's override Content Security
Policy to the document if one exists.
- loader/FrameLoaderClient.h: Add function overrideContentSecurityPolicy() that a FrameLoaderClient
can override to provide a custom Content Security Policy for a document (defaults: null string - no policy).
As its name implies, the policy returned by overrideContentSecurityPolicy() will define the Content
Security Policy for the document, overriding any subsequently received Content Security Policy for
the document.
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::copyStateFrom): Only copy policies from the specified ContentSecurityPolicy
object if our policy was not specified by the embedding client.
(WebCore::ContentSecurityPolicy::didReceiveHeader): Set ContentSecurityPolicy::m_hasAPIPolicy to true
when we receive an API policy from the embedding client (ContentSecurityPolicy::PolicyFrom::API). An
API policy must be defined before a policy received from a document. Do not process a received header
if we already have an API policy as the API policy overrides all other policies.
- page/csp/ContentSecurityPolicy.h:
Source/WebKit2:
Add SPI to WKWebViewConfiguration so that an embedding client can define a custom Content Security
Policy that overrides the Content Security Policy of any page loaded in the web view.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode): Encode instance variable overrideContentSecurityPolicy.
(WebKit::WebPageCreationParameters::decode): Decode instance variable overrideContentSecurityPolicy.
- Shared/WebPageCreationParameters.h:
- UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::copy): Copy instance variable overrideContentSecurityPolicy.
- UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::overrideContentSecurityPolicy): Added.
(API::PageConfiguration::setOverrideContentSecurityPolicy): Added.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]): Copy overrideContentSecurityPolicy set on the WKWebViewConfiguration
object to the API::PageConfiguration object if non-nil.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]): Copy the instance variable overrideContentSecurityPolicy.
(-[WKWebViewConfiguration _overrideContentSecurityPolicy]): Added.
(-[WKWebViewConfiguration _setOverrideContentSecurityPolicy:]): Added.
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Define SPI property _overrideContentSecurityPolicy.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Initialize m_overrideContentSecurityPolicy from the passed
page configuration.
(WebKit::WebPageProxy::creationParameters): Set WebPageCreationParameters::overrideContentSecurityPolicy
so that the WebPage object (in the WebProcess) will know the overridden Content Security Policy
to apply to the document.
- UIProcess/WebPageProxy.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::overrideContentSecurityPolicy): Added. Returns the custom Content
Security Policy to apply to a new document.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebPage/WebPage.cpp:
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::overrideContentSecurityPolicy): Added.
Tools:
Add tests to ensure that we do not regress -[WKWebView _setOverrideContentSecurityPolicy:].
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/OverrideContentSecurityPolicy.mm: Added.
(TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/page-with-csp-iframe.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/page-with-csp.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/page-without-csp-iframe.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/page-without-csp.html: Added.
- 3:08 PM Changeset in webkit [211655] by
-
- 2 edits in trunk/Source/WebKit2
Revert toString behavior to what we had in the last version we shipped
https://bugs.webkit.org/show_bug.cgi?id=167814
rdar://problem/30344753
Reviewed by Tim Horton.
This is a speculative fix for a crash that we've seen on recent builds. It simply reverts the toString call back to
what we have in the last version of Safari we shipped.
- WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
- 2:40 PM Changeset in webkit [211654] by
-
- 7 edits in trunk
Drop Mac App Store workaround for window.getComputedStyle()
https://bugs.webkit.org/show_bug.cgi?id=166891
<rdar://problem/28282452>
Reviewed by Sam Weinig.
Drop Mac App Store workaround for window.getComputedStyle() now that
<rdar://problem/28020681> has been fixed.
- page/DOMWindow.cpp:
- page/DOMWindow.h:
- page/DOMWindow.idl:
- platform/RuntimeApplicationChecks.h:
- platform/RuntimeApplicationChecks.mm:
(WebCore::MacApplication::isAppStore): Deleted.
- 2:18 PM Changeset in webkit [211653] by
-
- 11 edits2 adds in trunk
Dismiss HTML form validation popover when pressing Escape key
https://bugs.webkit.org/show_bug.cgi?id=167716
<rdar://problem/29872943>
Reviewed by Simon Fraser.
Source/WebCore:
Dismiss any visible HTML form validation popover when pressing
the Escape key.
Test: fast/forms/validation-bubble-escape-key-dismiss.html
- page/EventHandler.cpp:
(WebCore::EventHandler::keyEvent):
- page/ValidationMessageClient.h:
Source/WebKit/mac:
Override ValidationMessageClient::hideAnyValidationMessage().
- WebCoreSupport/WebValidationMessageClient.h:
- WebCoreSupport/WebValidationMessageClient.mm:
(WebValidationMessageClient::hideAnyValidationMessage):
Source/WebKit2:
Override ValidationMessageClient::hideAnyValidationMessage().
- WebProcess/WebCoreSupport/WebValidationMessageClient.cpp:
(WebKit::WebValidationMessageClient::hideAnyValidationMessage):
- WebProcess/WebCoreSupport/WebValidationMessageClient.h:
LayoutTests:
Add layout test coverage.
- fast/forms/validation-bubble-escape-key-dismiss-expected.txt: Added.
- fast/forms/validation-bubble-escape-key-dismiss.html: Added.
- platform/ios-simulator/TestExpectations:
- 2:01 PM Changeset in webkit [211652] by
-
- 2 edits in trunk/Source/WebKit2
Require keyboard focus for pointer lock.
https://bugs.webkit.org/show_bug.cgi?id=167750
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-02-03
Reviewed by Tim Horton.
When keyboard focus leaves the page, end pointer lock
Prevent pointer lock when the page doesn't have keyboard focus.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dispatchActivityStateChange):
(WebKit::WebPageProxy::requestPointerLock):
- 1:59 PM Changeset in webkit [211651] by
-
- 2 edits in trunk/Source/bmalloc
Include cstdlib before using ::malloc and posix_memalign
https://bugs.webkit.org/show_bug.cgi?id=167800
Patch by Ting-Wei Lan <Ting-Wei Lan> on 2017-02-03
Reviewed by Geoffrey Garen.
- bmalloc/DebugHeap.cpp:
- 1:56 PM Changeset in webkit [211650] by
-
- 8 edits in trunk
Pointer lock events should be delivered directly to the target element
https://bugs.webkit.org/show_bug.cgi?id=167134
rdar://problem/30268004
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-02-03
Reviewed by Dean Jackson.
Source/WebCore:
pointer-lock/mouse-event-delivery.html: Enabled for mac, added wheel event tests.
When pointer is locked on an element, route mouse events directly to the target element, instead of
doing the normal event disptach.
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handleMouseForceEvent):
(WebCore::EventHandler::handleWheelEvent):
- page/PointerLockController.cpp:
(WebCore::PointerLockController::isLocked): Added.
(WebCore::PointerLockController::dispatchLockedWheelEvent): Added.
- page/PointerLockController.h:
LayoutTests:
The pointer-lock/mouse-event-delivery.html test is modified to explicitly move the mouse pointer to a valid
location before sending mouse actions. Without this, the test infrastructure doesn't know that the pointer
is over the web view and doesn't deliver events.
The pointer-lock/mouse-event-delivery.html is also modified to explicitly wait for the delivery of the
wheel event before continuing with the test. This prevents flakeyness with the order the events are received.
Added code to test for wheel events.
- platform/mac/TestExpectations: enabled test.
- pointer-lock/mouse-event-delivery.html:
- pointer-lock/mouse-event-delivery-expected.txt:
- 1:52 PM Changeset in webkit [211649] by
-
- 13 edits2 adds in trunk
Avoid evicting link preload resources when parsing is done.
https://bugs.webkit.org/show_bug.cgi?id=167415
Reviewed by Ryosuke Niwa.
Source/WebCore:
Currently all preloads (speculative and link preload) are being cleared when the document has finished parsing.
When it comes to link preloads, it can result in resources being cleared before the page had a chance to use them. (e.g. resources
that are preloaded in order to be loaded through script after DOMContentLoaded)
This patch fixes that by marking link preload resources as such, so that they can be handled separately inside clearPreloads().
As this fix also exposed an issue with load cancelation with invalid hrefs (which tests were passing before due to the preloads
being cleared), said issue is also fixed by clearing previousely preloaded resources if an invalid link preload is later detected.
Test: http/tests/preload/not_evicting_preload_at_onload.html
- dom/Document.cpp:
(WebCore::Document::finishedParsing): Only clear speculative preloads when parsing is finished.
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::preloadIfNeeded): Set request flag indicating link preload.
(WebCore::LinkLoader::loadLink): Clear previousely preloaded resource to cancel their load.
- loader/LinkPreloadResourceClients.h:
(WebCore::LinkPreloadResourceClient::clearResource): Call cancelLoad() when the client is cleared.
- loader/cache/CachedResource.h:
(WebCore::CachedResource::isLinkPreload):
(WebCore::CachedResource::setLinkPreload):
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource): Initialize m_isLinkPreload with the request's value.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::~CachedResourceLoader):
(WebCore::CachedResourceLoader::requestResource): Mirror the request link preload flag to the resource if it's fetched from cache.
(WebCore::CachedResourceLoader::clearPreloads): Add a "speculative only" mode, which doesn't clear link preloads.
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::CachedResourceRequest):
- loader/cache/CachedResourceRequest.h:
(WebCore::CachedResourceRequest::isLinkPreload):
(WebCore::CachedResourceRequest::setIsLinkPreload):
LayoutTests:
- http/tests/preload/dynamic_remove_preload_href.html: Test passed before for the wrong reasons. Cache-busting in order for it to genuinely pass.
- http/tests/preload/not_delaying_window_onload_before_discovery.html: Test passed before for the wrong reasons. Cache-busting in order for it to genuinely pass.
- http/tests/preload/not_evicting_preload_at_onload-expected.txt: Added.
- http/tests/preload/not_evicting_preload_at_onload.html: Added.
- platform/mac/TestExpectations: Skipping http/tests/preload/dynamic_removing_preload.html due to https://bugs.webkit.org/show_bug.cgi?id=167792
- 1:48 PM Changeset in webkit [211648] by
-
- 2 edits in trunk/Source/WebKit2
Stash away the ports - they will be nulled out before the cancel handlers are called
https://bugs.webkit.org/show_bug.cgi?id=167812
Reviewed by Geoffrey Garen.
- Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::open):
- 1:17 PM Changeset in webkit [211647] by
-
- 3 edits2 adds in trunk
Simple line layout: Removing adjacent trailing whitespace runs should not crash.
https://bugs.webkit.org/show_bug.cgi?id=167803
<rdar://problem/30337368>
Reviewed by Antti Koivisto.
Source/WebCore:
In case of adjacent collapsed whitespace fragments, the length of these fragments (TextFragmentIterator::TextFragment)
do not necessarily equal the length of the final runs (SimpleLineLayout::Run).
This patch removes the dependency on the length and switches over to using the position information instead.
Test: fast/text/simple-line-layout-multiple-trailingwhitespace-crash.html
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::LineState::appendFragmentAndCreateRunIfNeeded):
(WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace):
LayoutTests:
- fast/text/simple-line-layout-multiple-trailingwhitespace-crash-expected.txt: Added.
- fast/text/simple-line-layout-multiple-trailingwhitespace-crash.html: Added.
- 12:53 PM Changeset in webkit [211646] by
-
- 2 edits in trunk/Source/WebCore
Correct memory leak in MediaConstraints
https://bugs.webkit.org/show_bug.cgi?id=167744
<rdar://problem/30331444>
Reviewed by Anders Carlsson.
ConstraintHolder returns a reference to an object created by operator new. When the
returned value is assigned or stored in Vector or other containers we leak memory.
Instead, this value should just be returned as a regular object so that the return
value optimization can make sure memory is properly (and efficiently) used.
Tested by existing mediastream tests.
- platform/mediastream/MediaConstraints.h:
(WebCore::FlattenedConstraint::ConstraintHolder::create): Return by value.
(WebCore::FlattenedConstraint::ConstraintHolder::~ConstraintHolder): Don't attempt to
delete memory that was moved away.
(WebCore::FlattenedConstraint::ConstraintHolder::ConstraintHolder): Add Move constructor.
- 12:49 PM Changeset in webkit [211645] by
-
- 3 edits2 adds in trunk
Fix bad assertion under HTMLTreeBuilder::processStartTagForInBody()
https://bugs.webkit.org/show_bug.cgi?id=167799
<rdar://problem/30237241>
Reviewed by Brent Fulgham.
Source/WebCore:
Fix bad assertion under HTMLTreeBuilder::processStartTagForInBody() that was
expecting the root element to be an <html> element when parsing a <frameset>.
While this assertion is true in theory and as per the specification, it does
not hold in WebKit when parsing a DocumentFragment. This is because WebKit
has an optimization causing us to have a DocumentFragment as root element
when parsing a fragment. See the following constructor:
"HTMLTreeBuilder(HTMLDocumentParser&, DocumentFragment&, Element&, ParserContentPolicy, const HTMLParserOptions&)"
which has the following code:
"""
https://html.spec.whatwg.org/multipage/syntax.html#parsing-html-fragments
For efficiency, we skip step 5 ("Let root be a new html element with no attributes") and instead use the DocumentFragment as a root node.
m_tree.openElements().pushRootNode(HTMLStackItem::create(fragment));
"""
Update the assertion to expect a DocumentFragment as root element when parsing
a fragment, and keep expecting an <html> element otherwise.
Test: fast/parser/fragment-with-frameset-crash.html
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
LayoutTests:
Add layout test coverage. This test passes in all major browsers but used to hit
the bad assertion in WebKit debug builds.
- fast/parser/fragment-with-frameset-crash-expected.txt: Added.
- fast/parser/fragment-with-frameset-crash.html: Added.
- 12:28 PM Changeset in webkit [211644] by
-
- 2 edits in trunk/Source/WebKit2
Inline createReceiveSource in its two call sites
https://bugs.webkit.org/show_bug.cgi?id=167809
Reviewed by Alex Christensen.
- Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::open):
(IPC::createReceiveSource): Deleted.
- 12:07 PM Changeset in webkit [211643] by
-
- 3 edits in trunk/Source/WebKit2
WKActionSheet should dismiss with animation when done with the sheet
https://bugs.webkit.org/show_bug.cgi?id=167804
<rdar://problem/30334861>
Reviewed by Tim Horton.
Currently, we do not dismiss the action menu when -doneWithSheet is invoked. While this is okay when the menu is
dismissed via tap (since it will be dismissed as default behavior by the popover controller) we need to manually
dismiss it if we are trying to programmatically dismiss the action sheet/menu.
- UIProcess/ios/WKActionSheet.mm:
(-[WKActionSheet presentSheetFromRect:]):
(-[WKActionSheet doneWithSheet]):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView resignFirstResponder]):
- 12:00 PM Changeset in webkit [211642] by
-
- 9 edits in trunk/Source/JavaScriptCore
When OSR entering to the baseline JIT from the LLInt for a ProgramCodeBlock we can skip compiling a lot of the program
https://bugs.webkit.org/show_bug.cgi?id=167725
<rdar://problem/30339082>
Reviewed by Michael Saboff.
We often want to baseline compile ProgramCode once we hit a loop in the LLInt.
However, some programs execute a non-trivial amount of code before the loop.
This code can never be executed again because ProgramCodeBlocks never run more
than once. We're wasting time and memory by compiling code that is unreachable
from the OSR entry destination. This patch fixes this by only compiling code
that is reachable from the OSR entry destination.
This is a speedup on Kraken/ai-astar for devices with limited CPUs (I've been
testing on devices with 2 CPUs). On ai-astar, we were spending 50-100ms compiling
a huge ProgramCodeBlock in the baseline JIT where the majority of the code
would never execute. If this compilation was kicked off on the main thread,
then we'd be stalled for a long time. If it were started on the baseline JITs
background compilation thread, we'd still waste 50-100ms in that thread, causing
all other baseline compilations to happen on the main thread.
- interpreter/Interpreter.cpp:
(JSC::Interpreter::executeProgram):
- interpreter/Interpreter.h:
- jit/JIT.cpp:
(JSC::JIT::JIT):
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
(JSC::JIT::compile):
- jit/JITWorklist.cpp:
(JSC::JITWorklist::Plan::Plan):
(JSC::JITWorklist::Plan::compileNow):
(JSC::JITWorklist::compileLater):
(JSC::JITWorklist::compileNow):
- jit/JITWorklist.h:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- runtime/Completion.cpp:
(JSC::evaluate):
- 11:53 AM Changeset in webkit [211641] by
-
- 3 edits2 adds in trunk
[Modern Media Controls] Skip back button is visible with a live broadcast video
https://bugs.webkit.org/show_bug.cgi?id=167793
Patch by Antoine Quint <Antoine Quint> on 2017-02-03
Reviewed by Eric Carlson.
Source/WebCore:
We shouldn't be showing the skip back button when a live broadcast video is playing.
We now listen to the "durationchange" event to determine when we have an inifinite-duration
video and disable the skip button in that case.
Test: http/tests/media/modern-media-controls/skip-back-support/skip-back-support-live-broadcast.html
- Modules/modern-media-controls/media/skip-back-support.js:
(SkipBackSupport.prototype.get mediaEvents):
(SkipBackSupport.prototype.syncControl):
(SkipBackSupport):
LayoutTests:
Add a new test to check that a live broadcast video doesn't show the skip back button.
- http/tests/media/modern-media-controls/skip-back-support/skip-back-support-live-broadcast-expected.txt: Added.
- http/tests/media/modern-media-controls/skip-back-support/skip-back-support-live-broadcast.html: Added.
- 11:08 AM Changeset in webkit [211640] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Add stroke-linecap property values to CSS autocompletion
https://bugs.webkit.org/show_bug.cgi?id=167778
Reviewed by Joseph Pecoraro.
- UserInterface/Models/CSSKeywordCompletions.js:
Add autocompletion values for fill-rule and stroke-linecap.
- 10:45 AM Changeset in webkit [211639] by
-
- 2 edits in trunk/Source/WebKit2
Doc generation failure in WebKitSecurityOrigin
https://bugs.webkit.org/show_bug.cgi?id=167796
Patch by Olivier Blin <Olivier Blin> on 2017-02-03
Reviewed by Michael Catanzaro.
- UIProcess/API/gtk/WebKitSecurityOrigin.cpp:
warning: Free-form return value description in webkit_security_origin_get_protocol. Use `Returns:' to avoid ambiguities.
- 9:44 AM Changeset in webkit [211638] by
-
- 7 edits in trunk
URLParser: implement forbidden host code points for non-special URLs
https://bugs.webkit.org/show_bug.cgi?id=167779
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
- web-platform-tests/url/url-setters-expected.txt:
Source/WebCore:
Covered by newly passing web platform tests.
- platform/URLParser.cpp:
(WebCore::isC0Control):
(WebCore::isForbiddenHostCodePoint):
(WebCore::URLParser::parseHostAndPort):
In non-special URL hosts such as customprotocol://strange%host
don't accept characters that are part of the URL grammar and would be forbidden
in a special URL host, like https://not[allowed
This was recently added to the spec in https://github.com/whatwg/url/issues/214
- 9:39 AM Changeset in webkit [211637] by
-
- 3 edits2 adds in trunk
The CSS property -webkit-text-stroke is not applied on captions.
https://bugs.webkit.org/show_bug.cgi?id=167687
Reviewed by Brent Fulgham.
Source/WebCore:
Add style to list of valid properties for cue.
Test: media/track/track-css-stroke-cues.html
- css/StyleResolver.cpp:
(WebCore::StyleResolver::isValidCueStyleProperty):
LayoutTests:
- media/track/track-css-stroke-cues-expected.txt: Added.
- media/track/track-css-stroke-cues.html: Added.
- 9:30 AM WebKitGTK/2.14.x edited by
- Remove last proposal, not ready for this yet (diff)
- 9:28 AM WebKitGTK/2.14.x edited by
- (diff)
- 9:21 AM Changeset in webkit [211636] by
-
- 6 edits in trunk
Align URL setters with spec for URLs that cannot be a base URL
https://bugs.webkit.org/show_bug.cgi?id=167783
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/url/url-setters-expected.txt:
Source/WebCore:
Setting things like credentials on mailto URLs doesn't make sense.
It's forbidden by the spec.
Covered by newly passing web platform tests.
- html/URLUtils.h:
(WebCore::URLUtils<T>::setUsername):
(WebCore::URLUtils<T>::setPassword):
(WebCore::URLUtils<T>::setHost):
(WebCore::URLUtils<T>::setHostname):
(WebCore::URLUtils<T>::setPort):
(WebCore::URLUtils<T>::setPathname):
- platform/URL.cpp:
(WebCore::URL::serialize):
- platform/URL.h:
(WebCore::URL::cannotBeABaseURL):
- 9:21 AM Changeset in webkit [211635] by
-
- 2 edits in trunk
[CMake] RelWithDebInfo builds are super broken at runtime
https://bugs.webkit.org/show_bug.cgi?id=163897
Reviewed by Michael Catanzaro.
- Source/cmake/OptionsCommon.cmake: Apply -fno-strict-aliasing,
-fno-exceptions, and -fno-rtti flags to all configurations,
instead of only "Release".
- 9:11 AM Changeset in webkit [211634] by
-
- 2 edits4 adds in trunk/Source/WebCore
[Mac] Add classes to manage audio samples
https://bugs.webkit.org/show_bug.cgi?id=167739
Reviewed by Jer Noble.
No new tests, this code isn't used yet.
- WebCore.xcodeproj/project.pbxproj:
- platform/audio/mac/AudioSampleBufferList.cpp: Added.
(WebCore::AudioSampleBufferList::create):
(WebCore::AudioSampleBufferList::AudioSampleBufferList):
(WebCore::AudioSampleBufferList::~AudioSampleBufferList):
(WebCore::AudioSampleBufferList::setSampleCount):
(WebCore::AudioSampleBufferList::applyGain):
(WebCore::AudioSampleBufferList::mixFrom):
(WebCore::AudioSampleBufferList::copyFrom):
(WebCore::AudioSampleBufferList::copyTo):
(WebCore::AudioSampleBufferList::reset):
(WebCore::AudioSampleBufferList::zero):
(WebCore::AudioSampleBufferList::zeroABL):
(WebCore::AudioSampleBufferList::convertInput):
(WebCore::AudioSampleBufferList::audioConverterCallback):
(WebCore::AudioSampleBufferList::configureBufferListForStream):
- platform/audio/mac/AudioSampleBufferList.h: Added.
(WebCore::AudioSampleBufferList::streamDescription):
(WebCore::AudioSampleBufferList::bufferList):
(WebCore::AudioSampleBufferList::sampleCapacity):
(WebCore::AudioSampleBufferList::sampleCount):
(WebCore::AudioSampleBufferList::timestamp):
(WebCore::AudioSampleBufferList::hostTime):
(WebCore::AudioSampleBufferList::setTimes):
(WebCore::AudioSampleBufferList::audioBufferListSizeForStream):
- platform/audio/mac/AudioSampleDataSource.cpp: Added.
(WebCore::AudioSampleDataSource::create):
(WebCore::AudioSampleDataSource::AudioSampleDataSource):
(WebCore::AudioSampleDataSource::~AudioSampleDataSource):
(WebCore::AudioSampleDataSource::setPaused):
(WebCore::AudioSampleDataSource::setupConverter):
(WebCore::AudioSampleDataSource::setInputFormat):
(WebCore::AudioSampleDataSource::setOutputFormat):
(WebCore::AudioSampleDataSource::hostTime):
(WebCore::AudioSampleDataSource::pushSamplesInternal):
(WebCore::AudioSampleDataSource::pushSamples):
(WebCore::AudioSampleDataSource::pullSamplesInternal):
(WebCore::AudioSampleDataSource::pullSamples):
- platform/audio/mac/AudioSampleDataSource.h: Added.
(WebCore::AudioSampleDataSource::setVolume):
(WebCore::AudioSampleDataSource::volume):
(WebCore::AudioSampleDataSource::setMuted):
(WebCore::AudioSampleDataSource::muted):
- 6:21 AM Changeset in webkit [211633] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed. Fix the buidl after r211631.
I added the OS(LINUX) ifdef to the wrong file by mistake.
- page/ResourceUsageThread.h:
- page/linux/ResourceUsageThreadLinux.cpp:
- 5:04 AM Changeset in webkit [211632] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed typo fix after r211630.
- CMakeLists.txt:
- 5:03 AM Changeset in webkit [211631] by
-
- 16 edits3 adds in trunk
[GTK] Add initial implementation of resource usage overlay
https://bugs.webkit.org/show_bug.cgi?id=167731
Reviewed by Michael Catanzaro.
.:
Enable RESOURCE_USAGE.
- Source/cmake/OptionsGTK.cmake:
Source/JavaScriptCore:
Also expose nextFireTime() for GTK+ port.
- heap/GCActivityCallback.cpp:
(JSC::GCActivityCallback::scheduleTimer):
(JSC::GCActivityCallback::cancelTimer):
- heap/GCActivityCallback.h:
Source/WebCore:
Add an implementation of ResourceUsageOverlay and ResourceUsageThread for Linux systems.
- PlatformGTK.cmake: Add new new files to compilation.
- page/Page.cpp:
(WebCore::Page::setResourceUsageOverlayVisible): Do not create the page overlay if accelerated compositing is
not enabled.
- page/ResourceUsageOverlay.h:
- page/linux/ResourceUsageOverlayLinux.cpp: Added.
(WebCore::cpuUsageString):
(WebCore::formatByteNumber):
(WebCore::gcTimerString):
(WebCore::ResourceUsageOverlay::platformInitialize):
(WebCore::ResourceUsageOverlay::platformDestroy):
- page/linux/ResourceUsageThreadLinux.cpp: Added.
(WebCore::cpuPeriod):
(WebCore::cpuUsage):
(WebCore::ResourceUsageThread::platformThreadBody):
Source/WebKit2:
Toggle the resource usage overlay visibility by pressing CTRL + Shift + G. Only available when building with
developer mode enabled.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseKeyPressEvent):
Source/WTF:
Enable RESOURCE_USAGE for GTK+ port too.
- wtf/Platform.h:
LayoutTests:
Unskip inpector tests depending on RESOURCE_USAGE.
- platform/gtk/TestExpectations:
- 4:56 AM Changeset in webkit [211630] by
-
- 2 edits in trunk/Source/JavaScriptCore
[cmake] Unreviewed AArch64 buildfix after r211603.
https://bugs.webkit.org/show_bug.cgi?id=167714
- CMakeLists.txt:
- 4:40 AM Changeset in webkit [211629] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION(r211486) [GTK] The MiniBrowser doesn't work anymore.
https://bugs.webkit.org/show_bug.cgi?id=167776
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2017-02-03
Reviewed by Yusuke Suzuki.
Since r211486 JSC::initializeThreading() also initializes the main run loop. It would be possible that RunLoop
need to know if it's the main one or not in its constructor, like the GLib impementation does, so we need to
ensure that WTF threading and MainThread are initialized before creating the main RunLoop. This is a quick fix
because the regression made impossible to load anything in a WebView, but I think we should review all the
initialize methods, what they do and how they are called in all the code.
- Shared/WebKit2Initialize.cpp:
(WebKit::InitializeWebKit2): Call WTF::initializeThreading() and WTF::initializeMainThread() before
JSC::initializeThreading() and do not call RunLoop::initializeMainRunLoop() because it's already called by JSC.
- 4:21 AM WebKitGTK/2.14.x edited by
- (diff)
- 4:21 AM Changeset in webkit [211628] by
-
- 2 edits in trunk/Source/WebKit2
[Mac][cmake] One more unreviewed speculative buildfix after r211403.
https://bugs.webkit.org/show_bug.cgi?id=165478
- UIProcess/API/Cocoa/WKWebView.mm: WebSQLiteDatabaseTrackerClient.h is an iOS specific
header in platform/ios directory which shouldn't and can't be included on non iOS build.
- 4:03 AM Changeset in webkit [211627] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Store preloaded media in webkit's cache
https://bugs.webkit.org/show_bug.cgi?id=119477
Reviewed by Xabier Rodriguez-Calvar.
Files cached on disk by MediaPlayerPrivateGStreamer are deleted only when the player is closed. If the
WebProcess crashed, they're just left there in the cache directory. This patch changes the location
of those temporary files to a proper temporary directory (/var/tmp, as those files aren't actually
reusable, so they don't belong to a cache directory, and /tmp is a bad place because it's RAM-based on
some distros), unlinks (deletes) them right after creation and also deletes any other stalled temporary
file on the old legacy cache directory.
There's no API in GstPlaybin to control the temporary file location, so we do it manually by locating
the GstDownloadBuffer element in the pipeline as soon as it's created, reconfiguring it with the right
temporary file path and deleting the file as soon as it's created.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): Stop listening to element-added.
(WebCore::MediaPlayerPrivateGStreamer::uriDecodeBinElementAddedCallback): Look for GstDownloadBuffer.
(WebCore::MediaPlayerPrivateGStreamer::downloadBufferFileCreatedCallback): Remove the file after creation.
(WebCore::MediaPlayerPrivateGStreamer::purgeOldDownloadFiles): Delete legacy files.
(WebCore::MediaPlayerPrivateGStreamer::sourceChanged): Listen to element-added signals on GstUriDecodeBin.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: New reference to GstDownloadBuffer.
- 3:53 AM Changeset in webkit [211626] by
-
- 2 edits in trunk/Source/WebKit2
[Mac][cmake] Unreviewed speculative buildfix after r211403.
https://bugs.webkit.org/show_bug.cgi?id=165478
- UIProcess/API/Cocoa/WKWebView.mm: WebBackgroundTaskController.h is an iOS specific
header in platform/ios directory which shouldn't and can't be included on non iOS build.
- 3:12 AM Changeset in webkit [211625] by
-
- 2 edits in trunk/Source/WebCore
WebContent crash when pasting into input fields at com.apple.WebCore: WebCore::ResourceRequestBase::url const + 9
https://bugs.webkit.org/show_bug.cgi?id=167787
rdar://problem/29168795
Reviewed by Andreas Kling.
No test, don't know how to get here.
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::crossfadeBlend): Null check.
- 2:23 AM Changeset in webkit [211624] by
-
- 2 edits in trunk/Source/WebCore
JSDOMWindowBase.cpp doesn't build if the JIT is disabled
https://bugs.webkit.org/show_bug.cgi?id=167785
Reviewed by Carlos Garcia Campos.
r211403 moved GetCallerGlobalObjectFunctor from JSDOMBinding.cpp
to JSDOMWindowBase.cpp, but forgot to include bytecode/CodeBlock.h
in the latter file.
This breaks the build if the JIT is disabled because the headers
that would include ClodeBlock.h indirectly are guarded by
ENABLE(JIT).
- bindings/js/JSDOMWindowBase.cpp:
- 1:05 AM Changeset in webkit [211623] by
-
- 2 edits in trunk/LayoutTests
LayoutTest media/modern-media-controls/tracks-panel/tracks-panel-hide-click-outside.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=165290
Unreviewed test gardening.
Patch by Antoine Quint <Antoine Quint> on 2017-02-03
- platform/mac/TestExpectations: