WebKit-https.git
5 years agoMarking storage/indexeddb/modern/cursor-4.html as flaky on mac-wk1
ryanhaddad@apple.com [Thu, 19 Nov 2015 21:39:50 +0000 (21:39 +0000)]
Marking storage/indexeddb/modern/cursor-4.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=151448

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

5 years agoFix FTL->B3 lowering of Phi
fpizlo@apple.com [Thu, 19 Nov 2015 21:25:38 +0000 (21:25 +0000)]
Fix FTL->B3 lowering of Phi
https://bugs.webkit.org/show_bug.cgi?id=151460

Reviewed by Geoffrey Garen.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compilePhi):

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

5 years agoMarking storage/indexeddb/modern/cursor-3.html as flaky on mac-wk1
ryanhaddad@apple.com [Thu, 19 Nov 2015 21:04:35 +0000 (21:04 +0000)]
Marking storage/indexeddb/modern/cursor-3.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=151448

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

5 years agoFTL->B3 lowering should support lazy slow paths, patchpoints, all integer comparisons...
fpizlo@apple.com [Thu, 19 Nov 2015 21:00:53 +0000 (21:00 +0000)]
FTL->B3 lowering should support lazy slow paths, patchpoints, all integer comparisons, and more load/stores
https://bugs.webkit.org/show_bug.cgi?id=151459

Reviewed by Benjamin Poulain.

* ftl/FTLB3Output.h:
(JSC::FTL::Output::absolute):
(JSC::FTL::Output::load8SignExt32):
(JSC::FTL::Output::load8ZeroExt32):
(JSC::FTL::Output::load16SignExt32):
(JSC::FTL::Output::load16ZeroExt32):
(JSC::FTL::Output::load32):
(JSC::FTL::Output::load64):
(JSC::FTL::Output::loadPtr):
(JSC::FTL::Output::loadDouble):
(JSC::FTL::Output::store32):
(JSC::FTL::Output::store64):
(JSC::FTL::Output::storePtr):
(JSC::FTL::Output::storeDouble):
(JSC::FTL::Output::ascribeRange):
(JSC::FTL::Output::nonNegative32):
(JSC::FTL::Output::load32NonNegative):
(JSC::FTL::Output::icmp):
(JSC::FTL::Output::equal):
(JSC::FTL::Output::notEqual):
(JSC::FTL::Output::above):
(JSC::FTL::Output::aboveOrEqual):
(JSC::FTL::Output::below):
(JSC::FTL::Output::belowOrEqual):
(JSC::FTL::Output::greaterThan):
(JSC::FTL::Output::greaterThanOrEqual):
(JSC::FTL::Output::lessThan):
(JSC::FTL::Output::lessThanOrEqual):
(JSC::FTL::Output::fcmp):
(JSC::FTL::Output::doubleEqual):
(JSC::FTL::Output::speculateMul):
(JSC::FTL::Output::patchpoint):
(JSC::FTL::Output::trap):
(JSC::FTL::Output::anchor):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath):

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

5 years agoSkip 4 more mediastream tests that crash when painting a mock video source.
ryanhaddad@apple.com [Thu, 19 Nov 2015 20:43:48 +0000 (20:43 +0000)]
Skip 4 more mediastream tests that crash when painting a mock video source.
https://bugs.webkit.org/show_bug.cgi?id=151353

Unreviewed test gardening

* platform/mac/TestExpectations:

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

5 years agoBroadening scope of failure expectation for http/tests/navigation/forward-and-cancel...
ryanhaddad@apple.com [Thu, 19 Nov 2015 20:29:03 +0000 (20:29 +0000)]
Broadening scope of failure expectation for http/tests/navigation/forward-and-cancel.html on Mac
https://bugs.webkit.org/show_bug.cgi?id=140217

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

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

5 years agoFTL->B3 lowering should support absolute(), double comparisons, and intToDouble()
fpizlo@apple.com [Thu, 19 Nov 2015 20:26:54 +0000 (20:26 +0000)]
FTL->B3 lowering should support absolute(), double comparisons, and intToDouble()
https://bugs.webkit.org/show_bug.cgi?id=151457

Reviewed by Benjamin Poulain.

* ftl/FTLB3Output.h:
(JSC::FTL::Output::fpToInt32):
(JSC::FTL::Output::fpToUInt32):
(JSC::FTL::Output::intToFP):
(JSC::FTL::Output::intToDouble):
(JSC::FTL::Output::unsignedToFP):
(JSC::FTL::Output::unsignedToDouble):
(JSC::FTL::Output::intCast):
(JSC::FTL::Output::baseIndex):
(JSC::FTL::Output::absolute):
(JSC::FTL::Output::load8SignExt32):
(JSC::FTL::Output::load8ZeroExt32):
(JSC::FTL::Output::lessThanOrEqual):
(JSC::FTL::Output::fcmp):
(JSC::FTL::Output::doubleEqual):
(JSC::FTL::Output::doubleNotEqualOrUnordered):
(JSC::FTL::Output::doubleLessThan):
(JSC::FTL::Output::doubleLessThanOrEqual):
(JSC::FTL::Output::doubleGreaterThan):
(JSC::FTL::Output::doubleGreaterThanOrEqual):
(JSC::FTL::Output::doubleEqualOrUnordered):
(JSC::FTL::Output::doubleNotEqual):
(JSC::FTL::Output::doubleLessThanOrUnordered):
(JSC::FTL::Output::doubleLessThanOrEqualOrUnordered):
(JSC::FTL::Output::doubleGreaterThanOrUnordered):
(JSC::FTL::Output::doubleGreaterThanOrEqualOrUnordered):
(JSC::FTL::Output::isZero32):
(JSC::FTL::Output::notZero32):

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

5 years agoMarking http/tests/xmlhttprequest/workers/methods-async.html as flaky on Yosemite WK2
ryanhaddad@apple.com [Thu, 19 Nov 2015 20:20:21 +0000 (20:20 +0000)]
Marking http/tests/xmlhttprequest/workers/methods-async.html as flaky on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=151455

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

5 years agoFTL->B3 lowering should support checked int math
fpizlo@apple.com [Thu, 19 Nov 2015 20:03:22 +0000 (20:03 +0000)]
FTL->B3 lowering should support checked int math
https://bugs.webkit.org/show_bug.cgi?id=151451

Reviewed by Saam Barati.

Adds lowering of ArithAdd/Sub/Mul to CheckAdd/Sub/Mul. Includes a nice refactoring of the OSR exit
code that made this a lot easier. Also needed to implement a few other ops in FTL::Output.

I ended up renaming "check" to "speculate" in FTL::Output, because it already had a thing called
"check". The FTL terminology for side-exit is "speculate", so I think that this is appropriate.

* ftl/FTLB3Output.h:
(JSC::FTL::Output::sensibleDoubleToInt):
(JSC::FTL::Output::signExt):
(JSC::FTL::Output::zeroExt):
(JSC::FTL::Output::zeroExtPtr):
(JSC::FTL::Output::fpToInt):
(JSC::FTL::Output::fpToUInt):
(JSC::FTL::Output::unsignedToFP):
(JSC::FTL::Output::unsignedToDouble):
(JSC::FTL::Output::intCast):
(JSC::FTL::Output::castToInt32):
(JSC::FTL::Output::fpCast):
(JSC::FTL::Output::intToPtr):
(JSC::FTL::Output::ptrToInt):
(JSC::FTL::Output::unreachable):
(JSC::FTL::Output::speculate):
(JSC::FTL::Output::speculateAdd):
(JSC::FTL::Output::speculateSub):
(JSC::FTL::Output::speculateMul):
(JSC::FTL::Output::trap):
(JSC::FTL::Output::check): Deleted.
* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeFunction):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::DFG::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExitArgumentsForPatchpointIfWillCatchException):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::DFG::LowerDFGToLLVM::blessSpeculation):
(JSC::FTL::DFG::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::DFG::LowerDFGToLLVM::buildExitArguments):

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

5 years agoModern IDB: IDBObjectStore.deleteIndex() support.
beidson@apple.com [Thu, 19 Nov 2015 19:57:18 +0000 (19:57 +0000)]
Modern IDB: IDBObjectStore.deleteIndex() support.
https://bugs.webkit.org/show_bug.cgi?id=150911

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/deleteindex-1.html
       storage/indexeddb/modern/deleteindex-2.html

* Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::deleteIndex):
(WebCore::IDBClient::IDBConnectionToServer::didDeleteIndex):
* Modules/indexeddb/client/IDBConnectionToServer.h:
* Modules/indexeddb/client/IDBConnectionToServerDelegate.h:

* Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::didDeleteIndexInfo):
* Modules/indexeddb/client/IDBDatabaseImpl.h:

* Modules/indexeddb/client/IDBIndexImpl.cpp:
(WebCore::IDBClient::IDBIndex::markAsDeleted):
* Modules/indexeddb/client/IDBIndexImpl.h:

* Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
(WebCore::IDBClient::IDBObjectStore::index):
(WebCore::IDBClient::IDBObjectStore::deleteIndex):

* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::deleteIndex):
(WebCore::IDBClient::IDBTransaction::deleteIndexOnServer):
(WebCore::IDBClient::IDBTransaction::didDeleteIndexOnServer):
* Modules/indexeddb/client/IDBTransactionImpl.h:

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

* Modules/indexeddb/server/IDBBackingStore.h:

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

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

* Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::indexDeleted):
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
* Modules/indexeddb/server/MemoryBackingStoreTransaction.h:

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

* Modules/indexeddb/server/MemoryIndex.cpp:
(WebCore::IDBServer::MemoryIndex::clearIndexValueStore):
* Modules/indexeddb/server/MemoryIndex.h:

* Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::maybeRestoreDeletedIndex):
(WebCore::IDBServer::MemoryObjectStore::takeIndexByName):
(WebCore::IDBServer::MemoryObjectStore::deleteIndex):
* Modules/indexeddb/server/MemoryObjectStore.h:

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteIndex):
* Modules/indexeddb/server/UniqueIDBDatabase.h:

* Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didDeleteIndex):
* Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:

* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteIndex):
* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:

* Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
(WebCore::IDBDatabaseInfo::loggingString):
* Modules/indexeddb/shared/IDBDatabaseInfo.h:

* Modules/indexeddb/shared/IDBIndexInfo.cpp:
(WebCore::IDBIndexInfo::loggingString):
* Modules/indexeddb/shared/IDBIndexInfo.h:

* Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
(WebCore::IDBObjectStoreInfo::hasIndex):
(WebCore::IDBObjectStoreInfo::deleteIndex):
(WebCore::IDBObjectStoreInfo::loggingString):
* Modules/indexeddb/shared/IDBObjectStoreInfo.h:

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

* Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::didDeleteIndex):
(WebCore::InProcessIDBServer::createIndex):
(WebCore::InProcessIDBServer::deleteIndex):
* Modules/indexeddb/shared/InProcessIDBServer.h:

LayoutTests:

* storage/indexeddb/modern/deleteindex-1-expected.txt: Added.
* storage/indexeddb/modern/deleteindex-1.html: Added.
* storage/indexeddb/modern/deleteindex-2-expected.txt: Added.
* storage/indexeddb/modern/deleteindex-2.html: Added.
* storage/indexeddb/modern/index-get-count-failures.html:

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

5 years agoREGRESSION(r8780): Backwards delete by word incorrectly appends deleted text to kill...
bburg@apple.com [Thu, 19 Nov 2015 19:29:59 +0000 (19:29 +0000)]
REGRESSION(r8780): Backwards delete by word incorrectly appends deleted text to kill ring, should be prepend
https://bugs.webkit.org/show_bug.cgi?id=151300

Reviewed by Darin Adler.

Source/WebCore:

Over 11 years ago, someone was in a big hurry to fix a bunch
of emacs keybindings bugs, and accidentally regressed the kill ring
behavior for backwards-delete-word. It should prepend to the beginning.

This patch fixes the regression and cleans up the kill ring-related
code in Editor and commands. It also adds some tests to cover the
regressed code a bit better.

Tests: editing/pasteboard/emacs-killring-alternating-append-prepend.html
       editing/pasteboard/emacs-killring-backward-delete-prepend.html

* editing/Editor.cpp:

    Use more explicit names for insertion mode parameters and member variables.

(WebCore::Editor::deleteWithDirection):
(WebCore::Editor::performDelete):
(WebCore::Editor::addRangeToKillRing):
(WebCore::Editor::addTextToKillRing):

    Only one call site for now, but another will be added in a dependent fix.

(WebCore::Editor::addToKillRing): Deleted.
* editing/Editor.h:
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::TypingCommand):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
(WebCore::TypingCommand::doApply):
* editing/TypingCommand.h:
* platform/mac/KillRingMac.mm:
(WebCore::KillRing::append):
(WebCore::KillRing::prepend):

    It turns out that the native API implicitly clears the kill sequence when
    alternating between prepend and append operations. Its behavior does not match
    what Sublime Text or Emacs do in this case. Clear the previous operation flag
    to prevent this behavior from happening.

LayoutTests:

* editing/pasteboard/emacs-killring-alternating-append-prepend-expected.txt: Added.
* editing/pasteboard/emacs-killring-alternating-append-prepend.html: Added.
* editing/pasteboard/emacs-killring-backward-delete-prepend-expected.txt: Added.
* editing/pasteboard/emacs-killring-backward-delete-prepend.html: Added.

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

5 years agoTatechuyoko in ruby sits too high
mmaxfield@apple.com [Thu, 19 Nov 2015 19:16:31 +0000 (19:16 +0000)]
Tatechuyoko in ruby sits too high
https://bugs.webkit.org/show_bug.cgi?id=151309
<rdar://problem/23536621>

Reviewed by Darin Adler.

Source/WebCore:

When combining text, we ask what the text's width is in order to determine if it fits in the
column. However, when we do that, we were not setting the font's orientation to horizontal.
This means that, for CJK text, the "width" which was returned was actually the height of the
glyph, and the GlyphOverflow data was similarly garbled.

We actually already were creating a corrected FontDescription, and using it in two places.
However, we weren't using it in the last place, which was causing this bug.

Test: fast/text/text-combine-placement.html

* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::width):
* rendering/RenderCombineText.cpp:
(WebCore::RenderCombineText::combineText):

LayoutTests:

* fast/text/resources/tatechuyoko.svg: Added.
* fast/text/text-combine-placement-expected.html: Added.
* fast/text/text-combine-placement.html: Added.

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

5 years agoLayoutTestRelay processes leak on iOS testers
ap@apple.com [Thu, 19 Nov 2015 19:15:43 +0000 (19:15 +0000)]
LayoutTestRelay processes leak on iOS testers
https://bugs.webkit.org/show_bug.cgi?id=151447

Reviewed by Tim Horton.

* BuildSlaveSupport/kill-old-processes: Added LayoutTestRelay.

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

5 years agoMarking storage/indexeddb/modern/aborted-put.html as flaky on mac-wk1
ryanhaddad@apple.com [Thu, 19 Nov 2015 19:06:35 +0000 (19:06 +0000)]
Marking storage/indexeddb/modern/aborted-put.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=151389

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

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

