Timeline
Sep 26, 2015:
- 8:03 PM Changeset in webkit [190271] by
-
- 20 edits in trunk/Source/WebCore
Use modern for-loops in WebCore/inspector.
https://bugs.webkit.org/show_bug.cgi?id=149579
Patch by Hunseop Jeong <Hunseop Jeong> on 2015-09-26
Reviewed by Darin Adler.
No new tests because there is no behavior change.
- inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::diff):
(WebCore::DOMPatchSupport::innerPatchChildren):
(WebCore::DOMPatchSupport::removeChildAndMoveToNew):
(WebCore::DOMPatchSupport::markNodeAsUsed):
- inspector/InspectorCSSAgent.cpp:
(WebCore::computePseudoClassMask):
(WebCore::ChangeRegionOversetTask::timerFired):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::resetPseudoStates):
- inspector/InspectorDOMAgent.cpp:
(WebCore::RevalidateStyleAttributeTask::timerFired):
(WebCore::InspectorDOMAgent::releaseBackendNodeIds):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getEventListeners):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
- inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
- inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::enable):
(WebCore::InspectorDatabaseAgent::disable):
(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
(WebCore::InspectorDatabaseAgent::databaseId):
(WebCore::InspectorDatabaseAgent::findByFileName):
- inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::frontendLoaded):
- inspector/InspectorFrontendHost.cpp:
- inspector/InspectorIndexedDBAgent.cpp:
- inspector/InspectorOverlay.cpp:
(WebCore::buildRendererHighlight):
(WebCore::buildObjectForHighlight):
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::getCookies):
- inspector/InspectorReplayAgent.cpp:
(WebCore::buildInspectorObjectForSession):
(WebCore::InspectorReplayAgent::didCreateFrontendAndBackend):
(WebCore::InspectorReplayAgent::willDestroyFrontendAndBackend):
- inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::willDestroyCachedResource):
(WebCore::InspectorResourceAgent::willRecalculateStyle):
- inspector/InspectorStyleSheet.cpp:
(flattenSourceData):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::populateAllProperties):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::ruleIndexByStyle):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
- inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
(WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
- inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::removeCachedResource):
(WebCore::NetworkResourcesData::clear):
- inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::reportExecutionContextCreation):
- inspector/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::setJavaScriptPaused):
- inspector/WebConsoleAgent.cpp:
(WebCore::WebConsoleAgent::frameWindowDiscarded):
- inspector/WebInjectedScriptManager.cpp:
(WebCore::WebInjectedScriptManager::discardInjectedScriptsFor):
- 2:47 PM Changeset in webkit [190270] by
-
- 1 copy in tags/Safari-601.2.7
New tag.
- 1:11 PM Changeset in webkit [190269] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix debug tests. Before marking, we need to call registerGCThreads().
- heap/Heap.cpp:
(JSC::Heap::markRoots):
- 11:41 AM Changeset in webkit [190268] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, fix Windows build by adding WTF_EXPORT_PRIVATE in various places.
- wtf/ParallelHelperPool.h:
(WTF::ParallelHelperClient::setFunction):
(WTF::ParallelHelperPool::numberOfThreads):
- 11:07 AM Changeset in webkit [190267] by
-
- 19 edits1 move5 adds2 deletes in trunk/Source
VMs should share GC threads
https://bugs.webkit.org/show_bug.cgi?id=149433
rdar://problem/12859344
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
This changes the GC to use a new WTF abstraction for parallelism called ParallelHelperPool.
This allows us to remove GCThread and all of the GCPhase machinery. This kills a lot of
code and also gives our GC magical thread sharing powers. If two GCs in two different VMs
fire at the same time, then they will both get a random subset of the available shared GC
threads. If one GC happens before the other, then it will probably get all of the available
threads. If a GC happens while another VM already started GCing, then it will probably not
get any helper threads. This is probably fine, since in multi-VM scenarios we have no
reason to optimize for anything other than total throughput.
The GC has one static helper pool. This pool is available via JSC::heapHelperPool(). It
would be OK for other parts of JSC to use it in the future for parallel tasks. Each Heap
instance has a helper client attached to the pool.
The marking phase tells the ParallelHelperClient to asynchronously run a function that
joins parallel marking and finishes once marking reaches termination. It uses the
client.setFunction() idiom where the threads share work with each other using a specialized
worklist. The ParallelHelperPool is not involved in deciding when threads should terminate.
The copying phase tells the ParallelHelperClient to run a copying function in parallel. It
uses the client.runFunctionInParallel() idiom. The copying function gets work from the
m_blocksToCopy worklist inside Heap.
To test that multiple VMs work properly, this adds a multi-VM test to testapi.mm. This test
creates five concurrent VMs and has each of them allocate about 30MB of memory before doing
a full GC. I've confirmed that this tests uses only 6 total GC threads on my 8-core
computer (this is correct since we are currently configured for 7-way parallelism).
This shouldn't affect performance on benchmarks, but it will sure help apps with a lot of
VM instances.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/AbstractMacroAssembler.h:
- heap/GCThread.cpp: Removed.
- heap/GCThread.h: Removed.
- heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::~Heap):
(JSC::Heap::isPagedOut):
(JSC::Heap::markRoots):
(JSC::Heap::copyBackingStores):
(JSC::Heap::resetVisitors):
(JSC::Heap::threadVisitCount):
(JSC::Heap::threadBytesVisited):
(JSC::Heap::threadBytesCopied):
(JSC::Heap::startNextPhase): Deleted.
(JSC::Heap::endCurrentPhase): Deleted.
- heap/Heap.h:
- heap/HeapHelperPool.cpp: Added.
(JSC::heapHelperPool):
- heap/HeapHelperPool.h: Added.
- heap/MarkStack.cpp:
(JSC::MarkStackArray::stealSomeCellsFrom):
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::didStartMarking):
(JSC::SlotVisitor::reset):
(JSC::SlotVisitor::drainFromShared):
- jit/BinarySwitch.h:
- runtime/CodeCache.h:
- runtime/VM.h:
- runtime/WeakRandom.h: Removed.
- API/tests/testapi.mm:
Source/WTF:
This adds two major things to WTF: WeakRandom and ParallelHelperPool. WeakRandom was
already in JSC; we're just hoisting it into WTF. It's just a weak random number generator
that's suitable for places where you need just a tiny bit of randomness.
ParallelHelperPool is a new API that simplifies data-parallel algorithms like the JSC GC.
In a data-parallel algorithm, we want to run one task on as many cores as possible and let
the task worry about which subset of the input data to work on. In some cases, the
algorithm will not need to do any load balancing - and if load balancing is required, it's
up to the user. This is appropriate in contexts where the load balancing needs to be
custom-tuned for performance, like the GC's marking phase.
This new API has three concepts: task, client, and pool. A task is a reference counted
object with a run() method, which may be run in parallel. It is usually used to wrap a
functor. A pool is a pool of threads that can run things. A client is a placeholder for a
task. A client can have zero or one tasks. A client must be registered with a pool. When a
client has a task, the pool's threads may choose to run it. If a thread starts running a
task, it will run it to completion. When the task returns on any thread, the client takes
it to mean that the task should be removed. That means that any currently running instances
of the task will finish but no new threads will attempt to run the task. You can easily ask
a client to wait until a task finishes. You can also easily ask a client to run a task on
the current thread in addition to possibly some helper threads from the pool.
For some data-parallel algorithms, programming with ParallelHelperPool is as easy as:
client.runFunctionInParallel(
[=] () {
do things;
});
Note that you cannot tell ahead of time how many threads will join to help the task.
Threads may become available after the task has already started running. Those threads may
join after the other threads have already started. It's not advisable to make algorithmic
decisions based on client.numberOfActiveThreads(), since that number may change. Usually
the best way to use ParallelHelperPool is with an algorithm that has its own custom
worklist. An example of a very simple custom worklist is the one in the JSC GC's copying
phase - it's just a Vector and an index that indicates the next set of elements to process.
This new API was initially designed to simplify how GCThread works, by replacing Phase with
a callback that contains the phase's workload. I then realized that with a few tweaks, I
could make this somewhat general enough that it might become interesting outside GC. I also
realized that I could use this to enable thread sharing. So, although the API is kinda
quirky, it's grounded in the reality of how the JSC GC does parallelism.
- WTF.vcxproj/WTF.vcxproj:
- WTF.vcxproj/WTF.vcxproj.filters:
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/ParallelHelperPool.cpp: Added.
(WTF::ParallelHelperClient::ParallelHelperClient):
(WTF::ParallelHelperClient::~ParallelHelperClient):
(WTF::ParallelHelperClient::setTask):
(WTF::ParallelHelperClient::finish):
(WTF::ParallelHelperClient::doSomeHelping):
(WTF::ParallelHelperClient::runTaskInParallel):
(WTF::ParallelHelperClient::claimTask):
(WTF::ParallelHelperClient::runTask):
(WTF::ParallelHelperPool::ParallelHelperPool):
(WTF::ParallelHelperPool::~ParallelHelperPool):
(WTF::ParallelHelperPool::addThreads):
(WTF::ParallelHelperPool::ensureThreads):
(WTF::ParallelHelperPool::doSomeHelping):
(WTF::ParallelHelperPool::didMakeWorkAvailable):
(WTF::ParallelHelperPool::helperThreadBody):
(WTF::ParallelHelperPool::hasClientWithTask):
(WTF::ParallelHelperPool::getClientWithTask):
(WTF::ParallelHelperPool::waitForClientWithTask):
- wtf/ParallelHelperPool.h: Added.
(WTF::ParallelHelperClient::setFunction):
(WTF::ParallelHelperClient::runFunctionInParallel):
(WTF::ParallelHelperClient::pool):
(WTF::ParallelHelperClient::numberOfActiveThreads):
(WTF::ParallelHelperPool::numberOfThreads):
- wtf/SharedTask.h: Added.
(WTF::SharedTask::SharedTask):
(WTF::SharedTask::~SharedTask):
(WTF::SharedTaskFunctor::SharedTaskFunctor):
(WTF::createSharedTask):
- wtf/WeakRandom.h: Copied from Source/JavaScriptCore/runtime/WeakRandom.h.
(WTF::WeakRandom::WeakRandom):
(WTF::WeakRandom::initializeSeed):
(WTF::WeakRandom::seedUnsafe):
(WTF::WeakRandom::getUint32):
(WTF::WeakRandom::advance):
(JSC::WeakRandom::WeakRandom): Deleted.
(JSC::WeakRandom::seedUnsafe): Deleted.
(JSC::WeakRandom::getUint32): Deleted.
(JSC::WeakRandom::advance): Deleted.
(JSC::WeakRandom::initializeSeed): Deleted.
- 2:35 AM Changeset in webkit [190266] by
-
- 4 edits in trunk
Unreviewed. Gardening: skip media stream tests failing after r190262.
Tools:
- Scripts/run-gtk-tests:
(TestRunner):
LayoutTests:
- platform/gtk/TestExpectations:
- 1:40 AM Changeset in webkit [190265] by
-
- 4 edits in trunk
REGRESSION(r188639): [GTK] Several inspector tests started to time out in GTK+ bots after r188639
https://bugs.webkit.org/show_bug.cgi?id=148569
Reviewed by Darin Adler.
Source/WebKit2:
- PlatformGTK.cmake: Add missing inspector files required for
layout tests.
LayoutTests:
- platform/gtk/TestExpectations: Unskip the inspector tests.
Sep 25, 2015:
- 11:17 PM Changeset in webkit [190264] by
-
- 2 edits in trunk/LayoutTests
Skip newly added js/regress/getter-richards-try-catch.html on debug builds,
because it times out.
- platform/mac/TestExpectations:
- 7:29 PM Changeset in webkit [190263] by
-
- 12 edits1 delete in trunk/Tools
[Mac] USE_INTERNAL_SDK is used undefined in tools projects
https://bugs.webkit.org/show_bug.cgi?id=149571
Reviewed by Dan Bernstein.
Use the same pattern as in Source directory configurations (so, also get rid of AspenFamily.xcconfig).
- DumpRenderTree/mac/Configurations/Base.xcconfig:
- DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
- LayoutTestRelay/Configurations/Base.xcconfig:
- MiniBrowser/Configurations/Base.xcconfig:
- MiniBrowser/Configurations/DebugRelease.xcconfig:
- TestWebKitAPI/Configurations/Base.xcconfig:
- TestWebKitAPI/Configurations/DebugRelease.xcconfig:
- WebEditingTester/Configurations/Base.xcconfig:
- WebEditingTester/Configurations/DebugRelease.xcconfig:
- WebKitTestRunner/Configurations/Base.xcconfig:
- WebKitTestRunner/Configurations/DebugRelease.xcconfig:
- WebKitTestRunner/iOS.xcconfig: Removed.
- 7:23 PM Changeset in webkit [190262] by
-
- 28 edits in trunk
Clean up user media request internal API
https://bugs.webkit.org/show_bug.cgi?id=149527
Reviewed by Tim Horton.
Source/WebCore:
No new tests, no functional change.
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::constraintsValidated): Use track persistent ID to create vectors
as that is what the platform code needs to map to a capture device.
(WebCore::UserMediaRequest::userMediaAccessGranted): m_chosenXXDeviceUID -> m_XXDeviceUIDAllowed.
Use the device IDs to create the MediaStream. Switch audio/video parameter order.
(WebCore::UserMediaRequest::didCreateStream): Don't assume constraints are valid.
- Modules/mediastream/UserMediaRequest.h:
(WebCore::UserMediaRequest::videoDeviceUIDs):
(WebCore::UserMediaRequest::audioDeviceUIDs):
(WebCore::UserMediaRequest::allowedVideoDeviceUID):
(WebCore::UserMediaRequest::allowedAudioDeviceUID):
(WebCore::UserMediaRequest::requiresAudio): Deleted.
(WebCore::UserMediaRequest::requiresVideo): Deleted.
(WebCore::UserMediaRequest::firstVideoDeviceUID): Deleted.
(WebCore::UserMediaRequest::firstAudioDeviceUID): Deleted.
- platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::AVMediaCaptureSource): Call setPersistentId.
Source/WebKit/mac:
- WebCoreSupport/WebUserMediaClient.mm:
(WebUserMediaClient::cancelRequest): Put UserMediaRequestsMap in a local instead or calling
userMediaRequestsMap() three times.
(-[WebUserMediaPolicyListener allow]): Get rid of unneeded local variables.
(-[WebUserMediaPolicyListener allowDeviceWithVideoUID]): Deleted, unused.
Source/WebKit2:
- UIProcess/API/C/WKUserMediaPermissionRequest.cpp:
(WKUserMediaPermissionRequestVideoDeviceUIDs): New, renamed from WKUserMediaPermissionRequestDeviceNamesVideo.
(WKUserMediaPermissionRequestAudioDeviceUIDs): New, renamed from WKUserMediaPermissionRequestDeviceNamesAudio.
(WKUserMediaPermissionRequestAllowBest): Deleted.
(WKUserMediaPermissionRequestDeviceNamesVideo): Deleted.
(WKUserMediaPermissionRequestDeviceNamesAudio): Deleted.
(WKUserMediaPermissionRequestFirstVideoDeviceUID): Deleted.
(WKUserMediaPermissionRequestFirstAudioDeviceUID): Deleted.
- UIProcess/API/C/WKUserMediaPermissionRequest.h:
- UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp:
(webkitUserMediaPermissionRequestAllow): Update for UserMediaRequest API change.
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::createRequest): Get rid of the bool parameters.
Switch audio/video parameter order to be consistent with everywhere else.
(WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision): Ditto.
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- UIProcess/UserMediaPermissionRequestProxy.cpp:
(WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): Get rid of the bool parameters.
Switch audio/video parameter order to be consistent with everywhere else.
(WebKit::UserMediaPermissionRequestProxy::allow): Switch audio/video parameter order.
(WebKit::UserMediaPermissionRequestProxy::getDeviceNameForUID): Deleted.
- UIProcess/UserMediaPermissionRequestProxy.h:
(WebKit::UserMediaPermissionRequestProxy::create):
(WebKit::UserMediaPermissionRequestProxy::videoDeviceUIDs):
(WebKit::UserMediaPermissionRequestProxy::audioDeviceUIDs):
(WebKit::UserMediaPermissionRequestProxy::firstAudioDeviceUID):
(WebKit::UserMediaPermissionRequestProxy::requiresAudio): Deleted.
(WebKit::UserMediaPermissionRequestProxy::requiresVideo): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestUserMediaPermissionForFrame): Get rid of the bool parameters.
Switch audio/video parameter order to be consistent with everywhere else.
- UIProcess/WebPageProxy.h: Ditto.
- UIProcess/WebPageProxy.messages.in: Ditto.
- WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::startRequest): Get rid of bool params, the device
vectors have the same information.
(WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision): Switch audio/video
parameter order to be consistent with everywhere else. deviceUIDVideo -> videoDeviceUID,
deviceUIDAudio -> audioDeviceUID.
- WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveUserMediaPermissionDecision): Switch audio/video parameter order.
- WebProcess/WebPage/WebPage.h:
Tools:
- TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:
(TestWebKitAPI::decidePolicyForUserMediaPermissionRequestCallBack): Update for API changes.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible): Ditto.
- 7:10 PM Changeset in webkit [190261] by
-
- 3 edits3 adds in trunk
DFG should use PhantomLocal instead of Flush as liveness preservation mechanism in LiveCatchVariablesPreservationPhase
https://bugs.webkit.org/show_bug.cgi?id=149575
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
LiveCatchVariablesPreservationPhase is no longer forcing all live-at-catch
variables to be flushed to the stack. They are now kept alive to OSR exit
through PhantomLocal. This gives us a speed improvement for try-catch
programs (especially those that don't throw errors very often) because
we can keep locals in registers instead of forcing them onto the stack.
- dfg/DFGLiveCatchVariablePreservationPhase.cpp:
(JSC::DFG::LiveCatchVariablePreservationPhase::LiveCatchVariablePreservationPhase):
(JSC::DFG::LiveCatchVariablePreservationPhase::handleBlock):
(JSC::DFG::performLiveCatchVariablePreservationPhase):
(JSC::DFG::FlushLiveCatchVariablesInsertionPhase::FlushLiveCatchVariablesInsertionPhase): Deleted.
(JSC::DFG::FlushLiveCatchVariablesInsertionPhase::handleBlock): Deleted.
LayoutTests:
- js/regress/getter-richards-try-catch-expected.txt: Added.
- js/regress/getter-richards-try-catch.html: Added.
- js/regress/script-tests/getter-richards-try-catch.js: Added.
(randomException):
(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(WorkerTask):
(WorkerTask.prototype.run):
(WorkerTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):
- 5:17 PM Changeset in webkit [190260] by
-
- 15 edits12 adds in trunk
[iOS WK2] Add viewport tests and fix runUIScript() timing issues
https://bugs.webkit.org/show_bug.cgi?id=149577
Reviewed by Tim Horton.
Source/WebKit2:
When calling testRunner.runUIScript() from a page load event, the script could run
in the UI process before the current remote layer tree transaction had been handled
there. This meant that runUIScript() could query state which was about to change.
Fix by delaying the execution of the UI script until a layer tree transaction has
been handled by the UI process, leveraging the existing DrawingAreaProxy::dispatchAfterEnsuringDrawing().
This is done using a new C SPI function WKPageCallAfterNextPresentationUpdate(),
which is mirrored in the Obj-C SPI as -_doAfterNextPresentationUpdate:.
Move WKWebView SPI which is testing-related into a WKTesting category. It is expected
that this will grow significantly.
- UIProcess/API/C/WKPage.cpp:
(WKPageCallAfterNextPresentationUpdate):
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::callAfterNextPresentationUpdate):
- UIProcess/WebPageProxy.h:
- UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
- UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::dispatchAfterEnsuringDrawing):
Tools:
When calling testRunner.runUIScript() from a page load event, the script could run
in the UI process before the current remote layer tree transaction had been handled
there. This meant that runUIScript() could query state which was about to change.
Fix by delaying the execution of the UI script until a layer tree transaction has
been handled by the UI process, leveraging the existing DrawingAreaProxy::dispatchAfterEnsuringDrawing().
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::runUISideScriptAfterUpdateCallback):
- WebKitTestRunner/TestInvocation.h:
LayoutTests:
New viewport tests which read the scale etc. in the UI process.
- TestExpectations:
- fast/viewport/ios/resources/viewport-test-utils.js: Added.
(getUIScript):
(tableFromJSON):
(getViewport):
(runTest):
- fast/viewport/ios/width-is-device-width-expected.txt: Added.
- fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-tall-expected.txt: Added.
- fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-tall.html: Added.
- fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden.html: Added.
- fast/viewport/ios/width-is-device-width-overflowing-expected.txt: Added.
- fast/viewport/ios/width-is-device-width-overflowing-no-shrink-to-fit-expected.txt: Added.
- fast/viewport/ios/width-is-device-width-overflowing-no-shrink-to-fit.html: Added.
- fast/viewport/ios/width-is-device-width-overflowing.html: Added.
- fast/viewport/ios/width-is-device-width.html: Added.
- platform/ios-simulator-wk2/TestExpectations:
- 5:13 PM Changeset in webkit [190259] by
-
- 12 edits in branches/safari-601-branch/Source
Merge r190235. rdar://problem/22852382
2015-09-24 Brent Fulgham <Brent Fulgham>
[Win] Support composited content in WebView render-to-context methods
https://bugs.webkit.org/show_bug.cgi?id=149516
<rdar://problem/22635080>
Reviewed by Simon Fraser.
Source/WebCore:
Extend the CACFLayerTreeHost implementation to render into a passed
device context when requested. When no context is provided (the default
case) paint as normal.
Will be tested by existing compositing tests in a future bug. DumpRenderTree
has to be extended to do this painting properly.
- platform/graphics/ca/win/CACFLayerTreeHost.cpp: (WebCore::CACFLayerTreeHost::paint): Accept an optional HDC argument, and pass it to the render method.
- platform/graphics/ca/win/CACFLayerTreeHost.h:
- platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Add missing SOFT_LINK command for the WKCACFViewDrawIntoDC. (WebCore::LegacyCACFLayerTreeHost::paint): Accept optional HDC argument and pass it to the parent class. (WebCore::LegacyCACFLayerTreeHost::render): Accept new optional HDC argument. If provided, call WKCACFViewDrawIntoDC. Otherwise, call WKCACFVIewDraw.
- platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
- platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Add missing SOFT_LINK command for the WKCACFViewDrawIntoDC. (WebCore::WKCACFViewLayerTreeHost::paint): Accept optional HDC argument and pass it to the parent class. (WebCore::WKCACFViewLayerTreeHost::render): Accept new optional HDC argument. If provided, call WKCACFViewDrawIntoDC. Otherwise, call WKCACFVIewDraw.
- platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
Source/WebKit/win:
- WebView.cpp: (WebView::paint): Call the new 'paintCompositedContentToHDC' method. If it handles the pain, return. (WebView::paintCompositedContentToHDC): New method to share code with other paint methods. (WebView::paintDocumentRectToContext): Call new 'paintCompositedContentToHDC' to handle any composited layers. Otherwise, use slow drawing path. (WebView::paintScrollViewRectToContextAtPoint): Ditto. (WebView::unused5): Work around a linker issue that may appear when building test infrastructure on this branch.
- WebView.h:
- 4:52 PM Changeset in webkit [190258] by
-
- 2 edits in trunk/Source/JavaScriptCore
FTLOSRExitCompiler incorrectly excludes FPR registers in callee saves loop
https://bugs.webkit.org/show_bug.cgi?id=149540
Reviewed by Saam Barati.
Eliminated the incorrect check that callee saves registers are only GPRs.
- ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
- 3:36 PM Changeset in webkit [190257] by
-
- 17 edits in trunk
[Mac] Media tests start to time out after a few days of bot uptime
https://bugs.webkit.org/show_bug.cgi?id=149468
Reviewed by Darin Adler.
Source/WebKit2:
Make the fix work with WebKit2, and avoid touching user's media cache for WebKit1.
When UI process is not sandboxed, inherit DIRHELPER_USER_DIR_SUFFIX from it.
This means that during testing, WebContent uses a temporary directory of the form
/private/var/folders/.../T/WebKitTestRunner-VKjmz0/com.apple.WebKit.WebContent.Development,
instead of /private/var/folders/.../T/com.apple.WebKit.WebContent.Development+WebKitTestRunner.
WebKit1 now also better respects a temporary directory of the form
/private/var/folders/.../T/DumpRenderTree-VKjmz0, instead of the default, which
makes CoreMedia put its cache inside it.
As a result, almost everything is isolated per testing process, and deleted at the end.
Same with cache directories. The only outliers that I know of are plug-in directories,
which are per-process, but are not under the testing root, and thus aren't deleted.
- PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::initializeSandbox):
- Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::fromConnection):
(WebKit::ChildProcessProxy::getLaunchOptions):
(WebKit::ChildProcessProxy::connect):
- Shared/ChildProcessProxy.h:
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::getExtraInitializationData):
- Shared/SandboxInitializationParameters.h:
(WebKit::SandboxInitializationParameters::sandboxProfile):
(WebKit::SandboxInitializationParameters::setUserDirectorySuffix):
(WebKit::SandboxInitializationParameters::userDirectorySuffix):
(WebKit::SandboxInitializationParameters::setSystemDirectorySuffix): Deleted.
(WebKit::SandboxInitializationParameters::systemDirectorySuffix): Deleted.
- Shared/ios/ChildProcessIOS.mm:
(WebKit::ChildProcess::initializeSandbox):
- Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::initializeSandbox):
- UIProcess/Databases/DatabaseProcessProxy.cpp:
(WebKit::DatabaseProcessProxy::getLaunchOptions):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getLaunchOptions):
- UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::getLaunchOptions):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getLaunchOptions):
Tools:
Delete cache directory in addition to the temporary one. Don't delete /private/tmp/MediaCache,
as it's not longer used by tests. Set TMPDIR and DIRHELPER_USER_DIR_SUFFIX to make
all temporary and cache files go to a custom location.
- Scripts/webkitpy/port/base.py:
- Scripts/webkitpy/port/driver.py:
- Scripts/webkitpy/port/mac.py:
- Scripts/webkitpy/port/win.py:
(WinPort._driver_tempdir_for_environment): Deleted unused function.
- 3:06 PM Changeset in webkit [190256] by
-
- 12 edits2 adds in trunk
Implement scoped styling for shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=149230
Reviewed by Ryosuke Niwa.
Source/WebCore:
Test: fast/shadow-dom/css-scoping-shadow-with-rules-no-style-leak.html
- css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRules):
Only use special path here for user agent shadow trees.
- dom/AuthorStyleSheets.cpp:
(WebCore::AuthorStyleSheets::AuthorStyleSheets):
(WebCore::AuthorStyleSheets::removePendingSheet):
(WebCore::AuthorStyleSheets::updateActiveStyleSheets):
Basic support for ShadowRoot scoped stylesheets.
- dom/AuthorStyleSheets.h:
(WebCore::AuthorStyleSheets::activeStyleSheets):
- dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::~InlineStyleSheetOwner):
(WebCore::authorStyleSheetsForElement):
(WebCore::InlineStyleSheetOwner::insertedIntoDocument):
(WebCore::InlineStyleSheetOwner::removedFromDocument):
(WebCore::InlineStyleSheetOwner::clearDocumentData):
(WebCore::InlineStyleSheetOwner::childrenChanged):
(WebCore::InlineStyleSheetOwner::createSheet):
(WebCore::InlineStyleSheetOwner::isLoading):
(WebCore::InlineStyleSheetOwner::sheetLoaded):
(WebCore::InlineStyleSheetOwner::startLoadingDynamicSheet):
Basic support for ShadowRoot scoped inline stylesheets.
- dom/InlineStyleSheetOwner.h:
(WebCore::InlineStyleSheetOwner::sheet):
- dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::styleResolver):
Create and initialize ShadowRoot scoped style resolver.
(WebCore::ShadowRoot::resetStyleResolver):
(WebCore::ShadowRoot::authorStyleSheets):
Collection of author stylesheets in the shadow tree.
(WebCore::ShadowRoot::updateStyle):
Trigger style recalc when stylesheets change.
(WebCore::ShadowRoot::cloneNode):
- dom/ShadowRoot.h:
(WebCore::ShadowRoot::resetStyleInheritance):
- html/HTMLStyleElement.h:
- svg/SVGStyleElement.h:
LayoutTests:
- fast/shadow-dom/css-scoping-shadow-with-rules-no-style-leak-expected.html: Added.
- fast/shadow-dom/css-scoping-shadow-with-rules-no-style-leak.html: Added.
Add a test that verifies that shadow DOM style doesn't affect normal DOM.
- platform/mac/TestExpectations:
Enable fast/shadow-dom/css-scoping-shadow-with-rules.html
- 3:04 PM Changeset in webkit [190255] by
-
- 12 edits in trunk
Clean up CMake build on Mac
https://bugs.webkit.org/show_bug.cgi?id=149573
Reviewed by Chris Dumez.
.:
- Source/cmake/OptionsMac.cmake:
Source/WebCore:
- CMakeLists.txt:
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
- platform/graphics/DisplayRefreshMonitor.cpp:
Source/WebKit:
- PlatformMac.cmake:
Source/WTF:
- wtf/PlatformMac.cmake:
- 3:01 PM Changeset in webkit [190254] by
-
- 6 edits2 adds in trunk
Scrolling a overflow: scroll region makes find overlay holes stick to the edge of the region
https://bugs.webkit.org/show_bug.cgi?id=149572
<rdar://problem/13093602>
Reviewed by Simon Fraser.
Test: fast/text/mark-matches-overflow-clip.html
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintTextMatchMarker):
Clip the rendered marker rect to the overflow rect.
- testing/Internals.cpp:
(WebCore::Internals::dumpMarkerRectsForNode):
- testing/Internals.h:
- testing/Internals.idl:
Add a internals function to dump the rendered rects for a marker.
- fast/text/mark-matches-overflow-clip-expected.txt: Added.
- fast/text/mark-matches-overflow-clip.html: Added.
Add a test ensuring that a find match that is clipped out by overflow
ends up with a clipped rendered rect.
- 2:50 PM Changeset in webkit [190253] by
-
- 9 edits2 copies2 adds in trunk
[Win] Switch to CMake
https://bugs.webkit.org/show_bug.cgi?id=148111
Reviewed by Brent Fulgham.
.:
- Source/cmake/WinTools.make: Added.
- Source/cmake/tools: Added.
- Source/cmake/tools/scripts: Copied from WebKitLibraries/win/tools/scripts.
- Source/cmake/tools/scripts/auto-version.pl: Copied from WebKitLibraries/win/tools/scripts/auto-version.pl.
Source/JavaScriptCore:
- JavaScriptCore.vcxproj/JavaScriptCore.proj:
Source/WebCore:
- WebCore.vcxproj/WebCore.proj:
Source/WebKit:
- WebKit.vcxproj/WebKit.proj:
Source/WTF:
- WTF.vcxproj/WTF.proj:
- 2:35 PM Changeset in webkit [190252] by
-
- 4 edits in trunk/Source
Clicking on a data detected item inside a form control always pops up a map
on force touch trackpad
https://bugs.webkit.org/show_bug.cgi?id=149559
-and corresponding-
rdar://problem/22826796
Reviewed by Tim Horton.
Source/WebCore:
The real bug here appears to be a bug in Lookup, but we can work around it.
For normal text, we call directly into Data Detectors for map results, and
that works fine. For text within form controls, we did not properly extract
the text for DD, so we sent it to Lookup instead, and Lookup has this bug
where they will pop open the map right away. If we properly extract the text
for form controls, then we can work around this bug.
- editing/mac/DataDetection.mm:
(WebCore::detectItemAtPositionWithRange):
(WebCore::DataDetection::detectItemAroundHitTestResult):
Source/WebKit2:
Look for Data Detected text for text nodes and HitTestResults that are over
text inside form controls.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performImmediateActionHitTestAtLocation):
- 2:30 PM Changeset in webkit [190251] by
-
- 4 edits in trunk
Prepare internal AppleWin build for CMake
https://bugs.webkit.org/show_bug.cgi?id=149570
Reviewed by Brent Fulgham.
.:
- Source/PlatformWin.cmake:
Include internal CMake files if they exist.
WebKitLibraries:
- win/tools/scripts/auto-version.pl:
Use the WEBKIT_LIBRARIES environment variable if it exists.
- 12:46 PM Changeset in webkit [190250] by
-
- 31 edits in trunk/Source/WebCore
PassRefPtr<> to RefPtr<> conversion in legacy IndexedDB code.
https://bugs.webkit.org/show_bug.cgi?id=149558
Reviewed by Beth Dakin.
No new tests (No behavior change.)
This patch does not attempt to completely remove all PassRefPtr usage inside legacy IDB.
It just switches over all PassRefPtr usage at the top level IDB interfaces that
modern IDB is implementing.
The rest of the usage inside the legacy implementation can be dealt with later via
git rm.
- Modules/indexeddb/IDBAny.h:
- Modules/indexeddb/IDBCursor.h:
- Modules/indexeddb/IDBDatabase.h:
- Modules/indexeddb/IDBDatabaseError.h:
- Modules/indexeddb/IDBFactory.h:
- Modules/indexeddb/IDBIndex.h:
- Modules/indexeddb/IDBObjectStore.h:
- Modules/indexeddb/IDBRequest.h:
- Modules/indexeddb/IDBTransaction.h:
- Modules/indexeddb/client/IDBFactoryImpl.cpp:
(WebCore::IDBClient::IDBFactory::getDatabaseNames):
(WebCore::IDBClient::IDBFactory::open):
(WebCore::IDBClient::IDBFactory::deleteDatabase):
- Modules/indexeddb/client/IDBFactoryImpl.h:
- Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::result):
(WebCore::IDBClient::IDBRequest::error):
(WebCore::IDBClient::IDBRequest::source):
(WebCore::IDBClient::IDBRequest::transaction):
- Modules/indexeddb/client/IDBRequestImpl.h:
- Modules/indexeddb/legacy/LegacyAny.cpp:
(WebCore::LegacyAny::createInvalid):
(WebCore::LegacyAny::createNull):
(WebCore::LegacyAny::createString):
(WebCore::LegacyAny::domStringList):
(WebCore::LegacyAny::idbCursor):
(WebCore::LegacyAny::idbCursorWithValue):
(WebCore::LegacyAny::idbDatabase):
(WebCore::LegacyAny::idbFactory):
(WebCore::LegacyAny::idbIndex):
(WebCore::LegacyAny::idbObjectStore):
(WebCore::LegacyAny::idbTransaction):
(WebCore::LegacyAny::LegacyAny):
- Modules/indexeddb/legacy/LegacyAny.h:
(WebCore::LegacyAny::create):
- Modules/indexeddb/legacy/LegacyCursor.cpp:
(WebCore::LegacyCursor::update):
(WebCore::LegacyCursor::deleteFunction):
- Modules/indexeddb/legacy/LegacyCursor.h:
- Modules/indexeddb/legacy/LegacyDatabase.cpp:
(WebCore::LegacyDatabase::objectStoreNames):
(WebCore::LegacyDatabase::createObjectStore):
(WebCore::LegacyDatabase::transaction):
- Modules/indexeddb/legacy/LegacyDatabase.h:
- Modules/indexeddb/legacy/LegacyFactory.cpp:
(WebCore::LegacyFactory::getDatabaseNames):
(WebCore::LegacyFactory::open):
(WebCore::LegacyFactory::deleteDatabase):
- Modules/indexeddb/legacy/LegacyFactory.h:
- Modules/indexeddb/legacy/LegacyIndex.cpp:
(WebCore::LegacyIndex::openCursor):
(WebCore::LegacyIndex::count):
(WebCore::LegacyIndex::openKeyCursor):
(WebCore::LegacyIndex::get):
(WebCore::LegacyIndex::getKey):
- Modules/indexeddb/legacy/LegacyIndex.h:
(WebCore::LegacyIndex::legacyObjectStore):
- Modules/indexeddb/legacy/LegacyObjectStore.cpp:
(WebCore::LegacyObjectStore::indexNames):
(WebCore::LegacyObjectStore::get):
(WebCore::LegacyObjectStore::add):
(WebCore::LegacyObjectStore::put):
(WebCore::LegacyObjectStore::deleteFunction):
(WebCore::LegacyObjectStore::clear):
(WebCore::LegacyObjectStore::createIndex):
(WebCore::LegacyObjectStore::index):
(WebCore::LegacyObjectStore::openCursor):
(WebCore::LegacyObjectStore::count):
- Modules/indexeddb/legacy/LegacyObjectStore.h:
(WebCore::LegacyObjectStore::keyPathAny):
(WebCore::LegacyObjectStore::transaction):
(WebCore::LegacyObjectStore::createIndex):
(WebCore::LegacyObjectStore::count):
- Modules/indexeddb/legacy/LegacyRequest.cpp:
(WebCore::LegacyRequest::result):
(WebCore::LegacyRequest::error):
(WebCore::LegacyRequest::source):
(WebCore::LegacyRequest::transaction):
(WebCore::LegacyRequest::onSuccess):
- Modules/indexeddb/legacy/LegacyRequest.h:
- Modules/indexeddb/legacy/LegacyTransaction.cpp:
(WebCore::LegacyTransaction::objectStore):
- Modules/indexeddb/legacy/LegacyTransaction.h:
- inspector/InspectorIndexedDBAgent.cpp:
- 12:13 PM Changeset in webkit [190249] by
-
- 5 edits in trunk/Source
[WinCairo] Incorrect position for windowless plugins.
https://bugs.webkit.org/show_bug.cgi?id=149524
Reviewed by Alex Christensen.
Source/WebCore:
Added method to get graphics context HDC.
- platform/graphics/GraphicsContext.h:
- platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContext::getWindowsContext):
(WebCore::GraphicsContext::hdc):
(WebCore::GraphicsContextPlatformPrivate::save):
Source/WebKit/win:
Only perform the device context transformation if the plugin is painting
directly into the GraphicsContext HDC. The previous check was not correct
in all cases.
- Plugins/PluginViewWin.cpp:
(WebCore::PluginView::paint):
- 10:52 AM Changeset in webkit [190248] by
-
- 2 edits in trunk/Source/WebCore
Fix the broken !ENABLE(STREAM_API) build
https://bugs.webkit.org/show_bug.cgi?id=149525
Reviewed by Darin Adler.
Removed some #ifdef ENABLE(STREAMS_API) to make build work when STREAMS_API is off.
This is a temporary fix.
- bindings/js/WebCoreJSClientData.h:
(WebCore::WebCoreJSClientData::WebCoreJSClientData):
(WebCore::initNormalWorldClientData):
- 10:51 AM Changeset in webkit [190247] by
-
- 2 edits in trunk/Source/WTF
Simplify Stopwatch::elapsedTime
https://bugs.webkit.org/show_bug.cgi?id=149538
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-25
Reviewed by Darin Adler.
- wtf/Stopwatch.h:
(WTF::Stopwatch::elapsedTime):
Simplify by not starting/stopping but just computing without updating members.
- 10:51 AM Changeset in webkit [190246] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Reloading the page causes the inspector tab to switch back to "Resources" tab
https://bugs.webkit.org/show_bug.cgi?id=148732
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-25
Reviewed by Darin Adler.
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype._scriptsCleared):
Suppress selection of sibiling tree elements when removing extra folders.
- 10:48 AM Changeset in webkit [190245] by
-
- 2 edits in trunk/LayoutTests
Mark media/media-controls-play-button-updates.html failed for all Mac platforms.
Unreviewed gardening.
- platform/mac/TestExpectations:
- 10:45 AM Changeset in webkit [190244] by
-
- 2 edits1 delete in trunk/Tools
Removed MiniBrowser.entitlements.
Rubber-stamped by Anders Carlsson.
The entitlements weren’t used anyway.
- MiniBrowser/MiniBrowser.entitlements: Removed.
- MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
- 10:25 AM Changeset in webkit [190243] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, nit fix after r190229.
- dom/Range.cpp:
(WebCore::Range::insertNode):
- 9:11 AM Changeset in webkit [190242] by
-
- 5 edits in trunk
Unreviewed, rolling out r190232 and r190236.
https://bugs.webkit.org/show_bug.cgi?id=149555
"It did not help" (Requested by cdumez on #webkit).
Reverted changesets:
"Unreviewed, roll out r187615 as it seems to have caused a ~1%
PLT regression."
http://trac.webkit.org/changeset/190232
"This started failing after this rollout:"
http://trac.webkit.org/changeset/190236
Patch by Commit Queue <commit-queue@webkit.org> on 2015-09-25
- 9:10 AM Changeset in webkit [190241] by
-
- 2 edits in trunk/WebKitLibraries
[Win] Unreviewed build fix.
- win/tools/vsprops/FeatureDefines.props: Let Windows build know about
the STREAMS_API feature.
- 9:09 AM Changeset in webkit [190240] by
-
- 2 edits in trunk/Source/WTF
[Win] Unreviewed build fix.
- wtf/FeatureDefines.h: Don't turn STREAMS_API on by default
on Windows.
- 2:57 AM Changeset in webkit [190239] by
-
- 4 edits1 delete in trunk/Source/WebCore
Remove the need for DOMClass in case of JSBuiltinConstructor WebIDL
https://bugs.webkit.org/show_bug.cgi?id=149522
Reviewed by Darin Adler.
Adding generation of the dummy DOM class for JSBuiltinConstructor interfaces.
This is applied to CountQueuingStrategy.
Covered by existing tests of CountQueuingStrategy.
- Modules/streams/CountQueuingStrategy.h: Removed.
- WebCore.vcxproj/WebCore.vcxproj: Ditto.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader): Removal of DOM class header include and generation of dummy class.
(GenerateImplementation): Removal of DOM class header include.
(UseDummyDOMClass): Helper routine.
(GenerateDummyDOMClassForJSBuiltin): Ditto.
- 2:42 AM Changeset in webkit [190238] by
-
- 5 edits in trunk
[GTK] ASSERTION FAILED: !m_inUpdateBackingStoreState in DrawingAreaImpl::display() after DrawingAreaImpl::forceRepaint()
https://bugs.webkit.org/show_bug.cgi?id=148956
Reviewed by Žan Doberšek.
Source/WebKit2:
This is because those tests call notifyDone in the onresize event
handler. InjectedBundlePage::dump() always calls WKBundlePageForceRepaint()
before dumping. When the view is resized DrawingAreaImpl::updateBackingStoreState()
is called, so if the size has changed the FrameView::resize()
method is called and all children are resized, so the onresize
handlers happen at that point, before the
m_inUpdateBackingStoreState is set to false again. For WTR we
could probably just return early from froceReapaint() when
m_inUpdateBackingStoreState is true, because in that case we know
the layout is updated because of the resize and the actual display
is not really needed. But the UI process can also request a force
repaint, so we could wait until the backing store update is done
and then force the repaint. For WTR it will happen after the
dump, but it shouldn't be a problem.
- WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::forceRepaint):
(WebKit::DrawingAreaImpl::updateBackingStoreState):
- WebProcess/WebPage/DrawingAreaImpl.h:
LayoutTests:
Unskip tests that should pass now.
- platform/gtk/TestExpectations: