WebKit-https.git
5 years agoRemove the option for animating using setInterval from the graphics benchmark
commit-queue@webkit.org [Tue, 17 Nov 2015 03:29:43 +0000 (03:29 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192505 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[MediaStream] VideoTrack should respond to MediaStreamTrack state changes
eric.carlson@apple.com [Tue, 17 Nov 2015 02:52:16 +0000 (02:52 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192503 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFix CMake build and make PluginProcess executable
commit-queue@webkit.org [Tue, 17 Nov 2015 02:10:35 +0000 (02:10 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192502 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMulti-WKWebView find completes after the first view
timothy_horton@apple.com [Tue, 17 Nov 2015 01:21:06 +0000 (01:21 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192500 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSource/WebCore:
bfulgham@apple.com [Tue, 17 Nov 2015 01:19:10 +0000 (01:19 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192499 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFix a typo in AirIteratedRegisterCoalescing
benjamin@webkit.org [Tue, 17 Nov 2015 00:53:05 +0000 (00:53 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192498 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[JSC] Add support for the extra registers that can be clobbered by Specials
benjamin@webkit.org [Tue, 17 Nov 2015 00:44:28 +0000 (00:44 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192497 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWebFrameLoaderClient::dispatchDecidePolicyForNavigationAction calls an std::function...
ryuan.choi@navercorp.com [Tue, 17 Nov 2015 00:26:57 +0000 (00:26 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192496 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoBuild fix after r192492
benjamin@webkit.org [Tue, 17 Nov 2015 00:14:54 +0000 (00:14 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192495 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoHighlight the alarming test results in the graphics benchmark results page
commit-queue@webkit.org [Mon, 16 Nov 2015 23:52:46 +0000 (23:52 +0000)]
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:

1. 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.
2. 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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192494 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[JSC] Add trivial lowering for B3's Div with doubles
benjamin@webkit.org [Mon, 16 Nov 2015 23:49:22 +0000 (23:49 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192493 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[JSC] Speed up the coalescing-related operation of the iterated register allocator
benjamin@webkit.org [Mon, 16 Nov 2015 23:47:10 +0000 (23:47 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192492 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoClean referencing the options object in the graphics benchmark
commit-queue@webkit.org [Mon, 16 Nov 2015 23:22:16 +0000 (23:22 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192491 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoModern IDB:Make in-memory ObjectStore cursors work.
beidson@apple.com [Mon, 16 Nov 2015 23:17:46 +0000 (23:17 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192490 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemoved Yosemite modifier for flaky test http/tests/media/video-preload.html
ryanhaddad@apple.com [Mon, 16 Nov 2015 23:13:39 +0000 (23:13 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192489 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMarking webarchive/loading/missing-data.html as flaky due to intermittent crashes.
ryanhaddad@apple.com [Mon, 16 Nov 2015 22:46:25 +0000 (22:46 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192487 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd SPI for handling inline link navigation for peek/pop
bdakin@apple.com [Mon, 16 Nov 2015 22:38:20 +0000 (22:38 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192486 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDFGEdge's dump method should print "Untyped:" for untyped uses.
sbarati@apple.com [Mon, 16 Nov 2015 22:10:56 +0000 (22:10 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192485 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoEnable passing tests in LayoutTests/fast/mediastream
wenson_hsieh@apple.com [Mon, 16 Nov 2015 22:04:32 +0000 (22:04 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192484 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd identifier strings for a bunch of context menu items
andersca@apple.com [Mon, 16 Nov 2015 20:46:19 +0000 (20:46 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192481 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMake sure that the address matcher correctly handles Shl(x, 1)
fpizlo@apple.com [Mon, 16 Nov 2015 19:29:34 +0000 (19:29 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192478 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoNull-pointer dereference in WebCore::firstEditablePositionAfterPositionInRoot
jiewen_tan@apple.com [Mon, 16 Nov 2015 19:04:02 +0000 (19:04 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192477 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSort the Xcode project files.
simon.fraser@apple.com [Mon, 16 Nov 2015 18:50:45 +0000 (18:50 +0000)]
Sort the Xcode project files.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192476 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed. Fix GTK+ unit tests after r192469.
carlosgc@webkit.org [Mon, 16 Nov 2015 17:31:38 +0000 (17:31 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192474 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRebaselining LayoutTest js/dom/global-constructors-attributes on Mac
ryanhaddad@apple.com [Mon, 16 Nov 2015 16:56:26 +0000 (16:56 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192473 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed. Use commit id instead of tag name for jhbuild revision.
carlosgc@webkit.org [Mon, 16 Nov 2015 16:18:43 +0000 (16:18 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192472 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed. Fix GTK+ layout tests running after r192469.
carlosgc@webkit.org [Mon, 16 Nov 2015 16:13:51 +0000 (16:13 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192471 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWebRTC: Expose RTCPeerConnectionInternals functions to JS builtins.
commit-queue@webkit.org [Mon, 16 Nov 2015 14:15:12 +0000 (14:15 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192470 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[GTK] Use FTL by default when LLVM 3.7 is available
carlosgc@webkit.org [Mon, 16 Nov 2015 13:02:00 +0000 (13:02 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192469 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFinalization of https://bugs.webkit.org/show_bug.cgi?id=151190, removing empty files
youenn.fablet@crf.canon.fr [Mon, 16 Nov 2015 11:00:53 +0000 (11:00 +0000)]
Finalization of https://bugs.webkit.org/show_bug.cgi?id=151190, removing empty files

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192468 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoClean imported/w3c/web-platform-tests folder
youenn.fablet@crf.canon.fr [Mon, 16 Nov 2015 10:37:43 +0000 (10:37 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192467 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Streams API] Update the implementation up to spec of Nov 11 2015
calvaris@igalia.com [Mon, 16 Nov 2015 10:21:37 +0000 (10:21 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192466 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago64-bit in the DFG: non tail Calls unnecessarily store the argument count twice on...
sbarati@apple.com [Mon, 16 Nov 2015 07:42:36 +0000 (07:42 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192465 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWebRTC: Update RTCPeerConnection API and introduce PeerConnectionBackend
adam.bergkvist@ericsson.com [Sun, 15 Nov 2015 22:00:32 +0000 (22:00 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192464 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, rolling out r192462.
commit-queue@webkit.org [Sun, 15 Nov 2015 18:52:23 +0000 (18:52 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192463 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWPT server should use its own testharness.js file and generate a warning when it...
youenn.fablet@crf.canon.fr [Sun, 15 Nov 2015 18:17:29 +0000 (18:17 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192462 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWebKit should not need to modify testharness.js
youenn.fablet@crf.canon.fr [Sun, 15 Nov 2015 16:01:49 +0000 (16:01 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192461 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (r192404): Fix tvOS and watchOS builds
ddkilzer@apple.com [Sun, 15 Nov 2015 08:42:34 +0000 (08:42 +0000)]
REGRESSION (r192404): Fix tvOS and watchOS builds

* platform/spi/cocoa/QuartzCoreSPI.h: Add more version checks to
fix all the builds.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192460 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[EFL][GTK] Remove use of String::format() in versionForUAString()
gyuyoung.kim@webkit.org [Sun, 15 Nov 2015 07:56:55 +0000 (07:56 +0000)]
[EFL][GTK] Remove use of String::format() in versionForUAString()
https://bugs.webkit.org/show_bug.cgi?id=151250

Reviewed by Darin Adler.

As String::format() will be deprecated due to the security problem, reimplement
versionForUAString() using a macro.

* platform/efl/UserAgentEfl.cpp:
(WebCore::versionForUAString):
* platform/gtk/UserAgentGtk.cpp:
(WebCore::platformVersionForUAString):
(WebCore::versionForUAString):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192459 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRegression(r188820): Downloads of data URLs is broken
antti@apple.com [Sun, 15 Nov 2015 05:23:08 +0000 (05:23 +0000)]
Regression(r188820): Downloads of data URLs is broken
https://bugs.webkit.org/show_bug.cgi?id=150900
rdar://problem/23399223

Reviewed by Darin Adler.

No test, the current test infrastructure only allows testing policy decisions, not the actual download.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::continueAfterContentPolicy):

Use normal download path for data URLs instead of trying to convert the main resource load.
Since we decode data URLs locally there is no associated resource load on WebKit side.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192458 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (r190370): CrashTracer: [USER] com.apple.WebKit.WebContent at com.apple...
msaboff@apple.com [Sat, 14 Nov 2015 21:13:02 +0000 (21:13 +0000)]
REGRESSION (r190370): CrashTracer: [USER] com.apple.WebKit.WebContent at com.apple.JavaScriptCore: JSC::JITCode::execute + 158
https://bugs.webkit.org/show_bug.cgi?id=151279

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

We need to restore callee saves even when we take the slow path in a polymorphic call stub.
Move the restoration to the top of the stub so that it is done for all paths.

* jit/Repatch.cpp:
(JSC::linkPolymorphicCall):

LayoutTests:

New regression test.

* js/regress-151279-expected.txt: Added.
* js/regress-151279.html: Added.
* js/script-tests/regress-151279.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192457 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAX: add a new trait for elements in fieldset on iOS
n_wang@apple.com [Sat, 14 Nov 2015 09:39:28 +0000 (09:39 +0000)]
AX: add a new trait for elements in fieldset on iOS
https://bugs.webkit.org/show_bug.cgi?id=151281

Reviewed by Chris Fleizach.

Source/WebCore:

Added a new trait for elements in the fieldset, so VoiceOver can speak the legend
information for those elements.

Test: accessibility/ios-simulator/fieldset-traits.html

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
(-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityFieldsetAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityTraitsFromAncestors]):

Tools:

* DumpRenderTree/AccessibilityUIElement.cpp:
(assistiveTechnologySimulatedFocusCallback):
(fieldsetAncestorElementCallback):
(childAtIndexCallback):
(getElementTextLengthCallback):
(hasContainedByFieldsetTraitCallback):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::elementTextLength):
(AccessibilityUIElement::hasContainedByFieldsetTrait):
(AccessibilityUIElement::fieldsetAncestorElement):
(AccessibilityUIElement::url):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::scrollPageDown):
(WTR::AccessibilityUIElement::scrollPageLeft):
(WTR::AccessibilityUIElement::scrollPageRight):
(WTR::AccessibilityUIElement::hasContainedByFieldsetTrait):
(WTR::AccessibilityUIElement::fieldsetAncestorElement):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::identifier):
(WTR::AccessibilityUIElement::hasContainedByFieldsetTrait):
(WTR::AccessibilityUIElement::fieldsetAncestorElement):
(WTR::AccessibilityUIElement::rowCount):

LayoutTests:

* accessibility/ios-simulator/fieldset-traits-expected.txt: Added.
* accessibility/ios-simulator/fieldset-traits.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192456 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoEliminate a request for layout every time an item is added to the stage of the graphi...
commit-queue@webkit.org [Sat, 14 Nov 2015 05:51:27 +0000 (05:51 +0000)]
Eliminate a request for layout every time an item is added to the stage of the graphics benchmark
https://bugs.webkit.org/show_bug.cgi?id=151289

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-11-13
Reviewed by Simon Fraser.

Cache the stage size when it is created instead of requesting every time
an object is added via clientWidth and clientHeight.

* Animometer/resources/extensions.js:
(Insets.elementPadding):
* Animometer/tests/resources/stage.js:
(Stage):
(Stage.prototype.get size):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192455 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, rolling out r192445, r192451, and r192452.
commit-queue@webkit.org [Sat, 14 Nov 2015 04:03:14 +0000 (04:03 +0000)]
Unreviewed, rolling out r192445, r192451, and r192452.
https://bugs.webkit.org/show_bug.cgi?id=151291

Broke Mavericks build (and thus EWS) (Requested by ap on
#webkit).

Reverted changesets:

"Add identifier strings for a bunch of context menu items"
https://bugs.webkit.org/show_bug.cgi?id=151272
http://trac.webkit.org/changeset/192445

"Try to fix the 32-bit build"
http://trac.webkit.org/changeset/192451

"Try to fix the 32-bit build"
http://trac.webkit.org/changeset/192452

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192454 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, rolling out r192416 and r192443.
commit-queue@webkit.org [Sat, 14 Nov 2015 01:18:58 +0000 (01:18 +0000)]
Unreviewed, rolling out r192416 and r192443.
https://bugs.webkit.org/show_bug.cgi?id=151285

Broke 32-bit in some mysterious way I need to understand
(Requested by kling on #webkit).

Reverted changesets:

"[JSC] JSPropertyNameEnumerator could be destructorless."
https://bugs.webkit.org/show_bug.cgi?id=151242
http://trac.webkit.org/changeset/192416

"Follow-up for 32-bit test failures after..."
https://bugs.webkit.org/show_bug.cgi?id=151242
http://trac.webkit.org/changeset/192443

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192453 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoTry to fix the 32-bit build
timothy_horton@apple.com [Sat, 14 Nov 2015 00:56:22 +0000 (00:56 +0000)]
Try to fix the 32-bit build

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::createShareMenuItem):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192452 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoTry to fix the 32-bit build
timothy_horton@apple.com [Sat, 14 Nov 2015 00:41:59 +0000 (00:41 +0000)]
Try to fix the 32-bit build

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::menuItemIdentifier):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192451 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, rolling out r192401.
commit-queue@webkit.org [Sat, 14 Nov 2015 00:40:54 +0000 (00:40 +0000)]
Unreviewed, rolling out r192401.
https://bugs.webkit.org/show_bug.cgi?id=151282

"caused crashes on animometer" (Requested by thorton on
#webkit).

Reverted changeset:

"Restore CodeBlock jettison code I accidentally removed"
https://bugs.webkit.org/show_bug.cgi?id=151241
http://trac.webkit.org/changeset/192401

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192450 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, change JavaScriptCore watchlist to exclude inspector things.
keith_miller@apple.com [Sat, 14 Nov 2015 00:30:58 +0000 (00:30 +0000)]
Unreviewed, change JavaScriptCore watchlist to exclude inspector things.

* Scripts/webkitpy/common/config/watchlist:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192449 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWK2 iOS interaction tests in LayoutTests/fast/events/ios are flaky
wenson_hsieh@apple.com [Sat, 14 Nov 2015 00:05:04 +0000 (00:05 +0000)]
WK2 iOS interaction tests in LayoutTests/fast/events/ios are flaky
https://bugs.webkit.org/show_bug.cgi?id=151199
<rdar://problem/23518459>

Reviewed by Tim Horton.

While transforming touch positions from document to global coordinates, HIDEventGenerator
sometimes uses an old scale of the webview in computing the transformed position. This happens
in spite of how we force the UI script to run after the UI process receives a layer tree commit
because we invoke the callback before calling WebPageProxy::didCommitLayerTree, which is where
we actually use the layer transaction information to update the WKWebView.

To fix this, we run the drawing-ensured callbacks after committing the layer tree, so the
callbacks will have updated information about the web view's scale and dimensions.

* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192448 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSupport printing in WKWebView
timothy_horton@apple.com [Sat, 14 Nov 2015 00:00:56 +0000 (00:00 +0000)]
Support printing in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=151276
<rdar://problem/23525715>

Reviewed by Beth Dakin.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _printOperationWithPrintInfo:]):
(-[WKWebView _printOperationWithPrintInfo:forFrame:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
Expose SPI similar to what we have on WKView.

* MiniBrowser/mac/MainMenu.xib:
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController printWebView:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController printWebView:]):
Hook up printing to Minibrowser!

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192447 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFollow-up to r192437. Add availability macros.
joepeck@webkit.org [Fri, 13 Nov 2015 23:47:01 +0000 (23:47 +0000)]
Follow-up to r192437. Add availability macros.

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebViewPrivate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192446 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd identifier strings for a bunch of context menu items
andersca@apple.com [Fri, 13 Nov 2015 23:37:39 +0000 (23:37 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192445 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAlways render at least a device pixel line when border/outline width > 0.
zalan@apple.com [Fri, 13 Nov 2015 23:11:43 +0000 (23:11 +0000)]
Always render at least a device pixel line when border/outline width > 0.
https://bugs.webkit.org/show_bug.cgi?id=151269

This matches Firefox behaviour.

Reviewed by Simon Fraser.

Source/WebCore:

Existing test is modified to reflect the new behaviour.

* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertLineWidth):
* rendering/BorderEdge.cpp:
(WebCore::BorderEdge::BorderEdge): Deleted.
* rendering/BorderEdge.h:

LayoutTests:

* fast/borders/hidpi-border-width-flooring-expected.html:
* fast/borders/hidpi-border-width-flooring.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192444 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFollow-up for 32-bit test failures after...
akling@apple.com [Fri, 13 Nov 2015 22:16:47 +0000 (22:16 +0000)]
Follow-up for 32-bit test failures after...
[JSC] JSPropertyNameEnumerator could be destructorless.
<https://webkit.org/b/151242>

Reviewed by Mark Lam

Apparently copied space allocations need to be in multiples of 8 bytes.
Have JSPropertyNameEnumerator do what other copied space clients already do
and round the allocation size up to a multiple of 8.

Added a little helper function to compute the allocation size so this doesn't
have to be repeated everywhere.

* runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::finishCreation):
(JSC::JSPropertyNameEnumerator::visitChildren):
(JSC::JSPropertyNameEnumerator::copyBackingStore):
* runtime/JSPropertyNameEnumerator.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192443 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[WinCairo][MediaFoundation] Video rendered at wrong position.
peavo@outlook.com [Fri, 13 Nov 2015 21:49:51 +0000 (21:49 +0000)]
[WinCairo][MediaFoundation] Video rendered at wrong position.
https://bugs.webkit.org/show_bug.cgi?id=151271

Reviewed by Alex Christensen.

The source rectangle used when blitting a frame to the graphics context
should have offset (0, 0).

* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192441 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agosub IC does not properly handle exception handling now that try/catch is compiled...
sbarati@apple.com [Fri, 13 Nov 2015 21:36:18 +0000 (21:36 +0000)]
sub IC does not properly handle exception handling now that try/catch is compiled in the FTL
https://bugs.webkit.org/show_bug.cgi?id=151080

Reviewed by Geoffrey Garen.

This patch implements proper exception handling for ArithSubs with binaryUseKind as
UntypedUse inside try/catch.  We implement this in a very similar way as we implement
exception handling from GetById/PutById/LazySlowPaths callOperation calls. We do the needed
spilling if the result is the same register as the left/right register because in the event
of an exception, we don't want to do value recovery on the garbage result, we
want to do it on the original lhs/rhs of the operation.

This patch also does some refactoring. No longer does OSRExitDescriptor
have a long list of booleans that correspond to different OSR exit types.
It now just has an enum property called ExceptionType that tells us
what type of exception handler the OSR exit is. Then, we can just ask
interesting questions about the OSR exit and get answers based on its
ExceptionType property.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLExceptionHandlerManager.cpp:
(JSC::FTL::ExceptionHandlerManager::addNewExit):
(JSC::FTL::ExceptionHandlerManager::callOperationExceptionTarget):
(JSC::FTL::ExceptionHandlerManager::lazySlowPathExceptionTarget):
(JSC::FTL::ExceptionHandlerManager::getByIdOSRExit):
(JSC::FTL::ExceptionHandlerManager::subOSRExit):
(JSC::FTL::ExceptionHandlerManager::getCallOSRExitCommon):
(JSC::FTL::ExceptionHandlerManager::getOrPutByIdCallOperationExceptionTarget): Deleted.
* ftl/FTLExceptionHandlerManager.h:
* ftl/FTLExitThunkGenerator.cpp:
(JSC::FTL::ExitThunkGenerator::emitThunk):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::lower):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutById):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstruct):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstructVarargs):
(JSC::FTL::DFG::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::DFG::LowerDFGToLLVM::getById):
(JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath):
(JSC::FTL::DFG::LowerDFGToLLVM::callCheck):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitArgumentsForPatchpointIfWillCatchException):
(JSC::FTL::DFG::LowerDFGToLLVM::emitBranchToOSRExitIfWillCatchException):
(JSC::FTL::DFG::LowerDFGToLLVM::lowBlock):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitDescriptor):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::DFG::LowerDFGToLLVM::buildExitArguments):
* ftl/FTLOSRExit.cpp:
(JSC::FTL::OSRExitDescriptor::OSRExitDescriptor):
(JSC::FTL::OSRExitDescriptor::willArriveAtExitFromIndirectExceptionCheck):
(JSC::FTL::OSRExitDescriptor::mightArriveAtOSRExitFromGenericUnwind):
(JSC::FTL::OSRExitDescriptor::mightArriveAtOSRExitFromCallOperation):
(JSC::FTL::OSRExitDescriptor::needsRegisterRecoveryOnGenericUnwindOSRExitPath):
(JSC::FTL::OSRExitDescriptor::isExceptionHandler):
(JSC::FTL::OSRExitDescriptor::validateReferences):
(JSC::FTL::OSRExit::OSRExit):
(JSC::FTL::OSRExit::codeLocationForRepatch):
(JSC::FTL::OSRExit::gatherRegistersToSpillForCallIfException):
(JSC::FTL::OSRExit::spillRegistersToSpillSlot):
(JSC::FTL::OSRExit::recoverRegistersFromSpillSlot):
* ftl/FTLOSRExit.h:
* ftl/FTLOSRExitCompilationInfo.h:
(JSC::FTL::OSRExitCompilationInfo::OSRExitCompilationInfo):
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileFTLOSRExit):
* tests/stress/ftl-try-catch-arith-sub-exception.js: Added.
(assert):
(let.o.valueOf):
(baz):
(foo):
(bar):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192439 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWeb Inspector: Provide a way to override the WKWebView remote inspector name
joepeck@webkit.org [Fri, 13 Nov 2015 19:46:28 +0000 (19:46 +0000)]
Web Inspector: Provide a way to override the WKWebView remote inspector name
https://bugs.webkit.org/show_bug.cgi?id=151075

Reviewed by Tim Horton.

Source/WebCore:

* page/Page.cpp:
(WebCore::Page::remoteInspectionNameOverride):
(WebCore::Page::setRemoteInspectionNameOverride):
* page/Page.h:
* page/PageDebuggable.cpp:
(WebCore::PageDebuggable::name):
(WebCore::PageDebuggable::setNameOverride):
* page/PageDebuggable.h:

Source/WebKit2:

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _remoteInspectionNameOverride]):
(-[WKWebView _setRemoteInspectionNameOverride:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setRemoteInspectionNameOverride):
(WebKit::WebPageProxy::creationParameters):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::remoteInspectionNameOverride):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_shouldDispatchFakeMouseMoveEvents):
(WebKit::WebPage::setRemoteInspectionNameOverride):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192437 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAllow any LeftHandSideExpression as a valid AssignmentElement
commit-queue@webkit.org [Fri, 13 Nov 2015 19:13:39 +0000 (19:13 +0000)]
Allow any LeftHandSideExpression as a valid AssignmentElement
https://bugs.webkit.org/show_bug.cgi?id=151026

Patch by Caitlin Potter <caitpotter88@gmail.com> on 2015-11-13
Reviewed by Geoffrey Garen.

* bytecompiler/NodesCodegen.cpp:
(JSC::AssignmentElementNode::collectBoundIdentifiers):
(JSC::AssignmentElementNode::bindValue):
(JSC::AssignmentElementNode::toString):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::isAssignmentLocation):
(JSC::ASTBuilder::createAssignmentElement):
* parser/NodeConstructors.h:
(JSC::AssignmentElementNode::AssignmentElementNode):
* parser/Nodes.h:
(JSC::AssignmentElementNode::assignmentTarget):
(JSC::AssignmentElementNode::divotStart):
(JSC::AssignmentElementNode::divotEnd):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::createAssignmentElement):
(JSC::Parser<LexerType>::parseDestructuringPattern):
* parser/Parser.h:
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::operatorStackPop):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192436 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[GTK] GTK gardening.
clopez@igalia.com [Fri, 13 Nov 2015 19:10:23 +0000 (19:10 +0000)]
[GTK] GTK gardening.

Unreviewed.

* platform/gtk/TestExpectations: Update the expectation for a renamed
test and mark as failing some of the tests from imported/blink.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192435 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoop_assert should declare that it uses the first register argument
utatane.tea@gmail.com [Fri, 13 Nov 2015 18:52:03 +0000 (18:52 +0000)]
op_assert should declare that it uses the first register argument
https://bugs.webkit.org/show_bug.cgi?id=151183

Reviewed by Geoffrey Garen.

op_assert(conditionRegister, lineNumber) should declare that it
*uses* (in terms of use-def) the first `conditionRegister` and
it does not define any variables.

* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192434 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoElement::focus() should acquire the ownership of Frame.
jiewen_tan@apple.com [Fri, 13 Nov 2015 18:36:31 +0000 (18:36 +0000)]
Element::focus() should acquire the ownership of Frame.
https://bugs.webkit.org/show_bug.cgi?id=150204
<rdar://problem/23136794>

Reviewed by Brent Fulgham.

Source/WebCore:

The FrameSelection::setSelection method sometimes releases the last reference to a frame.
When this happens, the Element::updateFocusAppearance would attempt to use dereferenced memory.
Instead, we should ensure that the Frame lifetime is guaranteed to extend through the duration
of the method call.

Test: editing/selection/focus-iframe-removal-crash.html

* dom/Element.cpp:
(WebCore::Element::updateFocusAppearance):

LayoutTests:

* editing/selection/focus-iframe-removal-crash-expected.txt: Added.
* editing/selection/focus-iframe-removal-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192433 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoHardware keyboard spacebar scrolls too far on iOS
timothy_horton@apple.com [Fri, 13 Nov 2015 18:11:42 +0000 (18:11 +0000)]
Hardware keyboard spacebar scrolls too far on iOS
https://bugs.webkit.org/show_bug.cgi?id=151227
<rdar://problem/23500681>

Reviewed by Simon Fraser.

There were two bugs conspiring here to make spacebar scrolling very wrong on iOS:

1) Incoming key events were being handled twice
    - fix this by only propagating the event to super if we don't
    end up handling the event ourselves

2) _scrollByOffset was not converting the offset delta out of content coordinates
    - fix this by doing the relevant conversion and renaming the function
    to make it more clear exactly what it does

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _scrollByContentOffset:]):
(-[WKWebView _scrollByOffset:]): Deleted.
* UIProcess/API/Cocoa/WKWebViewInternal.h:
Rename to _scrollByContentOffset to make it clear that this is
in content coordinates, and do the conversion from content coordinates
(apply the scale) so that we scroll by the right amount.

* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::doneWithKeyEvent):
Pass whether the event was handled through to WKContentView.

* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKWebEvent dealloc]):
Add WKWebEvent, which is a WebEvent and retains a reference to the UIEvent
from which it came.

(-[WKContentView _handleKeyUIEvent:]):
Only pass the event to super immediately if we don't try to handle it.
We'll re-send it to super asynchronously if we decide not to handle it.

(-[WKContentView handleKeyEvent:]):
If we're in the middle of resending an event we didn't handle the first
time, just ignore it.

Make a WKWebEvent and store the UIEvent on it.

(-[WKContentView _didHandleKeyEvent:eventWasHandled:]):
If the event wasn't handled, and is one of our special events with a
wrapped UIEvent, resend it to super. We'll ignore it as noted above.

(-[WKContentView _interpretKeyEvent:isCharEvent:]):
Factor out unobscured content rect retrieval.
Make use of Scrollbar::pageStep to match the Mac behavior of not
scrolling quite a whole page when scrolling with the spacebar.

* fast/events/ios/keyboard-scrolling-distance-expected.txt: Added.
* fast/events/ios/keyboard-scrolling-distance.html: Added.
Add a test that records how much we scroll when pressing the spacebar.
The test is at a fixed scale of 1.5 to expose the bug fixed by this patch.

* WebKitTestRunner/UIScriptContext/Bindings/UIScriptController.idl:
* WebKitTestRunner/UIScriptContext/UIScriptContext.h:
* WebKitTestRunner/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setDidEndScrollingCallback):
(WTR::UIScriptController::didEndScrollingCallback):
(WTR::UIScriptController::platformSetDidEndScrollingCallback):
* WebKitTestRunner/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView dealloc]):
(-[TestRunnerWKWebView _didFinishScrolling]):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::platformSetDidEndScrollingCallback):
(WTR::UIScriptController::platformClearAllCallbacks):
Expose _didFinishScrolling on WKWebView to the UIScriptController.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192432 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Win] Unreviewed test fix.
bfulgham@apple.com [Fri, 13 Nov 2015 18:08:15 +0000 (18:08 +0000)]
[Win] Unreviewed test fix.

* Scripts/webkitpy/port/win.py:
(WinPort.results_directory): Our 'results_directory' should be an absolute path (even when not
using Cygwin), but should be in DOS format for non-Cygwin clients.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192431 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemoving a deleted test from mac-wk2 test expectations.
ryanhaddad@apple.com [Fri, 13 Nov 2015 17:56:23 +0000 (17:56 +0000)]
Removing a deleted test from mac-wk2 test expectations.
https://bugs.webkit.org/show_bug.cgi?id=151103

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192430 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[JSC] JSPropertyNameEnumerator could be destructorless.
akling@apple.com [Fri, 13 Nov 2015 15:59:27 +0000 (15:59 +0000)]
[JSC] JSPropertyNameEnumerator could be destructorless.
<https://webkit.org/b/151242>

Reviewed by Mark Lam.

Make JSPropertyNameEnumerator destructorless and have it store the property names
cache in CopiedSpace. This was the most popular occupant of 64-byte destructor cells
in MarkedSpace, so making it destructorless gets rid of some ill-filled MarkedBlocks.

* heap/CopyToken.h:
* runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::finishCreation):
(JSC::JSPropertyNameEnumerator::visitChildren):
(JSC::JSPropertyNameEnumerator::copyBackingStore):
(JSC::JSPropertyNameEnumerator::destroy): Deleted.
* runtime/JSPropertyNameEnumerator.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192416 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[css-grid] Fix swap-lines-if-start-is-further-endward-than-end-line.html
svillar@igalia.com [Fri, 13 Nov 2015 12:50:42 +0000 (12:50 +0000)]
[css-grid] Fix swap-lines-if-start-is-further-endward-than-end-line.html
https://bugs.webkit.org/show_bug.cgi?id=151257

Reviewed by Mario Sanchez Prada.

I forgot to add a link to resources/grid.css stylesheet when I
added this test so it was not actually testing Grid Layout
code.

* fast/css-grid-layout/swap-lines-if-start-is-further-endward-than-end-line-expected.html:
* fast/css-grid-layout/swap-lines-if-start-is-further-endward-than-end-line.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[css-grid] Remove unused GridResolvedPosition constructor
svillar@igalia.com [Fri, 13 Nov 2015 12:48:00 +0000 (12:48 +0000)]
[css-grid] Remove unused GridResolvedPosition constructor
https://bugs.webkit.org/show_bug.cgi?id=151133

Reviewed by Mario Sanchez Prada.

No new tests required, just deleting dead code.

* rendering/style/GridResolvedPosition.cpp:
(WebCore::GridResolvedPosition::GridResolvedPosition): Deleted.
* rendering/style/GridResolvedPosition.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192414 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoASSERTION FAILED: m_isEngaged in WTF::Optional::value
svillar@igalia.com [Fri, 13 Nov 2015 11:13:42 +0000 (11:13 +0000)]
ASSERTION FAILED: m_isEngaged in WTF::Optional::value
https://bugs.webkit.org/show_bug.cgi?id=151094

Reviewed by Darin Adler.

Source/WebCore:

That ASSERT was hit because the precondition was incorrectly
met, i.e., we're considering that the main axis length was
definite when it was actually not. The problem is that to
determine whether it was indefinite or not we're using
RenderBox::hasDefiniteLogicalHeight() which did not perfectly
match RenderBox::computePercentageLogicalHeight() for the case
of RenderTables. So computePercentageLogicalHeight() was
returning Nullopt (i.e. indefinite) while
hasDefiniteLogicalHeight() was returning true (so definite).

Some checks were refactored in a helper function to solve the
inconsistency so that both functions behave the same way even
in this particular situation.

Test: css3/flexbox/inline-flex-percentage-height-in-table-crash.html

* rendering/RenderBox.cpp:
(WebCore::tableCellShouldHaveZeroInitialSize):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::percentageLogicalHeightIsResolvable):
(WebCore::RenderBox::percentageLogicalHeightIsResolvableFromBlock):
* rendering/RenderBox.h:

LayoutTests:

* css3/flexbox/inline-flex-percentage-height-in-table-crash-expected.txt: Added.
* css3/flexbox/inline-flex-percentage-height-in-table-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192413 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, really fix the Mac CMake build after r192376.
ossy@webkit.org [Fri, 13 Nov 2015 10:47:32 +0000 (10:47 +0000)]
Unreviewed, really fix the Mac CMake build after r192376.

* PlatformMac.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192412 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, fix the Mac CMake build after r192376.
ossy@webkit.org [Fri, 13 Nov 2015 10:43:19 +0000 (10:43 +0000)]
Unreviewed, fix the Mac CMake build after r192376.

* PlatformMac.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192411 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[EFL] Fix wrong test case for window_create since r192196
ryuan.choi@navercorp.com [Fri, 13 Nov 2015 07:57:02 +0000 (07:57 +0000)]
[EFL] Fix wrong test case for window_create since r192196
https://bugs.webkit.org/show_bug.cgi?id=151247

Reviewed by Gyuyoung Kim.

r192196 introduces new test cases for window_create but there are typos which hide bug
This patch fixes typos and split ewk_view_create_window test case.

* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192410 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[JSC] Do not generate an Add when adding a zero immediate to something
commit-queue@webkit.org [Fri, 13 Nov 2015 06:13:11 +0000 (06:13 +0000)]
[JSC] Do not generate an Add when adding a zero immediate to something
https://bugs.webkit.org/show_bug.cgi?id=151171

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-12
Reviewed by Geoffrey Garen.

Avoid generating an add if one of arguments is a zero immediate.

On x86, the add32/64() were also used internally for branchAdd32/64.
I split the code that sets flag to add32AndSetFlags() to make sure
we always force the flags before testing.

I could have used CMp to set the flags but I would gain nothing from
that, cmp is just a SUB.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::add32):
(JSC::MacroAssemblerARM64::add64):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::add32):
* assembler/MacroAssemblerX86.h:
(JSC::MacroAssemblerX86::add32):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::add32):
(JSC::MacroAssemblerX86Common::branchAdd32):
(JSC::MacroAssemblerX86Common::add32AndSetFlags):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::add32):
(JSC::MacroAssemblerX86_64::add64):
(JSC::MacroAssemblerX86_64::branchAdd64):
(JSC::MacroAssemblerX86_64::add64AndSetFlags):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192409 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWeb Inspector: Deleting a probe should remove probe breakpoint actions only.
mattbaker@apple.com [Fri, 13 Nov 2015 06:03:21 +0000 (06:03 +0000)]
Web Inspector: Deleting a probe should remove probe breakpoint actions only.
https://bugs.webkit.org/show_bug.cgi?id=151245

Reviewed by Brian Burg.

Fixed breakpoint action filter.

* UserInterface/Models/Breakpoint.js:
(WebInspector.Breakpoint.prototype.clearActions):
Missing return in named function expression.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192408 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFollow up to the previous change
timothy_horton@apple.com [Fri, 13 Nov 2015 03:37:39 +0000 (03:37 +0000)]
Follow up to the previous change

* platform/spi/cocoa/QuartzCoreSPI.h:
Somehow this escaped.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192405 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoTry to fix the Watch/TV build
timothy_horton@apple.com [Fri, 13 Nov 2015 03:35:16 +0000 (03:35 +0000)]
Try to fix the Watch/TV build

* platform/spi/cocoa/QuartzCoreSPI.h:
Be more accurate about where we need these.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192404 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRestore CodeBlock jettison code I accidentally removed
ggaren@apple.com [Fri, 13 Nov 2015 02:53:52 +0000 (02:53 +0000)]
Restore CodeBlock jettison code I accidentally removed
https://bugs.webkit.org/show_bug.cgi?id=151241

Reviewed by Andreas Kling.

I meant to add this back in <http://trac.webkit.org/changeset/190827>
but I missed.

* bytecode/CodeBlock.cpp:
(JSC::timeToLive):
(JSC::CodeBlock::shouldJettisonDueToOldAge):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192401 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoB3 should be able to compile programs with CheckAdd, CheckSub, and CheckMul
fpizlo@apple.com [Fri, 13 Nov 2015 01:30:21 +0000 (01:30 +0000)]
B3 should be able to compile programs with CheckAdd, CheckSub, and CheckMul
https://bugs.webkit.org/show_bug.cgi?id=151213

Reviewed by Benjamin Poulain.

This adds lowering code for CheckAdd, CheckSub, and CheckMul along with support for CheckNeg
(i.e. CheckSub with the left child being zero).

This adds tests for these things, by simulating what JS would do: if there is overflow, revert
to double math. To write the test, I needed support for IToD so I added that support.

This also fixes a memory corruption bug in the register allocator.

Also fixes a bug in opcode_generator.rb where we were emitting stray "return" statements inside
switch statements. I think this was benign, but I'm not sure, so I fixed it.

Note that I had to convert CheckMul handling to always use a three-operand form. That's because
there is no other way to tell Air that we need the original value alive. This means that on X86
we'll emit an extra Move just before the checked mul. That's probably fine since that's
necessary anyway.

* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::branchMul64):
(JSC::MacroAssemblerX86_64::branchSub64):
* b3/B3CheckSpecial.cpp:
(JSC::B3::CheckSpecial::generate):
* b3/B3Const32Value.cpp:
(JSC::B3::Const32Value::mulConstant):
(JSC::B3::Const32Value::checkAddConstant):
(JSC::B3::Const32Value::checkSubConstant):
(JSC::B3::Const32Value::checkMulConstant):
(JSC::B3::Const32Value::divConstant):
* b3/B3Const32Value.h:
* b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::mulConstant):
(JSC::B3::Const64Value::checkAddConstant):
(JSC::B3::Const64Value::checkSubConstant):
(JSC::B3::Const64Value::checkMulConstant):
(JSC::B3::Const64Value::divConstant):
* b3/B3Const64Value.h:
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::appendUnOp):
(JSC::B3::Air::LowerToAir::ensureSpecial):
(JSC::B3::Air::LowerToAir::ensureCheckSpecial):
(JSC::B3::Air::LowerToAir::fillStackmap):
(JSC::B3::Air::LowerToAir::lower):
* b3/B3ReduceStrength.cpp:
* b3/B3Value.cpp:
(JSC::B3::Value::mulConstant):
(JSC::B3::Value::checkAddConstant):
(JSC::B3::Value::checkSubConstant):
(JSC::B3::Value::checkMulConstant):
(JSC::B3::Value::divConstant):
* b3/B3Value.h:
* b3/air/AirIteratedRegisterCoalescing.cpp:
(JSC::B3::Air::iteratedRegisterCoalescing):
* b3/air/AirOpcode.opcodes:
* b3/air/opcode_generator.rb:
* b3/testb3.cpp:
(JSC::B3::testCheckMegaCombo):
(JSC::B3::testCheckAddImm):
(JSC::B3::testCheckAdd):
(JSC::B3::testCheckAdd64):
(JSC::B3::testCheckAddFold):
(JSC::B3::testCheckAddFoldFail):
(JSC::B3::testCheckSubImm):
(JSC::B3::testCheckSub):
(JSC::B3::doubleSub):
(JSC::B3::testCheckSub64):
(JSC::B3::testCheckSubFold):
(JSC::B3::testCheckSubFoldFail):
(JSC::B3::testCheckNeg):
(JSC::B3::testCheckNeg64):
(JSC::B3::testCheckMul):
(JSC::B3::testCheckMul64):
(JSC::B3::testCheckMulFold):
(JSC::B3::testCheckMulFoldFail):
(JSC::B3::genericTestCompare):
(JSC::B3::run):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192400 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd my apple.com email address to contributors.json
dbates@webkit.org [Fri, 13 Nov 2015 01:00:09 +0000 (01:00 +0000)]
Add my apple.com email address to contributors.json

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192399 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agowebkitpy: Remove extraneous word "the" from the description of command attach-to-bug
dbates@webkit.org [Fri, 13 Nov 2015 00:54:49 +0000 (00:54 +0000)]
webkitpy: Remove extraneous word "the" from the description of command attach-to-bug

* Scripts/webkitpy/tool/commands/upload.py:
(AttachToBug):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192398 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd a context menu delegate method that takes a userInfo parameter
andersca@apple.com [Fri, 13 Nov 2015 00:49:17 +0000 (00:49 +0000)]
Add a context menu delegate method that takes a userInfo parameter
https://bugs.webkit.org/show_bug.cgi?id=151232

Reviewed by Tim Horton.

* UIProcess/API/APIContextMenuClient.h:
(API::ContextMenuClient::menuFromProposedMenu):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::showContextMenu):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192397 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoModern IDB: Pipe through cursor functions from client to server.
beidson@apple.com [Fri, 13 Nov 2015 00:24:11 +0000 (00:24 +0000)]
Modern IDB: Pipe through cursor functions from client to server.
https://bugs.webkit.org/show_bug.cgi?id=151197

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/cursor-1.html
       storage/indexeddb/modern/opencursor-failures.html

This patch implements most IDBCursor considerations at the IDL level, as well as pipes the
appropriate messages through from client to server.

All operations currently end in errors. Bug 151196 will fix that by making cursors functional.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBCursor.h:
(WebCore::IDBCursor::isKeyCursor): Deleted.
* Modules/indexeddb/IDBCursorWithValue.h:

* Modules/indexeddb/IDBGetResult.h:

* Modules/indexeddb/IDBKeyData.h:
(WebCore::IDBKeyData::string):
(WebCore::IDBKeyData::date):
(WebCore::IDBKeyData::number):
(WebCore::IDBKeyData::array):

* Modules/indexeddb/IndexedDB.h:

* Modules/indexeddb/client/IDBAnyImpl.cpp:
(WebCore::IDBClient::IDBAny::IDBAny):
(WebCore::IDBClient::IDBAny::idbCursor):
(WebCore::IDBClient::IDBAny::idbCursorWithValue):
(WebCore::IDBClient::IDBAny::idbIndex):
(WebCore::IDBClient::IDBAny::idbObjectStore):
(WebCore::IDBClient::IDBAny::modernIDBCursor):
* Modules/indexeddb/client/IDBAnyImpl.h:
(WebCore::IDBClient::IDBAny::create):

* Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::openCursor):
(WebCore::IDBClient::IDBConnectionToServer::didOpenCursor):
(WebCore::IDBClient::IDBConnectionToServer::iterateCursor):
(WebCore::IDBClient::IDBConnectionToServer::didIterateCursor):
* Modules/indexeddb/client/IDBConnectionToServer.h:
* Modules/indexeddb/client/IDBConnectionToServerDelegate.h:

* Modules/indexeddb/client/IDBCursorImpl.cpp:
(WebCore::IDBClient::IDBCursor::create):
(WebCore::IDBClient::IDBCursor::IDBCursor):
(WebCore::IDBClient::IDBCursor::sourcesDeleted):
(WebCore::IDBClient::IDBCursor::effectiveObjectStore):
(WebCore::IDBClient::IDBCursor::transaction):
(WebCore::IDBClient::IDBCursor::direction):
(WebCore::IDBClient::IDBCursor::key):
(WebCore::IDBClient::IDBCursor::primaryKey):
(WebCore::IDBClient::IDBCursor::value):
(WebCore::IDBClient::IDBCursor::source):
(WebCore::IDBClient::IDBCursor::update):
(WebCore::IDBClient::IDBCursor::advance):
(WebCore::IDBClient::IDBCursor::continueFunction):
(WebCore::IDBClient::IDBCursor::uncheckedIteratorCursor):
(WebCore::IDBClient::IDBCursor::deleteFunction):
(WebCore::IDBClient::IDBCursor::setGetResult):
* Modules/indexeddb/client/IDBCursorImpl.h:
(WebCore::IDBClient::IDBCursor::info):
(WebCore::IDBClient::IDBCursor::setRequest):
(WebCore::IDBClient::IDBCursor::clearRequest):
(WebCore::IDBClient::IDBCursor::request):

* Modules/indexeddb/client/IDBCursorWithValueImpl.cpp:
(WebCore::IDBClient::IDBCursorWithValue::create):
(WebCore::IDBClient::IDBCursorWithValue::IDBCursorWithValue):
(WebCore::IDBClient::IDBCursorWithValue::~IDBCursorWithValue):
* Modules/indexeddb/client/IDBCursorWithValueImpl.h:

* Modules/indexeddb/client/IDBIndexImpl.cpp:
(WebCore::IDBClient::IDBIndex::openCursor):
(WebCore::IDBClient::IDBIndex::openKeyCursor):
* Modules/indexeddb/client/IDBIndexImpl.h:
(WebCore::IDBClient::IDBIndex::modernObjectStore):
(WebCore::IDBClient::IDBIndex::isDeleted):

* Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
(WebCore::IDBClient::IDBObjectStore::openCursor):
(WebCore::IDBClient::IDBObjectStore::deleteFunction):
* Modules/indexeddb/client/IDBObjectStoreImpl.h:

* Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::create):
(WebCore::IDBClient::IDBRequest::IDBRequest):
(WebCore::IDBClient::IDBRequest::~IDBRequest):
(WebCore::IDBClient::IDBRequest::source):
(WebCore::IDBClient::IDBRequest::resultCursor):
(WebCore::IDBClient::IDBRequest::willIterateCursor):
(WebCore::IDBClient::IDBRequest::didOpenOrIterateCursor):
(WebCore::IDBClient::IDBRequest::requestCompleted):
* Modules/indexeddb/client/IDBRequestImpl.h:
(WebCore::IDBClient::IDBRequest::modernResult):

* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::requestOpenCursor):
(WebCore::IDBClient::IDBTransaction::doRequestOpenCursor):
(WebCore::IDBClient::IDBTransaction::openCursorOnServer):
(WebCore::IDBClient::IDBTransaction::didOpenCursorOnServer):
(WebCore::IDBClient::IDBTransaction::iterateCursor):
(WebCore::IDBClient::IDBTransaction::iterateCursorOnServer):
(WebCore::IDBClient::IDBTransaction::didIterateCursorOnServer):
* Modules/indexeddb/client/IDBTransactionImpl.h:

* Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::createTransactionOperation):

* Modules/indexeddb/legacy/LegacyCursor.cpp:
(WebCore::LegacyCursor::source):
* Modules/indexeddb/legacy/LegacyCursor.h:
(WebCore::LegacyCursor::continueFunction): Deleted.
(WebCore::LegacyCursor::isKeyCursor): Deleted.
* Modules/indexeddb/legacy/LegacyCursorWithValue.h:

* Modules/indexeddb/server/IDBBackingStore.h:

* Modules/indexeddb/server/IDBConnectionToClient.cpp:
(WebCore::IDBServer::IDBConnectionToClient::didOpenCursor):
(WebCore::IDBServer::IDBConnectionToClient::didIterateCursor):
* Modules/indexeddb/server/IDBConnectionToClient.h:
* Modules/indexeddb/server/IDBConnectionToClientDelegate.h:

* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::openCursor):
(WebCore::IDBServer::IDBServer::iterateCursor):
* Modules/indexeddb/server/IDBServer.h:

* Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::openCursor):
(WebCore::IDBServer::MemoryIDBBackingStore::iterateCursor):
* Modules/indexeddb/server/MemoryIDBBackingStore.h:

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::openCursor):
(WebCore::IDBServer::UniqueIDBDatabase::performOpenCursor):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformOpenCursor):
(WebCore::IDBServer::UniqueIDBDatabase::iterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::performIterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformIterateCursor):
* Modules/indexeddb/server/UniqueIDBDatabase.h:

* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::openCursor):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::iterateCursor):
* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:

* Modules/indexeddb/shared/IDBCursorInfo.cpp: Added.
(WebCore::IDBCursorInfo::objectStoreCursor):
(WebCore::IDBCursorInfo::indexCursor):
(WebCore::IDBCursorInfo::IDBCursorInfo):
(WebCore::IDBCursorInfo::isDirectionForward):
(WebCore::IDBCursorInfo::isolatedCopy):
* Modules/indexeddb/shared/IDBCursorInfo.h: Added.
(WebCore::IDBCursorInfo::identifier):
(WebCore::IDBCursorInfo::sourceIdentifier):
(WebCore::IDBCursorInfo::cursorSource):
(WebCore::IDBCursorInfo::cursorDirection):
(WebCore::IDBCursorInfo::cursorType):

* Modules/indexeddb/shared/IDBResultData.cpp:
(WebCore::IDBResultData::openCursorSuccess):
(WebCore::IDBResultData::iterateCursorSuccess):
* Modules/indexeddb/shared/IDBResultData.h:

* Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::didOpenCursor):
(WebCore::InProcessIDBServer::didIterateCursor):
(WebCore::InProcessIDBServer::openCursor):
(WebCore::InProcessIDBServer::iterateCursor):
* Modules/indexeddb/shared/InProcessIDBServer.h:

* bindings/js/IDBBindingUtilities.cpp:
(WebCore::idbKeyDataToJSValue):
* bindings/js/IDBBindingUtilities.h:

* platform/CrossThreadCopier.cpp:
(WebCore::IDBCursorInfo>::copy):
* platform/CrossThreadCopier.h:

LayoutTests:

* storage/indexeddb/modern/cursor-1-expected.txt: Added.
* storage/indexeddb/modern/cursor-1.html: Added.
* storage/indexeddb/modern/opencursor-failures-expected.txt: Added.
* storage/indexeddb/modern/opencursor-failures.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192396 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Win] webkitpy is applying abspath to DOS paths, yielding invalid paths
bfulgham@apple.com [Fri, 13 Nov 2015 00:21:13 +0000 (00:21 +0000)]
[Win] webkitpy is applying abspath to DOS paths, yielding invalid paths
https://bugs.webkit.org/show_bug.cgi?id=151156

Reviewed by Anders Carlsson.

My earlier patch was incomplete. There are some Python libraries that want
to receive UNIX style paths, even though all of our applications and tools
use DOS paths. To handle this special case, we need to track a UNIX-style
absolute path that can be given to things like the Python socket server.

When we cut over to all-native Windows Python we can get rid of this
special case code.

* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.abspath): Add special code for Cygwin to convert a DOS-style
path into something Cygwin can use internally.
* Scripts/webkitpy/port/base.py:
(Port.results_directory): Remove custom Windows code. Instead, override
the method in the windows port object.
(Port.abs_results_directory): Add stub.
(Port.to.start_websocket_server): For Cygwin, use special cygwin absolute
path.
* Scripts/webkitpy/port/win.py:
(WinPort.__init__): Added to initialze new _abs_results_directory value.
(WinPort.abs_results_directory): Added,
(WinPort.results_directory): Modified to also create a value for
_abs_results_directory

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192395 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDelete PlatformMenuDescription.h
andersca@apple.com [Fri, 13 Nov 2015 00:15:35 +0000 (00:15 +0000)]
Delete PlatformMenuDescription.h
https://bugs.webkit.org/show_bug.cgi?id=151229

Reviewed by Beth Dakin.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* page/ContextMenuClient.h:
* platform/ContextMenu.h:
* platform/ContextMenuItem.h:
* platform/PlatformMenuDescription.h: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192394 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoContextMenuAction and WebMenuItemTag shouldn't have to be in sync
andersca@apple.com [Thu, 12 Nov 2015 23:55:49 +0000 (23:55 +0000)]
ContextMenuAction and WebMenuItemTag shouldn't have to be in sync
https://bugs.webkit.org/show_bug.cgi?id=151226

Reviewed by Tim Horton.

Source/WebCore:

* page/ContextMenuController.cpp:
* platform/ContextMenuItem.h:
Remove now unneeded comments. Also, remove ContextMenuItemTagOpenLinkInThisWindow since it wasn't used by any of our remaining ports.

Source/WebKit/mac:

* WebView/WebHTMLView.mm:
(toAction):
(toTag):
Add conversion functions.

(-[WebMenuTarget forwardContextMenuAction:]):
Use toAction.

(createMenuItem):
Use toTag.

(setMenuItemTarget): Deleted.
(setMenuTargets): Deleted.
(-[WebHTMLView menuForEvent:]):
Don't call setMenuTargets, that's already done when we create the menu items.

* WebView/WebUIDelegatePrivate.h:
Add missing menu item tags. This does break ABI, but the menu item tags were already out of sync
so it's very likely that nobody is relying on this.

Source/WebKit2:

* Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
Remove ContextMenuItemTagOpenLinkInThisWindow.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192393 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoLayout Test js/regress/ftl-object-sub.html is flaky.
mark.lam@apple.com [Thu, 12 Nov 2015 23:50:10 +0000 (23:50 +0000)]
Layout Test js/regress/ftl-object-sub.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=150730

Reviewed by Benjamin Poulain.

Shorten test time by 10x.  Looks like we don't need it to run that long
after all.  This should fix the timeouts.  Also undid the test expectations.

* TestExpectations:
* js/regress/script-tests/ftl-object-sub.js:
(foo):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192392 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWeb Inspector: Reduce list of saved console messages
commit-queue@webkit.org [Thu, 12 Nov 2015 23:27:12 +0000 (23:27 +0000)]
Web Inspector: Reduce list of saved console messages
https://bugs.webkit.org/show_bug.cgi?id=151225

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-12
Reviewed by Geoffrey Garen.

Inspector saves messages so that when an inspector frontend opens it can report
these messages to the frontend. However we were saving a rather large list of
1000 messages. Most pages do not produce a large number of console messages.
However pages that live for a long time can generate many errors over time,
especially periodic engine issues such as cross-origin access errors. This could
result in a lot of wasted memory for console messages that may never be used.

Likewise when an inspector first open sending all 1000 messages to the frontend
results in a poor experience.

Lets reduce the list of saved messages. Developer will still be able to see
all messages as long as they have Web Inspector open at the time the messages
are generated.

* inspector/agents/InspectorConsoleAgent.cpp:
Reduce the list from 1000 to 100. Also, when expiring
messages from this list, chunk in 10s instead of 100s.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192391 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdjust timeout values in ExecutionTimeLimitTest.
mark.lam@apple.com [Thu, 12 Nov 2015 23:12:23 +0000 (23:12 +0000)]
Adjust timeout values in ExecutionTimeLimitTest.
https://bugs.webkit.org/show_bug.cgi?id=151223

Reviewed by Geoffrey Garen.

Some bots were not happy with the existing time out values.  I adjusted them to give
the system a little more time to fire the timer events, and this made the bots happy.

* API/tests/ExecutionTimeLimitTest.cpp:
(testExecutionTimeLimit):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192390 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoIgnore visited background color when deciding if the input renderer needs to be paint...
zalan@apple.com [Thu, 12 Nov 2015 22:12:40 +0000 (22:12 +0000)]
Ignore visited background color when deciding if the input renderer needs to be painted natively.
https://bugs.webkit.org/show_bug.cgi?id=151211
rdar://problem/21449823

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/css/pseudo-visited-background-color-on-input.html

* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isControlStyled):
* rendering/style/RenderStyle.h:

LayoutTests:

* fast/css/pseudo-visited-background-color-on-input-expected.html: Added.
* fast/css/pseudo-visited-background-color-on-input.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192389 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoTatechuyoko shrink-to-fit breaks after changing color, background-color or text-decor...
hyatt@apple.com [Thu, 12 Nov 2015 22:07:51 +0000 (22:07 +0000)]
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
Tatechuyoko shrink-to-fit breaks after changing color, background-color or text-decoration
https://bugs.webkit.org/show_bug.cgi?id=151218
<rdar://problem/23521702>

Reviewed by Myles Maxfield.

Source/WebCore:

Added fast/text/text-combine-shrink-on-color-change.html

* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::styleDidChange):

LayoutTests:

* fast/text/text-combine-shrink-on-color-change.html: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
* platform/mac/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192388 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUse ContextMenuItemTagNoAction instead of ContextMenuItemCustomTagNoAction
andersca@apple.com [Thu, 12 Nov 2015 22:05:51 +0000 (22:05 +0000)]
Use ContextMenuItemTagNoAction instead of ContextMenuItemCustomTagNoAction
https://bugs.webkit.org/show_bug.cgi?id=151222

Reviewed by Joseph Pecoraro.

* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::populateContextMenuItems):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::checkOrEnableIfNeeded): Deleted.
* platform/ContextMenuItem.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192387 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFix build.
andersca@apple.com [Thu, 12 Nov 2015 21:57:30 +0000 (21:57 +0000)]
Fix build.

* WebView/WebHTMLView.mm:
(fixMenusReceivedFromOldClients):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192386 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, add Michael Saboff to the JavaScriptCore watchlist, per request.
keith_miller@apple.com [Thu, 12 Nov 2015 21:55:01 +0000 (21:55 +0000)]
Unreviewed, add Michael Saboff to the JavaScriptCore watchlist, per request.

* Scripts/webkitpy/common/config/watchlist:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192385 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove a couple of unused menu item tag enums
andersca@apple.com [Thu, 12 Nov 2015 21:47:41 +0000 (21:47 +0000)]
Remove a couple of unused menu item tag enums
https://bugs.webkit.org/show_bug.cgi?id=151220

Reviewed by Sam Weinig.

Also, move the old internal tags away from the SPI header.

* WebView/WebHTMLView.mm:
(fixMenusReceivedFromOldClients):
* WebView/WebUIDelegatePrivate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192384 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWeb Inspector: Auto-log inspect node selected elements to the console
commit-queue@webkit.org [Thu, 12 Nov 2015 21:40:21 +0000 (21:40 +0000)]
Web Inspector: Auto-log inspect node selected elements to the console
https://bugs.webkit.org/show_bug.cgi?id=151178

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-12
Reviewed by Brian Burg.

Auto-logging user selected elements to the console helps with
quick use in the console. $0 is not very discoverable, and $n
values are expendable. This also makes it convenient to use the
inspect node toolbar search option to select a few different
nodes and use each of them in the console without extra work.

* UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype.inspectNodeObject.nodeAvailable):
(WebInspector.DOMTreeManager.prototype.inspectNodeObject):
Log selected nodes to the console. Treat this as a synthetic log that
will not immediately open the console like normal evaluation results.

* UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult.saveResultCallback):
(WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult):
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted.printResult):
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
Initialize ConsoleCommandResultMessage's synthetic properties.

* UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement):
(WebInspector.DOMTreeOutline.prototype._populateContextMenu):
* UserInterface/Controllers/RuntimeManager.js:
Create a global for the special "console" object group used in multiple places.

* UserInterface/Models/ConsoleCommandResultMessage.js:
(WebInspector.ConsoleCommandResultMessage):
(WebInspector.ConsoleCommandResultMessage.prototype.get synthetic):
Add a synthetic property.

* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
When the ConsoleResult is a synthetic result, do not auto-open the console.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192383 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Cocoa] Font fallback is not language-sensitive
mmaxfield@apple.com [Thu, 12 Nov 2015 21:29:40 +0000 (21:29 +0000)]
[Cocoa] Font fallback is not language-sensitive
https://bugs.webkit.org/show_bug.cgi?id=147390

Reviewed by Dean Jackson.

Test: fast/text/fallback-language-han-2.html

* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontCache::systemFallbackForCharacters):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192382 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoContextMenuController::contextMenuItemSelected only needs the action and title, not...
andersca@apple.com [Thu, 12 Nov 2015 21:22:22 +0000 (21:22 +0000)]
ContextMenuController::contextMenuItemSelected only needs the action and title, not the full item
https://bugs.webkit.org/show_bug.cgi?id=151217

Reviewed by Joseph Pecoraro.

Source/WebCore:

* inspector/InspectorFrontendHost.cpp:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
* page/ContextMenuController.h:
* page/ContextMenuProvider.h:

Source/WebKit/mac:

* WebView/WebHTMLView.mm:
(-[WebMenuTarget forwardContextMenuAction:]):

Source/WebKit/win:

* WebView.cpp:
(WebView::onMenuCommand):

Source/WebKit2:

* WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::itemSelected):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192381 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMarking storage/indexeddb/modern/idbindex-properties-basic.html as flaky on mac-wk1
ryanhaddad@apple.com [Thu, 12 Nov 2015 21:21:39 +0000 (21:21 +0000)]
Marking storage/indexeddb/modern/idbindex-properties-basic.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=151219

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192380 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, add watchlist for Source/JavaScriptCore and add myself, Saam, and Mark.
keith_miller@apple.com [Thu, 12 Nov 2015 21:19:45 +0000 (21:19 +0000)]
Unreviewed, add watchlist for Source/JavaScriptCore and add myself, Saam, and Mark.

* Scripts/webkitpy/common/config/watchlist:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192379 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove an unused function
andersca@apple.com [Thu, 12 Nov 2015 21:02:00 +0000 (21:02 +0000)]
Remove an unused function
https://bugs.webkit.org/show_bug.cgi?id=151215

Reviewed by Joseph Pecoraro.

Source/WebCore:

* loader/EmptyClients.h:
* page/ContextMenuClient.h:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected): Deleted.

Source/WebKit/mac:

* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::contextMenuItemSelected): Deleted.

Source/WebKit/win:

* WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::contextMenuItemSelected): Deleted.
* WebCoreSupport/WebContextMenuClient.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
(WebKit::WebContextMenuClient::contextMenuItemSelected): Deleted.
* WebProcess/WebCoreSupport/WebContextMenuClient.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192378 268f45cc-cd09-0410-ab3c-d52691b4dbfc