Unreviewed test fix.

I tracked down the cause of the test regression on the Windows builders. Once I fixed that,
I realized that the new 'abs_results_directory' value was not needed, so this change reverts
that code.

* Scripts/webkitpy/port/base.py:
(Port.to.start_websocket_server): We don't need a special directory variable on Cygwin anymore.
(Port.abs_results_directory): Deleted.
* Scripts/webkitpy/port/win.py:
(WinPort.__init__): Deleted.
(WinPort.abs_results_directory): Deleted.
(WinPort.results_directory): Deleted.

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

5 years ago[EFL] http/tests/navigation/useragent test failed after r192459.
hs85.jeong@samsung.com [Thu, 19 Nov 2015 18:31:21 +0000 (18:31 +0000)]
[EFL] http/tests/navigation/useragent test failed after r192459.
https://bugs.webkit.org/show_bug.cgi?id=151340

Reviewed by Gyuyoung Kim.

We need the convert process the predifined value to string.

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

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

5 years agoexplicit_timeout should be false when testharness test is run in browser
youenn.fablet@crf.canon.fr [Thu, 19 Nov 2015 18:19:17 +0000 (18:19 +0000)]
explicit_timeout should be false when testharness test is run in browser
https://bugs.webkit.org/show_bug.cgi?id=151382

Reviewed by Darin Adler.

* resources/testharnessreport.js:

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

5 years agoJIT snippet generator JumpLists should be returned as references.
mark.lam@apple.com [Thu, 19 Nov 2015 18:00:18 +0000 (18:00 +0000)]
JIT snippet generator JumpLists should be returned as references.
https://bugs.webkit.org/show_bug.cgi?id=151445

Reviewed by Gavin Barraclough.

The JumpLists were being returned by value.  As a result, new jumps added to
them in the client are actually added to a temporary copy and promptly discarded.
Those jumps never get linked, resulting in infinite loops in DFG generated code
that used the snippets.

* jit/JITAddGenerator.h:
(JSC::JITAddGenerator::endJumpList):
(JSC::JITAddGenerator::slowPathJumpList):
* jit/JITMulGenerator.h:
(JSC::JITMulGenerator::endJumpList):
(JSC::JITMulGenerator::slowPathJumpList):
* jit/JITSubGenerator.h:
(JSC::JITSubGenerator::endJumpList):
(JSC::JITSubGenerator::slowPathJumpList):

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

5 years agoUnreviewed, rolling out r192622.
commit-queue@webkit.org [Thu, 19 Nov 2015 17:45:02 +0000 (17:45 +0000)]
Unreviewed, rolling out r192622.
https://bugs.webkit.org/show_bug.cgi?id=151446

This test is failing on multiple mac testers (Requested by
ryanhaddad on #webkit).

Reverted changeset:

"Add a test for media control dropoff"
https://bugs.webkit.org/show_bug.cgi?id=151287
http://trac.webkit.org/changeset/192622

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

5 years agobuild.webkit.org/dashboard: Move layoutTestResultsDirectoryURLForIteration implementa...
ap@apple.com [Thu, 19 Nov 2015 17:42:19 +0000 (17:42 +0000)]
build.webkit.org/dashboard: Move layoutTestResultsDirectoryURLForIteration implementation to base class
https://bugs.webkit.org/show_bug.cgi?id=151425

Reviewed by Tim Horton.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
(Buildbot.prototype.layoutTestResultsDirectoryURLForIteration):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot.prototype.layoutTestResultsDirectoryURLForIteration): Deleted.

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

5 years ago[EFL] Fix Wreturn-type clang warning in EWK2UnitTestBase.cpp
ossy@webkit.org [Thu, 19 Nov 2015 17:42:17 +0000 (17:42 +0000)]
[EFL] Fix Wreturn-type clang warning in EWK2UnitTestBase.cpp
https://bugs.webkit.org/show_bug.cgi?id=151444

Reviewed by Darin Adler.

* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):

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

5 years ago[EFL] Fix -Winconsistent-missing-override clang warnings
ossy@webkit.org [Thu, 19 Nov 2015 17:38:43 +0000 (17:38 +0000)]
[EFL] Fix -Winconsistent-missing-override clang warnings
https://bugs.webkit.org/show_bug.cgi?id=151443

Reviewed by Darin Adler.

Source/WebCore:

* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::delegatedScrollRequested):
(WebCore::EmptyChromeClient::scheduleAnimation):

Source/WebKit2:

* Shared/CoordinatedGraphics/CoordinatedBackingStore.h:
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
* UIProcess/CoordinatedGraphics/WebView.h:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
(WebKit::CoordinatedDrawingArea::layerTreeStateIsFrozen):
(WebKit::CoordinatedDrawingArea::layerTreeHost):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(WebKit::CoordinatedLayerTreeHost::layerTreeContext):
(WebKit::CoordinatedLayerTreeHost::pauseRendering):
(WebKit::CoordinatedLayerTreeHost::resumeRendering):

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

5 years agoSkip more mediastream tests that crash when painting a mock video source.
ddkilzer@apple.com [Thu, 19 Nov 2015 15:50:01 +0000 (15:50 +0000)]
Skip more mediastream tests that crash when painting a mock video source.

Fix covered by: <https://bugs.webkit.org/show_bug.cgi?id=151353>

* platform/mac/TestExpectations: Skip:
- fast/mediastream/delayed-permission-denied.html
- fast/mediastream/MediaStreamTrack-kind.html
- fast/mediastream/RTCPeerConnection-overloaded-operations.html

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

5 years agoUnreviewed CLOOP buildfix after r192624.
ossy@webkit.org [Thu, 19 Nov 2015 12:54:32 +0000 (12:54 +0000)]
Unreviewed CLOOP buildfix after r192624.

* runtime/MemoryStatistics.cpp:
(JSC::globalMemoryStatistics):
* runtime/MemoryStatistics.h:

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

5 years agoRemove unused LLVM API functions
ossy@webkit.org [Thu, 19 Nov 2015 12:01:44 +0000 (12:01 +0000)]
Remove unused LLVM API functions
https://bugs.webkit.org/show_bug.cgi?id=151184

Reviewed by Filip Pizlo.

* ftl/FTLAbbreviations.h:
(JSC::FTL::typeOf): Deleted.
(JSC::FTL::getElementType): Deleted.
(JSC::FTL::getNamedFunction): Deleted.
(JSC::FTL::removeFunctionAttr): Deleted.
(JSC::FTL::getLinkage): Deleted.
(JSC::FTL::setVisibility): Deleted.
(JSC::FTL::isDeclaration): Deleted.
(JSC::FTL::linkModules): Deleted.
(JSC::FTL::getValueName): Deleted.
(JSC::FTL::getNamedGlobal): Deleted.
(JSC::FTL::getFirstGlobal): Deleted.
(JSC::FTL::getNextGlobal): Deleted.
(JSC::FTL::createMemoryBufferWithContentsOfFile): Deleted.
(JSC::FTL::parseBitcodeInContext): Deleted.
(JSC::FTL::disposeMemoryBuffer): Deleted.
(JSC::FTL::getParamTypes): Deleted.
(JSC::FTL::constIntToPtr): Deleted.
(JSC::FTL::constBitCast): Deleted.
* llvm/LLVMAPIFunctions.h:

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

5 years agoRemove unnecessary PLATFORM(EFL) macro in globalMemoryStatistics()
gyuyoung.kim@webkit.org [Thu, 19 Nov 2015 11:58:38 +0000 (11:58 +0000)]
Remove unnecessary PLATFORM(EFL) macro in globalMemoryStatistics()
https://bugs.webkit.org/show_bug.cgi?id=151301

Reviewed by Csaba Osztrogonác.

EXECUTABLE_ALLOCATOR_FIXED is enabled on EFL port. So we don't need to keep
PLATFORM(EFL) macro anymore. Besides ENABLE(EXECUTABLE_ALLOCATOR_FIXED) guard
isn't related with ExecutableAllocator::committedByteCount() closely. So this patch
removes it as well.

* runtime/MemoryStatistics.cpp:
(JSC::globalMemoryStatistics):

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

5 years agoUnreviewed speculative buildfix after r192601.
ossy@webkit.org [Thu, 19 Nov 2015 11:37:58 +0000 (11:37 +0000)]
Unreviewed speculative buildfix after r192601.

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::convertMainResourceLoadToDownload):
* WebCoreSupport/WebFrameLoaderClient.h:

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

5 years agoAdd a test for media control dropoff
jonlee@apple.com [Thu, 19 Nov 2015 10:06:21 +0000 (10:06 +0000)]
Add a test for media control dropoff
https://bugs.webkit.org/show_bug.cgi?id=151287
rdar://problem/23544666

Reviewed by Dean Jackson.

Source/WebCore:

Test: media/controls/inline-elements-dropoff-order.html

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-timeline-container.dropped): Override the
display:none since we want the container to remain visible but acting
as a flexible width space to push the other elements to the ends of the
inline flexbox. We will want to refactor the CSS rules so that all of the
components in the timeline are keyed off of the container's dropped class
rather than having each individual component have that class attached.
(audio::-webkit-media-controls-panel.hidden): Deleted. Consolidate a
couple rules.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.updateLayoutForDisplayedWidth): Also attach the
"dropped" class on the timeline box. Add the captions button for reporting
media control state.
* testing/Internals.cpp:
(WebCore::Internals::setMockMediaPlaybackTargetPickerState): Extend this to
also take "DeviceNotAvailable" to update the mock device's availability.

* testing/Internals.cpp: Update to use a reference to Page.
(WebCore::Internals::resetToConsistentState): Reset mock enabled setting for
each test.
* testing/Internals.h:
* testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::resetInternalsObject): Update to use a reference to Page.

LayoutTests:

The test takes a video element and resizes it to multiple widths. It
checks for the existence of the dropped or hidden class on each of the
media controls. The tests are run twice; once with wireless target
availability, and once without. If the platform does not support wireless
playback, it only goes through the tests once.

Test assumes that setMockMediaPlaybackTargetPickerEnabled is set to true at the beginning
of the test.

* media/controls/controls-test-helpers.js:
(ControlsTest.prototype.setup): Create the console box first before
checking to see the testRunner is available so that the failure
message appears when trying to run the test manually.
* media/controls/inline-elements-dropoff-order-expected.txt: Added.
* media/controls/inline-elements-dropoff-order.html: Added.
* platform/mac-mavericks/media/controls/inline-elements-dropoff-order-expected.txt: Added.
* platform/mac-yosemite/media/controls/inline-elements-dropoff-order-expected.txt: Added.

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

5 years ago[Streams API] Implement IsReadableStreamDisturbed according to spec
calvaris@igalia.com [Thu, 19 Nov 2015 09:21:47 +0000 (09:21 +0000)]
[Streams API] Implement IsReadableStreamDisturbed according to spec
https://bugs.webkit.org/show_bug.cgi?id=151356

Reviewed by Darin Adler.

Source/WebCore:

Implemente IsReadableStreamDisturbed according to the spec. This is an internal function to be used by other
internal implementations.

The function is exported as internals to be tested.

Test: streams/reference-implementation/abstract-ops.html.

* Modules/streams/ReadableStream.js:
(initializeReadableStream):
* Modules/streams/ReadableStreamInternals.js:
(cancelReadableStream):
(readFromReadableStreamReader):
(isReadableStreamDisturbed):
* bindings/js/WebCoreBuiltinNames.h:
* testing/Internals.cpp:
(WebCore::Internals::isReadableStreamDisturbed):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

* streams/reference-implementation/abstract-ops-expected.txt: Updated expectations.
* streams/reference-implementation/abstract-ops.html: Use internals to export IsReadableStreamDisturbed to the
tests.

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

5 years agoXHR should not combine empty content-type value with default one
youenn.fablet@crf.canon.fr [Thu, 19 Nov 2015 09:14:36 +0000 (09:14 +0000)]
XHR should not combine empty content-type value with default one
https://bugs.webkit.org/show_bug.cgi?id=147784

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:

Source/WebCore:

Previously, XHR was testing whether a "Content-Type" was set using setRequestHeader by checking whether a "Content-Type" header value was empty.
This now tests whether "Content-Type" request header is set using either HTTPHeaderMap::contains or checking whether a "Content-Type" header value is null.

Test: http/tests/xmlhttprequest/post-empty-content-type.html

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::send):

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

5 years ago[JSC] Add bitwise Double-Int conversion to B3
commit-queue@webkit.org [Thu, 19 Nov 2015 08:38:17 +0000 (08:38 +0000)]
[JSC] Add bitwise Double-Int conversion to B3
https://bugs.webkit.org/show_bug.cgi?id=151432

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-19
Reviewed by Filip Pizlo.

This is needed for boxing/unboxing doubles.

* b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::bitwiseCastConstant):
* b3/B3Const64Value.h:
* b3/B3ConstDoubleValue.cpp:
(JSC::B3::ConstDoubleValue::bitwiseCastConstant):
* b3/B3ConstDoubleValue.h:
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* b3/B3Opcode.cpp:
(WTF::printInternal):
* b3/B3Opcode.h:
* b3/B3ReduceStrength.cpp:
* b3/B3Validate.cpp:
* b3/B3Value.cpp:
(JSC::B3::Value::bitwiseCastConstant):
(JSC::B3::Value::effects):
(JSC::B3::Value::typeFor):
* b3/B3Value.h:
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::testDoubleArgToInt64BitwiseCast):
(JSC::B3::testDoubleImmToInt64BitwiseCast):
(JSC::B3::testTwoBitwiseCastOnDouble):
(JSC::B3::testBitwiseCastOnDoubleInMemory):
(JSC::B3::testInt64BArgToDoubleBitwiseCast):
(JSC::B3::testInt64BImmToDoubleBitwiseCast):
(JSC::B3::testTwoBitwiseCastOnInt64):
(JSC::B3::testBitwiseCastOnInt64InMemory):
(JSC::B3::int64Operands):
(JSC::B3::run):
* ftl/FTLB3Output.h:
(JSC::FTL::Output::bitCast):

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

5 years agoModern IDB: Populate indexes created in object stores that already have records.
beidson@apple.com [Thu, 19 Nov 2015 08:19:56 +0000 (08:19 +0000)]
Modern IDB: Populate indexes created in object stores that already have records.
https://bugs.webkit.org/show_bug.cgi?id=151421

Reviewed by Alex Christensen.

Source/WebCore:

Test: storage/indexeddb/modern/index-4.html
      storage/indexeddb/modern/index-5.html

* Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::createIndex):
(WebCore::IDBServer::MemoryObjectStore::populateIndexWithExistingRecords):
* Modules/indexeddb/server/MemoryObjectStore.h:

LayoutTests:

