Timeline
Nov 16, 2015:
- 10:20 PM Changeset in webkit [192508] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Make FTLOutput's load8() and load16() compatible with B3
https://bugs.webkit.org/show_bug.cgi?id=151336
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-16
Reviewed by Filip Pizlo.
B3 does not have 8bit and 16bit types. Make FTLOutput abstract enough
to handle LLVM IR and B3.
- ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetArrayLength):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToLLVM::compileStringCharAt):
(JSC::FTL::DFG::LowerDFGToLLVM::compileStringCharCodeAt):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNotifyWrite):
(JSC::FTL::DFG::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCheckHasInstance):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCheckWatchdogTimer):
(JSC::FTL::DFG::LowerDFGToLLVM::speculateTruthyObject):
(JSC::FTL::DFG::LowerDFGToLLVM::boolify):
(JSC::FTL::DFG::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::DFG::LowerDFGToLLVM::switchStringRecurse):
(JSC::FTL::DFG::LowerDFGToLLVM::isObject):
(JSC::FTL::DFG::LowerDFGToLLVM::isNotObject):
(JSC::FTL::DFG::LowerDFGToLLVM::isArrayType):
(JSC::FTL::DFG::LowerDFGToLLVM::isExoticForTypeof):
(JSC::FTL::DFG::LowerDFGToLLVM::isType):
(JSC::FTL::DFG::LowerDFGToLLVM::speculateNonNullObject):
(JSC::FTL::DFG::LowerDFGToLLVM::loadCellState):
(JSC::FTL::DFG::LowerDFGToLLVM::emitStoreBarrier):
- ftl/FTLOutput.h:
(JSC::FTL::Output::load8SignExt32):
(JSC::FTL::Output::load8ZeroExt32):
(JSC::FTL::Output::load16SignExt32):
(JSC::FTL::Output::load16ZeroExt32):
(JSC::FTL::Output::constInt8): Deleted.
(JSC::FTL::Output::load8): Deleted.
(JSC::FTL::Output::load16): Deleted.
(JSC::FTL::Output::store8): Deleted.
(JSC::FTL::Output::storeFloat): Deleted.
(JSC::FTL::Output::isZero8): Deleted.
(JSC::FTL::Output::notZero8): Deleted.
(JSC::FTL::Output::testIsZero8): Deleted.
(JSC::FTL::Output::testNonZero8): Deleted.
- 7:51 PM Changeset in webkit [192507] by
-
- 1 move in tags/Safari-601.1.46.81
Fixup tag name.
- 7:45 PM Changeset in webkit [192506] by
-
- 1 move in tags/Safari-601.1.46.81-branch
Fixup tag name.
- 7:29 PM Changeset in webkit [192505] by
-
- 2 edits in trunk/PerformanceTests
Remove the option for animating using setInterval from the graphics benchmark
https://bugs.webkit.org/show_bug.cgi?id=151283
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-11-16
Reviewed by Darin Adler.
Get rid of the option to run animation using setInterval().
- Animometer/tests/resources/main.js:
(Animator.prototype.animate):
(Benchmark):
(Benchmark.prototype.start):
(Animator.prototype.start): Deleted.
- 7:27 PM Changeset in webkit [192504] by
-
- 1 copy in tags/safari-601.1.46.81-branch
New Tag.
- 6:52 PM Changeset in webkit [192503] by
-
- 18 edits2 copies2 adds in trunk
[MediaStream] VideoTrack should respond to MediaStreamTrack state changes
https://bugs.webkit.org/show_bug.cgi?id=151299
Reviewed by Jer Noble.
Source/WebCore:
Test: fast/mediastream/MediaStream-video-element-track-stop.html
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::ended): Check m_ended.
(WebCore::MediaStreamTrack::stopProducingData): Set m_ended before telling private track to
stop so we won't fire an 'ended' event.
(WebCore::MediaStreamTrack::trackEnded): Set m_ended, add comments from spec.
- Modules/mediastream/MediaStreamTrack.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Live streams have infinite duration,
not indefinite.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::platformLayer): Return NULL when displayMode
is None.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentDisplayMode): Calculate current
displayMode based on MediaStream state.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateDisplayMode): Renamed from
setPausedImageVisible, use m_displayMode. Don't start/stop clock, it makes more sense
to do that in play and pause.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play): Start clock.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause): Stop clock.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState): Call updateDisplayMode.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::activeStatusChanged): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateIntrinsicSize):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::createPreviewLayers): Always try to create
both layers if necessary.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::renderingModeChanged): New, update displayMode
and call back to the media element.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::characteristicsChanged):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateTracks): Get rid of some unused locals.
React to a change in the enabled video track.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paintCurrentFrameInContext): Paint black when
the active video track is disabled.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setPausedImageVisible): Deleted.
- platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::updateActiveState): Split the logic of updating the active video
track out into updateActiveVideoTrack.
(WebCore::MediaStreamPrivate::hasVideo): Check for track.ended.
(WebCore::MediaStreamPrivate::hasAudio): Ditto.
(WebCore::MediaStreamPrivate::paintCurrentFrameInContext): Don't call the source directly.
(WebCore::MediaStreamPrivate::updateActiveVideoTrack): New.
(WebCore::MediaStreamPrivate::trackEnabledChanged): Call updateActiveVideoTrack.
(WebCore::MediaStreamPrivate::trackEnded): new.
- platform/mediastream/MediaStreamPrivate.h:
- platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::setEnabled): Call observers if enabled state changes.
(WebCore::MediaStreamTrackPrivate::endTrack): Call observers.
(WebCore::MediaStreamTrackPrivate::paintCurrentFrameInContext): New.
(WebCore::MediaStreamTrackPrivate::preventSourceFromStopping): Add comments.
- platform/mediastream/MediaStreamTrackPrivate.h:
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::paintCurrentFrameInContext): Remove a commented-out line.
LayoutTests:
- fast/mediastream/MediaStream-video-element-expected.txt:
- fast/mediastream/MediaStream-video-element-track-stop-expected.txt: Added.
- fast/mediastream/MediaStream-video-element-track-stop.html: Added.
- fast/mediastream/MediaStream-video-element.html:
- platform/gtk/TestExpectations: Skip new test.
- platform/ios-simulator/TestExpectations: Ditto.
- platform/mac-wk2/TestExpectations: Ditto.
- platform/win/TestExpectations: Ditto.
- 6:10 PM Changeset in webkit [192502] by
-
- 4 edits in trunk
Fix CMake build and make PluginProcess executable
https://bugs.webkit.org/show_bug.cgi?id=151332
Patch by Alex Christensen <achristensen@webkit.org> on 2015-11-16
Reviewed by Tim Horton.
.:
- Source/cmake/OptionsMac.cmake:
Source/WebKit2:
- PlatformMac.cmake:
- 5:56 PM Changeset in webkit [192501] by
-
- 6 edits in branches/safari-601.1.46-branch/Source
Merge r192284. rdar://problem/23564973
- 5:21 PM Changeset in webkit [192500] by
-
- 2 edits in trunk/Source/WebKit2
Multi-WKWebView find completes after the first view
https://bugs.webkit.org/show_bug.cgi?id=151325
Reviewed by Anders Carlsson.
- UIProcess/mac/WKTextFinderClient.mm:
(-[WKTextFinderClient findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]):
Update progress before calling the completion handler; NSTextFinder assumes
that if the progress doesn't change, the search is complete.
- 5:19 PM Changeset in webkit [192499] by
-
- 3 edits2 adds in trunk
Source/WebCore:
Fixes the buffer-overflow when reading characters from textRun
https://bugs.webkit.org/attachment.cgi?bugid=151055
<rdar://problem/23251789>
Patch by Pranjal Jumde <pjumde@apple.com> on 2015-11-16
Reviewed by Brent Fulgham.
- platform/graphics/FontCascade.cpp
LayoutTests:
Checks for buffer-overflows when reading characters from textRun
https://bugs.webkit.org/attachment.cgi?bugid=151055
<rdar://problem/23251789>
Patch by Pranjal Jumde <pjumde@apple.com> on 2015-11-16
Reviewed by Brent Fulgham.
- webgl/1.0.3/151055_asan-expected.txt
- webgl/1.0.3/151055_asan.html
- 4:53 PM Changeset in webkit [192498] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix a typo in AirIteratedRegisterCoalescing
I forgot to fix that review comment from Geoff.
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-16
- b3/air/AirIteratedRegisterCoalescing.cpp:
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::build):
- 4:44 PM Changeset in webkit [192497] by
-
- 9 edits in trunk/Source/JavaScriptCore
[JSC] Add support for the extra registers that can be clobbered by Specials
https://bugs.webkit.org/show_bug.cgi?id=151246
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-16
Reviewed by Geoffrey Garen.
Specials can clobber arbitrary registers. This was not handled correctly by Air
and nothing was preventing us from re-allocating those registers.
This patch adds support for the extra clobbered registers in the two register allocators.
I also fixed the re-spilling FIXME of the iterated allocator because the test might
not always converge without it. Since we are at maximum register pressure at the patch point,
we could be always spilling the return value, which would loop forever.
To fix the re-spilling, I just kept a Set of every value spilled or filled so far. When selecting
a spill candidate, we never pick a Tmp from that set.
- b3/air/AirGenerate.cpp:
(JSC::B3::Air::generate):
- b3/air/AirHandleCalleeSaves.cpp:
(JSC::B3::Air::handleCalleeSaves):
- b3/air/AirInst.h:
- b3/air/AirInstInlines.h:
(JSC::B3::Air::Inst::forEachDefAndExtraClobberedTmp):
- b3/air/AirIteratedRegisterCoalescing.cpp:
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::IteratedRegisterCoalescingAllocator):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::build):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::addEdges):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::selectSpill):
(JSC::B3::Air::addSpillAndFillToProgram):
(JSC::B3::Air::iteratedRegisterCoalescingOnType):
(JSC::B3::Air::iteratedRegisterCoalescing):
- b3/air/AirSpillEverything.cpp:
(JSC::B3::Air::spillEverything):
- b3/testb3.cpp:
(JSC::B3::testSimplePatchpointWithoutOuputClobbersGPArgs):
(JSC::B3::testSimplePatchpointWithOuputClobbersGPArgs):
(JSC::B3::testSimplePatchpointWithoutOuputClobbersFPArgs):
(JSC::B3::testSimplePatchpointWithOuputClobbersFPArgs):
(JSC::B3::run):
- jit/RegisterSet.h:
- 4:26 PM Changeset in webkit [192496] by
-
- 2 edits in trunk/Source/WebKit2
WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction calls an std::function after it's been moved from
https://bugs.webkit.org/show_bug.cgi?id=151248
Reviewed by Darin Adler.
Like r188287, calling an empty std::function results in a std::bad_function_call
exception being thrown when sendSync is failed.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- 4:14 PM Changeset in webkit [192495] by
-
- 2 edits in trunk/Source/JavaScriptCore
Build fix after r192492
Last second change broke the build.
- b3/air/AirIteratedRegisterCoalescing.cpp:
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::OrderedMoveSet::contains):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::OrderedMoveSet::takeMove):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::OrderedMoveSet::takeLastMove):
- 3:52 PM Changeset in webkit [192494] by
-
- 5 edits in trunk/PerformanceTests
Highlight the alarming test results in the graphics benchmark results page
https://bugs.webkit.org/show_bug.cgi?id=151286
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-11-16
Reviewed by Simon Fraser.
When showing the results of a test in the graphics benchmark the following
criteria is going to be applied:
- If the standard deviation of the test complexity or the frame rate is equal to or more than 10%, the standard deviation and the test name will be displayed in red.
- If the average frame rate is not in the range = [(desired_frame_rate - 2) .. (desired_frame_rate + 2)], the average frame rate and the test name will be displayed in red.
- Animometer/resources/extensions.js:
(ResultsTable.prototype._showHeaderRow):
(ResultsTable.prototype._showHeader):
(ResultsTable.prototype._showEmptyCell):
(ResultsTable.prototype._showText):
(ResultsTable.prototype._showFixedNumber):
(ResultsTable.prototype.):
(ResultsTable.prototype._showGraph):
(ResultsTable.prototype._showJSON):
(ResultsTable.prototype._isAlarmingMeasurement):
(ResultsTable.prototype._isAlarmingTestResults):
(ResultsTable.prototype._showEmptyCells):
(ResultsTable.prototype._showEmptyRow):
(ResultsTable.prototype._showTest):
(ResultsTable.prototype._showSuite):
(ResultsTable.prototype._showIteration):
(ResultsTable.prototype.showRecord):
(ResultsTable.prototype.showIterations):
(ResultsTable.prototype._showEmpty): Deleted.
- Animometer/runner/resources/animometer.js:
(window.benchmarkRunnerClient.didFinishLastIteration):
- Animometer/tests/resources/stage.js:
(StageBenchmark.prototype.showResults):
- 3:49 PM Changeset in webkit [192493] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] Add trivial lowering for B3's Div with doubles
https://bugs.webkit.org/show_bug.cgi?id=151292
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-16
Reviewed by Geoffrey Garen.
Filip had already made the constant propagation for it.
The Air Opcode was all we had left.
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
- b3/air/AirOpcode.opcodes:
- b3/testb3.cpp:
(JSC::B3::testDivArgDouble):
(JSC::B3::testDivArgsDouble):
(JSC::B3::testDivArgImmDouble):
(JSC::B3::testDivImmArgDouble):
(JSC::B3::testDivImmsDouble):
(JSC::B3::run):
- 3:47 PM Changeset in webkit [192492] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Speed up the coalescing-related operation of the iterated register allocator
https://bugs.webkit.org/show_bug.cgi?id=151290
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-16
Reviewed by Geoffrey Garen.
One step closer to removing the Hash structures:
For the coalescing operation, we need to keep track of Move instructions. We do not strictly
need those to be the Air Move, just any abstract operation that copy a Tmp into another Tmp.
In this patch, I exploit that to remove the Hash structure related to the Inst. Instead of
using the Move Inst, we just keep track of the Use() and Def() of the instructions.
Those are added in the global list m_coalescingCandidates and the index in that list represent
the move for the remaining of the algorithm.
With Moves transformed into dense indices, we can start using arrays to make fast sets.
The m_activeMoves Set is easy since we only need simple add/remove/contains. It is transformed
into a BitVector.
The bit vector is always fully allocated to allow for quick uniform access. The assumtion is that
activeMoves will contains a few values for non trivial cases.
The worklist m_worklistMoves is more complicated. I want it to be ordered to coalesce moves starting
at the top of blocks. Having a fast remove() operation is also useful for mass coalescing.
It also needs Set operations, especially a fast contains().
For m_worklistMoves, I created a new structure: OrderedMoveSet.
It contains a list of ordered values, and a map of each value to its position in the list.
This resembles Briggs' Sparse Set but it is not exactly the same. When removing a value,
I set a special marker in the map (UINT_MAX). The reason is that I want contains() to be fast
instead of remove(). The marker in the map allows contains() with a single memory operation instead of two.
- b3/air/AirIteratedRegisterCoalescing.cpp:
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::build):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::allocate):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::forEachNodeMoves):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::isMoveRelated):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::enableMovesOnValue):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::coalesce):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::combine):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::freezeMoves):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::dumpWorkLists):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::OrderedMoveSet::addMove):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::OrderedMoveSet::isEmpty):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::OrderedMoveSet::contains):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::OrderedMoveSet::takeMove):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::OrderedMoveSet::takeLastMove):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::OrderedMoveSet::returnMove):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::OrderedMoveSet::clear):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::assignColors): Deleted.
- 3:22 PM Changeset in webkit [192491] by
-
- 9 edits in trunk/PerformanceTests
Clean referencing the options object in the graphics benchmark
https://bugs.webkit.org/show_bug.cgi?id=151284
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-11-16
Reviewed by Simon Fraser.
Get rid of the Benchmark.options member and rely only on the private member
Benchmark._options. The animator need to have its own options member instead
of accessing it from its reference to Benchmark object.
- Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js:
(BouncingCanvasParticlesAnimator):
(BouncingCanvasParticlesBenchmark.prototype.createAnimator):
- Animometer/tests/bouncing-particles/resources/bouncing-particles.js:
(BouncingParticle.prototype.animate):
(BouncingParticlesAnimator):
(BouncingParticlesBenchmark.prototype.createAnimator):
- Animometer/tests/examples/resources/canvas-electrons.js:
(CanvasElectronsStage.prototype.animate):
(CanvasElectronsAnimator):
(CanvasElectronsBenchmark.prototype.createAnimator):
(window.benchmarkClient.create):
- Animometer/tests/examples/resources/canvas-stars.js:
(CanvasStarsStage.prototype.animate):
(CanvasStarsAnimator):
(CanvasStarsBenchmark.prototype.createAnimator):
(window.benchmarkClient.create):
- Animometer/tests/resources/main.js:
(BenchmarkState.prototype.currentProgress):
(Animator):
(Animator.prototype.animate):
(Benchmark):
(Benchmark.prototype.update):
- Animometer/tests/resources/stage.js:
(Stage.prototype.clear):
(StageAnimator):
(StageBenchmark.prototype.createAnimator):
(StageBenchmark.prototype.tune):
(StageBenchmark.prototype.showResults):
- Animometer/tests/simple/resources/simple-canvas.js:
(SimpleCanvasStage.prototype.animate):
(SimpleCanvasAnimator):
(SimpleCanvasAnimator.prototype.animate):
(SimpleCanvasBenchmark.prototype.createAnimator):
- Animometer/tests/template/resources/template-canvas.js:
(TemplateCanvasStage.prototype.animate):
(TemplateCanvasBenchmark.prototype.createAnimator):
(window.benchmarkClient.create):
- 3:17 PM Changeset in webkit [192490] by
-
- 28 edits22 adds in trunk
Modern IDB:Make in-memory ObjectStore cursors work.
https://bugs.webkit.org/show_bug.cgi?id=151196
Reviewed by Darin Adler.
Source/WebCore:
Tests: storage/indexeddb/modern/cursor-2.html
storage/indexeddb/modern/cursor-3.html
storage/indexeddb/modern/cursor-4.html
storage/indexeddb/modern/cursor-5.html
storage/indexeddb/modern/cursor-6.html
storage/indexeddb/modern/cursor-7.html
storage/indexeddb/modern/cursor-8.html
storage/indexeddb/modern/objectstore-cursor-advance-failures.html
storage/indexeddb/modern/objectstore-cursor-continue-failures.html
Object store cursors directly hold on to a std::set<>::iterator to act as the cursor.
The object store tells all of its cursors when it is cleared or records are deleted
so the cursors can invalidate their iterators as needed.
In case of such invalidation, the cursor hangs on to the current key value so it can
pick up where it left off in case it is iterated.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- Modules/indexeddb/IDBGetResult.h:
(WebCore::IDBGetResult::isolatedCopy):
- Modules/indexeddb/IDBKeyRangeData.cpp:
(WebCore::IDBKeyRangeData::containsKey):
(WebCore::IDBKeyRangeData::loggingString):
- Modules/indexeddb/IDBKeyRangeData.h:
- Modules/indexeddb/client/IDBAnyImpl.cpp:
(WebCore::IDBClient::IDBAny::modernIDBCursor):
- Modules/indexeddb/client/IDBCursorImpl.cpp:
(WebCore::IDBClient::IDBCursor::update):
(WebCore::IDBClient::IDBCursor::advance):
(WebCore::IDBClient::IDBCursor::continueFunction):
(WebCore::IDBClient::IDBCursor::setGetResult):
- Modules/indexeddb/client/IDBCursorImpl.h:
- Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::dispatchEvent):
(WebCore::IDBClient::IDBRequest::didOpenOrIterateCursor):
- Modules/indexeddb/client/IDBRequestImpl.h:
(WebCore::IDBClient::IDBRequest::pendingCursor):
- Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::addRequest): Deleted.
- Modules/indexeddb/client/TransactionOperation.cpp:
(WebCore::IDBClient::TransactionOperation::TransactionOperation):
- Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::TransactionOperation::cursorIdentifier):
- Modules/indexeddb/server/IDBBackingStore.h:
- Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreCleared):
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
- Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
- Modules/indexeddb/server/MemoryCursor.cpp: Added.
(WebCore::IDBServer::cursorMap):
(WebCore::IDBServer::MemoryCursor::MemoryCursor):
(WebCore::IDBServer::MemoryCursor::~MemoryCursor):
(WebCore::IDBServer::MemoryCursor::cursorForIdentifier):
- Modules/indexeddb/server/MemoryCursor.h: Added.
- Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::openCursor):
(WebCore::IDBServer::MemoryIDBBackingStore::iterateCursor):
- Modules/indexeddb/server/MemoryIDBBackingStore.h:
- Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::clear):
(WebCore::IDBServer::MemoryObjectStore::replaceKeyValueStore):
(WebCore::IDBServer::MemoryObjectStore::deleteRecord):
(WebCore::IDBServer::MemoryObjectStore::addRecord):
(WebCore::IDBServer::MemoryObjectStore::updateCursorsForPutRecord):
(WebCore::IDBServer::MemoryObjectStore::updateCursorsForDeleteRecord):
(WebCore::IDBServer::MemoryObjectStore::maybeOpenCursor):
- Modules/indexeddb/server/MemoryObjectStore.h:
(WebCore::IDBServer::MemoryObjectStore::orderedKeys):
- Modules/indexeddb/server/MemoryObjectStoreCursor.cpp: Added.
(WebCore::IDBServer::MemoryObjectStoreCursor::create):
(WebCore::IDBServer::MemoryObjectStoreCursor::MemoryObjectStoreCursor):
(WebCore::IDBServer::MemoryObjectStoreCursor::objectStoreCleared):
(WebCore::IDBServer::MemoryObjectStoreCursor::keyDeleted):
(WebCore::IDBServer::MemoryObjectStoreCursor::keyAdded):
(WebCore::IDBServer::MemoryObjectStoreCursor::setFirstInRemainingRange):
(WebCore::IDBServer::MemoryObjectStoreCursor::firstForwardIteratorInRemainingRange):
(WebCore::IDBServer::MemoryObjectStoreCursor::firstReverseIteratorInRemainingRange):
(WebCore::IDBServer::MemoryObjectStoreCursor::currentData):
(WebCore::IDBServer::MemoryObjectStoreCursor::incrementForwardIterator):
(WebCore::IDBServer::MemoryObjectStoreCursor::incrementReverseIterator):
(WebCore::IDBServer::MemoryObjectStoreCursor::hasValidPosition):
(WebCore::IDBServer::MemoryObjectStoreCursor::iterate):
- Modules/indexeddb/server/MemoryObjectStoreCursor.h: Added.
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::iterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::performIterateCursor):
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- Modules/indexeddb/shared/IDBCursorInfo.h:
(WebCore::IDBCursorInfo::range):
- Modules/indexeddb/shared/IDBRequestData.cpp:
(WebCore::IDBRequestData::IDBRequestData):
(WebCore::IDBRequestData::cursorIdentifier):
- Modules/indexeddb/shared/IDBRequestData.h:
LayoutTests:
- storage/indexeddb/modern/cursor-1-expected.txt:
- storage/indexeddb/modern/cursor-2-expected.txt: Added.
- storage/indexeddb/modern/cursor-2.html: Added.
- storage/indexeddb/modern/cursor-3-expected.txt: Added.
- storage/indexeddb/modern/cursor-3.html: Added.
- storage/indexeddb/modern/cursor-4-expected.txt: Added.
- storage/indexeddb/modern/cursor-4.html: Added.
- storage/indexeddb/modern/cursor-5-expected.txt: Added.
- storage/indexeddb/modern/cursor-5.html: Added.
- storage/indexeddb/modern/cursor-6-expected.txt: Added.
- storage/indexeddb/modern/cursor-6.html: Added.
- storage/indexeddb/modern/cursor-7-expected.txt: Added.
- storage/indexeddb/modern/cursor-7.html: Added.
- storage/indexeddb/modern/cursor-8-expected.txt: Added.
- storage/indexeddb/modern/cursor-8.html: Added.
- storage/indexeddb/modern/objectstore-cursor-advance-failures-expected.txt: Added.
- storage/indexeddb/modern/objectstore-cursor-advance-failures.html: Added.
- storage/indexeddb/modern/objectstore-cursor-continue-failures-expected.txt: Added.
- storage/indexeddb/modern/objectstore-cursor-continue-failures.html: Added.
- 3:13 PM Changeset in webkit [192489] by
-
- 2 edits in trunk/LayoutTests
Removed Yosemite modifier for flaky test http/tests/media/video-preload.html
https://bugs.webkit.org/show_bug.cgi?id=141084
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 3:05 PM Changeset in webkit [192488] by
-
- 6 edits in branches/safari-601.1.46-branch/Source/WebKit2
Merge r191895. rdar://problem/23501902
- 2:46 PM Changeset in webkit [192487] by
-
- 2 edits in trunk/LayoutTests
Marking webarchive/loading/missing-data.html as flaky due to intermittent crashes.
https://bugs.webkit.org/show_bug.cgi?id=151326
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 2:38 PM Changeset in webkit [192486] by
-
- 6 edits4 adds in trunk/Source/WebKit2
Add SPI for handling inline link navigation for peek/pop
https://bugs.webkit.org/show_bug.cgi?id=151270
-and corresponding-
rdar://problem/22233739
Reviewed by Darin Adler.
This patch adds three new SPI methods. If a client wants to disable previews
entirely for the given element, they should return NO in
shouldPreviewElement:. Returning NO in shouldPreviewElement will prevent the
other methods from being invoked. The client can provide a custom preview by
returning their own UIViewController from
previewingViewControllerForElement:defaultActions:. Returning nil will result
in the default preview behavior for that element. This will allow clients to
implement this method to handle http link navigation inline, but still opt
into UIKit’s built-in DataDetectors behaviors for DD links once we start
supporting DD links in WK2.
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
Added linkURL to _WKElementInfo. linkURL will be nil for elements that are
not links.
- UIProcess/API/Cocoa/_WKElementInfo.h:
- UIProcess/API/Cocoa/_WKElementInfo.mm:
(-[_WKElementInfo copyWithZone:]):
(-[_WKElementInfo linkURL]):
- UIProcess/API/Cocoa/_WKElementInfoInternal.h: Added.
_WKPreviewingElementInfo inherits from _WKElementInfo. Added a constructor.
- UIProcess/API/Cocoa/_WKPreviewElementInfo.h: Added.
- UIProcess/API/Cocoa/_WKPreviewElementInfo.mm: Added.
(-[_WKPreviewElementInfo _initWithLinkURL:]):
- UIProcess/API/Cocoa/_WKPreviewElementInfoInternal.h: Added.
Invoke shouldPreviewElement:.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
Invoke previewingViewControllerForElement: for all potentially preview-able
elements that have a default implementations, which will be limited to links
at this time.
(-[WKContentView _presentedViewControllerForPreviewItemController:]):
Invoke commitPreviewingViewController:
(-[WKContentView _previewItemController:commitPreview:]):
- WebKit2.xcodeproj/project.pbxproj:
- 2:10 PM Changeset in webkit [192485] by
-
- 2 edits in trunk/Source/JavaScriptCore
DFGEdge's dump method should print "Untyped:" for untyped uses.
https://bugs.webkit.org/show_bug.cgi?id=151314
Rubber stamped by Filip Pizlo.
- dfg/DFGEdge.cpp:
(JSC::DFG::Edge::dump):
- 2:04 PM Changeset in webkit [192484] by
-
- 10 edits in trunk/LayoutTests
Enable passing tests in LayoutTests/fast/mediastream
https://bugs.webkit.org/show_bug.cgi?id=151311
Reviewed by Eric Carlson.
Mark LayoutTests/fast/mediastream as passing by default, and skip only the tests that currently
fail. Also unprefixes some tests that fail due to invoking the webkitMediaStream constructor
rather than MediaStream. As we implement more functionality in the Media Stream and Capture
spec, we will remove entries from the fast/mediastream section under Mac TestExpectations.
- fast/events/constructors/media-stream-event-constructor.html:
- fast/mediastream/MediaStream-add-ended-tracks.html:
- fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html:
- fast/mediastream/MediaStream-construct-with-ended-tracks.html:
- fast/mediastream/MediaStreamConstructor-expected.txt:
- fast/mediastream/MediaStreamConstructor.html:
- fast/mediastream/MediaStreamTrack-onended.html:
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- 12:50 PM Changeset in webkit [192483] by
-
- 5 edits in branches/safari-601.2.7.2-branch/Source
Versioning.
- 12:48 PM Changeset in webkit [192482] by
-
- 1 copy in tags/Safari-601.2.7.2.3
New tag.
- 12:46 PM Changeset in webkit [192481] by
-
- 5 edits2 adds in trunk/Source
Add identifier strings for a bunch of context menu items
https://bugs.webkit.org/show_bug.cgi?id=151272
Reviewed by Dan Bernstein.
Source/WebCore:
Have NSMenuItem conform to NSUserInterfaceItemIdentification.
- platform/spi/mac/NSMenuSPI.h:
Source/WebKit2:
- UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm: Added.
- UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h: Added.
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::menuItemIdentifier):
(WebKit::WebContextMenuProxyMac::createShareMenuItem):
(WebKit::WebContextMenuProxyMac::createContextMenuItem):
- WebKit2.xcodeproj/project.pbxproj:
- 12:42 PM Changeset in webkit [192480] by
-
- 3 edits in branches/safari-601.2.7.2-branch/Source/WebCore
Merged r192166. rdar://problem/22956040
- 11:45 AM Changeset in webkit [192479] by
-
- 24 edits in branches/safari-601.1.46-branch/Source
Merge r192138. rdar://problem/22846841
- 11:29 AM Changeset in webkit [192478] by
-
- 3 edits in trunk/Source/JavaScriptCore
Make sure that the address matcher correctly handles Shl(x, 1)
https://bugs.webkit.org/show_bug.cgi?id=151316
Reviewed by Geoffrey Garen.
This optimization isn't really that awesome, but the nicest part of the change is just the
testing. If we ever do more cleverness with shifts, these tests will come in handy.
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::effectiveAddr):
- b3/testb3.cpp:
(JSC::B3::testLoadOffsetUsingAddNotConstant):
(JSC::B3::testLoadAddrShift):
(JSC::B3::testFramePointer):
(JSC::B3::run):
- 11:04 AM Changeset in webkit [192477] by
-
- 4 edits4 adds in trunk
Null-pointer dereference in WebCore::firstEditablePositionAfterPositionInRoot
https://bugs.webkit.org/show_bug.cgi?id=151288
<rdar://problem/23450367>
Reviewed by Darin Adler.
Source/WebCore:
Some problematic organization of body element could cause problems to JustifyRight
and Indent commnads.
Tests: editing/execCommand/justify-right-then-indent-with-problematic-body.html
editing/execCommand/justify-right-with-problematic-body.html
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
Assertion at l1017 is not held anymore with the testcase:
editing/execCommand/justify-right-with-problematic-body.html.
Therefore, change it to an if statement.
Also, add a guardance before calling insertNewDefaultParagraphElementAt()
as insertNodeAt() requires an editable position.
(WebCore::CompositeEditCommand::moveParagraphWithClones):
Add a guardance before calling insertNodeAt() as it requires an editable position.
- editing/htmlediting.cpp:
(WebCore::firstEditablePositionAfterPositionInRoot):
(WebCore::lastEditablePositionBeforePositionInRoot):
LayoutTests:
- editing/execCommand/justify-right-then-indent-with-problematic-body-expected.txt: Added.
- editing/execCommand/justify-right-then-indent-with-problematic-body.html: Added.
- editing/execCommand/justify-right-with-problematic-body-expected.txt: Added.
- editing/execCommand/justify-right-with-problematic-body.html: Added.
- 10:50 AM Changeset in webkit [192476] by
-
- 4 edits in trunk/Source
Sort the Xcode project files.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit2:
- WebKit2.xcodeproj/project.pbxproj:
- 10:41 AM WindowsWithoutCygwin edited by
- (diff)
- 9:51 AM Changeset in webkit [192475] by
-
- 2 edits in branches/safari-601.1.46-branch/Source/WebKit2
Merge r189637. rdar://problem/22846841
- 9:31 AM Changeset in webkit [192474] by
-
- 2 edits in trunk/Tools
Unreviewed. Fix GTK+ unit tests after r192469.
In r192469 jhbuild version was updated and coinfig lcas API changed.
- jhbuild/jhbuildutils.py:
(enter_jhbuild_environment_if_available): Pass an empty list for
conditions to the Config constructor.
- 8:56 AM Changeset in webkit [192473] by
-
- 2 edits in trunk/LayoutTests
Rebaselining LayoutTest js/dom/global-constructors-attributes on Mac
https://bugs.webkit.org/show_bug.cgi?id=150166
Unreviewed test gardening.
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- 8:18 AM Changeset in webkit [192472] by
-
- 2 edits in trunk/Tools
Unreviewed. Use commit id instead of tag name for jhbuild revision.
In r192469 I updated the jhbuild version to 3.12.0, and used the
tag instead of the commit id to make it easier to read and
remember. But we use the commit id to check if the current
revision is up to date, and when compared to the tag id it always
fails and jhbuild is always updated.
- jhbuild/jhbuild-wrapper: Use commit id and add a comment to
remember this is the id of 3.12.0.
- 8:13 AM Changeset in webkit [192471] by
-
- 2 edits in trunk/Tools
Unreviewed. Fix GTK+ layout tests running after r192469.
We fail to find the Gallium llvmpipe driver because of the build
directory change in r192469.
- gtk/jhbuildrc: Use buildroot instead of checkoutdir to build
the LLVMPIPE_LIBGL_PATH.
- 6:15 AM Changeset in webkit [192470] by
-
- 2 edits in trunk/Source/WebCore
WebRTC: Expose RTCPeerConnectionInternals functions to JS builtins.
https://bugs.webkit.org/show_bug.cgi?id=151302
Patch by Sebastian Dröge <sebastian@centricular.com> on 2015-11-16
Reviewed by Youenn Fablet.
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::finishCreation):
Expose RTCPeerConnectionInternals functions to JS builtins.
- 5:02 AM Changeset in webkit [192469] by
-
- 15 edits4 deletes in trunk
[GTK] Use FTL by default when LLVM 3.7 is available
https://bugs.webkit.org/show_bug.cgi?id=142128
Reviewed by Csaba Osztrogonác.
.:
Enable FTL by default when architecture is X86_64. It requires
LLVM 3.7, but can be disabled manually as a cmake configure
argument.
- Source/cmake/FindLLVM.cmake: In debian llvm-config is only
available if the metapackage is installed and it points to
llvm-config-3.5. So, here we check first if the llvm-config is
from a recent enough version, and if not we check several
llvm-config-<version> programs, so this should work on any distro.
- Source/cmake/OptionsGTK.cmake: Enable FTL by default when
target architecture is X86_64, and check the LLVM is at least
3.7. The option is now public, since we want people to be able to
disable it manually.
Source/JavaScriptCore:
- PlatformGTK.cmake: Install libllvmForJSC.so.
- llvm/InitializeLLVMLinux.cpp:
(JSC::getLLVMInitializerFunction): For developer build try to load first
libllvmForJSC.so from standard paths since not installed binaries
have the RPATH set. If it fails try the installed one. For
production buils load always the installed one.
Tools:
- Scripts/run-javascriptcore-tests: Enable FTL for GTK+ port when
architecture is x86_64.
- Scripts/update-webkit-libs-jhbuild:
(cleanJhbuild): Remove also the separate Build directory used by
GTK+ port now.
- Scripts/webkitdirs.pm:
(isX86_64):
- Scripts/webkitperl/FeatureList.pm: Enable FTL by default for
GTK+ port when architecture is x86_64.
- gtk/jhbuild-optional.modules: Remove llvm.
- gtk/jhbuild.modules: Add llvm 3.7 and include it as dependecy
only when architecture is x86_64.
- gtk/jhbuildrc: Set a buildroot to use a separate build
directory. LLVM 3.7 fails to build if configure script is run from
source dir. Since it's not possible to use a separate build dir
only for llvm, we do it now globally. Modules not supporting non
source build dirs are marked in the moduleset. Also set x86_64
condition when the architecture is x86_64.
- gtk/patches/llvm-elf-add-stackmaps-arm64.patch: Removed.
- gtk/patches/llvm-elf-add-stackmaps.patch: Removed.
- gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range-arm64.patch: Removed.
- gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch: Removed.
- jhbuild/jhbuild-wrapper: Use a newer jhbuild version to be able
to use conditions.
- 3:00 AM Changeset in webkit [192468] by
-
- 1 edit1 delete in trunk/LayoutTests/imported/w3c
Finalization of https://bugs.webkit.org/show_bug.cgi?id=151190, removing empty files
- 2:37 AM Changeset in webkit [192467] by
-
- 2 edits45 deletes in trunk/LayoutTests/imported/w3c
Clean imported/w3c/web-platform-tests folder
https://bugs.webkit.org/show_bug.cgi?id=151190
Reviewed by Chris Dumez.
Adding missing files.
Removing resource files that are not needed anymore.
Removing some dangling expected.txt files.
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/empty.html.
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.svg: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/empty.svg.
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/empty.xhtml.
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xml: Renamed from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/empty.xml.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/bare_mathml.html: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/bare_mathml.svg: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/bare_mathml.xhtml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/bare_mathml.xml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/bare_svg.html: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/bare_svg.svg: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/bare_svg.xhtml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/bare_svg.xml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/bare_xhtml.html: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/bare_xhtml.svg: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/bare_xhtml.xhtml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/bare_xhtml.xml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/generate.py: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/mathml.html: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/mathml.svg: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/mathml.xhtml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/mathml.xml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/minimal_html.html: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/minimal_html.svg: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/minimal_html.xhtml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/minimal_html.xml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/svg.html: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/svg.svg: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/svg.xhtml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/svg.xml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/xhtml.html: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/xhtml.svg: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/xhtml.xhtml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/xhtml.xml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/xhtml_ns_changed.html: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/xhtml_ns_changed.svg: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/xhtml_ns_changed.xhtml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/xhtml_ns_changed.xml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/xhtml_ns_removed.html: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/xhtml_ns_removed.svg: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/xhtml_ns_removed.xhtml: Removed.
- web-platform-tests/dom/nodes/resources/Document-createElement-namespace-tests/xhtml_ns_removed.xml: Removed.
- web-platform-tests/dom/nodes/resources/Node-parentNode-iframe.html: Removed.
- web-platform-tests/dom/nodes/resources/ParentNode-querySelector-All-content.html: Removed.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01-expected.txt: Removed.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_script-expected.txt: Removed.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_01-expected.txt: Removed.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_02-expected.txt: Removed.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_03-expected.txt: Removed.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_04-expected.txt: Removed.
- web-platform-tests/w3c-import.log:
- 2:21 AM Changeset in webkit [192466] by
-
- 10 edits in trunk
[Streams API] Update the implementation up to spec of Nov 11 2015
https://bugs.webkit.org/show_bug.cgi?id=151195
Reviewed by Youenn Fablet.
Source/WebCore:
Updated the implementation of Readable and Writable Streams to the latest changes in the spec. Main changes are
the removal of the error and the state from the reader, readers are not automatically released and then minor or
style changes.
Implementation is up to date with version
https://github.com/whatwg/streams/commit/48c8a3c30ea7e76c5e4eb9f157a438dd755bcc8e.
Tests: streams/reference-implementation/readable-stream-templated.html
streams/reference-implementation/readable-stream-reader.html
- Modules/streams/ReadableStream.js:
(getReader): Removed check for locked stream.
- Modules/streams/ReadableStreamInternals.js:
(privateInitializeReadableStreamReader): Removed setting @error and @state and initialized owner and owner's
reader as per spec.
(teeReadableStreamPullFunction): Added assertions.
(isReadableStreamReader): Added comment about resetting the reader owner to null instead of undefined as a means
to distinguish between not having the slot and having it unset.
(finishClosingReadableStream): Inline @closeReadableStreamReader as it is used only here now.
(readFromReadableStreamReader): Reworked the state and error to use the stream one and changed the conditions to
pull again as per spec.
(errorReadableStream): Not releasing the reader and removed the reader error and state management.
(releaseReadableStreamReader): Deleted.
(closeReadableStreamReader): Deleted.
- Modules/streams/ReadableStreamReader.js:
(cancel): Removed some checks and assertions as per spec.
(read): Added check for owner.
(releaseLock): No closing the reader and rejecting close promise and unlinking reader and owner instead.
- Modules/streams/WritableStream.js:
(abort): Style change.
- Modules/streams/WritableStreamInternals.js:
(writableStreamAdvanceQueue):
(closeWritableStream): Used @call instead of @apply.
LayoutTests:
Updated expectations.
- streams/reference-implementation/readable-stream-reader-expected.txt:
- streams/reference-implementation/readable-stream-templated-expected.txt:
- streams/reference-implementation/readable-stream-templated.html:
Nov 15, 2015:
- 11:42 PM Changeset in webkit [192465] by
-
- 2 edits in trunk/Source/JavaScriptCore
64-bit in the DFG: non tail Calls unnecessarily store the argument count twice on the callee frame and tails calls unnecessarily store it once
https://bugs.webkit.org/show_bug.cgi?id=151297
Reviewed by Geoffrey Garen.
Non tail calls only need to store the count once. Tail calls
never need to store the count on the callee frame because they
will be reusing the caller's frame.
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
- 2:00 PM Changeset in webkit [192464] by
-
- 34 edits7 copies5 moves4 adds7 deletes in trunk
WebRTC: Update RTCPeerConnection API and introduce PeerConnectionBackend
https://bugs.webkit.org/show_bug.cgi?id=150166
Reviewed by Eric Carlson and Youenn Fablet
Source/JavaScriptCore:
Added generic isDictionary() function to GlobalObject.js that tests if a
value can be interpreted as a dictionary.
- builtins/GlobalObject.js:
(isDictionary):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
Source/WebCore:
This change introduces PeerConnectionBackend which is a WebCore interface
that allows RTCPeerConnection to have platform abstractions at different
levels. For example, the MediaEndpoint interface [1] is a lower level
WebRTC backend abstraction where a big part of the WebRTC specification
is implemented in WebCore to be reusable. RTCPeerConnectionHandler (in
the repo today) is on the other hand a higher level WebRTC backend
abstraction where the calls are mostly forwarded directly to the
backend. The PeerConnectionBackend interface facilitates both approaches.
RTCPeerConnection
| (has)
|
PeerConnectionBackend
| |
| | (realizes)
| MediaEndpointPeerConnection
| | (has)
| |
| MediaEndpoint (platform interface)
|
| (realizes)
RTCPeerHandlerPeerConnection
| (has)
|
RCPeerConnectionHandler (existing platform interface)
Notable changes:
# Overloaded methods on RTCPeerConnection (Promise + legacy callback
signatures) are implemented with JSBuiltins.
# "Queued operations" ([1] Section 4.3.1) is implemented in JS bindings
with Promises.
# New RTCPeerConnection features
- add/removeTrack()
- pending/currentLocal/RemoteDescription attributes
- RTCRtpSender/Receiver
# Information carrying objects like RTCSessionDescription and
RTCCandidate don't encapsulate a "mirrored" platform object anymore.
# Remove RTCPeerConnection specific callback implementations (not used
with JS bindings)
[1] http://webkit.org/b/150165
[2] https://w3c.github.io/webrtc-pc/archives/20151006/webrtc.html
Tests: Mock should be added to test future WebRTC backend abstractions.
- CMakeLists.txt:
- DerivedSources.make:
- Modules/mediastream/PeerConnectionBackend.cpp: Added.
(WebCore::createPeerConnectionBackend):
- Modules/mediastream/PeerConnectionBackend.h: Added.
(WebCore::PeerConnectionBackendClient::~PeerConnectionBackendClient):
(WebCore::PeerConnectionBackend::~PeerConnectionBackend):
- Modules/mediastream/PeerConnectionStates.h: Added.
- Modules/mediastream/RTCConfiguration.cpp: Added.
(WebCore::validateIceServerURL):
(WebCore::parseIceServer):
(WebCore::RTCConfiguration::create):
(WebCore::RTCConfiguration::RTCConfiguration):
(WebCore::RTCConfiguration::initialize):
- Modules/mediastream/RTCConfiguration.h:
(WebCore::RTCConfiguration::iceTransportPolicy):
(WebCore::RTCConfiguration::bundlePolicy):
(WebCore::RTCConfiguration::iceServers):
(WebCore::RTCConfiguration::create): Deleted.
(WebCore::RTCConfiguration::appendServer): Deleted.
(WebCore::RTCConfiguration::numberOfServers): Deleted.
(WebCore::RTCConfiguration::server): Deleted.
(WebCore::RTCConfiguration::iceTransports): Deleted.
(WebCore::RTCConfiguration::setIceTransports): Deleted.
(WebCore::RTCConfiguration::requestIdentity): Deleted.
(WebCore::RTCConfiguration::setRequestIdentity): Deleted.
(WebCore::RTCConfiguration::privateConfiguration): Deleted.
(WebCore::RTCConfiguration::RTCConfiguration): Deleted.
- Modules/mediastream/RTCConfiguration.idl:
- Modules/mediastream/RTCIceCandidate.cpp:
(WebCore::RTCIceCandidate::create):
(WebCore::RTCIceCandidate::RTCIceCandidate):
(WebCore::RTCIceCandidate::~RTCIceCandidate): Deleted.
(WebCore::RTCIceCandidate::candidate): Deleted.
(WebCore::RTCIceCandidate::sdpMid): Deleted.
(WebCore::RTCIceCandidate::sdpMLineIndex): Deleted.
(WebCore::RTCIceCandidate::descriptor): Deleted.
- Modules/mediastream/RTCIceCandidate.h:
(WebCore::RTCIceCandidate::~RTCIceCandidate):
(WebCore::RTCIceCandidate::candidate):
(WebCore::RTCIceCandidate::setCandidate):
(WebCore::RTCIceCandidate::sdpMid):
(WebCore::RTCIceCandidate::setSdpMid):
(WebCore::RTCIceCandidate::sdpMLineIndex):
(WebCore::RTCIceCandidate::setSdpMLineIndex):
- Modules/mediastream/RTCIceCandidate.idl:
- Modules/mediastream/RTCIceCandidateEvent.cpp:
(WebCore::RTCIceCandidateEvent::create):
(WebCore::RTCIceCandidateEvent::RTCIceCandidateEvent):
- Modules/mediastream/RTCIceCandidateEvent.h:
- Modules/mediastream/RTCIceServer.h:
(WebCore::RTCIceServer::urls):
(WebCore::RTCIceServer::credential):
(WebCore::RTCIceServer::username):
(WebCore::RTCIceServer::RTCIceServer):
(WebCore::RTCIceServer::create): Deleted.
(WebCore::RTCIceServer::privateServer): Deleted.
- Modules/mediastream/RTCOfferAnswerOptions.cpp:
(WebCore::RTCOfferAnswerOptions::RTCOfferAnswerOptions):
(WebCore::RTCOfferAnswerOptions::initialize):
(WebCore::RTCOfferOptions::RTCOfferOptions):
(WebCore::RTCOfferOptions::initialize):
(WebCore::RTCAnswerOptions::create):
(WebCore::RTCAnswerOptions::initialize):
(WebCore::RTCOfferAnswerOptions::create): Deleted.
- Modules/mediastream/RTCOfferAnswerOptions.h:
(WebCore::RTCOfferAnswerOptions::voiceActivityDetection):
(WebCore::RTCOfferOptions::offerToReceiveVideo):
(WebCore::RTCOfferOptions::offerToReceiveAudio):
(WebCore::RTCOfferOptions::iceRestart):
(WebCore::RTCAnswerOptions::RTCAnswerOptions):
(WebCore::RTCOfferAnswerOptions::requestIdentity): Deleted.
(WebCore::RTCOfferAnswerOptions::privateOfferAnswerOptions): Deleted.
(WebCore::RTCOfferAnswerOptions::RTCOfferAnswerOptions): Deleted.
(WebCore::RTCOfferOptions::voiceActivityDetection): Deleted.
(WebCore::RTCOfferOptions::privateOfferOptions): Deleted.
(WebCore::RTCOfferOptions::~RTCOfferOptions): Deleted.
(WebCore::RTCOfferOptions::RTCOfferOptions): Deleted.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::create):
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::getSenders):
(WebCore::RTCPeerConnection::getReceivers):
(WebCore::RTCPeerConnection::addTrack):
(WebCore::RTCPeerConnection::removeTrack):
(WebCore::RTCPeerConnection::queuedCreateOffer):
(WebCore::RTCPeerConnection::queuedCreateAnswer):
(WebCore::RTCPeerConnection::queuedSetLocalDescription):
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::currentLocalDescription):
(WebCore::RTCPeerConnection::pendingLocalDescription):
(WebCore::RTCPeerConnection::queuedSetRemoteDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::currentRemoteDescription):
(WebCore::RTCPeerConnection::pendingRemoteDescription):
(WebCore::RTCPeerConnection::queuedAddIceCandidate):
(WebCore::RTCPeerConnection::signalingState):
(WebCore::RTCPeerConnection::iceGatheringState):
(WebCore::RTCPeerConnection::iceConnectionState):
(WebCore::RTCPeerConnection::setConfiguration):
(WebCore::RTCPeerConnection::privateGetStats):
(WebCore::RTCPeerConnection::createDataChannel):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::setSignalingState):
(WebCore::RTCPeerConnection::updateIceGatheringState):
(WebCore::RTCPeerConnection::updateIceConnectionState):
(WebCore::RTCPeerConnection::scheduleNegotiationNeededEvent):
(WebCore::RTCPeerConnection::fireEvent):
(WebCore::validateIceServerURL): Deleted.
(WebCore::processIceServer): Deleted.
(WebCore::RTCPeerConnection::parseConfiguration): Deleted.
(WebCore::RTCPeerConnection::~RTCPeerConnection): Deleted.
(WebCore::RTCPeerConnection::createOffer): Deleted.
(WebCore::RTCPeerConnection::createAnswer): Deleted.
(WebCore::RTCPeerConnection::checkStateForLocalDescription): Deleted.
(WebCore::RTCPeerConnection::checkStateForRemoteDescription): Deleted.
(WebCore::RTCPeerConnection::setLocalDescription): Deleted.
(WebCore::RTCPeerConnection::setRemoteDescription): Deleted.
(WebCore::RTCPeerConnection::updateIce): Deleted.
(WebCore::RTCPeerConnection::addIceCandidate): Deleted.
(WebCore::RTCPeerConnection::addStream): Deleted.
(WebCore::RTCPeerConnection::removeStream): Deleted.
(WebCore::RTCPeerConnection::getLocalStreams): Deleted.
(WebCore::RTCPeerConnection::getRemoteStreams): Deleted.
(WebCore::RTCPeerConnection::getStreamById): Deleted.
(WebCore::RTCPeerConnection::getStats): Deleted.
(WebCore::RTCPeerConnection::hasLocalStreamWithTrackId): Deleted.
(WebCore::RTCPeerConnection::createDTMFSender): Deleted.
(WebCore::RTCPeerConnection::negotiationNeeded): Deleted.
(WebCore::RTCPeerConnection::didGenerateIceCandidate): Deleted.
(WebCore::RTCPeerConnection::didChangeSignalingState): Deleted.
(WebCore::RTCPeerConnection::didChangeIceGatheringState): Deleted.
(WebCore::RTCPeerConnection::didChangeIceConnectionState): Deleted.
(WebCore::RTCPeerConnection::didAddRemoteStream): Deleted.
(WebCore::RTCPeerConnection::didRemoveRemoteStream): Deleted.
(WebCore::RTCPeerConnection::didAddRemoteDataChannel): Deleted.
(WebCore::RTCPeerConnection::didAddOrRemoveTrack): Deleted.
(WebCore::RTCPeerConnection::changeSignalingState): Deleted.
(WebCore::RTCPeerConnection::changeIceGatheringState): Deleted.
(WebCore::RTCPeerConnection::changeIceConnectionState): Deleted.
(WebCore::RTCPeerConnection::scheduleDispatchEvent): Deleted.
(WebCore::RTCPeerConnection::scheduledEventTimerFired): Deleted.
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/mediastream/RTCPeerConnection.js: Added.
(createOffer):
(createAnswer):
(setLocalDescription):
(setRemoteDescription):
(addIceCandidate):
(getStats):
- Modules/mediastream/RTCPeerConnectionErrorCallback.h:
(WebCore::RTCPeerConnectionErrorCallback::~RTCPeerConnectionErrorCallback): Deleted.
- Modules/mediastream/RTCPeerConnectionInternals.js: Added.
(runNext):
(enqueueOperation):
(setLocalOrRemoteDescription):
(extractCallbackArg):
- Modules/mediastream/RTCRtpReceiver.cpp: Added.
(WebCore::RTCRtpReceiver::RTCRtpReceiver):
- Modules/mediastream/RTCRtpReceiver.h: Added.
(WebCore::RTCRtpReceiver::create):
- Modules/mediastream/RTCRtpReceiver.idl: Added.
- Modules/mediastream/RTCRtpSender.cpp: Added.
(WebCore::RTCRtpSender::RTCRtpSender):
- Modules/mediastream/RTCRtpSender.h: Added.
(WebCore::RTCRtpSender::create):
(WebCore::RTCRtpSender::mediaStreamId):
- Modules/mediastream/RTCRtpSender.idl: Added.
- Modules/mediastream/RTCRtpSenderReceiverBase.h: Added.
(WebCore::RTCRtpSenderReceiverBase::~RTCRtpSenderReceiverBase):
(WebCore::RTCRtpSenderReceiverBase::track):
(WebCore::RTCRtpSenderReceiverBase::RTCRtpSenderReceiverBase):
- Modules/mediastream/RTCSessionDescription.cpp:
(WebCore::RTCSessionDescription::create):
(WebCore::RTCSessionDescription::RTCSessionDescription):
(WebCore::RTCSessionDescription::setType):
(WebCore::RTCSessionDescription::~RTCSessionDescription): Deleted.
(WebCore::RTCSessionDescription::type): Deleted.
(WebCore::RTCSessionDescription::sdp): Deleted.
(WebCore::RTCSessionDescription::setSdp): Deleted.
(WebCore::RTCSessionDescription::descriptor): Deleted.
- Modules/mediastream/RTCSessionDescription.h:
(WebCore::RTCSessionDescription::~RTCSessionDescription):
(WebCore::RTCSessionDescription::type):
(WebCore::RTCSessionDescription::sdp):
(WebCore::RTCSessionDescription::setSdp):
- Modules/mediastream/RTCSessionDescriptionCallback.h:
(WebCore::RTCSessionDescriptionCallback::~RTCSessionDescriptionCallback): Deleted.
- Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp: Removed.
(WebCore::RTCSessionDescriptionRequestImpl::create): Deleted.
(WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl): Deleted.
(WebCore::RTCSessionDescriptionRequestImpl::~RTCSessionDescriptionRequestImpl): Deleted.
(WebCore::RTCSessionDescriptionRequestImpl::requestSucceeded): Deleted.
(WebCore::RTCSessionDescriptionRequestImpl::requestFailed): Deleted.
(WebCore::RTCSessionDescriptionRequestImpl::stop): Deleted.
(WebCore::RTCSessionDescriptionRequestImpl::activeDOMObjectName): Deleted.
(WebCore::RTCSessionDescriptionRequestImpl::canSuspendForPageCache): Deleted.
(WebCore::RTCSessionDescriptionRequestImpl::clear): Deleted.
- Modules/mediastream/RTCSessionDescriptionRequestImpl.h: Removed.
- Modules/mediastream/RTCStatsCallback.h: Removed.
(WebCore::RTCStatsCallback::~RTCStatsCallback): Deleted.
- Modules/mediastream/RTCStatsCallback.idl: Removed.
- Modules/mediastream/RTCStatsRequestImpl.cpp: Removed.
(WebCore::RTCStatsRequestImpl::create): Deleted.
(WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl): Deleted.
(WebCore::RTCStatsRequestImpl::~RTCStatsRequestImpl): Deleted.
(WebCore::RTCStatsRequestImpl::createResponse): Deleted.
(WebCore::RTCStatsRequestImpl::hasSelector): Deleted.
(WebCore::RTCStatsRequestImpl::track): Deleted.
(WebCore::RTCStatsRequestImpl::requestSucceeded): Deleted.
(WebCore::RTCStatsRequestImpl::requestFailed): Deleted.
(WebCore::RTCStatsRequestImpl::stop): Deleted.
(WebCore::RTCStatsRequestImpl::activeDOMObjectName): Deleted.
(WebCore::RTCStatsRequestImpl::canSuspendForPageCache): Deleted.
(WebCore::RTCStatsRequestImpl::clear): Deleted.
- Modules/mediastream/RTCStatsRequestImpl.h: Removed.
- Modules/mediastream/RTCTrackEvent.cpp: Added.
(WebCore::RTCTrackEventInit::RTCTrackEventInit):
(WebCore::RTCTrackEvent::create):
(WebCore::RTCTrackEvent::RTCTrackEvent):
- Modules/mediastream/RTCTrackEvent.h: Added.
(WebCore::RTCTrackEvent::receiver):
(WebCore::RTCTrackEvent::track):
(WebCore::RTCTrackEvent::eventInterface):
- Modules/mediastream/RTCTrackEvent.idl: Added.
- Modules/mediastream/RTCVoidRequestImpl.cpp: Removed.
(WebCore::RTCVoidRequestImpl::create): Deleted.
(WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl): Deleted.
(WebCore::RTCVoidRequestImpl::~RTCVoidRequestImpl): Deleted.
(WebCore::RTCVoidRequestImpl::requestSucceeded): Deleted.
(WebCore::RTCVoidRequestImpl::requestFailed): Deleted.
(WebCore::RTCVoidRequestImpl::stop): Deleted.
(WebCore::RTCVoidRequestImpl::activeDOMObjectName): Deleted.
(WebCore::RTCVoidRequestImpl::canSuspendForPageCache): Deleted.
(WebCore::RTCVoidRequestImpl::clear): Deleted.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
- bindings/js/JSDictionary.h:
- bindings/js/WebCoreBuiltinNames.h:
- bindings/js/WebCoreJSBuiltinInternals.h:
(WebCore::JSBuiltinInternalFunctions::JSBuiltinInternalFunctions):
(WebCore::JSBuiltinInternalFunctions::rTCPeerConnectionInternals):
(WebCore::JSBuiltinInternalFunctions::visit):
(WebCore::JSBuiltinInternalFunctions::init):
- bindings/js/WebCoreJSBuiltins.cpp:
- bindings/js/WebCoreJSBuiltins.h:
(WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
(WebCore::JSBuiltinFunctions::rTCPeerConnectionBuiltins):
(WebCore::JSBuiltinFunctions::rTCPeerConnectionInternalsBuiltins):
- dom/EventNames.in:
LayoutTests:
Updated expected results (listed below) with the new types added by
this change (RTCRtpSender, RTCRtpReceiver and RTCTrackEvent).
- platform/efl/js/dom/global-constructors-attributes-expected.txt:
- platform/gtk/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- 10:52 AM Changeset in webkit [192463] by
-
- 2 edits in trunk/Tools
Unreviewed, rolling out r192462.
https://bugs.webkit.org/show_bug.cgi?id=151295
failing python tests (Requested by youenn on #webkit).
Reverted changeset:
"WPT server should use its own testharness.js file and
generate a warning when it does not match WebKit version"
https://bugs.webkit.org/show_bug.cgi?id=150332
http://trac.webkit.org/changeset/192462
- 10:17 AM Changeset in webkit [192462] by
-
- 2 edits in trunk/Tools
WPT server should use its own testharness.js file and generate a warning when it does not match WebKit version
https://bugs.webkit.org/show_bug.cgi?id=150332
Reviewed by Darin Adler.
- Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer.init): Removed testharness.js as file to copy from WK to WPT.
(WebPlatformTestServer._copy_webkit_test_files): Added warning generation when WK testharness.js is not matching WPT version.
- 8:01 AM Changeset in webkit [192461] by
-
- 3 edits in trunk/LayoutTests
WebKit should not need to modify testharness.js
https://bugs.webkit.org/show_bug.cgi?id=151262
Reviewed by Darin Adler.
- resources/testharness.js: Resetting global testharness.js timeout values to the default ones.
- resources/testharnessreport.js: Disabling global testharness.js timeout.
- 12:42 AM Changeset in webkit [192460] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r192404): Fix tvOS and watchOS builds
- platform/spi/cocoa/QuartzCoreSPI.h: Add more version checks to
fix all the builds.