* storage/indexeddb/modern/index-4-expected.txt: Added.
* storage/indexeddb/modern/index-4.html: Added.
* storage/indexeddb/modern/index-5-expected.txt: Added.
* storage/indexeddb/modern/index-5.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@192618 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 [Thu, 19 Nov 2015 08:17:44 +0000 (08: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 and Ryosuke Niwa.

Removing testharness.js overwriting from LayoutTests/resources to LayoutTests/imported/w3c/web-platform-tests/resources.
Adding support for file comparison in python filesystem.
#NousSommesUnis.

* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.compare): Adding compare as a wrapper around filecmp.cmp.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.compare): Adding a mock compare.
* 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.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server_unittest.py:
(TestWebPlatformTestServer.test_previously_spawned_instance): Updated tests to add testharness.js to mock filesystem.
(TestWebPlatformTestServer.test_corrupted_subserver_files): Ditto.

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

5 years agoWeb Inspector: Convert remaining timeline views to use View base class
mattbaker@apple.com [Thu, 19 Nov 2015 08:05:01 +0000 (08:05 +0000)]
Web Inspector: Convert remaining timeline views to use View base class
https://bugs.webkit.org/show_bug.cgi?id=151410

Reviewed by Timothy Hatcher.

Converted timeline views to use View base class. Mostly mechanical
changes (override View.prototype.layout, use let in more places).

* UserInterface/Views/LayoutTimelineOverviewGraph.js:
(WebInspector.LayoutTimelineOverviewGraph.prototype.layout):
(WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout): Deleted.

* UserInterface/Views/NetworkTimelineOverviewGraph.js:
(WebInspector.NetworkTimelineOverviewGraph.prototype.layout.createBar):
(WebInspector.NetworkTimelineOverviewGraph.prototype.layout):
(WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout.createBar): Deleted.
(WebInspector.NetworkTimelineOverviewGraph.prototype.updateLayout): Deleted.

* UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
(WebInspector.RenderingFrameTimelineOverviewGraph.prototype.layout):
(WebInspector.RenderingFrameTimelineOverviewGraph.prototype.updateLayout): Deleted.

* UserInterface/Views/ScriptTimelineOverviewGraph.js:
(WebInspector.ScriptTimelineOverviewGraph.prototype.layout.createBar):
(WebInspector.ScriptTimelineOverviewGraph.prototype.layout):
(WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout.createBar): Deleted.
(WebInspector.ScriptTimelineOverviewGraph.prototype.updateLayout): Deleted.

* UserInterface/Views/TimelineOverview.js:
Extend View.
(WebInspector.TimelineOverview):
Add ruler as a subview.
(WebInspector.TimelineOverview.prototype.set startTime):
(WebInspector.TimelineOverview.prototype.set currentTime):
(WebInspector.TimelineOverview.prototype.set secondsPerPixel):
(WebInspector.TimelineOverview.prototype.set endTime):
(WebInspector.TimelineOverview.prototype.set scrollStartTime):
(WebInspector.TimelineOverview.prototype.updateLayoutIfNeeded):
(WebInspector.TimelineOverview.prototype.get timelineRuler):
(WebInspector.TimelineOverview.prototype.canShowTimeline):
(WebInspector.TimelineOverview.prototype.layout):
(WebInspector.TimelineOverview.prototype._handleWheelEvent):
(WebInspector.TimelineOverview._handleGestureStart):
(WebInspector.TimelineOverview.prototype._handleGestureChange):
(WebInspector.TimelineOverview.prototype._timelineAdded):
(WebInspector.TimelineOverview.prototype._timelineRemoved):
(WebInspector.TimelineOverview.prototype.get element): Deleted.
(WebInspector.TimelineOverview.prototype.updateLayout): Deleted.

* UserInterface/Views/TimelineOverviewGraph.js:
Extend view.
(WebInspector.TimelineOverviewGraph):
(WebInspector.TimelineOverviewGraph.prototype.needsLayout):
(WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout):
(WebInspector.TimelineOverviewGraph.prototype.updateLayout): Deleted.
(WebInspector.TimelineOverviewGraph.prototype.updateLayoutIfNeeded): Deleted.
(WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout.update): Deleted.

* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
Add overview as a subview.
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
Use View.prototype.replaceSubview to swap overview graphs.

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

5 years agoWeb Inspector: Storage tab shouldn't hide cookies for .example.com when inspected...
bburg@apple.com [Thu, 19 Nov 2015 06:30:38 +0000 (06:30 +0000)]
Web Inspector: Storage tab shouldn't hide cookies for .example.com when inspected page is foo.bar.example.com
https://bugs.webkit.org/show_bug.cgi?id=151408

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

The regex should allow multiple subdomains to match a cookie for domain .example.com.

Test: inspector/page/filter-cookies-for-domain.html

* UserInterface/Models/CookieStorageObject.js:
(WebInspector.CookieStorageObject.cookieDomainMatchesResourceDomain):

    Also make the group non-capturing. We don't use the match.

(WebInspector.CookieStorageObject.prototype.saveIdentityToCookie):
(WebInspector.CookieStorageObject):
* UserInterface/Test.html:

LayoutTests:

* inspector/page/filter-cookies-for-domain-expected.txt: Added.
* inspector/page/filter-cookies-for-domain.html: Added.

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

5 years agoWeb Inspector: move cookie url matching out of CookieStorageContentView and clean...
bburg@apple.com [Thu, 19 Nov 2015 06:27:21 +0000 (06:27 +0000)]
Web Inspector: move cookie url matching out of CookieStorageContentView and clean up some code
https://bugs.webkit.org/show_bug.cgi?id=151424

Reviewed by Timothy Hatcher.

Move the code that decides whether a cookie matches a resource URL to a model class.
This will make it possible to test this code easily without pulling Views into tests.

* UserInterface/Models/CookieStorageObject.js:
(WebInspector.CookieStorageObject.cookieMatchesResourceURL):
(WebInspector.CookieStorageObject.cookieDomainMatchesResourceDomain):
(WebInspector.CookieStorageObject.prototype.saveIdentityToCookie):
(WebInspector.CookieStorageObject):
* UserInterface/Views/CookieStorageContentView.js:
(WebInspector.CookieStorageContentView.prototype.update): use Promises.
(WebInspector.CookieStorageContentView.prototype._rebuildTable):
(WebInspector.CookieStorageContentView.prototype._filterCookies):

    Use Array.filter() and Array.some() to express this logic more directly.

(WebInspector.CookieStorageContentView.cookieMatchesResourceURL): Deleted.
(WebInspector.CookieStorageContentView.cookieDomainMatchesResourceDomain): Deleted.
(WebInspector.CookieStorageContentView.prototype.update.callback): Deleted.

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

5 years agoWeb Inspector: Clear watch expressions button using wrong icon
mattbaker@apple.com [Thu, 19 Nov 2015 05:47:24 +0000 (05:47 +0000)]
Web Inspector: Clear watch expressions button using wrong icon
https://bugs.webkit.org/show_bug.cgi?id=151422

Reviewed by Timothy Hatcher.

Updated "clear" button to use trashcan image. This was broken by
https://bugs.webkit.org/show_bug.cgi?id=151377.

* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):

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

5 years agoWeb Inspector: Reduce synchronous view layouts
mattbaker@apple.com [Thu, 19 Nov 2015 05:44:32 +0000 (05:44 +0000)]
Web Inspector: Reduce synchronous view layouts
https://bugs.webkit.org/show_bug.cgi?id=151058

Reviewed by Timothy Hatcher.

Replace calls to View.updateLayout with needsLayout, when a synchronous layout
isn't absolutely necessary.

* UserInterface/Models/BackForwardEntry.js:
(WebInspector.BackForwardEntry.prototype.prepareToShow):

* UserInterface/Views/ApplicationCacheFrameContentView.js:
(WebInspector.ApplicationCacheFrameContentView.prototype.updateLayout): Deleted.
View subclasses shouldn't override updateLayout.

* UserInterface/Views/ButtonNavigationItem.js:
(WebInspector.ButtonNavigationItem.prototype.set label):

* UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
(WebInspector.ContentBrowser.prototype._currentContentViewDidChange):
(WebInspector.ContentBrowser.prototype._contentViewNavigationItemsDidChange):

* UserInterface/Views/DatabaseTableContentView.js:
(WebInspector.DatabaseTableContentView.prototype._queryFinished):
Just update DataGrid's layout, not the whole view. The grid is the only subview
so the result is identical, but the intent is cleared this way.
(WebInspector.DatabaseTableContentView.prototype.updateLayout): Deleted.
View subclasses shouldn't override updateLayout.

* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
(WebInspector.LogContentView.prototype.promptDidChangeHeight): Deleted.
Unused code.

* UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar.prototype.set width):
(WebInspector.Sidebar.prototype.set collapsed):

* UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView.prototype._contentWillPopulate):
Add TextEditor as a subview.
(WebInspector.TextResourceContentView.prototype.updateLayout): Deleted.
View subclasses shouldn't override updateLayout.

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

5 years agoInternal perf dashboard takes forever to load
rniwa@webkit.org [Thu, 19 Nov 2015 04:48:42 +0000 (04:48 +0000)]
Internal perf dashboard takes forever to load
https://bugs.webkit.org/show_bug.cgi?id=151430

Rubber-stamped by Antti Koivisto.

Fix a few performance problems with the perf dashboard v2 UI.

* public/v2/app.js:
(App.DashboardRow._createPane): Set "inDashboard" to true.
(App.Pane._fetch): Immediately show the cached chart instead of waiting for the refetched data which invokes
a PHP JSON API. Also don't fetch the analysis tasks when the chart is shown in the dashboard since we don't
show annotate charts in the dashboard.

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

5 years agoModern IDB:Make in-memory Index cursors work.
beidson@apple.com [Thu, 19 Nov 2015 04:36:00 +0000 (04:36 +0000)]
Modern IDB:Make in-memory Index cursors work.
https://bugs.webkit.org/show_bug.cgi?id=151278

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/index-cursor-1.html
       storage/indexeddb/modern/index-cursor-2.html
       storage/indexeddb/modern/index-cursor-3.html

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

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

* Modules/indexeddb/server/IndexValueEntry.cpp:
(WebCore::IDBServer::IndexValueEntry::removeKey):
(WebCore::IDBServer::IndexValueEntry::Iterator::Iterator):
(WebCore::IDBServer::IndexValueEntry::Iterator::key):
(WebCore::IDBServer::IndexValueEntry::Iterator::isValid):
(WebCore::IDBServer::IndexValueEntry::Iterator::invalidate):
(WebCore::IDBServer::IndexValueEntry::Iterator::operator++):
(WebCore::IDBServer::IndexValueEntry::begin):
(WebCore::IDBServer::IndexValueEntry::reverseBegin):
(WebCore::IDBServer::IndexValueEntry::find):
(WebCore::IDBServer::IndexValueEntry::reverseFind):
* Modules/indexeddb/server/IndexValueEntry.h:
(WebCore::IDBServer::IndexValueEntry::Iterator::Iterator):
(WebCore::IDBServer::IndexValueEntry::unique):

* Modules/indexeddb/server/IndexValueStore.cpp:
(WebCore::IDBServer::IndexValueStore::removeEntriesWithValueKey):
(WebCore::IDBServer::IndexValueStore::lowestKeyWithRecordInRange):
(WebCore::IDBServer::IndexValueStore::lowestIteratorInRange):
(WebCore::IDBServer::IndexValueStore::highestReverseIteratorInRange):
(WebCore::IDBServer::IndexValueStore::find):
(WebCore::IDBServer::IndexValueStore::reverseFind):
(WebCore::IDBServer::IndexValueStore::Iterator::Iterator):
(WebCore::IDBServer::IndexValueStore::Iterator::nextIndexEntry):
(WebCore::IDBServer::IndexValueStore::Iterator::operator++):
(WebCore::IDBServer::IndexValueStore::Iterator::invalidate):
(WebCore::IDBServer::IndexValueStore::Iterator::isValid):
(WebCore::IDBServer::IndexValueStore::Iterator::key):
(WebCore::IDBServer::IndexValueStore::Iterator::primaryKey):
* Modules/indexeddb/server/IndexValueStore.h:
(WebCore::IDBServer::IndexValueStore::Iterator::Iterator):

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

* Modules/indexeddb/server/MemoryIndex.cpp:
(WebCore::IDBServer::MemoryIndex::cursorDidBecomeClean):
(WebCore::IDBServer::MemoryIndex::cursorDidBecomeDirty):
(WebCore::IDBServer::MemoryIndex::objectStoreCleared):
(WebCore::IDBServer::MemoryIndex::notifyCursorsOfValueChange):
(WebCore::IDBServer::MemoryIndex::notifyCursorsOfAllRecordsChanged):
(WebCore::IDBServer::MemoryIndex::putIndexKey):
(WebCore::IDBServer::MemoryIndex::removeRecord):
(WebCore::IDBServer::MemoryIndex::removeEntriesWithValueKey):
(WebCore::IDBServer::MemoryIndex::maybeOpenCursor):
* Modules/indexeddb/server/MemoryIndex.h:
(WebCore::IDBServer::MemoryIndex::valueStore):
(WebCore::IDBServer::MemoryIndex::objectStore):

* Modules/indexeddb/server/MemoryIndexCursor.cpp: Added.
(WebCore::IDBServer::MemoryIndexCursor::MemoryIndexCursor):
(WebCore::IDBServer::MemoryIndexCursor::~MemoryIndexCursor):
(WebCore::IDBServer::MemoryIndexCursor::currentData):
(WebCore::IDBServer::MemoryIndexCursor::iterate):
(WebCore::IDBServer::MemoryIndexCursor::indexRecordsAllChanged):
(WebCore::IDBServer::MemoryIndexCursor::indexValueChanged):
* Modules/indexeddb/server/MemoryIndexCursor.h:

* Modules/indexeddb/server/MemoryObjectStore.cpp:
(WebCore::IDBServer::MemoryObjectStore::indexForIdentifier):
(WebCore::IDBServer::MemoryObjectStore::valueForKey):
* Modules/indexeddb/server/MemoryObjectStore.h:

* Modules/indexeddb/shared/IDBCursorInfo.cpp:
(WebCore::IDBCursorInfo::objectStoreCursor):
(WebCore::IDBCursorInfo::indexCursor):
(WebCore::IDBCursorInfo::IDBCursorInfo):
(WebCore::IDBCursorInfo::isDirectionNoDuplicate):
(WebCore::IDBCursorInfo::isolatedCopy):
* Modules/indexeddb/shared/IDBCursorInfo.h:
(WebCore::IDBCursorInfo::objectStoreIdentifier):

LayoutTests:

* storage/indexeddb/modern/cursor-1-expected.txt:
* storage/indexeddb/modern/index-cursor-1-expected.txt: Added.
* storage/indexeddb/modern/index-cursor-1.html: Added.
* storage/indexeddb/modern/index-cursor-2-expected.txt: Added.
* storage/indexeddb/modern/index-cursor-2.html: Added.
* storage/indexeddb/modern/index-cursor-3-expected.txt: Added.
* storage/indexeddb/modern/index-cursor-3.html: Added.

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

5 years ago[JSC] Add some missing load/store to FTLB3Output
benjamin@webkit.org [Thu, 19 Nov 2015 04:15:04 +0000 (04:15 +0000)]
[JSC] Add some missing load/store to FTLB3Output
https://bugs.webkit.org/show_bug.cgi?id=151427

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-18
Reviewed by Filip Pizlo.

* ftl/FTLB3Output.cpp:
(JSC::FTL::Output::load8SignExt32):
(JSC::FTL::Output::load8ZeroExt32):
(JSC::FTL::Output::load16SignExt32):
(JSC::FTL::Output::load16ZeroExt32):
(JSC::FTL::Output::loadFloatToDouble):
* ftl/FTLB3Output.h:
(JSC::FTL::Output::load32):
(JSC::FTL::Output::loadPtr):
(JSC::FTL::Output::loadDouble):
(JSC::FTL::Output::load8SignExt32): Deleted.
(JSC::FTL::Output::load8ZeroExt32): Deleted.
(JSC::FTL::Output::load16SignExt32): Deleted.
(JSC::FTL::Output::load16ZeroExt32): Deleted.
(JSC::FTL::Output::loadFloatToDouble): Deleted.

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

5 years agoAssertion failure in RenderTreePosition::computeNextSibling
antti@apple.com [Thu, 19 Nov 2015 04:14:24 +0000 (04:14 +0000)]
Assertion failure in RenderTreePosition::computeNextSibling
https://bugs.webkit.org/show_bug.cgi?id=151337
rdar://problem/23250075

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/html/details-mathml-crash.html

* html/ads: Added.
* style/StyleResolveTree.cpp:
(WebCore::Style::resolveChildAtShadowBoundary):

    Factor common code for resolving child here from resolveShadowTree.

(WebCore::Style::resolveShadowTree):

    We don't need StyleResolverParentPusher because shadow tree uses different style resolver anyway.

(WebCore::Style::resolveSlotAssignees):

    This needs to call renderTreePosition.invalidateNextSibling() if there is a renderer already.
    Achieve this by calling the new common function resolveChildAtShadowBoundary.

LayoutTests:

Test case by Pranjal Jumde.

* fast/html/details-mathml-crash-expected.txt: Added.
* fast/html/details-mathml-crash.html: Added.

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

5 years agoWebGL slow video to texture
jer.noble@apple.com [Thu, 19 Nov 2015 03:20:11 +0000 (03:20 +0000)]
WebGL slow video to texture
https://bugs.webkit.org/show_bug.cgi?id=129626

Reviewed by Dean Jackson.

Support a direct GPU-to-GPU copy of video textures. Add a new AVPlayerItemVideoOutput which,
when lazily-created, will emit CVPixelBuffers which are guaranteed to be compatible with
OpenGL framebuffers. Then, use a CVOpenGLTextureCache object to convert those CVPixelBuffers
to OpenGL textures. Once the video frame is in an OpenGL texture, use an OpenGL framebuffer
to copy the underlying video texture memory to the destination texture.

The copy step uses glTexImage2D, which requires format and type parameters, so change the
signature of copyVideoTextureToPlatformTexture() to pass those parameters in.

* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::copyVideoTextureToPlatformTexture): Changed signature.
* html/HTMLVideoElement.h:
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::texImage2D): Changed signature.
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::copyVideoTextureToPlatformTexture): Changed signature.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::copyVideoTextureToPlatformTexture): Changed signature.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createOpenGLVideoOutput): Create an OpenGL-compatible
    AVPlayerItemVideoOutput.
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyOpenGLVideoOutput): Destroy same.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastOpenGLImage): Cache the current frame, if available.
(WebCore::MediaPlayerPrivateAVFoundationObjC::copyVideoTextureToPlatformTexture): Convert the
    current frame to a texture, and use that texture to render into the destination texture.

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

5 years agoFix typos in r192605
benjamin@webkit.org [Thu, 19 Nov 2015 03:09:51 +0000 (03:09 +0000)]
Fix typos in r192605

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileUpsilon):

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

5 years agoFTL should be able to compile a small function with B3
benjamin@webkit.org [Thu, 19 Nov 2015 02:48:48 +0000 (02:48 +0000)]
FTL should be able to compile a small function with B3
https://bugs.webkit.org/show_bug.cgi?id=151423

Patch by Filip Pizlo  <fpizlo@apple.com> and Benjamin Poulain <bpoulain@apple.com> on 2015-11-18
Reviewed by Filip Pizlo.

* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* ftl/FTLAbbreviatedTypes.h:
* ftl/FTLB3Output.cpp:
(JSC::FTL::Output::Output):
(JSC::FTL::Output::~Output):
(JSC::FTL::Output::initialize):
(JSC::FTL::Output::appendTo):
(JSC::FTL::Output::lockedStackSlot):
(JSC::FTL::Output::load):
(JSC::FTL::Output::store):
(JSC::FTL::Output::branch):
* ftl/FTLB3Output.h:
(JSC::FTL::Output::newBlock):
(JSC::FTL::Output::setOrigin):
(JSC::FTL::Output::origin):
(JSC::FTL::Output::framePointer):
(JSC::FTL::Output::constBool):
(JSC::FTL::Output::constInt32):
(JSC::FTL::Output::constIntPtr):
(JSC::FTL::Output::constInt64):
(JSC::FTL::Output::constDouble):
(JSC::FTL::Output::upsilon):
(JSC::FTL::Output::phi):
(JSC::FTL::Output::add):
(JSC::FTL::Output::sub):
(JSC::FTL::Output::mul):
(JSC::FTL::Output::neg):
(JSC::FTL::Output::doubleAdd):
(JSC::FTL::Output::doubleSub):
(JSC::FTL::Output::doubleMul):
(JSC::FTL::Output::doubleDiv):
(JSC::FTL::Output::doubleNeg):
(JSC::FTL::Output::bitAnd):
(JSC::FTL::Output::bitOr):
(JSC::FTL::Output::bitXor):
(JSC::FTL::Output::shl):
(JSC::FTL::Output::aShr):
(JSC::FTL::Output::lShr):
(JSC::FTL::Output::load64):
(JSC::FTL::Output::store32):
(JSC::FTL::Output::store64):
(JSC::FTL::Output::storePtr):
(JSC::FTL::Output::storeDouble):
(JSC::FTL::Output::addPtr):
(JSC::FTL::Output::address):
(JSC::FTL::Output::below):
(JSC::FTL::Output::isZero32):
(JSC::FTL::Output::notZero32):
(JSC::FTL::Output::isZero64):
(JSC::FTL::Output::notZero64):
(JSC::FTL::Output::isNull):
(JSC::FTL::Output::notNull):
(JSC::FTL::Output::testIsZero32):
(JSC::FTL::Output::testNonZero32):
(JSC::FTL::Output::testIsZero64):
(JSC::FTL::Output::testNonZero64):
(JSC::FTL::Output::testIsZeroPtr):
(JSC::FTL::Output::testNonZeroPtr):
(JSC::FTL::Output::call):
(JSC::FTL::Output::operation):
(JSC::FTL::Output::jump):
(JSC::FTL::Output::branch):
(JSC::FTL::Output::ret):
(JSC::FTL::Output::unreachable):
(JSC::FTL::Output::check):
(JSC::FTL::Output::anchor):
(JSC::FTL::Output::addIncomingToPhi):
(JSC::FTL::Output::~Output): Deleted.
(JSC::FTL::Output::appendTo): Deleted.
(JSC::FTL::Output::param): Deleted.
(JSC::FTL::Output::load): Deleted.
(JSC::FTL::Output::store): Deleted.
(JSC::FTL::Output::store16): Deleted.
* ftl/FTLCommonValues.cpp:
(JSC::FTL::CommonValues::CommonValues):
(JSC::FTL::CommonValues::initializeConstants):
* ftl/FTLCommonValues.h:
* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeFunction):
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::DFG::LowerDFGToLLVM::lower):
(JSC::FTL::DFG::LowerDFGToLLVM::createPhiVariables):
(JSC::FTL::DFG::LowerDFGToLLVM::compileBlock):
(JSC::FTL::DFG::LowerDFGToLLVM::safelyInvalidateAfterTermination):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compileUpsilon):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePhi):
(JSC::FTL::DFG::LowerDFGToLLVM::compileToThis):
(JSC::FTL::DFG::LowerDFGToLLVM::compileValueAdd):
(JSC::FTL::DFG::LowerDFGToLLVM::compileStrCat):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArrayifyToStructure):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutById):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetIndexedPropertyStorage):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutAccessorById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutGetterSetterById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutAccessorByVal):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArrayPush):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArrayPop):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCreateActivation):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCreateScopedArguments):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCreateClonedArguments):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewArray):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewArrayBuffer):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewArrayWithSize):
(JSC::FTL::DFG::LowerDFGToLLVM::compileToStringOrCallStringConstructor):
(JSC::FTL::DFG::LowerDFGToLLVM::compileToPrimitive):
(JSC::FTL::DFG::LowerDFGToLLVM::compileStringCharAt):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstruct):
(JSC::FTL::DFG::LowerDFGToLLVM::compileTailCall):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstructVarargs):
(JSC::FTL::DFG::LowerDFGToLLVM::compileLoadVarargs):
(JSC::FTL::DFG::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::DFG::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::DFG::LowerDFGToLLVM::compileIn):
(JSC::FTL::DFG::LowerDFGToLLVM::compileHasIndexedProperty):
(JSC::FTL::DFG::LowerDFGToLLVM::compileHasGenericProperty):
(JSC::FTL::DFG::LowerDFGToLLVM::compileHasStructureProperty):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetDirectPname):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetPropertyEnumerator):
(JSC::FTL::DFG::LowerDFGToLLVM::compileToIndexString):
(JSC::FTL::DFG::LowerDFGToLLVM::didOverflowStack):
(JSC::FTL::DFG::LowerDFGToLLVM::allocatePropertyStorage):
(JSC::FTL::DFG::LowerDFGToLLVM::reallocatePropertyStorage):
(JSC::FTL::DFG::LowerDFGToLLVM::getById):
(JSC::FTL::DFG::LowerDFGToLLVM::nonSpeculativeCompare):
(JSC::FTL::DFG::LowerDFGToLLVM::contiguousPutByValOutOfBounds):
(JSC::FTL::DFG::LowerDFGToLLVM::switchStringSlow):
(JSC::FTL::DFG::LowerDFGToLLVM::doubleToInt32):
(JSC::FTL::DFG::LowerDFGToLLVM::sensibleDoubleToInt32):
(JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath):
(JSC::FTL::DFG::LowerDFGToLLVM::jsValueToStrictInt52):
(JSC::FTL::DFG::LowerDFGToLLVM::doubleToStrictInt52):
(JSC::FTL::DFG::LowerDFGToLLVM::vmCall):
(JSC::FTL::DFG::LowerDFGToLLVM::callCheck):
(JSC::FTL::DFG::LowerDFGToLLVM::lowBlock):
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::DFG::LowerDFGToLLVM::callStackmap):
(JSC::FTL::DFG::LowerDFGToLLVM::probe):
(JSC::FTL::DFG::LowerDFGToLLVM::crash):
(JSC::FTL::lowerDFGToLLVM):
(JSC::FTL::DFG::LowerDFGToLLVM::vmCallNoExceptions): Deleted.
* ftl/FTLOutput.cpp:
(JSC::FTL::Output::sensibleDoubleToInt):
* ftl/FTLOutput.h:
(JSC::FTL::Output::ceil64):
(JSC::FTL::Output::ctlz32):
(JSC::FTL::Output::addWithOverflow32):
(JSC::FTL::Output::subWithOverflow32):
(JSC::FTL::Output::mulWithOverflow32):
(JSC::FTL::Output::addWithOverflow64):
(JSC::FTL::Output::subWithOverflow64):
(JSC::FTL::Output::mulWithOverflow64):
(JSC::FTL::Output::doubleAbs):
(JSC::FTL::Output::doubleSin):
(JSC::FTL::Output::doubleCos):
(JSC::FTL::Output::doublePow):
(JSC::FTL::Output::doublePowi):
(JSC::FTL::Output::doubleSqrt):
(JSC::FTL::Output::doubleLog):
(JSC::FTL::Output::call):
(JSC::FTL::Output::trap):
* ftl/FTLState.cpp:
(JSC::FTL::State::State): Deleted.
* ftl/FTLState.h:
* ftl/FTLWeight.h:
(JSC::FTL::Weight::frequencyClass):

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

5 years ago[WK1] Crash loading Blink layout test fast/dom/Window/property-access-on-cached-windo...
jiewen_tan@apple.com [Thu, 19 Nov 2015 01:42:12 +0000 (01:42 +0000)]
[WK1] Crash loading Blink layout test fast/dom/Window/property-access-on-cached-window-after-frame-removed.html
https://bugs.webkit.org/show_bug.cgi?id=150198
<rdar://problem/23136026>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: fast/dom/Window/property-access-on-cached-window-after-frame-removed.html

Properties of a contentWindow could be accessed even if the frame who owns the window is
detached. Therefore, check whether the document loader is still alive before using it.

* page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds):

Tools:

* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::inspectorTestStubURL):
Since WebInspectorUI.framework is not available for iOS, the framework
and corresponding functions are disabled in iOS.

LayoutTests:

* fast/dom/Window/666869-expected.txt: Added.
* fast/dom/Window/666869.html: Added.
Test case is from Mozilla.
* fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt: Added.
* fast/dom/Window/property-access-on-cached-window-after-frame-removed.html: Added.
* fast/dom/Window/resources/window-property-collector.js: Added.
(collectProperties):
(emitExpectedResult):
(collectPropertiesHelper):
Test case is from Blink r168256:
https://codereview.chromium.org/131113003
* platform/mac-wk2/TestExpectations:

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

5 years agoThere is a bug when default parameter values are mixed with destructuring parameter...
sbarati@apple.com [Thu, 19 Nov 2015 01:26:36 +0000 (01:26 +0000)]
There is a bug when default parameter values are mixed with destructuring parameter values
https://bugs.webkit.org/show_bug.cgi?id=151369

Reviewed by Geoffrey Garen and Mark Lam.

Relanding this after a rollout.

This patch changes our parser to no longer declare destructuring
parameters as "var"s. This is a weird bug that just happened
to work in a world without default parameter values. In a world with
default parameter values this is just completely wrong. It would
incorrectly transform this program:
```function foo(a = function() { b = 40; }, {b}) { a(); return b; }; foo(undefined, {b: 42}); // Should return 40```
into
```function foo(a = function() { b = 40; }, {b}) { var b; a(); return b; }; foo(undefined, {b:42}); // Returns 42, not 40.```
Which is wrong because we end up with two distinct bindings of "b" when
there should only be one.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseVariableDeclarationList):
(JSC::Parser<LexerType>::createBindingPattern):
(JSC::Parser<LexerType>::parseDestructuringPattern):
* parser/Parser.h:
(JSC::Scope::declareParameter):
(JSC::Scope::getUsedVariables):
(JSC::Parser::strictMode):
(JSC::Parser::isValidStrictMode):
(JSC::Parser::declareParameter):
(JSC::Parser::breakIsValid):
(JSC::Scope::declareBoundParameter): Deleted.
(JSC::Parser::declareBoundParameter): Deleted.
* tests/stress/es6-default-parameters.js:

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

5 years agoMediaStream: Implement MediaDevices.getSupportedConstraints
eric.carlson@apple.com [Thu, 19 Nov 2015 01:24:02 +0000 (01:24 +0000)]
MediaStream: Implement MediaDevices.getSupportedConstraints
https://bugs.webkit.org/show_bug.cgi?id=151394

Reviewed by Brent Fulgham.

Source/WebCore:

Test: fast/mediastream/MediaDevices-getSupportedConstraints.html

* CMakeLists.txt: Add MediaTrackSupportedConstraints and JSMediaTrackSupportedConstraintsCustom.

* DerivedSources.make: Ditto.

* Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::getSupportedConstraints): New.
* Modules/mediastream/MediaDevices.h:
* Modules/mediastream/MediaDevices.idl:

* Modules/mediastream/MediaTrackSupportedConstraints.h: Added. Wrapper around a
  RealtimeMediaSourceSupportedConstraints.
(WebCore::MediaTrackSupportedConstraints::create):
(WebCore::MediaTrackSupportedConstraints::supportsWidth):
(WebCore::MediaTrackSupportedConstraints::supportsHeight):
(WebCore::MediaTrackSupportedConstraints::supportsAspectRatio):
(WebCore::MediaTrackSupportedConstraints::supportsFrameRate):
(WebCore::MediaTrackSupportedConstraints::supportsFacingMode):
(WebCore::MediaTrackSupportedConstraints::supportsVolume):
(WebCore::MediaTrackSupportedConstraints::supportsSampleRate):
(WebCore::MediaTrackSupportedConstraints::supportsSampleSize):
(WebCore::MediaTrackSupportedConstraints::supportsEchoCancellation):
(WebCore::MediaTrackSupportedConstraints::supportsDeviceId):
(WebCore::MediaTrackSupportedConstraints::supportsGroupId):
(WebCore::MediaTrackSupportedConstraints::MediaTrackSupportedConstraints):
* Modules/mediastream/MediaTrackSupportedConstraints.idl: Added.

* WebCore.xcodeproj/project.pbxproj: Add JSMediaTrackSupportedConstraintsCustom.cpp,
  RealtimeMediaSourceSupportedConstraints.h, and MediaTrackSupportedConstraints.*.

A MediaTrackSupportedConstraints only contains the properties supported by the currently
available capture devices, so implement getOwnPropertySlot and getOwnPropertyNames so
we don't have to declare any attributes in the idl file.
* bindings/js/JSMediaTrackSupportedConstraintsCustom.cpp: Added.
(WebCore::JSMediaTrackSupportedConstraints::getOwnPropertySlotDelegate):
(WebCore::JSMediaTrackSupportedConstraints::getOwnPropertyNames):

* platform/mediastream/RealtimeMediaSourceCenter.h:
* platform/mediastream/RealtimeMediaSourceSupportedConstraints.h: Added.
(WebCore::RealtimeMediaSourceSupportedConstraints::RealtimeMediaSourceSupportedConstraints):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsWidth):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsWidth):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsHeight):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsHeight):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsAspectRatio):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsAspectRatio):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsFrameRate):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsFrameRate):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsFacingMode):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsFacingMode):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsVolume):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsVolume):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsSampleRate):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsSampleRate):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsSampleSize):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsSampleSize):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsEchoCancellation):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsEchoCancellation):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsDeviceId):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsDeviceId):
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsGroupId):
(WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsGroupId):

* platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::RealtimeMediaSourceCenterMac): Initialize supported constraints.
* platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:

* platform/mock/MockRealtimeMediaSource.cpp: Delete some dead code.

* platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::MockRealtimeMediaSourceCenter): Initialize supported constraints.
* platform/mock/MockRealtimeMediaSourceCenter.h:

LayoutTests:

* fast/mediastream/MediaDevices-getSupportedConstraints-expected.txt: Added.
* fast/mediastream/MediaDevices-getSupportedConstraints.html: Added.

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

5 years agoProgress towards implementing Downloads with NETWORK_SESSION
commit-queue@webkit.org [Thu, 19 Nov 2015 01:17:14 +0000 (01:17 +0000)]
Progress towards implementing Downloads with NETWORK_SESSION
https://bugs.webkit.org/show_bug.cgi?id=151414

Reviewed begrudgingly by Brady Eidson.

Source/WebCore:

There is no change in behavior except that SessionIDs are sent across IPC and passed as parameters,
and they are not used yet.

Patch by Alex Christensen <achristensen@webkit.org> on 2015-11-18

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::continueAfterContentPolicy):
Removed an unused default. Compiler warnings will let us know if we add an unhandled case to this switch.
* loader/EmptyClients.h:
* loader/FrameLoaderClient.h:
Pass SessionIDs around.

Source/WebKit/mac:

Patch by Alex Christensen <achristensen@webkit.org> on 2015-11-18

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::detachedFromParent3):
(WebFrameLoaderClient::convertMainResourceLoadToDownload):

Source/WebKit2:

Patch by Alex Christensen <achristensen@webkit.org> on 2015-11-18

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::storageSession):
(WebKit::NetworkConnectionToWebProcess::startDownload):
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
(WebKit::NetworkLoad::didReceiveChallenge):
(WebKit::NetworkLoad::didReceiveResponse):
(WebKit::NetworkLoad::didReceiveData):
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::downloadRequest):
(WebKit::NetworkProcess::resumeDownload):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::didConvertHandleToDownload):
(WebKit::NetworkResourceLoader::abort):
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/NetworkSession.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(toNSURLSessionResponseDisposition):
(-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[NetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
(-[NetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
(-[NetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[NetworkSessionDelegate URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:]):
(-[NetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::useCredentialForSingleChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
(WebKit::AuthenticationManager::cancelSingleChallenge):
(WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):
* Shared/Downloads/Download.h:
* Shared/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::DownloadManager):
(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::convertHandleToDownload):
(WebKit::DownloadManager::resumeDownload):
(WebKit::DownloadManager::cancelDownload):
(WebKit::DownloadManager::downloadFinished):
(WebKit::DownloadManager::didCreateDownload):
* Shared/Downloads/DownloadManager.h:
(WebKit::DownloadManager::isDownloading):
(WebKit::DownloadManager::activeDownloadCount):
* Shared/Downloads/mac/DownloadMac.mm:
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
(WebKit::Download::resume):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::download):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::canCachePage):
(WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):
(WebKit::WebFrameLoaderClient::createFrame):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertMainResourceLoadToDownload):
(WebKit::WebFrame::source):
* WebProcess/WebPage/WebFrame.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::downloadRequest):
(WebKit::WebProcess::resumeDownload):
(WebKit::WebProcess::releasePageCache):
(WebKit::WebProcess::fetchWebsiteData):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

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

5 years agoSnippefy op_mul for the baseline JIT.
mark.lam@apple.com [Thu, 19 Nov 2015 00:54:37 +0000 (00:54 +0000)]
Snippefy op_mul for the baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=151393

Reviewed by Geoffrey Garen.

Benchmarks shows that perf is neutral on x86 and x86_64 with the DFG enabled.

With the DFG disabled (relying on the baseline JIT for perf), LongSpider
3d-morph shows a 7.6% regression.  However, there are other benchmarks that shows
a progression e.g. on Kraken, audio-beat-detection and audio-fft.

Upon inspection of the generated code for 3d-morph, the only differences is the
added use of a scratch register for the result as well as a jump around the
code that handles double types.  It does not look like we're generating bad code.
I'll consider the perf acceptable in aggregate.

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:

* bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::generate):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::boxInt32):
* jit/IntrinsicEmitter.cpp:
(JSC::AccessCase::emitIntrinsicGetter):
- Changed AssemblyHelpers::boxInt32() to take a TagRegistersMode.
  The pre-existing boxInt32() always assume that the tag registers are not
  available.  Since we should assume we have tag registers by default, I also
  changed all the other clients to explicitly specify a more of
  DoNotHaveTagRegisters.  That is except for the snippet generators that do have
  the tag registers.

* jit/JIT.h:
* jit/JITArithmetic.cpp:
(JSC::JIT::compileBinaryArithOpSlowCase):
(JSC::JIT::emit_op_div):
(JSC::JIT::emitSlow_op_add):
(JSC::JIT::emit_op_mul):
(JSC::JIT::emitSlow_op_mul):
(JSC::JIT::emit_op_sub):
(JSC::JIT::compileBinaryArithOp): Deleted.
* jit/JITArithmetic32_64.cpp:
(JSC::JIT::emitBinaryDoubleOp):
(JSC::JIT::emit_op_div):
(JSC::JIT::emit_op_mul): Deleted.
(JSC::JIT::emitSlow_op_mul): Deleted.
* jit/JITMulGenerator.cpp: Added.
(JSC::JITMulGenerator::generateFastPath):
* jit/JITMulGenerator.h: Added.
(JSC::JITMulGenerator::JITMulGenerator):
(JSC::JITMulGenerator::didEmitFastPath):
(JSC::JITMulGenerator::endJumpList):
(JSC::JITMulGenerator::slowPathJumpList):

* tests/stress/op_mul.js: Added.
(o1.valueOf):
(generateScenarios):
(printScenarios):
(testCases.func):
(func):
(initializeTestCases):
(stringifyIfNeeded):
(isIdentical):
(runTest):
- Tests that JIT op_mul results are equivalent to the expected values as
  defined by the LLINT.

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

5 years agoRemove some unnecessary jumps in snippet code.
mark.lam@apple.com [Thu, 19 Nov 2015 00:30:37 +0000 (00:30 +0000)]
Remove some unnecessary jumps in snippet code.
https://bugs.webkit.org/show_bug.cgi?id=151415

Reviewed by Geoffrey Garen.

Previously, the snippet generators always emit a jump at the end of the fast
path.  In the baseline JIT and FTL, this results in a jump to the very next
instruction.  I've change it to assume that the fast path will just fall thru,
and let the client decide instead if it wants/needs a jump or not after the fast
path.

I also changed the generators to provide a didEmitFastPath() query explicitly
declare if they actually generated the fast path, instead of having the client
infer it from an empty endJumpList.

Benchmarks show that perf is neutral with this change (tested on x86_64).

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* jit/JITAddGenerator.cpp:
(JSC::JITAddGenerator::generateFastPath):
* jit/JITAddGenerator.h:
(JSC::JITAddGenerator::didEmitFastPath):
(JSC::JITAddGenerator::endJumpList):
(JSC::JITAddGenerator::slowPathJumpList):
* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_add):
(JSC::JIT::emit_op_sub):
* jit/JITSubGenerator.cpp:
(JSC::JITSubGenerator::generateFastPath):
* jit/JITSubGenerator.h:
(JSC::JITSubGenerator::didEmitFastPath):
(JSC::JITSubGenerator::endJumpList):
(JSC::JITSubGenerator::slowPathJumpList):

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

5 years ago[Mac] Swipe tests depend on user preferences
ap@apple.com [Thu, 19 Nov 2015 00:20:41 +0000 (00:20 +0000)]
[Mac] Swipe tests depend on user preferences
https://bugs.webkit.org/show_bug.cgi?id=151403

Reviewed by Tim Horton.

* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm: (WTR::InjectedBundle::platformInitialize):
* WebKitTestRunner/mac/main.mm: (setDefaultsToConsistentValuesForTesting):
Override these preferences to match the default for a new OS X installation.

* DumpRenderTree/mac/DumpRenderTree.mm: (setDefaultsToConsistentValuesForTesting):
Swipe tests are not enabled in WK1, but let's override the default anyway.

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

5 years agoUnreviewed, rolling out r192436 and r192586.
commit-queue@webkit.org [Thu, 19 Nov 2015 00:03:26 +0000 (00:03 +0000)]
Unreviewed, rolling out r192436 and r192586.
https://bugs.webkit.org/show_bug.cgi?id=151417

Caused a hang in the inspector and a crash @ google.com.
(Requested by saamyjoon on #webkit).

Reverted changesets:

"Allow any LeftHandSideExpression as a valid
AssignmentElement"
https://bugs.webkit.org/show_bug.cgi?id=151026
http://trac.webkit.org/changeset/192436

"There is a bug when default parameter values are mixed with
destructuring parameter values"
https://bugs.webkit.org/show_bug.cgi?id=151369
http://trac.webkit.org/changeset/192586

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

5 years ago[JSC] TailCalls should not trigger assertion failures when running with the jsc profi...
keith_miller@apple.com [Thu, 19 Nov 2015 00:01:32 +0000 (00:01 +0000)]
[JSC] TailCalls should not trigger assertion failures when running with the jsc profiler on.
https://bugs.webkit.org/show_bug.cgi?id=151359

Reviewed by Geoffrey Garen.

If we have the profiler on when parsing tail calls in the dfg we would emit a CountExecutions node
following a TailCall node as our bytecode for tail calls always emits a op_ret following an op_tail_call.
This trips assertions that no nodes follow a terminal in a basic block. This patch fixes this issue by
not emiting a CountExecutions when we have a tail call that is terminal i.e. the tail caller is not
inlined into another function or the tail caller is inlined but is in tail position itself.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleVarargsCall):
(JSC::DFG::ByteCodeParser::parseBlock):
* tests/stress/tail-call-profiler.js: Added.
(tail):
(inlineTail):
(inlineTailVarArgs):
(inlineTailTernary):
(body):

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

5 years agoResourceUsageOverlay should have better accounting for reclaimable memory.
akling@apple.com [Wed, 18 Nov 2015 23:48:48 +0000 (23:48 +0000)]
ResourceUsageOverlay should have better accounting for reclaimable memory.
<https://webkit.org/b/151407>

Reviewed by Anders Carlsson.

Add code to inspect the purgeable state of VM regions when traversing the
web process VM map, and track reclaimable regions of memory separately.

Memory categories that have some amount of reclaimable memory are now
displayed with the reclaimable amount in brackets, e.g "123.45 MB [56.78MB]"

* page/ResourceUsageOverlay.h:
* page/cocoa/ResourceUsageOverlayCocoa.mm:
(WebCore::ResourceUsageOverlay::platformDraw):
(WebCore::TagInfo::TagInfo):
(WebCore::pagesPerVMTag):
(WebCore::runSamplerThread):
(WebCore::dirtyPagesPerVMTag): Deleted.

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

5 years agoWeb Inspector: Probes sidebar panel sections should use NavigationBar
mattbaker@apple.com [Wed, 18 Nov 2015 23:47:52 +0000 (23:47 +0000)]
Web Inspector: Probes sidebar panel sections should use NavigationBar
https://bugs.webkit.org/show_bug.cgi?id=151373

Reviewed by Brian Burg.

Replaces image elements with a NavigationBar instance. The "Clear samples"
button is disabled when no samples exist in the probe set.

* Localizations/en.lproj/localizedStrings.js:
New navigation item labels.

* UserInterface/Models/ProbeSet.js:
(WebInspector.ProbeSet.prototype._sampleCollected):
Dispatch new event WebInspector.ProbeSet.Event.SampleAdded.

* UserInterface/Views/DetailsSection.css:
(.details-section > .header > .options > .navigation-bar):
(.details-section > .header > .options > .navigation-bar > .item):
Define consistent style for showing a NavigationBar inside the section header.

* UserInterface/Views/DetailsSection.js:
(WebInspector.DetailsSection):
Add "options" class name in the base class.

* UserInterface/Views/ProbeDetailsSidebarPanel.css:
(.details-section.probe-set .options > :matches(.probe-remove, .probe-clear-samples, .probe-add)): Deleted.
(.details-section.probe-set .options > .probe-clear-samples): Deleted.
(.details-section.probe-set .options > .probe-remove): Deleted.
(.details-section.probe-set .options > .probe-add): Deleted.
Remove <img> button styles.

* UserInterface/Views/ProbeSetDetailsSection.js:
(WebInspector.ProbeSetDetailsSection):
(WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked.createProbeFromEnteredExpression):
(WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked):
(WebInspector.ProbeSetDetailsSection.prototype._clearSamplesButtonClicked):
(WebInspector.ProbeSetDetailsSection.prototype._probeSetSamplesChanged):
Update "Clear samples" enabled state.
(WebInspector.ProbeSetDetailsSection.prototype._probeSetHasSamples):
Helper function to check if the probe set is empty.

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

5 years agoClean up / optimize NetworkCacheSubresourcesEntry
cdumez@apple.com [Wed, 18 Nov 2015 23:21:38 +0000 (23:21 +0000)]
Clean up / optimize NetworkCacheSubresourcesEntry
https://bugs.webkit.org/show_bug.cgi?id=151405

Reviewed by Antti Koivisto.

Clean up / optimize NetworkCacheSubresourcesEntry:
- Remove m_sourceStorageRecord data member
- Avoid copying the Key when constructing it

* NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::encodeAsSubresourcesRecord):
* NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
(WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry):
* NetworkProcess/cache/NetworkCacheSubresourcesEntry.h:

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

5 years agoWeb Inspector: Client Blocked Resource Requests causes Crash under InspectorPageAgent...
commit-queue@webkit.org [Wed, 18 Nov 2015 23:17:21 +0000 (23:17 +0000)]
Web Inspector: Client Blocked Resource Requests causes Crash under InspectorPageAgent::cachedResource
https://bugs.webkit.org/show_bug.cgi?id=151398

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

Source/WebCore:

Test: inspector/network/client-blocked-load.html

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::cachedResource):
Gracefully handle null request.

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::cachedResource):
ASSERT if someone tried to pass a null URL.

LayoutTests:

* inspector/network/client-blocked-load-expected.txt: Added.
* inspector/network/client-blocked-load.html: Added.

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

5 years ago[JSC] Make LBasicBlock into an alias for B3::BasicBlock. #ifdef anything that does...
benjamin@webkit.org [Wed, 18 Nov 2015 23:14:54 +0000 (23:14 +0000)]
[JSC] Make LBasicBlock into an alias for B3::BasicBlock. #ifdef anything that does not compile
https://bugs.webkit.org/show_bug.cgi?id=151381

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-18
Reviewed by Filip Pizlo.

* JavaScriptCore.xcodeproj/project.pbxproj:
* ftl/FTLAbbreviatedTypes.h:
* ftl/FTLAbbreviations.h:
* ftl/FTLAbstractHeap.cpp:
(JSC::FTL::AbstractHeap::decorateInstruction):
(JSC::FTL::IndexedAbstractHeap::IndexedAbstractHeap):
* ftl/FTLAbstractHeap.h:
(JSC::FTL::AbstractHeap::AbstractHeap):
* ftl/FTLAbstractHeapRepository.cpp:
(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLB3Output.h:
(JSC::FTL::Output::newBlock):
(JSC::FTL::Output::insertNewBlocksBefore):
(JSC::FTL::Output::addIncomingToPhi):
(JSC::FTL::Output::Output): Deleted.
(JSC::FTL::Output::initialize): Deleted.
* ftl/FTLCommonValues.cpp:
(JSC::FTL::CommonValues::CommonValues):
* ftl/FTLCommonValues.h:
* ftl/FTLIntrinsicRepository.cpp:
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::DFG::LowerDFGToLLVM::lower):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutById):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCreateDirectArguments):
(JSC::FTL::DFG::LowerDFGToLLVM::compileNewArrayWithSize):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstruct):
(JSC::FTL::DFG::LowerDFGToLLVM::compileTailCall):
(JSC::FTL::DFG::LowerDFGToLLVM::compileCallOrConstructVarargs):
(JSC::FTL::DFG::LowerDFGToLLVM::compileForwardVarargs):
(JSC::FTL::DFG::LowerDFGToLLVM::compileIn):
(JSC::FTL::DFG::LowerDFGToLLVM::compileInstanceOf):
(JSC::FTL::DFG::LowerDFGToLLVM::getById):
(JSC::FTL::DFG::LowerDFGToLLVM::allocateCell):
(JSC::FTL::DFG::LowerDFGToLLVM::buildSwitch):
(JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath):
(JSC::FTL::DFG::LowerDFGToLLVM::crash):
* ftl/FTLOutput.cpp:
(JSC::FTL::Output::Output):
* ftl/FTLOutput.h:
(JSC::FTL::Output::addIncomingToPhi):
* ftl/FTLState.cpp:
(JSC::FTL::State::dumpState):
* ftl/FTLValueRange.cpp:
(JSC::FTL::ValueRange::decorateInstruction):
* ftl/FTLValueRange.h:
(JSC::FTL::ValueRange::ValueRange):

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

5 years agoImplement the B3 equivalent of FTLCompile
fpizlo@apple.com [Wed, 18 Nov 2015 23:05:34 +0000 (23:05 +0000)]
Implement the B3 equivalent of FTLCompile
https://bugs.webkit.org/show_bug.cgi?id=151370

Reviewed by Benjamin Poulain.

This adds a B3 version of FTLCompile and gets the data structures related to installing an FTL
compilation (i.e. the finalizer and JITCode) to be aware of B3. That requires stubbing a lot of stuff
out and also simplifying a lot of code around having everything inside a single contiguous chunk of
JIT code rather than some opaque JIT code handles plus miscellaneous side-codes. This compiles but
crashes because lowering isn't done yet.

* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/B3Procedure.cpp:
(JSC::B3::Procedure::addDataSection):
(JSC::B3::Procedure::calleeSaveRegisters):
(JSC::B3::Procedure::addValueIndex):
* b3/B3Procedure.h:
(JSC::B3::Procedure::code):
* ftl/FTLB3Compile.cpp: Added.
(JSC::FTL::compile):
* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLExceptionHandlerManager.cpp:
(JSC::FTL::ExceptionHandlerManager::callOperationExceptionTarget):
(JSC::FTL::ExceptionHandlerManager::lazySlowPathExceptionTarget):
(JSC::FTL::ExceptionHandlerManager::getByIdOSRExit):
* ftl/FTLJITCode.cpp:
(JSC::FTL::JITCode::~JITCode):
(JSC::FTL::JITCode::initializeB3Code):
(JSC::FTL::JITCode::initializeExitThunks):
(JSC::FTL::JITCode::addDataSection):
(JSC::FTL::JITCode::initializeAddressForCall):
(JSC::FTL::JITCode::initializeArityCheckEntrypoint):
(JSC::FTL::JITCode::addressForCall):
(JSC::FTL::JITCode::contains):
(JSC::FTL::JITCode::exitThunks):
(JSC::FTL::JITCode::ftl):
* ftl/FTLJITCode.h:
(JSC::FTL::JITCode::b3Code):
(JSC::FTL::JITCode::handles):
(JSC::FTL::JITCode::dataSections):
* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::codeSize):
(JSC::FTL::JITFinalizer::finalizeFunction):
* ftl/FTLJITFinalizer.h:
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* ftl/FTLOSRExit.cpp:
(JSC::FTL::OSRExit::codeLocationForRepatch):
(JSC::FTL::OSRExit::gatherRegistersToSpillForCallIfException):

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

5 years agoExpose WebCore's AudioPlaybackRequiresUserGesture setting to WebKit & WebKit2
jer.noble@apple.com [Wed, 18 Nov 2015 23:04:36 +0000 (23:04 +0000)]
Expose WebCore's AudioPlaybackRequiresUserGesture setting to WebKit & WebKit2
https://bugs.webkit.org/show_bug.cgi?id=151274

Reviewed by Anders Carlsson.

Source/WebKit/mac:

Add a WebKit preference key, WebKitAudioPlaybackRequiresUserGesture, and a matching WebPreference
property, and transfer those preferences to WebCore's settings when they change.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences audioPlaybackRequiresUserGesture]):
(-[WebPreferences setAudioPlaybackRequiresUserGesture:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Add a new, private, WKWebViewConfiguration property, _requiresUserActionForAudioPlayback,
and use that configuration property to set WebCore's AudioPlaybackRequiresUserGesture setting
during page creation.

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAudioPlaybackRequiresUserGesture): Add legacy C API for setting this new WK preference.
(WKPreferencesGetAudioPlaybackRequiresUserGesture): Ditto.
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]): Set the page configuration value from preferences.
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]): Default the value of the new configuration property to YES for iOS.
(-[WKWebViewConfiguration copyWithZone:]): Copy the value across.
(-[WKWebViewConfiguration _requiresUserActionForAudioPlayback]): Simple getter.
(-[WKWebViewConfiguration _setRequiresUserActionForAudioPlayback:]): Simple setter.
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Set WebCore's audioPlaybackRequiresUserGesture Setting.

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

5 years agoAdding a maintenance file for the old WordPress blog.
jond@apple.com [Wed, 18 Nov 2015 22:30:45 +0000 (22:30 +0000)]
Adding a maintenance file for the old WordPress blog.

Reviewed by Timothy Hatcher.

* blog/wp-content/maintenance.php: Added.

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

5 years agoUnreviewed, skip additional mediastream tests that crash when painting a mock video...
wenson_hsieh@apple.com [Wed, 18 Nov 2015 22:21:23 +0000 (22:21 +0000)]
Unreviewed, skip additional mediastream tests that crash when painting a mock video source.

These tests were not skipped previously because the crashes are timing-dependent and do not
always reproduce. See https://bugs.webkit.org/show_bug.cgi?id=151353 for more details.

* platform/mac/TestExpectations:

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

5 years agoThere is a bug when default parameter values are mixed with destructuring parameter...
sbarati@apple.com [Wed, 18 Nov 2015 22:01:19 +0000 (22:01 +0000)]
There is a bug when default parameter values are mixed with destructuring parameter values
https://bugs.webkit.org/show_bug.cgi?id=151369

Reviewed by Geoffrey Garen and Mark Lam.

This patch changes our parser to no longer declare destructuring
parameters as "var"s. This is a weird bug that just happened
to work in a world without default parameter values. In a world with
default parameter values this is just completely wrong. It would
incorrectly transform this program:
```function foo(a = function() { b = 40; }, {b}) { a(); return b; }; foo(undefined, {b: 42}); // Should return 40```
into
```function foo(a = function() { b = 40; }, {b}) { var b; a(); return b; }; foo(undefined, {b:42}); // Returns 42, not 40.```
Which is wrong because we end up with two distinct bindings of "b" when
there should only be one.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseVariableDeclarationList):
(JSC::Parser<LexerType>::createBindingPattern):
(JSC::Parser<LexerType>::parseDestructuringPattern):
* parser/Parser.h:
(JSC::Scope::declareParameter):
(JSC::Scope::getUsedVariables):
(JSC::Parser::strictMode):
(JSC::Parser::isValidStrictMode):
(JSC::Parser::declareParameter):
(JSC::Parser::breakIsValid):
(JSC::Scope::declareBoundParameter): Deleted.
(JSC::Parser::declareBoundParameter): Deleted.
* tests/stress/es6-default-parameters.js:

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

5 years agoWeb Inspector: Timeline Recording across page navigations behaves poorly
commit-queue@webkit.org [Wed, 18 Nov 2015 21:46:33 +0000 (21:46 +0000)]
Web Inspector: Timeline Recording across page navigations behaves poorly
https://bugs.webkit.org/show_bug.cgi?id=151112

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-18
Reviewed by Timothy Hatcher.

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::frameStartedLoading): Deleted.
Don't reset the execution stopwatch on page navigation.
If a timeline is actively being recorded on the frontend
then all new timestamps suddenly downshifted towards zero
introduces bad data.

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

5 years agoWeb Inspector: Watch Expressions details section should use NavigationBar
mattbaker@apple.com [Wed, 18 Nov 2015 21:36:40 +0000 (21:36 +0000)]
Web Inspector: Watch Expressions details section should use NavigationBar
https://bugs.webkit.org/show_bug.cgi?id=151377

Reviewed by Timothy Hatcher.

Replaces image elements with a NavigationBar instance. The refresh and
clear buttons are disabled if no watch expressions exist.

* Localizations/en.lproj/localizedStrings.js:
New navigation item labels.

* UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
(.details-section.watch-expressions .options > *): Deleted.
(.details-section.watch-expressions .options > *:active): Deleted.
(.details-section.watch-expressions .options > .watch-expression-add): Deleted.
(.details-section.watch-expressions .options > .watch-expression-clear): Deleted.
(.details-section.watch-expressions .options > .watch-expression-refresh): Deleted.
Remove <img> button styles.

* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.presentPopoverOverTargetElement):
Use the navigation item element.
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._updateWatchExpressionsNavigationBar):
Enable/disable refresh and clear buttons.

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

5 years ago[iOS] ASSERTION FAILED: temporaryFilePath.last() == '/' in WebCore::openTemporaryFile()
dbates@webkit.org [Wed, 18 Nov 2015 19:47:08 +0000 (19:47 +0000)]
[iOS] ASSERTION FAILED: temporaryFilePath.last() == '/' in WebCore::openTemporaryFile()
https://bugs.webkit.org/show_bug.cgi?id=151392
<rdar://problem/23595341>

Reviewed by Alexey Proskuryakov.

Workaround <rdar://problem/23579077> where confstr(_CS_DARWIN_USER_TEMP_DIR, ..., ...) retrieves
the path to the user temporary directory without a trailing slash in the iOS simulator.

Source/WebCore:

* platform/mac/FileSystemMac.mm:
(WebCore::openTemporaryFile): Add a path separator (/) between the directory path and filename.

Source/WebKit2:

* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::createHandleForTemporaryFile): Add a path separator (/) between the directory path and filename.

Source/WTF:

* wtf/DataLog.cpp:
(WTF::initializeLogFileOnce):

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

5 years agoNull dereference in Performance::Performance(WebCore::Frame*)
cdumez@apple.com [Wed, 18 Nov 2015 19:07:54 +0000 (19:07 +0000)]
Null dereference in Performance::Performance(WebCore::Frame*)
https://bugs.webkit.org/show_bug.cgi?id=151390

Reviewed by Brady Eidson.

Based on the stack trace, it appears the DocumentLoader can be null
when constructing the Performance object. This patch thus adds a null
check before trying to dereference it.

No new tests, was not able to reproduce.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::navigator):
(WebCore::DOMWindow::performance):
* page/Performance.cpp:
(WebCore::Performance::Performance):
(WebCore::Performance::scriptExecutionContext):
* page/Performance.h:

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

5 years agoVersioning.
bshafiei@apple.com [Wed, 18 Nov 2015 19:02:00 +0000 (19:02 +0000)]
Versioning.

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

5 years agoUnreviewed, skip remaining mediastream tests that crash when painting a mock video...
wenson_hsieh@apple.com [Wed, 18 Nov 2015 18:29:39 +0000 (18:29 +0000)]
Unreviewed, skip remaining mediastream tests that crash when painting a mock video source.

* platform/mac/TestExpectations:

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

5 years ago[WinCairo][MediaFoundation] The main thread can sometimes be blocked forever when...
peavo@outlook.com [Wed, 18 Nov 2015 18:24:57 +0000 (18:24 +0000)]
[WinCairo][MediaFoundation] The main thread can sometimes be blocked forever when ending a media session.
https://bugs.webkit.org/show_bug.cgi?id=151387

Reviewed by Alex Christensen.

This happens because the main thread is waiting for the sample scheduler thread to finish,
but sometimes it never does. This can be resolved by emptying the scheduler's sample queue
before requesting the scheduler thread to finish. This will make sure the scheduler thread
returns to its main loop quickly, and can handle the termination request.

* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::stopScheduler):

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

5 years agoMarking two new mediastream/RTCPeerConnection tests as crashing on debug during inves...
ryanhaddad@apple.com [Wed, 18 Nov 2015 17:40:25 +0000 (17:40 +0000)]
Marking two new mediastream/RTCPeerConnection tests as crashing on debug during investigation.
https://bugs.webkit.org/show_bug.cgi?id=151304

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

5 years agoMarking storage/indexeddb/modern/aborted-put.html as flaky on mac-wk1
ryanhaddad@apple.com [Wed, 18 Nov 2015 17:25:32 +0000 (17:25 +0000)]
Marking storage/indexeddb/modern/aborted-put.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=151389

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

5 years agoWebRTC: Initial testing of updated RTCPeerConnection API
adam.bergkvist@ericsson.com [Wed, 18 Nov 2015 14:52:29 +0000 (14:52 +0000)]
WebRTC: Initial testing of updated RTCPeerConnection API
https://bugs.webkit.org/show_bug.cgi?id=151304

Reviewed by Eric Carlson.

Source/WebCore:

Add an empty implementation of MediaEndpointPeerConnection which
realizes the PeerConnectionBackend interface. This makes it possible
to construct an RTCPeerConnection and do initial testing.

Tests: fast/mediastream/RTCPeerConnection-overloaded-operations-params.html
       fast/mediastream/RTCPeerConnection-overloaded-operations.html

Also unskip three existing RTCPeerConnection tests on GTK.

* CMakeLists.txt:
* Modules/mediastream/MediaEndpointPeerConnection.cpp: Added.
(WebCore::createMediaEndpointPeerConnection):
(WebCore::MediaEndpointPeerConnection::MediaEndpointPeerConnection):
(WebCore::MediaEndpointPeerConnection::createOffer):
(WebCore::MediaEndpointPeerConnection::createAnswer):
(WebCore::MediaEndpointPeerConnection::setLocalDescription):
(WebCore::MediaEndpointPeerConnection::localDescription):
(WebCore::MediaEndpointPeerConnection::currentLocalDescription):
(WebCore::MediaEndpointPeerConnection::pendingLocalDescription):
(WebCore::MediaEndpointPeerConnection::setRemoteDescription):
(WebCore::MediaEndpointPeerConnection::remoteDescription):
(WebCore::MediaEndpointPeerConnection::currentRemoteDescription):
(WebCore::MediaEndpointPeerConnection::pendingRemoteDescription):
(WebCore::MediaEndpointPeerConnection::setConfiguration):
(WebCore::MediaEndpointPeerConnection::addIceCandidate):
(WebCore::MediaEndpointPeerConnection::getStats):
(WebCore::MediaEndpointPeerConnection::stop):
(WebCore::MediaEndpointPeerConnection::markAsNeedingNegotiation):
* Modules/mediastream/MediaEndpointPeerConnection.h: Added.
* WebCore.xcodeproj/project.pbxproj:

LayoutTests:

Add two new tests and unskip three old ones (details below).

* fast/mediastream/RTCPeerConnection-overloaded-operations-expected.txt: Added.
* fast/mediastream/RTCPeerConnection-overloaded-operations-params-expected.txt: Added.
* fast/mediastream/RTCPeerConnection-overloaded-operations-params.html: Added.
Feeds some good but mostly bad input to the overloaded operations to verify JS built-ins
argument checking.
* fast/mediastream/RTCPeerConnection-overloaded-operations.html: Added.
Verifies that the correct overloaded operation is invoked. For examaple, createOffer()
without arguments should invoke the promise based function, but the same operation with
two function arguments should invoke the legacy callback version.
* platform/gtk/TestExpectations:
Unskip fast/mediastream/RTCIceCandidate.html, fast/mediastream/RTCPeerConnection.html
and fast/mediastream/RTCSessionDescription.html.

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

5 years ago[Cairo] SolidStroke broken in drawLine after r191658
commit-queue@webkit.org [Wed, 18 Nov 2015 13:25:22 +0000 (13:25 +0000)]
[Cairo] SolidStroke broken in drawLine after r191658
https://bugs.webkit.org/show_bug.cgi?id=151385

Patch by Alejandro G. Castro <alex@igalia.com> on 2015-11-18
Reviewed by Carlos Garcia Campos.

Fix the drawLine function after r191658, we have to make sure the
color is set when line is SolidStroke.

* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLine):

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

5 years ago[CSS Grid Layout] inline margins not honored when not using stretch in row-axis alignment
jfernandez@igalia.com [Wed, 18 Nov 2015 12:53:26 +0000 (12:53 +0000)]
[CSS Grid Layout] inline margins not honored when not using stretch in row-axis alignment
https://bugs.webkit.org/show_bug.cgi?id=151323

Reviewed by Sergio Villar Senin.

Source/WebCore:

There are some situations where we avoid to compute the inline-axis
margins when computing the logical width of a box. One of those situations
is when we have set an override width; this only affects for now to flex
and grid items. We also follow this approach when setting the logical
width based on the restrictions of 'auto' value in the 'min-width'
property.

This behavior is not correct, since there is no reason to avoid
computing this margins, in the general case. I think this logic was
designed as an optimization for flexbox, which was already computing
the margins by its own, but it's not applicable in the general case, so
grid needs these margins to be computed properly.

For the shrink-to-fit behavior we can add some grid related logic to the
already defined RenderBox function "sizesLogicalWidthToFitContent",
so we avoid the override width.

Tests: fast/css-grid-layout/grid-item-auto-sized-align-justify-margin-border-padding.html
       fast/css-grid-layout/min-width-height-auto-and-margins.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::sizesLogicalWidthToFitContent):
* rendering/RenderGrid.cpp:
(WebCore::defaultAlignmentChangedFromStretchInRowAxis):
(WebCore::selfAlignmentChangedFromStretchInRowAxis):
(WebCore::RenderGrid::styleDidChange):
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):
(WebCore::selfAlignmentChangedFromStretchInColumnAxis): Deleted.
(WebCore::RenderGrid::computeMarginLogicalHeightForChild): Deleted.
(WebCore::RenderGrid::availableAlignmentSpaceForChildBeforeStretching): Deleted.

LayoutTests:

Tests to verify that margins are computed properly on grid items
using an alignment value different than stretch or when min-width
is auto.

* fast/css-grid-layout/grid-item-auto-sized-align-justify-margin-border-padding-expected.txt: Added.
* fast/css-grid-layout/grid-item-auto-sized-align-justify-margin-border-padding.html: Added.
* fast/css-grid-layout/min-width-height-auto-and-margins-expected.txt: Added.
* fast/css-grid-layout/min-width-height-auto-and-margins.html: Added.

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

5 years ago[GTK] Update xserver version in jhbuild
carlosgc@webkit.org [Wed, 18 Nov 2015 12:43:39 +0000 (12:43 +0000)]
[GTK] Update xserver version in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=151383

Reviewed by Alejandro G. Castro.

In r192568 I assumed the bots would have a recent enough Xvfb
to use the -displayfd option, but I forgot we build our own
xserver just for Xvfb. The version we build is too old, so
we could just use an updated version (the same bots have
installed, for example) to use the -displayfd option.

* gtk/jhbuild.modules: Update xserver to 1.16.4.
* gtk/patches/xserver-fix-glx-init.patch: Deleted.
* gtk/patches/xserver-remove-bogus-dependencies.patch: Updated to
apply on 1.16.4.

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

5 years agoWebRTC: [GTK] Skip failing MediaStream tests
adam.bergkvist@ericsson.com [Wed, 18 Nov 2015 11:30:48 +0000 (11:30 +0000)]
WebRTC: [GTK] Skip failing MediaStream tests
https://bugs.webkit.org/show_bug.cgi?id=151360

Reviewed by Eric Carlson.

* platform/gtk/TestExpectations:
Two tests skipped. Awaits resolution of https://webkit.org/b/151344.

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

5 years agoAX: Shadow DOM video player controls menus need aria-owns on the trigger buttons
commit-queue@webkit.org [Wed, 18 Nov 2015 11:12:42 +0000 (11:12 +0000)]
AX: Shadow DOM video player controls menus need aria-owns on the trigger buttons
https://bugs.webkit.org/show_bug.cgi?id=127065

Patch by Aaron Chu <arona.chu@gmail.com> on 2015-11-18
Reviewed by Darin Adler.

Source/WebCore:

Test: media/accessibility-closed-captions-has-aria-owns.html

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls):
(Controller.prototype.buildCaptionMenu):
* Modules/mediacontrols/mediaControlsBase.js:
(Controller.prototype.createControls):
(Controller.prototype.buildCaptionMenu):

LayoutTests:

* media/accessibility-closed-captions-has-aria-owns-expected.txt: Added.
* media/accessibility-closed-captions-has-aria-owns.html: Added.

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

5 years agoUnreviewed. Fix webkitpy tests after r192568.
carlosgc@webkit.org [Wed, 18 Nov 2015 11:02:43 +0000 (11:02 +0000)]
Unreviewed. Fix webkitpy tests after r192568.

Instead of ignoring exception when closing mock fds, use a helper
function that the unit test can override to do nothing.

* Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._xvfb_close_pipe):
(XvfbDriver._xvfb_run):
* Scripts/webkitpy/port/xvfbdriver_unittest.py:
(XvfbDriverTest.make_driver):

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

5 years ago[XvfbDriver] Fail to run all layout tests when X server started with -displayfd option
carlosgc@webkit.org [Wed, 18 Nov 2015 09:05:28 +0000 (09:05 +0000)]
[XvfbDriver] Fail to run all layout tests when X server started with -displayfd option
https://bugs.webkit.org/show_bug.cgi?id=151135

Reviewed by Darin Adler.

The XvfbDriver uses the x server command line to check the
displays that are currently in use. This doesn't work when X
server was started with -displayfd option. This option is used to let
the server find the display id available that is written to the
given file descriptor. With this option xorg doesn't need to
create the lock files in tmp either. The -displayfd option is also
available in Xvfb, so we could use it too. That would simplify the
code, fixing also race conditions between the check for available
displays and Xvfb opening the connection, we wouldn't need to wait
for 4 seconds after launching Xvfb, and all lock files we are
using won't be needed either.

* Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._xvfb_pipe): Helper function to create the pipe, only
needed to be overriden by unit tests.
(XvfbDriver._xvfb_read_display_id): Helper function to read from
the pipe, only needed to be overriden by unit tests.
(XvfbDriver._xvfb_run): Run Xvfb with -displayfd option, using a
pipe to read the display id.
(XvfbDriver._start): Call _xvfb_run() and remove the code to run
Xvfb for a given display.
(XvfbDriver.stop): Remove code to release and delete file locks.
* Scripts/webkitpy/port/xvfbdriver_unittest.py:
(XvfbDriverTest.make_driver):
(XvfbDriverTest.test_start):
(XvfbDriverTest.test_start_arbitrary_worker_number):
(XvfbDriverTest.test_stop):
(XvfbDriverTest.assertDriverStartSuccessful): Deleted.
(XvfbDriverTest): Deleted.
(XvfbDriverTest.test_stop.FakeXvfbProcess): Deleted.

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

5 years agoNull dereference loading Blink layout test editing/execCommand/indent-button-crash...
carlosgc@webkit.org [Wed, 18 Nov 2015 07:52:47 +0000 (07:52 +0000)]
Null dereference loading Blink layout test editing/execCommand/indent-button-crash.html
https://bugs.webkit.org/show_bug.cgi?id=151187

Reviewed by Darin Adler.

Source/WebCore:

This is a merge of Blink r174671:
https://codereview.chromium.org/291143002

Fixes imported/blink/editing/execCommand/indent-button-crash.html.

* editing/ApplyBlockElementCommand.cpp:
(WebCore::ApplyBlockElementCommand::doApply):

LayoutTests:

Unskip the test.

* platform/gtk/TestExpectations:
* platform/win/TestExpectations:

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

5 years agoREGRESSION(r192459): [GTK] User agent string is broken after r192459
carlosgc@webkit.org [Wed, 18 Nov 2015 07:48:06 +0000 (07:48 +0000)]
REGRESSION(r192459): [GTK] User agent string is broken after r192459
https://bugs.webkit.org/show_bug.cgi?id=151347

Reviewed by Žan Doberšek.

.:

Pass UA version numbers as strings to the build.

* Source/cmake/OptionsGTK.cmake:

Source/WebCore:

Remove the incorrect macro and simply use the given values
USER_AGENT_GTK_MAJOR_VERSION and USER_AGENT_GTK_MINOR_VERSION that
are now strings.

* platform/gtk/UserAgentGtk.cpp:
(WebCore::versionForUAString):
(WebCore::buildUserAgentString):

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

5 years agorun-webkit-tests should not truncate persistent lines
ap@apple.com [Wed, 18 Nov 2015 06:27:09 +0000 (06:27 +0000)]
run-webkit-tests should not truncate persistent lines
https://bugs.webkit.org/show_bug.cgi?id=151376
rdar://problem/23162775

Reviewed by Antti Koivisto.

It is OK to truncate progress lines, but it's not OK to truncate error (or otherwise
unexpected result) messages that remain on the screen to be read. In practice, this
almost always truncates the test path, which is important to see.

* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer._test_status_line):
(Printer.print_finished_test):
* Scripts/webkitpy/layout_tests/views/printing_unittest.py:
(Testprinter.test_test_status_line):

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

5 years agoSimple line layout: Add letter-spacing support.
zalan@apple.com [Wed, 18 Nov 2015 03:00:43 +0000 (03:00 +0000)]
Simple line layout: Add letter-spacing support.
https://bugs.webkit.org/show_bug.cgi?id=151362

Reviewed by Antti Koivisto.

This enables us to use simple line layout on letter-spacing content.
(fixme: webkit.org/b/151368 -> Repaint rect is not computed correctly when negative letter-spacing applied)

Source/WebCore:

Test: fast/text/simple-line-letterspacing.html

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForStyle):
* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintFlow): RenderLineBoxList tests vertical intersection only.
* rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::TextFragmentIterator::runWidth):

LayoutTests:

* fast/text/simple-line-letterspacing-expected.html: Added.
* fast/text/simple-line-letterspacing.html: Added.

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

5 years ago[JSC] Untangle the dependencies on FTLAbbreviations a bit
benjamin@webkit.org [Wed, 18 Nov 2015 01:53:44 +0000 (01:53 +0000)]
[JSC] Untangle the dependencies on FTLAbbreviations a bit
https://bugs.webkit.org/show_bug.cgi?id=151375

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

FTLAbbreviations was included in many places but in most cases
we just need the Abbreviated types. Update the #include accordingly.

Also remove the IntrinsicRepository dependency from the B3Output.

* ftl/FTLAbstractHeap.cpp:
* ftl/FTLAbstractHeap.h:
* ftl/FTLAbstractHeapRepository.cpp:
* ftl/FTLB3Output.h:
(JSC::FTL::Output::Output):
(JSC::FTL::Output::stackmapIntrinsic):
(JSC::FTL::Output::frameAddressIntrinsic):
(JSC::FTL::Output::patchpointInt64Intrinsic):
(JSC::FTL::Output::patchpointVoidIntrinsic):
* ftl/FTLCommonValues.cpp:
* ftl/FTLCommonValues.h:
* ftl/FTLFormattedValue.h:
* ftl/FTLIntrinsicRepository.cpp:
* ftl/FTLOSRExit.h:
* ftl/FTLOSRExitCompilationInfo.h:
* ftl/FTLStackmapArgumentList.h:
* ftl/FTLState.cpp:
* ftl/FTLState.h:
* ftl/FTLTypedPointer.h:

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

5 years agoWeb Inspector: Move Timeline creation into a recording
commit-queue@webkit.org [Wed, 18 Nov 2015 01:34:49 +0000 (01:34 +0000)]
Web Inspector: Move Timeline creation into a recording
https://bugs.webkit.org/show_bug.cgi?id=151367

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-11-17
Reviewed by Timothy Hatcher.

* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype._loadNewRecording): Deleted.
* UserInterface/Models/Timeline.js:
(WebInspector.Timeline.create):
(WebInspector.Timeline.prototype.get type):
(WebInspector.Timeline): Deleted.
(WebInspector.Timeline.prototype.get recording): Deleted.
* UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording):
(WebInspector.TimelineRecording.prototype.get readonly):
(WebInspector.TimelineRecording.prototype.unloaded):
(WebInspector.TimelineRecording.prototype.reset):
(WebInspector.TimelineRecording.prototype.isWritable): Deleted.
* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview):
* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype.shown):

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

5 years agoReorganize the graphics benchmark string table
commit-queue@webkit.org [Wed, 18 Nov 2015 01:29:15 +0000 (01:29 +0000)]
Reorganize the graphics benchmark string table
https://bugs.webkit.org/show_bug.cgi?id=151334

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

Make the graphics benchmark string table be an object of sub-objects. Each
sub-object represents an associative array, the key is the string name and
the value is the string data.

* Animometer/resources/extensions.js:
(ResultsDashboard.prototype.toJSON):
(ResultsTable.prototype._showGraph):
(ResultsTable.prototype._showJSON):
(ResultsTable.prototype._isNoisyMeasurement):
(ResultsTable.prototype._isNoisyTest):
(ResultsTable.prototype._showTest):
(ResultsTable.prototype._showSuite):
(ResultsTable.prototype._showIteration):
* Animometer/resources/sampler.js:
(Sampler.prototype.toJSON):
* Animometer/resources/strings.js:
* Animometer/runner/resources/animometer.js:
(window.benchmarkRunnerClient.didFinishLastIteration):
(window.suitesManager.updateLocalStorageFromJSON):
(window.benchmarkController.showResults):
(window.benchmarkController.showJson):
(window.benchmarkController.showTestGraph):
(window.benchmarkController.showTestJSON):
* Animometer/runner/resources/tests.js:
* Animometer/tests/resources/main.js:

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

5 years agoB3::generate should separate out the final Air codegen, so that it can be done outsid...
fpizlo@apple.com [Wed, 18 Nov 2015 01:27:28 +0000 (01:27 +0000)]
B3::generate should separate out the final Air codegen, so that it can be done outside the Graph safepoint
https://bugs.webkit.org/show_bug.cgi?id=151371

Reviewed by Benjamin Poulain.

One of the FTL optimizations is that while the expensive backend is running, we are at a "graph
safepoint" that allows the VM to do GCs and other dangerous and time-sensitive things without
waiting for the compilation thread. While in the safepoint, we cannot do anything that touches
anything other than the backend's state. That means, for example, that we wouldn't be able to run
any of the stackmap generation callbacks, since those need to mess with DFG state.

That means that we need to separate the B3 pipeline into "preparation" and "generation".
Preparation is all of the expensive stuff: all B3 phases, lowering to Air, all Air phases.
Generation is just the part where we turn fully lowered Air into machine code. Generation also
happens to be the part where we call stackmap generation callbacks. In other words, preparation
is exactly the stuff that should go into the graph safepoint, while generation is the stuff that
we want to do after we emerge from the safepoint.

Because the tests were using the higher-level Compilation API, I didn't have to change any test
code. The FTL will not use that high-level API.

* b3/B3Compilation.cpp:
(JSC::B3::Compilation::Compilation):
* b3/B3Generate.cpp:
(JSC::B3::prepareForGeneration):
(JSC::B3::generate):
(JSC::B3::generateToAir):
* b3/B3Generate.h:
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::LowerToAir):
(JSC::B3::lowerToAir):
* b3/B3LowerToAir.h:
* b3/B3Procedure.cpp:
(JSC::B3::Procedure::Procedure):
* b3/B3Procedure.h:
(JSC::B3::Procedure::takeByproducts):
(JSC::B3::Procedure::code):
* b3/air/AirCode.h:
(JSC::B3::Air::Code::proc):
(JSC::B3::Air::Code::lastPhaseName):
* b3/air/AirGenerate.cpp:
(JSC::B3::Air::prepareForGeneration):
(JSC::B3::Air::generate):
* b3/air/AirGenerate.h:

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

5 years agoWeb Inspector: Breakpoint condition field should use CodeMirror
mattbaker@apple.com [Wed, 18 Nov 2015 00:23:56 +0000 (00:23 +0000)]
Web Inspector: Breakpoint condition field should use CodeMirror
https://bugs.webkit.org/show_bug.cgi?id=151333

Reviewed by Joseph Pecoraro.

Updated breakpoint popover's condition field to use CodeMirror.

* UserInterface/Controllers/BreakpointPopoverController.js:
Removed keyboard shortcuts. Now handled by CodeMirror.
(WebInspector.BreakpointPopoverController.prototype.completionControllerShouldAllowEscapeCompletion):
Prevent handling of escape to allow tabbing to next element.
(WebInspector.BreakpointPopoverController.prototype._createPopoverContent):
Create CodeMirror instance.
(WebInspector.BreakpointPopoverController.prototype._conditionCodeMirrorChanged):
(WebInspector.BreakpointPopoverController.prototype._conditionCodeMirrorBeforeChange):
Enforce single-line editor.
(WebInspector.BreakpointPopoverController.prototype._conditionCodeMirrorEscapeOrEnterKey):
(WebInspector.BreakpointPopoverController): Deleted.
(WebInspector.BreakpointPopoverController.prototype.appendContextMenuItems.editBreakpoint):
Removed condition element select. CodeMirror sets focus when popover content is created.
(WebInspector.BreakpointPopoverController.prototype._popoverConditionInputChanged): Deleted.
Replaced by BreakpointPopoverController.prototype._conditionCodeMirrorChanged.
(WebInspector.BreakpointPopoverController.prototype._popoverConditionInputKeyDown): Deleted.
Replaced by BreakpointPopoverController.prototype._conditionCodeMirrorEscapeOrEnterKey.

* UserInterface/Views/BreakpointPopoverController.css:
(.edit-breakpoint-popover-condition):
(.edit-breakpoint-popover-condition > .CodeMirror):
(#edit-breakpoint-popover-condition): Deleted.
Replace selector id with class, styled CodeMirror element to match original input element.

* UserInterface/Views/CSSStyleDeclarationTextEditor.css:
(.css-style-text-editor > .CodeMirror .CodeMirror-placeholder): Deleted.
Moved common CodeMirror placeholder text style to CodeMirrorOverrides.css.

* UserInterface/Views/CodeMirrorOverrides.css:
(.CodeMirror .CodeMirror-placeholder):
Add placeholder style.

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

5 years agoDisable flattening the stage iframe of the graphics benchmark when running on iOS
said@apple.com [Wed, 18 Nov 2015 00:16:56 +0000 (00:16 +0000)]
Disable flattening the stage iframe of the graphics benchmark when running on iOS
https://bugs.webkit.org/show_bug.cgi?id=151361

Reviewed by Simon Fraser.

Use fixed size for stage iframe of the graphics benchmark to disable
flattening the iframe while animating the particles. Also ensure the
bouncing particles do not go outside the iframe's boundaries.

* Animometer/runner/resources/animometer.css:
(section#running > #running-test > iframe):
(@media screen and (min-device-width: 1800px)):
* Animometer/tests/bouncing-particles/resources/bouncing-particles.js:
(BouncingParticle.prototype.animate):

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

5 years agoUse the media queries to dynamically set the stage for the graphics benchmark
commit-queue@webkit.org [Wed, 18 Nov 2015 00:08:38 +0000 (00:08 +0000)]
Use the media queries to dynamically set the stage for the graphics benchmark
https://bugs.webkit.org/show_bug.cgi?id=151327

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

Clean setting the benchmark css rules by using the media queries. Accessing
document.stylesheets.cssRules seems to be unreliable. Fix the test harness
load event listener invocation. And also remove the options for normalizing
the stage resolution for retina display.

* Animometer/resources/extensions.js:
(window.DocumentExtension.insertCssRuleAfter): Deleted.
* Animometer/runner/animometer.html:
* Animometer/runner/resources/animometer.css:
(@media screen and (min-device-width: 1800px)):
* Animometer/runner/resources/animometer.js:
(window.sectionsManager.setupRunningSectionStyle):
(window.benchmarkController.initialize):
(window.sectionsManager.setupSectionStyle): Deleted.
* Animometer/tests/bouncing-particles/resources/bouncing-particles.js:
(BouncingParticlesStage):
* Animometer/tests/text/layering-text.html:
* Animometer/tests/text/resources/layering-text.js:
(LayeringTextStage):
(LayeringTextStage.prototype._setFontSize): Deleted.

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

5 years agoUnreviewed, fix a ChangeLog entry to have the right filename.
fpizlo@apple.com [Wed, 18 Nov 2015 00:07:34 +0000 (00:07 +0000)]
Unreviewed, fix a ChangeLog entry to have the right filename.

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

5 years agoFTL::State should be able to refer to B3::Procedure
fpizlo@apple.com [Wed, 18 Nov 2015 00:05:47 +0000 (00:05 +0000)]
FTL::State should be able to refer to B3::Procedure

Rubber stamped by Benjamin Poulain.

* ftl/FTLState.h:

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

5 years ago[JSC] Add an empty FTLOutput for B3 that crashes on any operation
benjamin@webkit.org [Tue, 17 Nov 2015 23:44:01 +0000 (23:44 +0000)]
[JSC] Add an empty FTLOutput for B3 that crashes on any operation
https://bugs.webkit.org/show_bug.cgi?id=151366

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-11-17
Reviewed by Filip Pizlo.

* JavaScriptCore.xcodeproj/project.pbxproj:
* ftl/B3Output.h: Added.
* ftl/FTLAbbreviatedTypes.h:
* ftl/FTLAbstractHeap.cpp:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::createPhiVariables):
* ftl/FTLOutput.cpp:
* ftl/FTLOutput.h:

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

5 years agoMarking storage/indexeddb/modern/get-index-failures.html as flaky on mac-wk1
ryanhaddad@apple.com [Tue, 17 Nov 2015 23:15:31 +0000 (23:15 +0000)]
Marking storage/indexeddb/modern/get-index-failures.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=151364

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

5 years ago[JSC] Do not copy the adjacency list when we just need to manipulate them
commit-queue@webkit.org [Tue, 17 Nov 2015 23:10:14 +0000 (23:10 +0000)]
[JSC] Do not copy the adjacency list when we just need to manipulate them
https://bugs.webkit.org/show_bug.cgi?id=151343

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

* b3/air/AirIteratedRegisterCoalescing.cpp:
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::precoloredCoalescingHeuristic):
(JSC::B3::Air::IteratedRegisterCoalescingAllocator::conservativeHeuristic):

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

5 years ago[JSC] Remove FTLOutput operations that act directly on floats
commit-queue@webkit.org [Tue, 17 Nov 2015 22:48:19 +0000 (22:48 +0000)]
[JSC] Remove FTLOutput operations that act directly on floats
https://bugs.webkit.org/show_bug.cgi?id=151342

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

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithFRound):
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutByVal):
* ftl/FTLOutput.cpp:
(JSC::FTL::Output::store):
* ftl/FTLOutput.h:
(JSC::FTL::Output::loadFloatToDouble):
(JSC::FTL::Output::fround):
(JSC::FTL::Output::loadFloat): Deleted.

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

5 years agoAdd a FTL_USES_B3 compile-time setting and set it to 0.
fpizlo@apple.com [Tue, 17 Nov 2015 22:46:53 +0000 (22:46 +0000)]
Add a FTL_USES_B3 compile-time setting and set it to 0.

Rubber stamped by Benjamin Poulain.

* dfg/DFGCommon.h:

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

5 years ago[WinCairo][MediaFoundation] Current playback time is not shown.
peavo@outlook.com [Tue, 17 Nov 2015 22:41:24 +0000 (22:41 +0000)]
[WinCairo][MediaFoundation] Current playback time is not shown.
https://bugs.webkit.org/show_bug.cgi?id=151357

Reviewed by Alex Christensen.

We need to implement the currentTime() method.

* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::durationDouble):
(WebCore::MediaPlayerPrivateMediaFoundation::currentTime):
(WebCore::MediaPlayerPrivateMediaFoundation::paused):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::paintCurrentFrame):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::currentTime):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::isActive):
* platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:

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