WebKit-https.git
4 years agoModern IDB: Support populating/extracting database metadata with SQLite backend.
beidson@apple.com [Fri, 22 Jan 2016 06:39:57 +0000 (06:39 +0000)]
Modern IDB: Support populating/extracting database metadata with SQLite backend.
Source/WebCore:

Nhttps://bugs.webkit.org/show_bug.cgi?id=153318

Reviewed by Alex Christensen.

No new tests (Covered by current tests).

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

* Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::willAbortTransaction): Committing transactions can abort if the commit
  ends in error.

* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::didCommit): Before a committing transaction is aborted, notify the
  IDBDatabase that it aborted.

Copied over from WK2:
* Modules/indexeddb/server/IDBSerialization.cpp: Added.
(WebCore::serializeIDBKeyPath):
(WebCore::deserializeIDBKeyPath):
(WebCore::serializeIDBKeyData):
(WebCore::deserializeIDBKeyData):
* Modules/indexeddb/server/IDBSerialization.h: Added.

* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::createBackingStore): Optionally create a SQLite backing store.

Mostly copied over verbatim from WebKit2's UniqueIDBDatabaseBackingStoreSQLite.cpp:
* Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::idbKeyCollate):
(WebCore::IDBServer::v1RecordsTableSchema):
(WebCore::IDBServer::v1RecordsTableSchemaAlternate):
(WebCore::IDBServer::v2RecordsTableSchema):
(WebCore::IDBServer::v2RecordsTableSchemaAlternate):
(WebCore::IDBServer::createOrMigrateRecordsTableIfNecessary):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidRecordsTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::beginTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::abortTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::commitTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::unregisterCursor):
* Modules/indexeddb/server/SQLiteIDBBackingStore.h:

Copied over from WK2:
* Modules/indexeddb/server/SQLiteIDBCursor.cpp: Added.
(WebCore::IDBServer::SQLiteIDBCursor::maybeCreate):
(WebCore::IDBServer::SQLiteIDBCursor::SQLiteIDBCursor):
(WebCore::IDBServer::buildIndexStatement):
(WebCore::IDBServer::buildObjectStoreStatement):
(WebCore::IDBServer::SQLiteIDBCursor::establishStatement):
(WebCore::IDBServer::SQLiteIDBCursor::createSQLiteStatement):
(WebCore::IDBServer::SQLiteIDBCursor::objectStoreRecordsChanged):
(WebCore::IDBServer::SQLiteIDBCursor::resetAndRebindStatement):
(WebCore::IDBServer::SQLiteIDBCursor::bindArguments):
(WebCore::IDBServer::SQLiteIDBCursor::advance):
(WebCore::IDBServer::SQLiteIDBCursor::advanceUnique):
(WebCore::IDBServer::SQLiteIDBCursor::advanceOnce):
(WebCore::IDBServer::SQLiteIDBCursor::internalAdvanceOnce):
(WebCore::IDBServer::SQLiteIDBCursor::iterate):
* Modules/indexeddb/server/SQLiteIDBCursor.h: Added.
(WebCore::IDBServer::SQLiteIDBCursor::identifier):
(WebCore::IDBServer::SQLiteIDBCursor::transaction):
(WebCore::IDBServer::SQLiteIDBCursor::objectStoreID):
(WebCore::IDBServer::SQLiteIDBCursor::currentKey):
(WebCore::IDBServer::SQLiteIDBCursor::currentPrimaryKey):
(WebCore::IDBServer::SQLiteIDBCursor::currentValueBuffer):
(WebCore::IDBServer::SQLiteIDBCursor::didError):

Copied over from WK2:
* Modules/indexeddb/server/SQLiteIDBTransaction.cpp: Added.
(WebCore::IDBServer::SQLiteIDBTransaction::SQLiteIDBTransaction):
(WebCore::IDBServer::SQLiteIDBTransaction::~SQLiteIDBTransaction):
(WebCore::IDBServer::SQLiteIDBTransaction::begin):
(WebCore::IDBServer::SQLiteIDBTransaction::commit):
(WebCore::IDBServer::SQLiteIDBTransaction::reset):
(WebCore::IDBServer::SQLiteIDBTransaction::rollback):
(WebCore::IDBServer::SQLiteIDBTransaction::maybeOpenCursor):
(WebCore::IDBServer::SQLiteIDBTransaction::closeCursor):
(WebCore::IDBServer::SQLiteIDBTransaction::notifyCursorsOfChanges):
(WebCore::IDBServer::SQLiteIDBTransaction::clearCursors):
(WebCore::IDBServer::SQLiteIDBTransaction::inProgress):
* Modules/indexeddb/server/SQLiteIDBTransaction.h: Added.
(WebCore::IDBServer::SQLiteIDBTransaction::transactionIdentifier):
(WebCore::IDBServer::SQLiteIDBTransaction::mode):
(WebCore::IDBServer::SQLiteIDBTransaction::sqliteTransaction):

* page/Page.cpp:
(WebCore::Page::setSessionID): If the new SessionID is different from the last one,
  clear the IDBConnectionToServer.
(WebCore::Page::idbConnection): Always ask the DatabaseProvider; It handles whether or not
  the session is ephemeral.

LayoutTests:

https://bugs.webkit.org/show_bug.cgi?id=153318

Reviewed by Alex Christensen.

* platform/mac-wk1/TestExpectations: Skip all of the tests that run against the
  SQLite backend and currently fail (which is most of them!)

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

4 years agoREGRESSION (r195305): Web Inspector: WebInspector.Object can dispatch constructor...
nvasilyev@apple.com [Fri, 22 Jan 2016 05:54:31 +0000 (05:54 +0000)]
REGRESSION (r195305): Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
https://bugs.webkit.org/show_bug.cgi?id=153269
<rdar://problem/24253106>

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

Bring back object.hasOwnProperty("_listeners") check.

* UserInterface/Base/Object.js:
(WebInspector.Object.prototype.dispatchEventToListeners.dispatch):
(WebInspector.Object.prototype.dispatchEventToListeners):
(WebInspector.Object):
Check !object._listeners before !object.hasOwnProperty("_listeners")
because !object._listeners is more common case thus we can exit earlier
most of the time.

LayoutTests:

* inspector/unit-tests/object-expected.txt: Added.
* inspector/unit-tests/object.html: Added.

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

4 years agoCMake build fix after r195302.
achristensen@apple.com [Fri, 22 Jan 2016 05:49:26 +0000 (05:49 +0000)]
CMake build fix after r195302.

* PlatformMac.cmake:

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

4 years agoAdd some missing WTF_MAKE_FAST_ALLOCATED in JavaScriptCore.
akling@apple.com [Fri, 22 Jan 2016 05:22:29 +0000 (05:22 +0000)]
Add some missing WTF_MAKE_FAST_ALLOCATED in JavaScriptCore.
<https://webkit.org/b/153335>

Reviewed by Alex Christensen.

Saw these things getting system malloc()'ed in an Instruments trace.

* inspector/InspectorAgentBase.h:
* jit/CallFrameShuffleData.h:
* jit/CallFrameShuffler.h:
* jit/RegisterAtOffsetList.h:
* runtime/GenericOffset.h:

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

4 years ago[ES6] Catch parameter should accept BindingPattern
utatane.tea@gmail.com [Fri, 22 Jan 2016 04:21:36 +0000 (04:21 +0000)]
[ES6] Catch parameter should accept BindingPattern
https://bugs.webkit.org/show_bug.cgi?id=152385

Reviewed by Saam Barati.

Source/JavaScriptCore:

This patch implements destructuring in catch parameter.
Catch parameter accepts binding pattern and binding identifier.
It creates lexical bindings. And "yield" and "let" are specially
handled as is the same to function parameters.

In addition to that, we make destructuring parsing errors more descriptive.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitPushCatchScope):
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::TryNode::emitBytecode):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createTryStatement):
* parser/NodeConstructors.h:
(JSC::TryNode::TryNode):
* parser/Nodes.h:
* parser/Parser.cpp:
(JSC::Parser<LexerType>::createBindingPattern):
(JSC::Parser<LexerType>::tryParseDestructuringPatternExpression):
(JSC::Parser<LexerType>::parseBindingOrAssignmentElement):
(JSC::destructuringKindToVariableKindName):
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseTryStatement):
(JSC::Parser<LexerType>::parseFormalParameters):
(JSC::Parser<LexerType>::parseFunctionParameters):
* parser/Parser.h:
(JSC::Parser::destructuringKindFromDeclarationType):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createTryStatement):
* tests/es6.yaml:
* tests/es6/destructuring_in_catch_heads.js: Added.
(test):
* tests/stress/catch-parameter-destructuring.js: Added.
(shouldBe):
(shouldThrow):
(prototype.call):
(catch):
(shouldThrow.try.throw.get error):
(initialize):
(array):
(generator.gen):
(generator):
* tests/stress/catch-parameter-syntax.js: Added.
(testSyntax):
(testSyntaxError):
* tests/stress/reserved-word-with-escape.js:
(testSyntaxError.String.raw.a):
(String.raw.SyntaxError.Cannot.use.the.keyword.string_appeared_here.as.a.name):
* tests/stress/yield-named-variable.js:

LayoutTests:

* js/dom/reserved-words-as-property-expected.txt:
* js/let-syntax-expected.txt:
* js/mozilla/strict/12.14.1-expected.txt:
* js/mozilla/strict/script-tests/12.14.1.js:
* sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A16_T10-expected.txt:
* sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A16_T13-expected.txt:
* sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A16_T5-expected.txt:
* sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A16_T7-expected.txt:
* sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A16_T8-expected.txt:

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

4 years agocreateElementFromSavedToken shouldn't have the code to create a non-HTML element
rniwa@webkit.org [Fri, 22 Jan 2016 03:47:37 +0000 (03:47 +0000)]
createElementFromSavedToken shouldn't have the code to create a non-HTML element
https://bugs.webkit.org/show_bug.cgi?id=153327

Reviewed by Chris Dumez.

Since HTMLConstructionSite::createElementFromSavedToken is only used to instantiate a formatting element,
there is no need for it to support creating a non-HTML elements. Remove the branch and assert that this
is indeed the case.

createElementFromSavedToken is called in HTMLTreeBuilder::callTheAdoptionAgency and HTMLConstructionSite's
reconstructTheActiveFormattingElements. In both cases, the stack item passed to createElementFromSavedToken
is guaranteed to be in the list of active formatting elements, which only contains formatting elements.

No new tests since there is no behavioral change.

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLHeadElement):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
(WebCore::HTMLConstructionSite::insertFormattingElement):
(WebCore::HTMLConstructionSite::createElement): Returns Ref<Element> instead of PassRefPtr<Element>.
(WebCore::HTMLConstructionSite::createHTMLElement): Ditto.
(WebCore::HTMLConstructionSite::createElementFromSavedToken): Ditto. Removed the code to instantiate
a non-HTML element. Also assert that an element created by this function is a formatting tag.
* html/parser/HTMLConstructionSite.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLConstructionSite::isFormattingTag): Put into HTMLConstructionSite to add an assertion.
(WebCore::HTMLTreeBuilder::processEndTagForInBody):

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

4 years agoUnreviewed, fix build.
fpizlo@apple.com [Fri, 22 Jan 2016 03:36:44 +0000 (03:36 +0000)]
Unreviewed, fix build.

* b3/B3EliminateCommonSubexpressions.cpp:

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

4 years agoB3 CSE should be able to match a full redundancy even if none of the matches dominate...
fpizlo@apple.com [Fri, 22 Jan 2016 03:31:32 +0000 (03:31 +0000)]
B3 CSE should be able to match a full redundancy even if none of the matches dominate the value in question
https://bugs.webkit.org/show_bug.cgi?id=153321

Reviewed by Benjamin Poulain.

I once learned that LLVM's GVN can manufacture Phi functions. I don't know the details
but I'm presuming that it involves:

    if (p)
        tmp1 = *ptr
    else
        tmp2 = *ptr
    tmp3 = *ptr // Replace this with Phi(tmp1, tmp2).

This adds such an optimization to our CSE. The idea is that we search through basic
blocks until we find the value we want, a side effect, or the start of the procedure. If
we find a value that matches our search criteria, we record it and ignore the
predecessors. If we find a side effect or the start of the procedure, we give up the
whole search. This ensures that if we come out of the search without giving up, we'll
have a set of matches that are fully redundant.

CSE could then create a Phi graph by using SSACalculator. But the recent work on FixSSA
revealed a much more exciting option: create a stack slot! In case there is more than one
match, CSE now creates a stack slot that each match stores to, and replaces the redundant
instruction with a loadfrom the stack slot. The stack slot is anonymous, which ensures
that FixSSA will turn it into an optimal Phi graph or whatever.

This is a significant speed-up on Octane/richards.

* b3/B3DuplicateTails.cpp:
* b3/B3EliminateCommonSubexpressions.cpp:
* b3/B3FixSSA.cpp:
(JSC::B3::fixSSA):
* b3/B3Generate.cpp:
(JSC::B3::generateToAir):
* b3/B3Procedure.h:
(JSC::B3::Procedure::setFrontendData):
(JSC::B3::Procedure::frontendData):
* b3/testb3.cpp:
* ftl/FTLState.cpp:
(JSC::FTL::State::State):

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

4 years agoAir should know that CeilDouble has the partial register stall issue
fpizlo@apple.com [Fri, 22 Jan 2016 02:21:22 +0000 (02:21 +0000)]
Air should know that CeilDouble has the partial register stall issue
https://bugs.webkit.org/show_bug.cgi?id=153338

Rubber stamped by Benjamin Poulain.

This is a 8% speed-up on Kraken with B3 enabled, mostly because of a 2.4x speed-up on
audio-oscillator.

* b3/air/AirFixPartialRegisterStalls.cpp:

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

4 years agoWeb Inspector: Add toggle-able list of classes for each element
commit-queue@webkit.org [Fri, 22 Jan 2016 02:06:49 +0000 (02:06 +0000)]
Web Inspector: Add toggle-able list of classes for each element
https://bugs.webkit.org/show_bug.cgi?id=152678

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-01-21
Reviewed by Timothy Hatcher.

Adds a button to the CSS sidebar that, when toggled, displays a section
directly above it containing all the classes for the selected node that,
when toggled, adds or removes the class from the node.

* Localizations/en.lproj/localizedStrings.js:

* UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject.prototype.callFunction.mycallback):
(WebInspector.RemoteObject.prototype.callFunction):
Add extra handling of arguments to allow nicer looking calls by other classes.

* UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
Changed next-sibling selector (+) to general-sibling selector (~).

(.sidebar > .panel.details.css-style > .content ~ :matches(.options-container, .class-list-container)):
(.sidebar > .panel.details.css-style > .content:not(.supports-new-rule, .has-filter-bar) ~ :matches(.options-container, .class-list-container)):
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle.selected):
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:not(.selected):hover):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container[hidden]):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > input[type="checkbox"]):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .add-class-icon):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class:not(.active) > .class-name-input):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > *:matches(.new-class, .class-toggle)):

* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
Also changed the few instances of "var" to "let".

(WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.addEventListeners):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._handleNodeAttributeModified):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._handleNodeAttributeRemoved):
Adds listeners to the DOMNode specifically listening for changes to the
class attribute and repopulates the class toggle list if fired.

(WebInspector.CSSStyleDetailsSidebarPanel.prototype._classToggleButtonClicked):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassContainerClicked):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassInputKeyPressed):
If the Enter key is pressed, add a new class equal to the input value.

(WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassInputBlur):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._populateClassToggles):
Loops through all the classes, including previously removed ones, for the
selected node and creates a toggle for each.

(WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName.classNameToggleChanged):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName):
Creates a toggle element for the given className and adds it to the container.

(WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode.toggleClass):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass):
Uses the Element.classList to toggle the given className on the selected node.

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

4 years ago[INTL] Implement Array.prototype.toLocaleString in ECMA-402
commit-queue@webkit.org [Fri, 22 Jan 2016 02:05:28 +0000 (02:05 +0000)]
[INTL] Implement Array.prototype.toLocaleString in ECMA-402
https://bugs.webkit.org/show_bug.cgi?id=147614

Patch by Andy VanWagoner <andy@instructure.com> on 2016-01-21
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

The primary changes in the ECMA-402 version, and the existing implementation
are passing the arguments on to each element's toLocaleString call, and
missing/undefined/null elements become empty string instead of being skipped.

* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncToLocaleString):

LayoutTests:

* js/array-toLocaleString-expected.txt: Added.
* js/array-toLocaleString.html: Added.
* js/script-tests/array-toLocaleString.js: Added.

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

4 years agoCGImageSource sometimes retains temporary SharedBuffer data indefinitely, doubling...
akling@apple.com [Fri, 22 Jan 2016 02:00:42 +0000 (02:00 +0000)]
CGImageSource sometimes retains temporary SharedBuffer data indefinitely, doubling memory cost.
<https://webkit.org/b/153325>

Reviewed by Anders Carlsson.

After a resource has finished downloading, and has been cached to disk cache,
we mmap() the disk cached version so we can throw out the temporary download buffer.

Due to the way CGImageSource works on Mac/iOS, it's not possible to replace the data
being decoded once the image has been fully decoded once. When doing the replacement,
we'd end up with the SharedBuffer wrapping the mmap() data, and the CGImageSource
keeping the old SharedBuffer::DataBuffer alive, effectively doubling the memory cost.

This patch adds a CachedResource::didReplaceSharedBufferContents() callback that
CachedImage implements to throw out the decoded data. This is currently the only way
to make CGImageSource drop the retain it holds on the SharedBuffer::DataBuffer.
The downside of this approach is that we'll sometimes incur the cost of one additional
image decode after an image downloads and is cached for the first time.

I put a FIXME in there since we could do better with a little help from CGImageSource.

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::didReplaceSharedBufferContents):
* loader/cache/CachedImage.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::tryReplaceEncodedData):
* loader/cache/CachedResource.h:
(WebCore::CachedResource::didReplaceSharedBufferContents):

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

4 years agoMove _allowsDoubleTapGestures implementation out of category
dino@apple.com [Fri, 22 Jan 2016 00:47:00 +0000 (00:47 +0000)]
Move _allowsDoubleTapGestures implementation out of category
https://bugs.webkit.org/show_bug.cgi?id=153329
<rdar://problem/24289768>

Reviewed by Simon Fraser.

We were generating a linker warning because the implementation
was located inside the WKPrivate category.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _allowsDoubleTapGestures]): Move this out of
the category.

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

4 years agoRebaseline fast/block/float/overhanging-tall-block.html for ios-simulator-wk2
ryanhaddad@apple.com [Thu, 21 Jan 2016 23:57:35 +0000 (23:57 +0000)]
Rebaseline fast/block/float/overhanging-tall-block.html for ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=152440

Reviewed by Zalan Bujtas.

* platform/ios-simulator-wk2/fast/block/float/overhanging-tall-block-expected.txt:

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

4 years ago[B3][Win64] Compile fixes.
peavo@outlook.com [Thu, 21 Jan 2016 23:45:44 +0000 (23:45 +0000)]
[B3][Win64] Compile fixes.
https://bugs.webkit.org/show_bug.cgi?id=153312

Reviewed by Alex Christensen.

Since MSVC has several overloads of sin, cos, pow, and log, we need to specify
which one we want to use.

* ftl/FTLB3Output.h:
(JSC::FTL::Output::doubleSin):
(JSC::FTL::Output::doubleCos):
(JSC::FTL::Output::doublePow):
(JSC::FTL::Output::doubleLog):

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

4 years ago[iOS] Crash in _endPotentialTapAndEnableDoubleTapGesturesIfNecessary
dino@apple.com [Thu, 21 Jan 2016 23:34:01 +0000 (23:34 +0000)]
[iOS] Crash in _endPotentialTapAndEnableDoubleTapGesturesIfNecessary
https://bugs.webkit.org/show_bug.cgi?id=153326
<rdar://problem/24264339>

Reviewed by Anders Carlsson.

UIKit's UIGestureRecognizer could call back into the WKContentView
after the associated WKWebView has disappeared. The fix is to
explicitly null the WKWebView reference as we deallocate.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView dealloc]): Tell the WKContentView we are going away.
* UIProcess/ios/WKContentView.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _webViewDestroyed]):
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
Only do something if the WKWebView is still around.

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

4 years agoModern IDB: Make -private copies of each w3c IDB test.
beidson@apple.com [Thu, 21 Jan 2016 23:15:46 +0000 (23:15 +0000)]
Modern IDB: Make -private copies of each w3c IDB test.
https://bugs.webkit.org/show_bug.cgi?id=153319

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

* indexeddb/support.js: If the test filename ends with -private.htm(l), enable private browsing.

* indexeddb/abort-in-initial-upgradeneeded-private-expected.txt: Added.
* indexeddb/abort-in-initial-upgradeneeded-private.html: Added.
* indexeddb/close-in-upgradeneeded-private-expected.txt: Added.
* indexeddb/close-in-upgradeneeded-private.html: Added.
* indexeddb/cursor-overloads-private-expected.txt: Added.
* indexeddb/cursor-overloads-private.html: Added.
* indexeddb/idb_webworkers-private-expected.txt: Added.
* indexeddb/idb_webworkers-private.html: Added.
* indexeddb/idbcursor-advance-continue-async-private-expected.txt: Added.
* indexeddb/idbcursor-advance-continue-async-private.html: Added.
* indexeddb/idbcursor-advance-invalid-private-expected.txt: Added.
* indexeddb/idbcursor-advance-invalid-private.html: Added.
* indexeddb/idbcursor-advance-private-expected.txt: Added.
* indexeddb/idbcursor-advance-private.html: Added.
* indexeddb/idbcursor-continue-private-expected.txt: Added.
* indexeddb/idbcursor-continue-private.html: Added.
* indexeddb/idbcursor-direction-index-keyrange-private-expected.txt: Added.
* indexeddb/idbcursor-direction-index-keyrange-private.html: Added.
* indexeddb/idbcursor-direction-index-private-expected.txt: Added.
* indexeddb/idbcursor-direction-index-private.html: Added.
* indexeddb/idbcursor-direction-objectstore-keyrange-private-expected.txt: Added.
* indexeddb/idbcursor-direction-objectstore-keyrange-private.html: Added.
* indexeddb/idbcursor-direction-objectstore-private-expected.txt: Added.
* indexeddb/idbcursor-direction-objectstore-private.html: Added.
* indexeddb/idbcursor-direction-private-expected.txt: Added.
* indexeddb/idbcursor-direction-private.html: Added.
* indexeddb/idbcursor-key-private-expected.txt: Added.
* indexeddb/idbcursor-key-private.html: Added.
* indexeddb/idbcursor-primarykey-private-expected.txt: Added.
* indexeddb/idbcursor-primarykey-private.html: Added.
* indexeddb/idbcursor-reused-private-expected.txt: Added.
* indexeddb/idbcursor-reused-private.html: Added.
* indexeddb/idbcursor-source-private-expected.txt: Added.
* indexeddb/idbcursor-source-private.html: Added.
* indexeddb/idbcursor_advance_index-private-expected.txt: Added.
* indexeddb/idbcursor_advance_index-private.html: Added.
* indexeddb/idbcursor_advance_index2-private-expected.txt: Added.
* indexeddb/idbcursor_advance_index2-private.html: Added.
* indexeddb/idbcursor_advance_index3-private-expected.txt: Added.
* indexeddb/idbcursor_advance_index3-private.html: Added.
* indexeddb/idbcursor_advance_index5-private-expected.txt: Added.
* indexeddb/idbcursor_advance_index5-private.html: Added.
* indexeddb/idbcursor_advance_index6-private-expected.txt: Added.
* indexeddb/idbcursor_advance_index6-private.html: Added.
* indexeddb/idbcursor_advance_index7-private-expected.txt: Added.
* indexeddb/idbcursor_advance_index7-private.html: Added.
* indexeddb/idbcursor_advance_index8-private-expected.txt: Added.
* indexeddb/idbcursor_advance_index8-private.html: Added.
* indexeddb/idbcursor_advance_index9-private-expected.txt: Added.
* indexeddb/idbcursor_advance_index9-private.html: Added.
* indexeddb/idbcursor_advance_objectstore-private-expected.txt: Added.
* indexeddb/idbcursor_advance_objectstore-private.html: Added.
* indexeddb/idbcursor_advance_objectstore2-private-expected.txt: Added.
* indexeddb/idbcursor_advance_objectstore2-private.html: Added.
* indexeddb/idbcursor_advance_objectstore3-private-expected.txt: Added.
* indexeddb/idbcursor_advance_objectstore3-private.html: Added.
* indexeddb/idbcursor_advance_objectstore4-private-expected.txt: Added.
* indexeddb/idbcursor_advance_objectstore4-private.html: Added.
* indexeddb/idbcursor_advance_objectstore5-private-expected.txt: Added.
* indexeddb/idbcursor_advance_objectstore5-private.html: Added.
* indexeddb/idbcursor_continue_index-private-expected.txt: Added.
* indexeddb/idbcursor_continue_index-private.html: Added.
* indexeddb/idbcursor_continue_index2-private-expected.txt: Added.
* indexeddb/idbcursor_continue_index2-private.html: Added.
* indexeddb/idbcursor_continue_index3-private-expected.txt: Added.
* indexeddb/idbcursor_continue_index3-private.html: Added.
* indexeddb/idbcursor_continue_index4-private-expected.txt: Added.
* indexeddb/idbcursor_continue_index4-private.html: Added.
* indexeddb/idbcursor_continue_index5-private-expected.txt: Added.
* indexeddb/idbcursor_continue_index5-private.html: Added.
* indexeddb/idbcursor_continue_index6-private-expected.txt: Added.
* indexeddb/idbcursor_continue_index6-private.html: Added.
* indexeddb/idbcursor_continue_index7-private-expected.txt: Added.
* indexeddb/idbcursor_continue_index7-private.html: Added.
* indexeddb/idbcursor_continue_index8-private-expected.txt: Added.
* indexeddb/idbcursor_continue_index8-private.html: Added.
* indexeddb/idbcursor_continue_invalid-private-expected.txt: Added.
* indexeddb/idbcursor_continue_invalid-private.html: Added.
* indexeddb/idbcursor_continue_objectstore-private-expected.txt: Added.
* indexeddb/idbcursor_continue_objectstore-private.html: Added.
* indexeddb/idbcursor_continue_objectstore2-private-expected.txt: Added.
* indexeddb/idbcursor_continue_objectstore2-private.html: Added.
* indexeddb/idbcursor_continue_objectstore3-private-expected.txt: Added.
* indexeddb/idbcursor_continue_objectstore3-private.html: Added.
* indexeddb/idbcursor_continue_objectstore4-private-expected.txt: Added.
* indexeddb/idbcursor_continue_objectstore4-private.html: Added.
* indexeddb/idbcursor_continue_objectstore5-private-expected.txt: Added.
* indexeddb/idbcursor_continue_objectstore5-private.html: Added.
* indexeddb/idbcursor_continue_objectstore6-private-expected.txt: Added.
* indexeddb/idbcursor_continue_objectstore6-private.html: Added.
* indexeddb/idbcursor_delete_index-private-expected.txt: Added.
* indexeddb/idbcursor_delete_index-private.html: Added.
* indexeddb/idbcursor_delete_index2-private-expected.txt: Added.
* indexeddb/idbcursor_delete_index2-private.html: Added.
* indexeddb/idbcursor_delete_index3-private-expected.txt: Added.
* indexeddb/idbcursor_delete_index3-private.html: Added.
* indexeddb/idbcursor_delete_index4-private-expected.txt: Added.
* indexeddb/idbcursor_delete_index4-private.html: Added.
* indexeddb/idbcursor_delete_index5-private-expected.txt: Added.
* indexeddb/idbcursor_delete_index5-private.html: Added.
* indexeddb/idbcursor_delete_objectstore-private-expected.txt: Added.
* indexeddb/idbcursor_delete_objectstore-private.html: Added.
* indexeddb/idbcursor_delete_objectstore2-private-expected.txt: Added.
* indexeddb/idbcursor_delete_objectstore2-private.html: Added.
* indexeddb/idbcursor_delete_objectstore3-private-expected.txt: Added.
* indexeddb/idbcursor_delete_objectstore3-private.html: Added.
* indexeddb/idbcursor_delete_objectstore4-private-expected.txt: Added.
* indexeddb/idbcursor_delete_objectstore4-private.html: Added.
* indexeddb/idbcursor_delete_objectstore5-private-expected.txt: Added.
* indexeddb/idbcursor_delete_objectstore5-private.html: Added.
* indexeddb/idbcursor_iterating-private-expected.txt: Added.
* indexeddb/idbcursor_iterating-private.html: Added.
* indexeddb/idbcursor_iterating_index-private-expected.txt: Added.
* indexeddb/idbcursor_iterating_index-private.html: Added.
* indexeddb/idbcursor_iterating_index2-private-expected.txt: Added.
* indexeddb/idbcursor_iterating_index2-private.html: Added.
* indexeddb/idbcursor_iterating_objectstore-private-expected.txt: Added.
* indexeddb/idbcursor_iterating_objectstore-private.html: Added.
* indexeddb/idbcursor_iterating_objectstore2-private-expected.txt: Added.
* indexeddb/idbcursor_iterating_objectstore2-private.html: Added.
* indexeddb/idbcursor_update_index-private-expected.txt: Added.
* indexeddb/idbcursor_update_index-private.html: Added.
* indexeddb/idbcursor_update_index2-private-expected.txt: Added.
* indexeddb/idbcursor_update_index2-private.html: Added.
* indexeddb/idbcursor_update_index3-private-expected.txt: Added.
* indexeddb/idbcursor_update_index3-private.html: Added.
* indexeddb/idbcursor_update_index4-private-expected.txt: Added.
* indexeddb/idbcursor_update_index4-private.html: Added.
* indexeddb/idbcursor_update_index5-private-expected.txt: Added.
* indexeddb/idbcursor_update_index5-private.html: Added.
* indexeddb/idbcursor_update_index6-private-expected.txt: Added.
* indexeddb/idbcursor_update_index6-private.html: Added.
* indexeddb/idbcursor_update_index7-private-expected.txt: Added.
* indexeddb/idbcursor_update_index7-private.html: Added.
* indexeddb/idbcursor_update_objectstore-private-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore-private.html: Added.
* indexeddb/idbcursor_update_objectstore2-private-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore2-private.html: Added.
* indexeddb/idbcursor_update_objectstore3-private-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore3-private.html: Added.
* indexeddb/idbcursor_update_objectstore4-private-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore4-private.html: Added.
* indexeddb/idbcursor_update_objectstore5-private-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore5-private.html: Added.
* indexeddb/idbcursor_update_objectstore6-private-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore6-private.html: Added.
* indexeddb/idbcursor_update_objectstore7-private-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore7-private.html: Added.
* indexeddb/idbcursor_update_objectstore8-private-expected.txt: Added.
* indexeddb/idbcursor_update_objectstore8-private.html: Added.
* indexeddb/idbdatabase_close-private-expected.txt: Added.
* indexeddb/idbdatabase_close-private.html: Added.
* indexeddb/idbdatabase_close2-private-expected.txt: Added.
* indexeddb/idbdatabase_close2-private.html: Added.
* indexeddb/idbdatabase_createObjectStore-createIndex-emptyname-private-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore-createIndex-emptyname-private.html: Added.
* indexeddb/idbdatabase_createObjectStore-private-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore-private.html: Added.
* indexeddb/idbdatabase_createObjectStore10-1000ends-private-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore10-1000ends-private.html: Added.
* indexeddb/idbdatabase_createObjectStore10-emptyname-private-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore10-emptyname-private.html: Added.
* indexeddb/idbdatabase_createObjectStore11-private-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore11-private.html: Added.
* indexeddb/idbdatabase_createObjectStore2-private-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore2-private.html: Added.
* indexeddb/idbdatabase_createObjectStore3-private-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore3-private.html: Added.
* indexeddb/idbdatabase_createObjectStore4-private-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore4-private.html: Added.
* indexeddb/idbdatabase_createObjectStore5-private-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore5-private.html: Added.
* indexeddb/idbdatabase_createObjectStore6-private-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore6-private.html: Added.
* indexeddb/idbdatabase_createObjectStore7-private-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore7-private.html: Added.
* indexeddb/idbdatabase_createObjectStore8-parameters-private-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore8-parameters-private.html: Added.
* indexeddb/idbdatabase_createObjectStore9-invalidparameters-private-expected.txt: Added.
* indexeddb/idbdatabase_createObjectStore9-invalidparameters-private.html: Added.
* indexeddb/idbdatabase_deleteObjectStore-private-expected.txt: Added.
* indexeddb/idbdatabase_deleteObjectStore-private.html: Added.
* indexeddb/idbdatabase_deleteObjectStore2-private-expected.txt: Added.
* indexeddb/idbdatabase_deleteObjectStore2-private.html: Added.
* indexeddb/idbdatabase_deleteObjectStore3-private-expected.txt: Added.
* indexeddb/idbdatabase_deleteObjectStore3-private.html: Added.
* indexeddb/idbdatabase_deleteObjectStore4-not_reused-private-expected.txt: Added.
* indexeddb/idbdatabase_deleteObjectStore4-not_reused-private.html: Added.
* indexeddb/idbdatabase_transaction-private-expected.txt: Added.
* indexeddb/idbdatabase_transaction-private.html: Added.
* indexeddb/idbdatabase_transaction2-private-expected.txt: Added.
* indexeddb/idbdatabase_transaction2-private.html: Added.
* indexeddb/idbdatabase_transaction3-private-expected.txt: Added.
* indexeddb/idbdatabase_transaction3-private.html: Added.
* indexeddb/idbdatabase_transaction4-private-expected.txt: Added.
* indexeddb/idbdatabase_transaction4-private.html: Added.
* indexeddb/idbdatabase_transaction5-private-expected.txt: Added.
* indexeddb/idbdatabase_transaction5-private.html: Added.
* indexeddb/idbfactory_cmp-private-expected.txt: Added.
* indexeddb/idbfactory_cmp-private.html: Added.
* indexeddb/idbfactory_cmp2-private-expected.txt: Added.
* indexeddb/idbfactory_cmp2-private.html: Added.
* indexeddb/idbfactory_deleteDatabase-private-expected.txt: Added.
* indexeddb/idbfactory_deleteDatabase-private.html: Added.
* indexeddb/idbfactory_deleteDatabase2-private-expected.txt: Added.
* indexeddb/idbfactory_deleteDatabase2-private.html: Added.
* indexeddb/idbfactory_deleteDatabase3-private-expected.txt: Added.
* indexeddb/idbfactory_deleteDatabase3-private.html: Added.
* indexeddb/idbfactory_deleteDatabase4-private-expected.txt: Added.
* indexeddb/idbfactory_deleteDatabase4-private.html: Added.
* indexeddb/idbfactory_open-private-expected.txt: Added.
* indexeddb/idbfactory_open-private.html: Added.
* indexeddb/idbfactory_open10-private-expected.txt: Added.
* indexeddb/idbfactory_open10-private.html: Added.
* indexeddb/idbfactory_open11-private-expected.txt: Added.
* indexeddb/idbfactory_open11-private.html: Added.
* indexeddb/idbfactory_open12-private-expected.txt: Added.
* indexeddb/idbfactory_open12-private.html: Added.
* indexeddb/idbfactory_open2-private-expected.txt: Added.
* indexeddb/idbfactory_open2-private.html: Added.
* indexeddb/idbfactory_open3-private-expected.txt: Added.
* indexeddb/idbfactory_open3-private.html: Added.
* indexeddb/idbfactory_open4-private-expected.txt: Added.
* indexeddb/idbfactory_open4-private.html: Added.
* indexeddb/idbfactory_open5-private-expected.txt: Added.
* indexeddb/idbfactory_open5-private.html: Added.
* indexeddb/idbfactory_open6-private-expected.txt: Added.
* indexeddb/idbfactory_open6-private.html: Added.
* indexeddb/idbfactory_open7-private-expected.txt: Added.
* indexeddb/idbfactory_open7-private.html: Added.
* indexeddb/idbfactory_open8-private-expected.txt: Added.
* indexeddb/idbfactory_open8-private.html: Added.
* indexeddb/idbfactory_open9-private-expected.txt: Added.
* indexeddb/idbfactory_open9-private.html: Copied from LayoutTests/imported/w3c/indexeddb/idbfactory_open9.htm.
* indexeddb/idbfactory_open9.htm:
* indexeddb/idbindex-multientry-arraykeypath-private-expected.txt: Added.
* indexeddb/idbindex-multientry-arraykeypath-private.html: Added.
* indexeddb/idbindex-multientry-big-private-expected.txt: Added.
* indexeddb/idbindex-multientry-big-private.html: Added.
* indexeddb/idbindex-multientry-private-expected.txt: Added.
* indexeddb/idbindex-multientry-private.html: Added.
* indexeddb/idbindex_count-private-expected.txt: Added.
* indexeddb/idbindex_count-private.html: Added.
* indexeddb/idbindex_count2-private-expected.txt: Added.
* indexeddb/idbindex_count2-private.html: Added.
* indexeddb/idbindex_count3-private-expected.txt: Added.
* indexeddb/idbindex_count3-private.html: Added.
* indexeddb/idbindex_count4-private-expected.txt: Added.
* indexeddb/idbindex_count4-private.html: Added.
* indexeddb/idbindex_get-private-expected.txt: Added.
* indexeddb/idbindex_get-private.html: Added.
* indexeddb/idbindex_get2-private-expected.txt: Added.
* indexeddb/idbindex_get2-private.html: Added.
* indexeddb/idbindex_get3-private-expected.txt: Added.
* indexeddb/idbindex_get3-private.html: Added.
* indexeddb/idbindex_get4-private-expected.txt: Added.
* indexeddb/idbindex_get4-private.html: Added.
* indexeddb/idbindex_get5-private-expected.txt: Added.
* indexeddb/idbindex_get5-private.html: Added.
* indexeddb/idbindex_get6-private-expected.txt: Added.
* indexeddb/idbindex_get6-private.html: Added.
* indexeddb/idbindex_get7-private-expected.txt: Added.
* indexeddb/idbindex_get7-private.html: Added.
* indexeddb/idbindex_getKey-private-expected.txt: Added.
* indexeddb/idbindex_getKey-private.html: Added.
* indexeddb/idbindex_getKey2-private-expected.txt: Added.
* indexeddb/idbindex_getKey2-private.html: Added.
* indexeddb/idbindex_getKey3-private-expected.txt: Added.
* indexeddb/idbindex_getKey3-private.html: Added.
* indexeddb/idbindex_getKey4-private-expected.txt: Added.
* indexeddb/idbindex_getKey4-private.html: Added.
* indexeddb/idbindex_getKey5-private-expected.txt: Added.
* indexeddb/idbindex_getKey5-private.html: Added.
* indexeddb/idbindex_getKey6-private-expected.txt: Added.
* indexeddb/idbindex_getKey6-private.html: Added.
* indexeddb/idbindex_getKey7-private-expected.txt: Added.
* indexeddb/idbindex_getKey7-private.html: Added.
* indexeddb/idbindex_indexNames-private-expected.txt: Added.
* indexeddb/idbindex_indexNames-private.html: Added.
* indexeddb/idbindex_openCursor-private-expected.txt: Added.
* indexeddb/idbindex_openCursor-private.html: Added.
* indexeddb/idbindex_openCursor2-private-expected.txt: Added.
* indexeddb/idbindex_openCursor2-private.html: Added.
* indexeddb/idbindex_openKeyCursor-private-expected.txt: Added.
* indexeddb/idbindex_openKeyCursor-private.html: Added.
* indexeddb/idbindex_openKeyCursor2-private-expected.txt: Added.
* indexeddb/idbindex_openKeyCursor2-private.html: Added.
* indexeddb/idbindex_openKeyCursor3-private-expected.txt: Added.
* indexeddb/idbindex_openKeyCursor3-private.html: Added.
* indexeddb/idbkeyrange-private-expected.txt: Added.
* indexeddb/idbkeyrange-private.html: Added.
* indexeddb/idbkeyrange_incorrect-private-expected.txt: Added.
* indexeddb/idbkeyrange_incorrect-private.html: Added.
* indexeddb/idbobjectstore_add-private-expected.txt: Added.
* indexeddb/idbobjectstore_add-private.html: Added.
* indexeddb/idbobjectstore_add10-private-expected.txt: Added.
* indexeddb/idbobjectstore_add10-private.html: Added.
* indexeddb/idbobjectstore_add11-private-expected.txt: Added.
* indexeddb/idbobjectstore_add11-private.html: Added.
* indexeddb/idbobjectstore_add12-private-expected.txt: Added.
* indexeddb/idbobjectstore_add12-private.html: Added.
* indexeddb/idbobjectstore_add13-private-expected.txt: Added.
* indexeddb/idbobjectstore_add13-private.html: Added.
* indexeddb/idbobjectstore_add14-private-expected.txt: Added.
* indexeddb/idbobjectstore_add14-private.html: Added.
* indexeddb/idbobjectstore_add15-private-expected.txt: Added.
* indexeddb/idbobjectstore_add15-private.html: Added.
* indexeddb/idbobjectstore_add16-private-expected.txt: Added.
* indexeddb/idbobjectstore_add16-private.html: Added.
* indexeddb/idbobjectstore_add2-private-expected.txt: Added.
* indexeddb/idbobjectstore_add2-private.html: Added.
* indexeddb/idbobjectstore_add3-private-expected.txt: Added.
* indexeddb/idbobjectstore_add3-private.html: Added.
* indexeddb/idbobjectstore_add4-private-expected.txt: Added.
* indexeddb/idbobjectstore_add4-private.html: Added.
* indexeddb/idbobjectstore_add5-private-expected.txt: Added.
* indexeddb/idbobjectstore_add5-private.html: Added.
* indexeddb/idbobjectstore_add6-private-expected.txt: Added.
* indexeddb/idbobjectstore_add6-private.html: Added.
* indexeddb/idbobjectstore_add7-private-expected.txt: Added.
* indexeddb/idbobjectstore_add7-private.html: Added.
* indexeddb/idbobjectstore_add8-private-expected.txt: Added.
* indexeddb/idbobjectstore_add8-private.html: Added.
* indexeddb/idbobjectstore_add9-private-expected.txt: Added.
* indexeddb/idbobjectstore_add9-private.html: Added.
* indexeddb/idbobjectstore_clear-private-expected.txt: Added.
* indexeddb/idbobjectstore_clear-private.html: Added.
* indexeddb/idbobjectstore_clear2-private-expected.txt: Added.
* indexeddb/idbobjectstore_clear2-private.html: Added.
* indexeddb/idbobjectstore_clear3-private-expected.txt: Added.
* indexeddb/idbobjectstore_clear3-private.html: Added.
* indexeddb/idbobjectstore_clear4-private-expected.txt: Added.
* indexeddb/idbobjectstore_clear4-private.html: Added.
* indexeddb/idbobjectstore_count-private-expected.txt: Added.
* indexeddb/idbobjectstore_count-private.html: Added.
* indexeddb/idbobjectstore_count2-private-expected.txt: Added.
* indexeddb/idbobjectstore_count2-private.html: Added.
* indexeddb/idbobjectstore_count3-private-expected.txt: Added.
* indexeddb/idbobjectstore_count3-private.html: Added.
* indexeddb/idbobjectstore_count4-private-expected.txt: Added.
* indexeddb/idbobjectstore_count4-private.html: Added.
* indexeddb/idbobjectstore_createIndex-private-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex-private.html: Added.
* indexeddb/idbobjectstore_createIndex10-private-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex10-private.html: Added.
* indexeddb/idbobjectstore_createIndex11-private-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex11-private.html: Added.
* indexeddb/idbobjectstore_createIndex12-private-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex12-private.html: Added.
* indexeddb/idbobjectstore_createIndex13-private-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex13-private.html: Added.
* indexeddb/idbobjectstore_createIndex2-private-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex2-private.html: Added.
* indexeddb/idbobjectstore_createIndex3-usable-right-away-private-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex3-usable-right-away-private.html: Added.
* indexeddb/idbobjectstore_createIndex4-deleteIndex-event_order-private-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex4-deleteIndex-event_order-private.html: Added.
* indexeddb/idbobjectstore_createIndex5-emptykeypath-private-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex5-emptykeypath-private.html: Added.
* indexeddb/idbobjectstore_createIndex6-event_order-private-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex6-event_order-private.html: Added.
* indexeddb/idbobjectstore_createIndex7-event_order-private-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex7-event_order-private.html: Added.
* indexeddb/idbobjectstore_createIndex8-valid_keys-private-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex8-valid_keys-private.html: Added.
* indexeddb/idbobjectstore_createIndex9-emptyname-private-expected.txt: Added.
* indexeddb/idbobjectstore_createIndex9-emptyname-private.html: Added.
* indexeddb/idbobjectstore_delete-private-expected.txt: Added.
* indexeddb/idbobjectstore_delete-private.html: Added.
* indexeddb/idbobjectstore_delete2-private-expected.txt: Added.
* indexeddb/idbobjectstore_delete2-private.html: Added.
* indexeddb/idbobjectstore_delete3-private-expected.txt: Added.
* indexeddb/idbobjectstore_delete3-private.html: Added.
* indexeddb/idbobjectstore_delete4-private-expected.txt: Added.
* indexeddb/idbobjectstore_delete4-private.html: Added.
* indexeddb/idbobjectstore_delete5-private-expected.txt: Added.
* indexeddb/idbobjectstore_delete5-private.html: Added.
* indexeddb/idbobjectstore_delete6-private-expected.txt: Added.
* indexeddb/idbobjectstore_delete6-private.html: Added.
* indexeddb/idbobjectstore_delete7-private-expected.txt: Added.
* indexeddb/idbobjectstore_delete7-private.html: Added.
* indexeddb/idbobjectstore_deleteIndex-private-expected.txt: Added.
* indexeddb/idbobjectstore_deleteIndex-private.html: Added.
* indexeddb/idbobjectstore_deleted-private-expected.txt: Added.
* indexeddb/idbobjectstore_deleted-private.html: Added.
* indexeddb/idbobjectstore_get-private-expected.txt: Added.
* indexeddb/idbobjectstore_get-private.html: Added.
* indexeddb/idbobjectstore_get2-private-expected.txt: Added.
* indexeddb/idbobjectstore_get2-private.html: Added.
* indexeddb/idbobjectstore_get3-private-expected.txt: Added.
* indexeddb/idbobjectstore_get3-private.html: Added.
* indexeddb/idbobjectstore_get4-private-expected.txt: Added.
* indexeddb/idbobjectstore_get4-private.html: Added.
* indexeddb/idbobjectstore_get5-private-expected.txt: Added.
* indexeddb/idbobjectstore_get5-private.html: Added.
* indexeddb/idbobjectstore_get6-private-expected.txt: Added.
* indexeddb/idbobjectstore_get6-private.html: Added.
* indexeddb/idbobjectstore_get7-private-expected.txt: Added.
* indexeddb/idbobjectstore_get7-private.html: Added.
* indexeddb/idbobjectstore_index-private-expected.txt: Added.
* indexeddb/idbobjectstore_index-private.html: Added.
* indexeddb/idbobjectstore_openCursor-private-expected.txt: Added.
* indexeddb/idbobjectstore_openCursor-private.html: Added.
* indexeddb/idbobjectstore_openCursor_invalid-private-expected.txt: Added.
* indexeddb/idbobjectstore_openCursor_invalid-private.html: Added.
* indexeddb/idbobjectstore_put-private-expected.txt: Added.
* indexeddb/idbobjectstore_put-private.html: Added.
* indexeddb/idbobjectstore_put10-private-expected.txt: Added.
* indexeddb/idbobjectstore_put10-private.html: Added.
* indexeddb/idbobjectstore_put11-private-expected.txt: Added.
* indexeddb/idbobjectstore_put11-private.html: Added.
* indexeddb/idbobjectstore_put12-private-expected.txt: Added.
* indexeddb/idbobjectstore_put12-private.html: Added.
* indexeddb/idbobjectstore_put13-private-expected.txt: Added.
* indexeddb/idbobjectstore_put13-private.html: Added.
* indexeddb/idbobjectstore_put14-private-expected.txt: Added.
* indexeddb/idbobjectstore_put14-private.html: Added.
* indexeddb/idbobjectstore_put15-private-expected.txt: Added.
* indexeddb/idbobjectstore_put15-private.html: Added.
* indexeddb/idbobjectstore_put16-private-expected.txt: Added.
* indexeddb/idbobjectstore_put16-private.html: Added.
* indexeddb/idbobjectstore_put2-private-expected.txt: Added.
* indexeddb/idbobjectstore_put2-private.html: Added.
* indexeddb/idbobjectstore_put3-private-expected.txt: Added.
* indexeddb/idbobjectstore_put3-private.html: Added.
* indexeddb/idbobjectstore_put4-private-expected.txt: Added.
* indexeddb/idbobjectstore_put4-private.html: Added.
* indexeddb/idbobjectstore_put5-private-expected.txt: Added.
* indexeddb/idbobjectstore_put5-private.html: Added.
* indexeddb/idbobjectstore_put6-private-expected.txt: Added.
* indexeddb/idbobjectstore_put6-private.html: Added.
* indexeddb/idbobjectstore_put7-private-expected.txt: Added.
* indexeddb/idbobjectstore_put7-private.html: Added.
* indexeddb/idbobjectstore_put8-private-expected.txt: Added.
* indexeddb/idbobjectstore_put8-private.html: Added.
* indexeddb/idbobjectstore_put9-private-expected.txt: Added.
* indexeddb/idbobjectstore_put9-private.html: Added.
* indexeddb/idbtransaction-oncomplete-private-expected.txt: Added.
* indexeddb/idbtransaction-oncomplete-private.html: Added.
* indexeddb/idbtransaction-private-expected.txt: Added.
* indexeddb/idbtransaction-private.html: Added.
* indexeddb/idbtransaction_abort-private-expected.txt: Added.
* indexeddb/idbtransaction_abort-private.html: Added.
* indexeddb/idbversionchangeevent-private-expected.txt: Added.
* indexeddb/idbversionchangeevent-private.html: Added.
* indexeddb/index_sort_order-private-expected.txt: Added.
* indexeddb/index_sort_order-private.html: Added.
* indexeddb/key_invalid-private-expected.txt: Added.
* indexeddb/key_invalid-private.html: Added.
* indexeddb/key_valid-private-expected.txt: Added.
* indexeddb/key_valid-private.html: Added.
* indexeddb/keygenerator-constrainterror-private-expected.txt: Added.
* indexeddb/keygenerator-constrainterror-private.html: Added.
* indexeddb/keygenerator-overflow-private-expected.txt: Added.
* indexeddb/keygenerator-overflow-private.html: Added.
* indexeddb/keygenerator-private-expected.txt: Added.
* indexeddb/keygenerator-private.html: Added.
* indexeddb/keyorder-private-expected.txt: Added.
* indexeddb/keyorder-private.html: Added.
* indexeddb/keypath-private-expected.txt: Added.
* indexeddb/keypath-private.html: Added.
* indexeddb/keypath_invalid-private-expected.txt: Added.
* indexeddb/keypath_invalid-private.html: Added.
* indexeddb/keypath_maxsize-private-expected.txt: Added.
* indexeddb/keypath_maxsize-private.html: Added.
* indexeddb/list_ordering-private-expected.txt: Added.
* indexeddb/list_ordering-private.html: Added.
* indexeddb/objectstore_keyorder-private-expected.txt: Added.
* indexeddb/objectstore_keyorder-private.html: Added.
* indexeddb/request_bubble-and-capture-private-expected.txt: Added.
* indexeddb/request_bubble-and-capture-private.html: Added.
* indexeddb/string-list-ordering-private-expected.txt: Added.
* indexeddb/string-list-ordering-private.html: Added.
* indexeddb/transaction-create_in_versionchange-private-expected.txt: Added.
* indexeddb/transaction-create_in_versionchange-private.html: Added.
* indexeddb/transaction-lifetime-blocked-private-expected.txt: Added.
* indexeddb/transaction-lifetime-blocked-private.html: Added.
* indexeddb/transaction-lifetime-private-expected.txt: Added.
* indexeddb/transaction-lifetime-private.html: Added.
* indexeddb/transaction-requestqueue-private-expected.txt: Added.
* indexeddb/transaction-requestqueue-private.html: Added.
* indexeddb/transaction_bubble-and-capture-private-expected.txt: Added.
* indexeddb/transaction_bubble-and-capture-private.html: Added.
* indexeddb/value-private-expected.txt: Added.
* indexeddb/value-private.html: Added.
* indexeddb/value_recursive-private-expected.txt: Added.
* indexeddb/value_recursive-private.html: Added.
* indexeddb/writer-starvation-private-expected.txt: Added.
* indexeddb/writer-starvation-private.html: Added.

LayoutTests:

* platform/wk2/TestExpectations:

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

4 years ago[JSC] foldPathConstants() makes invalid assumptions with Switch
benjamin@webkit.org [Thu, 21 Jan 2016 22:56:21 +0000 (22:56 +0000)]
[JSC] foldPathConstants() makes invalid assumptions with Switch
https://bugs.webkit.org/show_bug.cgi?id=153324

Reviewed by Filip Pizlo.

If a Switch() has two cases pointing to the same basic block, foldPathConstants()
was adding two override for that block with two different constants.
If the block with the Switch dominates the target, both override were equally valid
and we were assuming any of the constants as the value in the target block.

See testSwitchTargettingSameBlockFoldPathConstant() for an example that breaks.

This patch adds checks to ignore any block that is reached more than
once by the control value.

* b3/B3FoldPathConstants.cpp:
* b3/B3Generate.cpp:
(JSC::B3::generateToAir):
* b3/testb3.cpp:
(JSC::B3::testSwitchTargettingSameBlock):
(JSC::B3::testSwitchTargettingSameBlockFoldPathConstant):
(JSC::B3::run):

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

4 years agoAdd the ability to update WebKitAdditions to WK2
bdakin@apple.com [Thu, 21 Jan 2016 21:51:39 +0000 (21:51 +0000)]
Add the ability to update WebKitAdditions to WK2
https://bugs.webkit.org/show_bug.cgi?id=153320
-and corresponding-
rdar://problem/23639629

Reviewed by Anders Carlsson.

Source/WebCore:

This SPI is un-used now.
* platform/spi/mac/NSSpellCheckerSPI.h:

Source/WebKit2:

* UIProcess/API/Cocoa/WKWebView.mm:
* UIProcess/API/mac/WKView.mm:
* UIProcess/Cocoa/WebViewImpl.h:
(WebKit::WebViewImpl::createWeakPtr):
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::updateWebViewImplAdditions):
(WebKit::WebViewImpl::showCandidates):
(WebKit::WebViewImpl::webViewImplAdditionsWillDestroyView):
(WebKit::trackingAreaOptions):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::selectionDidChange):
(WebKit::WebViewImpl::handleRequestedCandidates):
(WebKit::textCheckingResultFromNSTextCheckingResult):

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

4 years agoREGRESSION(r195417): many tests crash
fpizlo@apple.com [Thu, 21 Jan 2016 21:37:56 +0000 (21:37 +0000)]
REGRESSION(r195417): many tests crash
https://bugs.webkit.org/show_bug.cgi?id=153316

Reviewed by Saam Barati.

This rolls out the StdLibExtras.h change, and simplifies RangeSet to not use binary search.
That's fine for now, since B3 doesn't stress RangeSet enough right now.

* wtf/RangeSet.h:
(WTF::RangeSet::contains):
(WTF::RangeSet::overlaps):
(WTF::RangeSet::clear):
(WTF::RangeSet::findRange):
* wtf/StdLibExtras.h:
(WTF::binarySearchImpl):
(WTF::binarySearch):
(WTF::tryBinarySearch):
(WTF::approximateBinarySearch):

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

4 years agoUnreviewed, undo DFGCommon.h change that accidentally enabled the B3 JIT.
fpizlo@apple.com [Thu, 21 Jan 2016 20:16:01 +0000 (20:16 +0000)]
Unreviewed, undo DFGCommon.h change that accidentally enabled the B3 JIT.

* dfg/DFGCommon.h:

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

4 years agoMove32 should have an Imm, Tmp form
fpizlo@apple.com [Thu, 21 Jan 2016 20:15:04 +0000 (20:15 +0000)]
Move32 should have an Imm, Tmp form
https://bugs.webkit.org/show_bug.cgi?id=153313

Reviewed by Mark Lam.

This enables some useful optimizations, like constant propagation in fixObviousSpills().

* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::zeroExtend32ToPtr):
(JSC::MacroAssemblerX86Common::move):
* b3/air/AirOpcode.opcodes:

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

4 years agoB3 should have load elimination
fpizlo@apple.com [Thu, 21 Jan 2016 19:54:51 +0000 (19:54 +0000)]
B3 should have load elimination
https://bugs.webkit.org/show_bug.cgi?id=153288

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This adds a complete GCSE pass that includes load elimination. It would have been super hard
to make this work as part of the reduceStrength() fixpoint, since GCSE needs to analyze
control flow and reduceStrength() is messing with control flow. So, I did a compromise: I
factored out the pure CSE that reduceStrength() was already doing, and now we have:

- reduceStrength() still does pure CSE using the new PureCSE helper.

- eliminateCommonSubexpressions() is a separate phase that does general CSE. It uses the
  PureCSE helper for pure values and does its own special thing for memory values.

Unfortunately, this doesn't help any benchmark right now. It doesn't hurt anything, either,
and it's likely to become a bigger pay-off once we implement other features, like mapping
FTL's abstract heaps onto B3's heap ranges.

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/B3EliminateCommonSubexpressions.cpp: Added.
(JSC::B3::eliminateCommonSubexpressions):
* b3/B3EliminateCommonSubexpressions.h: Added.
* b3/B3Generate.cpp:
(JSC::B3::generateToAir):
* b3/B3HeapRange.h:
(JSC::B3::HeapRange::HeapRange):
* b3/B3InsertionSet.h:
(JSC::B3::InsertionSet::InsertionSet):
(JSC::B3::InsertionSet::isEmpty):
(JSC::B3::InsertionSet::code):
(JSC::B3::InsertionSet::appendInsertion):
* b3/B3MemoryValue.h:
* b3/B3PureCSE.cpp: Added.
(JSC::B3::PureCSE::PureCSE):
(JSC::B3::PureCSE::~PureCSE):
(JSC::B3::PureCSE::clear):
(JSC::B3::PureCSE::process):
* b3/B3PureCSE.h: Added.
* b3/B3ReduceStrength.cpp:
* b3/B3ReduceStrength.h:
* b3/B3Validate.cpp:

Source/WTF:

I needed a way to track sets of ranges, where there is a high likelihood that all of the
ranges overlap. So I created RangeSet. It's a usually-sorted list of coalesced ranges.
Practically this means that right now, FTL B3 will end up with two kinds of range sets: a set
that just contains top and a set that contains nothing. In the future, most sets will either
be top of empty but some of them will contain a handful of other things.

* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/MathExtras.h:
(WTF::leftShiftWithSaturation):
(WTF::nonEmptyRangesOverlap):
(WTF::rangesOverlap):
* wtf/RangeSet.h: Added.
(WTF::RangeSet::RangeSet):
(WTF::RangeSet::~RangeSet):
(WTF::RangeSet::add):
(WTF::RangeSet::contains):
(WTF::RangeSet::overlaps):
(WTF::RangeSet::clear):
(WTF::RangeSet::dump):
(WTF::RangeSet::dumpRaw):
(WTF::RangeSet::compact):
(WTF::RangeSet::overlapsNonEmpty):
(WTF::RangeSet::subsumesNonEmpty):
(WTF::RangeSet::findRange):
* wtf/StdLibExtras.h:
(WTF::binarySearchImpl):
(WTF::binarySearch):
(WTF::tryBinarySearch):
(WTF::approximateBinarySearch):

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

4 years agoFix bug in TypedArray.prototype.set and add tests
keith_miller@apple.com [Thu, 21 Jan 2016 19:16:30 +0000 (19:16 +0000)]
Fix bug in TypedArray.prototype.set and add tests
https://bugs.webkit.org/show_bug.cgi?id=153309

Reviewed by Michael Saboff.

This patch fixes an issue with TypedArray.prototype.set where we would
assign a double to an unsigned without checking that the double was
in the range of the unsigned. Additionally, the patch also adds
tests for set for cases that were not covered before.

* runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncSet):
* tests/stress/typedarray-set.js: Added.

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

4 years agoGraphicsContext: low quality drawImage and drawImageBuffer should use InterpolationLow
simon.fraser@apple.com [Thu, 21 Jan 2016 19:00:33 +0000 (19:00 +0000)]
GraphicsContext: low quality drawImage and drawImageBuffer should use InterpolationLow
https://bugs.webkit.org/show_bug.cgi?id=49002

Reviewed by Chris Dumez.

When using low quality image scaling for images which are getting painted often,
the code used InterpolationNone, which make the images look even worse than they should.

Not easily testable.

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::drawConsumingImageBuffer):

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

4 years agoRemove a ios-simulator-wk2 specific expectation file since the results are identical...
ryanhaddad@apple.com [Thu, 21 Jan 2016 18:58:11 +0000 (18:58 +0000)]
Remove a ios-simulator-wk2 specific expectation file since the results are identical on wk1 and wk2
https://bugs.webkit.org/show_bug.cgi?id=152139

Unreviewed test gardening.

* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Removed.

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

4 years agoMake it possible to enable VIDEO_PRESENTATION_MODE on other Cocoa platforms.
adachan@apple.com [Thu, 21 Jan 2016 18:25:02 +0000 (18:25 +0000)]
Make it possible to enable VIDEO_PRESENTATION_MODE on other Cocoa platforms.
https://bugs.webkit.org/show_bug.cgi?id=153218

Reviewed by Eric Carlson.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests. Code refactoring.

* Configurations/FeatureDefines.xcconfig:
* WebCore.xcodeproj/project.pbxproj:
Move WebVideoFullscreenInterface.h from ios to cocoa.
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::webkitSupportsPresentationMode):
The declaration of supportsPictureInPicture() has been moved to WebVideoFullscreenInterface.h
so include that header instead. Guard the supportsPictureInPicture() call with PLATFORM(COCOA)
as that method is only defined in Cocoa.
* platform/cocoa/WebVideoFullscreenInterface.h: Renamed from Source/WebCore/platform/ios/WebVideoFullscreenInterface.h.
Also move the declaration of supportsPictureInPicture() here.
* platform/graphics/MediaPlayer.cpp:
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
Implementations of methods related to the video fullscreen layer are now guarded by
PLATFORM(IOS) || (PLATFORM(MAC) && ENABLE(VIDEO_PRESENTATION_MODE)) instead.
* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
Declaration of supportsPictureInPicture() has been moved to WebVideoFullscreenInterface.h
* platform/mac/WebVideoFullscreenInterfaceMac.mm: Added.
(WebCore::supportsPictureInPicture):
Return false for now.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/Platform.h:

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

4 years agoA crash reproducible in Path::isEmpty() under RenderSVGShape::paint()
commit-queue@webkit.org [Thu, 21 Jan 2016 17:50:26 +0000 (17:50 +0000)]
A crash reproducible in Path::isEmpty() under RenderSVGShape::paint()
https://bugs.webkit.org/show_bug.cgi?id=149613

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-01-21
Reviewed by Darin Adler.
Source/WebCore:

When RenderSVGRoot::layout() realizes its layout size has changed and
it has resources which have relative sizes, it marks all the clients of
the resources for invalidates regardless whether they belong to the
same RenderSVGRoot or not. But it reruns the layout only for its children.
If one of these clients comes before the current RenderSVGRoot in the render
tree, ee end up having renderer marked for invalidation at rendering time.
This also prevents scheduling the layout if the same renderer is marked
for another invalidation later. We prevent this because we do not want
to schedule another layout for a renderer which is already marked for
invalidation. This can cause crash if the renderer is an RenderSVGPath.

The fix is to mark "only" the clients of a resource which belong to the
same RenderSVGRoot of the resource. Also we need to run the layout for
all the resources which belong to different RenderSVGRoots before running
the layout for an SVG renderer.

Tests: svg/custom/filter-update-different-root.html
       svg/custom/pattern-update-different-root.html

* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
We should not mark any client outside the current root for invalidation

* rendering/svg/RenderSVGResourceContainer.h: Remove unneeded private keyword.

* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::addResourceForClientInvalidation):
Code clean up; use findTreeRootObject() instead of repeating the same code.

* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::isEmpty): Avoid crashing if RenderSVGShape::isEmpty()
is called before calling RenderSVGShape::layout().

* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout): findTreeRootObject() now returns a pointer.

* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::findTreeRootObject): I do think nothing
guarantees that an SVG renderer has to have an RenderSVGRoot in its
ancestors. So change this function to return a pointer. Also Provide
the non-const version of this function.

(WebCore::SVGRenderSupport::layoutDifferentRootIfNeeded): Runs the layout
if needed for all the resources which belong to different RenderSVGRoots.

(WebCore::SVGRenderSupport::layoutChildren): Make sure all the renderer's
resources which belong to different RenderSVGRoots are laid out before
running the layout for this renderer.

* rendering/svg/SVGRenderSupport.h: Remove a mysterious comment.

* rendering/svg/SVGResources.cpp:
(WebCore::SVGResources::layoutDifferentRootIfNeeded): Run the layout for
all the resources which belong to different RenderSVGRoots outside the
context of their RenderSVGRoots.

* rendering/svg/SVGResources.h:
(WebCore::SVGResources::clipper):
(WebCore::SVGResources::markerStart):
(WebCore::SVGResources::markerMid):
(WebCore::SVGResources::markerEnd):
(WebCore::SVGResources::masker):
(WebCore::SVGResources::filter):
(WebCore::SVGResources::fill):
(WebCore::SVGResources::stroke):
Code clean up; use nullptr instead of 0.

LayoutTests:

When running the layout of an SVG root and it has resources which are
referenced by clients in other SVG roots, make sure we run the layout
for these resources before running the layout for their clients.

* svg/custom/filter-update-different-root-expected.html: Added.
* svg/custom/filter-update-different-root.html: Added.
Without this patch this test crashes because we paint a dirty RenderSVGShape.

* svg/custom/pattern-update-different-root-expected.html: Added.
* svg/custom/pattern-update-different-root.html: Added.
Without this patch this test works fine but it is good to have it to catch
cases where the SVG root needs to run re-layout for its children resources
and hence their clients if its size has changed.

* svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt:
* svg/custom/unicode-in-tspan-multi-svg-crash.html:
This test was ported from Blink in http://trac.webkit.org/changeset/166420.
The expectation of this test was changed in Blink:
https://src.chromium.org/viewvc/blink?revision=158480&view=revision.

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

4 years ago[EME] Correctly report errors when generating key requests from AVContentKeySession.
jer.noble@apple.com [Thu, 21 Jan 2016 17:15:16 +0000 (17:15 +0000)]
[EME] Correctly report errors when generating key requests from AVContentKeySession.
https://bugs.webkit.org/show_bug.cgi?id=151963

Reviewed by Eric Carlson.

WebIDL's "unsigned long" is a 32-bit unsigned integer, and C++'s "unsigned long" is (or, can
be) a 64-bit integer on 64-bit platforms. Casting a negative integer to a 64-bit integer
results in a number which cannot be accurately stored in a double-length floating point
number. Previously, the mac CDM code would work around this issue by returning the absolute
value of NSError code returned by media frameworks. Instead, fix the underlying problem by
storing the MediaKeyError's systemCode as a uint32_t (which more accurately represents the
size of a WebIDL "unsigned long" on all platforms.)

Check the error code issued by -contentKeyRequestDataForApp:contentIdentifier:options:error:.

* Modules/encryptedmedia/CDM.h:
* Modules/encryptedmedia/CDMSessionClearKey.cpp:
(WebCore::CDMSessionClearKey::generateKeyRequest):
(WebCore::CDMSessionClearKey::update):
* Modules/encryptedmedia/CDMSessionClearKey.h:
* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::keyRequestTimerFired):
(WebCore::MediaKeySession::addKeyTimerFired):
(WebCore::MediaKeySession::sendError):
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.handleReadyStateChange):
* WebCore.xcodeproj/project.pbxproj:
* html/MediaKeyError.h:
(WebCore::MediaKeyError::create):
(WebCore::MediaKeyError::systemCode):
* html/MediaKeyEvent.h:
* platform/graphics/CDMSession.h:
* platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
(WebCore::CDMSessionAVFoundationCF::generateKeyRequest):
(WebCore::CDMSessionAVFoundationCF::update):
* platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h:
* platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
* platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::generateKeyRequest):
(WebCore::CDMSessionAVContentKeySession::update):
(WebCore::CDMSessionAVContentKeySession::generateKeyReleaseMessage):
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
(WebCore::CDMSessionAVFoundationObjC::update):
* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
(WebCore::CDMSessionAVStreamSession::generateKeyRequest):
(WebCore::CDMSessionAVStreamSession::update):
(WebCore::CDMSessionAVStreamSession::generateKeyReleaseMessage):
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError):
(WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError):
(WebCore::CDMSessionMediaSourceAVFObjC::systemCodeForError): Deleted.
* testing/MockCDM.cpp:
(WebCore::MockCDMSession::generateKeyRequest):
(WebCore::MockCDMSession::update):2016-01-15  Simon Fraser  <simon.fraser@apple.com>

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

4 years agodisplay-profiler-output should be able to display code blocks sorted by machine counts
fpizlo@apple.com [Thu, 21 Jan 2016 15:47:31 +0000 (15:47 +0000)]
display-profiler-output should be able to display code blocks sorted by machine counts
https://bugs.webkit.org/show_bug.cgi?id=153298

Reviewed by Oliver Hunt.

* Scripts/display-profiler-output:

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

4 years agoEnsure to use compatible liborc version with wanted gstreamer version
commit-queue@webkit.org [Thu, 21 Jan 2016 15:27:39 +0000 (15:27 +0000)]
Ensure to use compatible liborc version with wanted gstreamer version
https://bugs.webkit.org/show_bug.cgi?id=153276

For example gst-plugins-base-1.4.4 fails to build with liborc-0.4.24.
The user may have a very recent liborc installed on his system.

Patch by Julien Isorce <j.isorce@samsung.com> on 2016-01-21
Reviewed by Philippe Normand.

* efl/jhbuild.modules: add liborc-0.4.17 and make it a gst dependency.
* gtk/jhbuild.modules: add liborc-0.4.17 and make it a gst depencendy.

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

4 years ago[B3][CMake] Add missing source file.
peavo@outlook.com [Thu, 21 Jan 2016 12:51:44 +0000 (12:51 +0000)]
[B3][CMake] Add missing source file.
https://bugs.webkit.org/show_bug.cgi?id=153303

Reviewed by Csaba Osztrogonác.

* CMakeLists.txt:

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

4 years ago[SOUP] GResource resources should be cached indefinitely in memory cache
carlosgc@webkit.org [Thu, 21 Jan 2016 09:17:02 +0000 (09:17 +0000)]
[SOUP] GResource resources should be cached indefinitely in memory cache
https://bugs.webkit.org/show_bug.cgi?id=153275

Reviewed by Žan Doberšek.

GResources can't change so they will always return the same data,
we never need to revalidate them.

* loader/cache/CachedResource.cpp:
(WebCore::shouldCacheSchemeIndefinitely):

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

4 years agoAX: [IOS] Implement next/previous text marker functions using TextIterator
n_wang@apple.com [Thu, 21 Jan 2016 08:35:10 +0000 (08:35 +0000)]
AX: [IOS] Implement next/previous text marker functions using TextIterator
https://bugs.webkit.org/show_bug.cgi?id=153292
<rdar://problem/24268243>

Reviewed by Chris Fleizach.

Source/WebCore:

Added support for the refactored next/previous text marker functions on iOS. And
made text marker tests working on iOS.
Also, fixed an issue in AXObjectCache where creating a range with a replaced node
at the start or end might exclude that node.

Tests: accessibility/text-marker/text-marker-previous-next.html
       accessibility/text-marker/text-marker-with-user-select-none.html

* accessibility/AXObjectCache.cpp:
(WebCore::characterOffsetsInOrder):
(WebCore::resetNodeAndOffsetForReplacedNode):
(WebCore::AXObjectCache::rangeForUnorderedCharacterOffsets):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(+[WebAccessibilityTextMarker textMarkerWithVisiblePosition:cache:]):
(+[WebAccessibilityTextMarker textMarkerWithCharacterOffset:cache:]):
(+[WebAccessibilityTextMarker startOrEndTextMarkerForRange:isStart:cache:]):
(-[WebAccessibilityTextMarker dataRepresentation]):
(-[WebAccessibilityTextMarker visiblePosition]):
(-[WebAccessibilityTextMarker characterOffset]):
(-[WebAccessibilityTextMarker isIgnored]):
(-[WebAccessibilityTextMarker accessibilityObject]):
(-[WebAccessibilityTextMarker description]):
(-[WebAccessibilityObjectWrapper stringForTextMarkers:]):
(blockquoteLevel):
(-[WebAccessibilityObjectWrapper textMarkerRange]):
(-[WebAccessibilityObjectWrapper accessibilityObjectForTextMarker:]):
(-[WebAccessibilityObjectWrapper nextMarkerForMarker:]):
(-[WebAccessibilityObjectWrapper previousMarkerForMarker:]):
(-[WebAccessibilityObjectWrapper textMarkerForPoint:]):
(-[WebAccessibilityObjectWrapper nextMarkerForCharacterOffset:]):
(-[WebAccessibilityObjectWrapper previousMarkerForCharacterOffset:]):
(-[WebAccessibilityObjectWrapper rangeForTextMarkers:]):
(-[WebAccessibilityObjectWrapper lengthForTextMarkers:]):
(-[WebAccessibilityObjectWrapper startOrEndTextMarkerForTextMarkers:isStart:]):
(-[WebAccessibilityObjectWrapper textMarkerRangeForMarkers:]):
(-[WebAccessibilityObjectWrapper accessibilityIdentifier]):

Tools:

Made text marker tests available on iOS.

* DumpRenderTree/AccessibilityTextMarker.h:
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/ios/AccessibilityTextMarkerIOS.mm: Added.
(AccessibilityTextMarker::AccessibilityTextMarker):
(AccessibilityTextMarker::~AccessibilityTextMarker):
(AccessibilityTextMarker::isEqual):
(AccessibilityTextMarker::platformTextMarker):
(AccessibilityTextMarkerRange::AccessibilityTextMarkerRange):
(AccessibilityTextMarkerRange::~AccessibilityTextMarkerRange):
(AccessibilityTextMarkerRange::isEqual):
(AccessibilityTextMarkerRange::platformTextMarkerRange):
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::pathDescription):
(AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
(AccessibilityUIElement::textMarkerRangeForElement):
(AccessibilityUIElement::selectedTextMarkerRange):
(AccessibilityUIElement::resetSelectedTextMarkerRange):
(AccessibilityUIElement::textMarkerRangeLength):
(AccessibilityUIElement::textMarkerRangeForMarkers):
(AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(AccessibilityUIElement::accessibilityElementForTextMarker):
(AccessibilityUIElement::endTextMarkerForBounds):
(AccessibilityUIElement::startTextMarkerForBounds):
(AccessibilityUIElement::textMarkerForPoint):
(AccessibilityUIElement::previousTextMarker):
(AccessibilityUIElement::nextTextMarker):
(AccessibilityUIElement::stringForTextMarkerRange):
(AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute):
(AccessibilityUIElement::indexForTextMarker):
(AccessibilityUIElement::isTextMarkerValid):
(AccessibilityUIElement::textMarkerForIndex):
(AccessibilityUIElement::startTextMarker):
(AccessibilityUIElement::endTextMarker):
(AccessibilityUIElement::setSelectedVisibleTextRange):
(AccessibilityUIElement::getLinkedUIElements):
* DumpRenderTree/mac/AccessibilityTextMarkerMac.mm:
(AccessibilityTextMarkerRange::platformTextMarkerRange):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::removeSelection):
(AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
(AccessibilityUIElement::setSelectedVisibleTextRange):
(AccessibilityUIElement::supportedActions):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::textMarkerRangeForElement):
(WTR::AccessibilityUIElement::textMarkerRangeLength):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::stringForTextMarkerRange):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForBounds):
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute):

LayoutTests:

* accessibility/mac/previous-next-text-marker-expected.txt: Removed.
* accessibility/mac/previous-next-text-marker.html: Removed.
* accessibility/mac/text-marker-with-user-select-none-expected.txt: Removed.
* accessibility/mac/text-marker-with-user-select-none.html: Removed.
* accessibility/text-marker: Added.
* accessibility/text-marker/text-marker-previous-next-expected.txt: Added.
* accessibility/text-marker/text-marker-previous-next.html: Added.
* accessibility/text-marker/text-marker-with-user-select-none-expected.txt: Added.
* accessibility/text-marker/text-marker-with-user-select-none.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/ios-simulator/TestExpectations:
* platform/win/TestExpectations:

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

4 years agoUnreviewed, rolling out r195375.
commit-queue@webkit.org [Thu, 21 Jan 2016 04:47:23 +0000 (04:47 +0000)]
Unreviewed, rolling out r195375.
https://bugs.webkit.org/show_bug.cgi?id=153300

Caused crashes on GuardMalloc (Requested by ap on #webkit).

Reverted changeset:

"TypedArray's .buffer does not return the JSArrayBuffer that
was passed to it on creation."
https://bugs.webkit.org/show_bug.cgi?id=153281
http://trac.webkit.org/changeset/195375

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

4 years agohttp://victordarras.fr/cssgame/ doesn't work in Safari.
zalan@apple.com [Thu, 21 Jan 2016 03:50:45 +0000 (03:50 +0000)]
victordarras.fr/cssgame/ doesn't work in Safari.
https://bugs.webkit.org/show_bug.cgi?id=153285
<rdar://problem/24212369>

Reviewed by Tim Horton.

This patch adds support for hittesting ClipPathOperation::Reference.

Source/WebCore:

Tests: svg/clip-path/hittest-clip-path-reference-miss.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint):
* rendering/RenderObject.h:
(WebCore::RenderObject::isSVGResourceClipper):
* rendering/svg/RenderSVGResourceClipper.h:
(isType):

LayoutTests:

* svg/clip-path/hittest-clip-path-reference-miss-expected.html: Added.
* svg/clip-path/hittest-clip-path-reference-miss.html: Added.

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

4 years agoUnreviewed, revert accidental unreviewed commit.
fpizlo@apple.com [Thu, 21 Jan 2016 03:20:32 +0000 (03:20 +0000)]
Unreviewed, revert accidental unreviewed commit.

* Scripts/display-profiler-output:

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

4 years agoB3 should have basic path specialization
fpizlo@apple.com [Thu, 21 Jan 2016 03:12:55 +0000 (03:12 +0000)]
B3 should have basic path specialization
https://bugs.webkit.org/show_bug.cgi?id=153200

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

This adds two different kind of path specializations:

- Check(Select) where the Select results are constants is specialized into a Branch
  instead of a Select and duplicated paths where the results of the Select are folded.

- Tail duplication. A jump to a small block causes the block's contents to be copied over
  the Jump.

Both optimizations required being able to clone Values. We can now do that using
proc.clone(value).

Check(Select) specialization needed some utilities for walking graphs of Values.

Tail duplication needed SSA fixup, so I added a way to demote values to anonymous stack
slots (B3's equivalent of non-SSA variables) and a way to "fix SSA", i.e. to allocate
anonymous stack slots to SSA values along with an optimal Phi graph.

This is a big speed-up on Octane/deltablue. It's a 2.2% speed-up on Octane overall.

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/B3ArgumentRegValue.cpp:
(JSC::B3::ArgumentRegValue::dumpMeta):
(JSC::B3::ArgumentRegValue::cloneImpl):
* b3/B3ArgumentRegValue.h:
* b3/B3BasicBlock.cpp:
(JSC::B3::BasicBlock::append):
(JSC::B3::BasicBlock::appendNonTerminal):
(JSC::B3::BasicBlock::removeLast):
* b3/B3BasicBlock.h:
(JSC::B3::BasicBlock::values):
* b3/B3BasicBlockInlines.h:
(JSC::B3::BasicBlock::appendNew):
(JSC::B3::BasicBlock::appendNewNonTerminal):
(JSC::B3::BasicBlock::replaceLastWithNew):
* b3/B3BlockInsertionSet.h:
* b3/B3BreakCriticalEdges.cpp: Added.
(JSC::B3::breakCriticalEdges):
* b3/B3BreakCriticalEdges.h: Added.
* b3/B3CCallValue.cpp:
(JSC::B3::CCallValue::~CCallValue):
(JSC::B3::CCallValue::cloneImpl):
* b3/B3CCallValue.h:
* b3/B3CheckValue.cpp:
(JSC::B3::CheckValue::convertToAdd):
(JSC::B3::CheckValue::cloneImpl):
(JSC::B3::CheckValue::CheckValue):
* b3/B3CheckValue.h:
* b3/B3Const32Value.cpp:
(JSC::B3::Const32Value::dumpMeta):
(JSC::B3::Const32Value::cloneImpl):
* b3/B3Const32Value.h:
* b3/B3Const64Value.cpp:
(JSC::B3::Const64Value::dumpMeta):
(JSC::B3::Const64Value::cloneImpl):
* b3/B3Const64Value.h:
* b3/B3ConstDoubleValue.cpp:
(JSC::B3::ConstDoubleValue::dumpMeta):
(JSC::B3::ConstDoubleValue::cloneImpl):
* b3/B3ConstDoubleValue.h:
* b3/B3ConstFloatValue.cpp:
(JSC::B3::ConstFloatValue::dumpMeta):
(JSC::B3::ConstFloatValue::cloneImpl):
* b3/B3ConstFloatValue.h:
* b3/B3ControlValue.cpp:
(JSC::B3::ControlValue::dumpMeta):
(JSC::B3::ControlValue::cloneImpl):
* b3/B3ControlValue.h:
* b3/B3DuplicateTails.cpp: Added.
(JSC::B3::duplicateTails):
* b3/B3DuplicateTails.h: Added.
* b3/B3FixSSA.cpp: Added.
(JSC::B3::demoteValues):
(JSC::B3::fixSSA):
* b3/B3FixSSA.h: Added.
* b3/B3Generate.cpp:
(JSC::B3::generateToAir):
* b3/B3IndexSet.h:
(JSC::B3::IndexSet::Iterable::Iterable):
(JSC::B3::IndexSet::values):
(JSC::B3::IndexSet::indices):
* b3/B3InsertionSet.cpp:
(JSC::B3::InsertionSet::insertIntConstant):
(JSC::B3::InsertionSet::insertBottom):
(JSC::B3::InsertionSet::execute):
* b3/B3InsertionSet.h:
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::run):
(JSC::B3::Air::LowerToAir::tmp):
* b3/B3MemoryValue.cpp:
(JSC::B3::MemoryValue::dumpMeta):
(JSC::B3::MemoryValue::cloneImpl):
* b3/B3MemoryValue.h:
* b3/B3OriginDump.cpp: Added.
(JSC::B3::OriginDump::dump):
* b3/B3OriginDump.h:
(JSC::B3::OriginDump::OriginDump):
(JSC::B3::OriginDump::dump): Deleted.
* b3/B3PatchpointValue.cpp:
(JSC::B3::PatchpointValue::dumpMeta):
(JSC::B3::PatchpointValue::cloneImpl):
(JSC::B3::PatchpointValue::PatchpointValue):
* b3/B3PatchpointValue.h:
* b3/B3Procedure.cpp:
(JSC::B3::Procedure::addBlock):
(JSC::B3::Procedure::clone):
(JSC::B3::Procedure::addIntConstant):
(JSC::B3::Procedure::addBottom):
(JSC::B3::Procedure::addBoolConstant):
(JSC::B3::Procedure::deleteValue):
* b3/B3Procedure.h:
* b3/B3ReduceStrength.cpp:
* b3/B3SSACalculator.cpp: Added.
(JSC::B3::SSACalculator::Variable::dump):
(JSC::B3::SSACalculator::Variable::dumpVerbose):
(JSC::B3::SSACalculator::Def::dump):
(JSC::B3::SSACalculator::SSACalculator):
(JSC::B3::SSACalculator::~SSACalculator):
(JSC::B3::SSACalculator::reset):
(JSC::B3::SSACalculator::newVariable):
(JSC::B3::SSACalculator::newDef):
(JSC::B3::SSACalculator::nonLocalReachingDef):
(JSC::B3::SSACalculator::reachingDefAtTail):
(JSC::B3::SSACalculator::dump):
* b3/B3SSACalculator.h: Added.
(JSC::B3::SSACalculator::Variable::index):
(JSC::B3::SSACalculator::Variable::Variable):
(JSC::B3::SSACalculator::Def::variable):
(JSC::B3::SSACalculator::Def::block):
(JSC::B3::SSACalculator::Def::value):
(JSC::B3::SSACalculator::Def::Def):
(JSC::B3::SSACalculator::variable):
(JSC::B3::SSACalculator::computePhis):
(JSC::B3::SSACalculator::phisForBlock):
(JSC::B3::SSACalculator::reachingDefAtHead):
* b3/B3StackSlotKind.h:
* b3/B3StackSlotValue.cpp:
(JSC::B3::StackSlotValue::dumpMeta):
(JSC::B3::StackSlotValue::cloneImpl):
* b3/B3StackSlotValue.h:
* b3/B3SwitchValue.cpp:
(JSC::B3::SwitchValue::dumpMeta):
(JSC::B3::SwitchValue::cloneImpl):
(JSC::B3::SwitchValue::SwitchValue):
* b3/B3SwitchValue.h:
* b3/B3UpsilonValue.cpp:
(JSC::B3::UpsilonValue::dumpMeta):
(JSC::B3::UpsilonValue::cloneImpl):
* b3/B3UpsilonValue.h:
* b3/B3Validate.cpp:
* b3/B3Value.cpp:
(JSC::B3::Value::replaceWithNop):
(JSC::B3::Value::replaceWithPhi):
(JSC::B3::Value::dump):
(JSC::B3::Value::cloneImpl):
(JSC::B3::Value::dumpChildren):
(JSC::B3::Value::deepDump):
* b3/B3Value.h:
(JSC::B3::DeepValueDump::DeepValueDump):
(JSC::B3::DeepValueDump::dump):
(JSC::B3::deepDump):
* b3/B3ValueInlines.h:
(JSC::B3::Value::asNumber):
(JSC::B3::Value::walk):
* b3/B3ValueKey.cpp:
(JSC::B3::ValueKey::intConstant):
(JSC::B3::ValueKey::dump):
* b3/B3ValueKey.h:
(JSC::B3::ValueKey::ValueKey):
(JSC::B3::ValueKey::opcode):
(JSC::B3::ValueKey::type):
(JSC::B3::ValueKey::childIndex):
* b3/air/AirCode.h:
(JSC::B3::Air::Code::forAllTmps):
(JSC::B3::Air::Code::isFastTmp):
* b3/air/AirIteratedRegisterCoalescing.cpp:
* b3/air/AirUseCounts.h:
(JSC::B3::Air::UseCounts::UseCounts):
(JSC::B3::Air::UseCounts::operator[]):
(JSC::B3::Air::UseCounts::dump):
* b3/testb3.cpp:
(JSC::B3::testSelectInvert):
(JSC::B3::testCheckSelect):
(JSC::B3::testCheckSelectCheckSelect):
(JSC::B3::testPowDoubleByIntegerLoop):
(JSC::B3::run):
* runtime/Options.h:

Source/WTF:

* wtf/GraphNodeWorklist.h:
(WTF::GraphNodeWorklist::push):
(WTF::GraphNodeWorklist::pushAll):
(WTF::GraphNodeWorklist::isEmpty):
(WTF::GraphNodeWorklist::notEmpty):

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

4 years agoModern IDB: Add -private.html variants of every storage/indexeddb test that doesn...
beidson@apple.com [Thu, 21 Jan 2016 02:13:21 +0000 (02:13 +0000)]
Modern IDB: Add -private.html variants of every storage/indexeddb test that doesn't already have them.
https://bugs.webkit.org/show_bug.cgi?id=153272

Reviewed by Alex Christensen.

This includes some cleanups to the shared js files to make each test more resilient to being run twice.

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

* storage/indexeddb/clone-exception-private-expected.txt: Added.
* storage/indexeddb/clone-exception-private.html: Added.
* storage/indexeddb/closed-cursor-private-expected.txt: Added.
* storage/indexeddb/closed-cursor-private.html: Added.
* storage/indexeddb/connection-leak-private-expected.txt: Added.
* storage/indexeddb/connection-leak-private.html: Added.
* storage/indexeddb/cursor-cast-private-expected.txt: Added.
* storage/indexeddb/cursor-cast-private.html: Added.
* storage/indexeddb/cursor-leak-private-expected.txt: Added.
* storage/indexeddb/cursor-leak-private.html: Added.
* storage/indexeddb/cursor-overloads-private-expected.txt: Added.
* storage/indexeddb/cursor-overloads-private.html: Added.
* storage/indexeddb/cursor-request-cycle-private-expected.txt: Added.
* storage/indexeddb/cursor-request-cycle-private.html: Added.
* storage/indexeddb/deleteIndex-bug110792-private-expected.txt: Added.
* storage/indexeddb/deleteIndex-bug110792-private.html: Added.
* storage/indexeddb/deletedatabase-delayed-by-versionchange-private-expected.txt: Removed.
* storage/indexeddb/deletedatabase-transaction-private-expected.txt: Added.
* storage/indexeddb/deletedatabase-transaction-private.html: Added.
* storage/indexeddb/dont-commit-on-blocked-private-expected.txt: Added.
* storage/indexeddb/dont-commit-on-blocked-private.html: Added.
* storage/indexeddb/lazy-index-population-private-expected.txt: Added.
* storage/indexeddb/lazy-index-population-private.html: Added.
* storage/indexeddb/metadata-race-private-expected.txt: Added.
* storage/indexeddb/metadata-race-private.html: Added.
* storage/indexeddb/modern/abort-objectstore-info-private-expected.txt: Added.
* storage/indexeddb/modern/abort-objectstore-info-private.html: Added.
* storage/indexeddb/modern/abort-requests-cancelled-private-expected.txt: Added.
* storage/indexeddb/modern/abort-requests-cancelled-private.html: Added.
* storage/indexeddb/modern/aborted-put-private-expected.txt: Added.
* storage/indexeddb/modern/aborted-put-private.html: Added.
* storage/indexeddb/modern/autoincrement-abort-private-expected.txt: Added.
* storage/indexeddb/modern/autoincrement-abort-private.html: Added.
* storage/indexeddb/modern/basic-add-private-expected.txt: Added.
* storage/indexeddb/modern/basic-add-private.html: Added.
* storage/indexeddb/modern/basic-put-private-expected.txt: Added.
* storage/indexeddb/modern/basic-put-private.html: Added.
* storage/indexeddb/modern/blocked-open-db-requests-private-expected.txt: Added.
* storage/indexeddb/modern/blocked-open-db-requests-private.html: Added.
* storage/indexeddb/modern/create-index-failures-private-expected.txt: Added.
* storage/indexeddb/modern/create-index-failures-private.html: Added.
* storage/indexeddb/modern/createobjectstore-basic-private-expected.txt: Added.
* storage/indexeddb/modern/createobjectstore-basic-private.html: Added.
* storage/indexeddb/modern/createobjectstore-failures-private-expected.txt: Added.
* storage/indexeddb/modern/createobjectstore-failures-private.html: Added.
* storage/indexeddb/modern/cursor-1-private-expected.txt: Added.
* storage/indexeddb/modern/cursor-1-private.html: Added.
* storage/indexeddb/modern/cursor-2-private-expected.txt: Added.
* storage/indexeddb/modern/cursor-2-private.html: Added.
* storage/indexeddb/modern/cursor-3-private-expected.txt: Added.
* storage/indexeddb/modern/cursor-3-private.html: Added.
* storage/indexeddb/modern/cursor-4-private-expected.txt: Added.
* storage/indexeddb/modern/cursor-4-private.html: Added.
* storage/indexeddb/modern/cursor-5-private-expected.txt: Added.
* storage/indexeddb/modern/cursor-5-private.html: Added.
* storage/indexeddb/modern/cursor-6-private-expected.txt: Added.
* storage/indexeddb/modern/cursor-6-private.html: Added.
* storage/indexeddb/modern/cursor-7-private-expected.txt: Added.
* storage/indexeddb/modern/cursor-7-private.html: Added.
* storage/indexeddb/modern/cursor-8-private-expected.txt: Added.
* storage/indexeddb/modern/cursor-8-private.html: Added.
* storage/indexeddb/modern/date-basic-private-expected.txt: Added.
* storage/indexeddb/modern/date-basic-private.html: Added.
* storage/indexeddb/modern/deletedatabase-1-private-expected.txt: Added.
* storage/indexeddb/modern/deletedatabase-1-private.html: Added.
* storage/indexeddb/modern/deletedatabase-2-private-expected.txt: Added.
* storage/indexeddb/modern/deletedatabase-2-private.html: Added.
* storage/indexeddb/modern/deletedatabase-null-name-exception-private-expected.txt: Added.
* storage/indexeddb/modern/deletedatabase-null-name-exception-private.html: Added.
* storage/indexeddb/modern/deletedatabase-request-event-private-expected.txt: Added.
* storage/indexeddb/modern/deletedatabase-request-event-private.html: Added.
* storage/indexeddb/modern/deletedatabase-request-private-expected.txt: Added.
* storage/indexeddb/modern/deletedatabase-request-private.html: Added.
* storage/indexeddb/modern/deleteindex-1-private-expected.txt: Added.
* storage/indexeddb/modern/deleteindex-1-private.html: Added.
* storage/indexeddb/modern/deleteindex-2-private-expected.txt: Added.
* storage/indexeddb/modern/deleteindex-2-private.html: Added.
* storage/indexeddb/modern/deleteobjectstore-1-private-expected.txt: Added.
* storage/indexeddb/modern/deleteobjectstore-1-private.html: Added.
* storage/indexeddb/modern/double-abort-private-expected.txt: Added.
* storage/indexeddb/modern/double-abort-private.html: Added.
* storage/indexeddb/modern/double-open-private-expected.txt: Added.
* storage/indexeddb/modern/double-open-private.html: Added.
* storage/indexeddb/modern/get-index-failures-private-expected.txt: Added.
* storage/indexeddb/modern/get-index-failures-private.html: Added.
* storage/indexeddb/modern/get-keyrange-private-expected.txt: Added.
* storage/indexeddb/modern/get-keyrange-private.html: Added.
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private-expected.txt: Added.
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private.html: Added.
* storage/indexeddb/modern/idbdatabase-transaction-failures-private-expected.txt: Added.
* storage/indexeddb/modern/idbdatabase-transaction-failures-private.html: Added.
* storage/indexeddb/modern/idbindex-properties-basic-private-expected.txt: Added.
* storage/indexeddb/modern/idbindex-properties-basic-private.html: Added.
* storage/indexeddb/modern/idbobjectstore-clear-1-private-expected.txt: Added.
* storage/indexeddb/modern/idbobjectstore-clear-1-private.html: Added.
* storage/indexeddb/modern/idbobjectstore-clear-2-private-expected.txt: Added.
* storage/indexeddb/modern/idbobjectstore-clear-2-private.html: Added.
* storage/indexeddb/modern/idbobjectstore-count-1-private-expected.txt: Added.
* storage/indexeddb/modern/idbobjectstore-count-1-private.html: Added.
* storage/indexeddb/modern/idbobjectstore-count-failures-private-expected.txt: Added.
* storage/indexeddb/modern/idbobjectstore-count-failures-private.html: Added.
* storage/indexeddb/modern/idbobjectstore-delete-1-private-expected.txt: Added.
* storage/indexeddb/modern/idbobjectstore-delete-1-private.html: Added.
* storage/indexeddb/modern/idbobjectstore-delete-2-private-expected.txt: Added.
* storage/indexeddb/modern/idbobjectstore-delete-2-private.html: Added.
* storage/indexeddb/modern/idbobjectstore-delete-failures-private-expected.txt: Added.
* storage/indexeddb/modern/idbobjectstore-delete-failures-private.html: Added.
* storage/indexeddb/modern/idbobjectstore-get-failures-private-expected.txt: Added.
* storage/indexeddb/modern/idbobjectstore-get-failures-private.html: Added.
* storage/indexeddb/modern/idbobjectstore-put-and-clear-failures-private-expected.txt: Added.
* storage/indexeddb/modern/idbobjectstore-put-and-clear-failures-private.html: Added.
* storage/indexeddb/modern/idbtransaction-objectstore-failures-private-expected.txt: Added.
* storage/indexeddb/modern/idbtransaction-objectstore-failures-private.html: Added.
* storage/indexeddb/modern/index-1-private-expected.txt: Added.
* storage/indexeddb/modern/index-1-private.html: Added.
* storage/indexeddb/modern/index-2-private-expected.txt: Added.
* storage/indexeddb/modern/index-2-private.html: Added.
* storage/indexeddb/modern/index-3-private-expected.txt: Added.
* storage/indexeddb/modern/index-3-private.html: Added.
* storage/indexeddb/modern/index-4-private-expected.txt: Added.
* storage/indexeddb/modern/index-4-private.html: Added.
* storage/indexeddb/modern/index-5-private-expected.txt: Added.
* storage/indexeddb/modern/index-5-private.html: Added.
* storage/indexeddb/modern/index-cursor-1-private-expected.txt: Added.
* storage/indexeddb/modern/index-cursor-1-private.html: Added.
* storage/indexeddb/modern/index-cursor-2-private-expected.txt: Added.
* storage/indexeddb/modern/index-cursor-2-private.html: Added.
* storage/indexeddb/modern/index-cursor-3-private-expected.txt: Added.
* storage/indexeddb/modern/index-cursor-3-private.html: Added.
* storage/indexeddb/modern/index-get-count-basic-private-expected.txt: Added.
* storage/indexeddb/modern/index-get-count-basic-private.html: Added.
* storage/indexeddb/modern/index-get-count-failures-private-expected.txt: Added.
* storage/indexeddb/modern/index-get-count-failures-private.html: Added.
* storage/indexeddb/modern/keypath-basic-private-expected.txt: Added.
* storage/indexeddb/modern/keypath-basic-private.html: Added.
* storage/indexeddb/modern/memory-index-not-deleted-with-objectstore-private-expected.txt: Added.
* storage/indexeddb/modern/memory-index-not-deleted-with-objectstore-private.html: Added.
* storage/indexeddb/modern/objectstore-attributes-private-expected.txt: Added.
* storage/indexeddb/modern/objectstore-attributes-private.html: Added.
* storage/indexeddb/modern/objectstore-cursor-advance-failures-private-expected.txt: Added.
* storage/indexeddb/modern/objectstore-cursor-advance-failures-private.html: Added.
* storage/indexeddb/modern/objectstore-cursor-continue-failures-private-expected.txt: Added.
* storage/indexeddb/modern/objectstore-cursor-continue-failures-private.html: Added.
* storage/indexeddb/modern/opencursor-failures-private-expected.txt: Added.
* storage/indexeddb/modern/opencursor-failures-private.html: Added.
* storage/indexeddb/modern/opendatabase-request-event-private-expected.txt: Added.
* storage/indexeddb/modern/opendatabase-request-event-private.html: Added.
* storage/indexeddb/modern/opendatabase-request-private-expected.txt: Added.
* storage/indexeddb/modern/opendatabase-request-private.html: Added.
* storage/indexeddb/modern/opendatabase-success-after-versionchange-private-expected.txt: Added.
* storage/indexeddb/modern/opendatabase-success-after-versionchange-private.html: Added.
* storage/indexeddb/modern/opendatabase-versions-private-expected.txt: Added.
* storage/indexeddb/modern/opendatabase-versions-private.html: Added.
* storage/indexeddb/modern/request-readystate-private-expected.txt: Added.
* storage/indexeddb/modern/request-readystate-private.html: Added.
* storage/indexeddb/modern/resources/opendatabase-request-event.js:
* storage/indexeddb/modern/resources/opendatabase-versions.js:
* storage/indexeddb/modern/resources/request-readystate.js:
* storage/indexeddb/modern/resources/versionchange-abort-then-reopen.js:
* storage/indexeddb/modern/transaction-scheduler-1-private-expected.txt: Added.
* storage/indexeddb/modern/transaction-scheduler-1-private.html: Added.
* storage/indexeddb/modern/transaction-scheduler-2-private-expected.txt: Added.
* storage/indexeddb/modern/transaction-scheduler-2-private.html: Added.
* storage/indexeddb/modern/transaction-scheduler-3-private-expected.txt: Added.
* storage/indexeddb/modern/transaction-scheduler-3-private.html: Added.
* storage/indexeddb/modern/transaction-scheduler-4-private-expected.txt: Added.
* storage/indexeddb/modern/transaction-scheduler-4-private.html: Added.
* storage/indexeddb/modern/transaction-scheduler-5-private-expected.txt: Added.
* storage/indexeddb/modern/transaction-scheduler-5-private.html: Added.
* storage/indexeddb/modern/transaction-scheduler-6-private-expected.txt: Added.
* storage/indexeddb/modern/transaction-scheduler-6-private.html: Added.
* storage/indexeddb/modern/transactions-stop-on-navigation-private-expected.txt: Added.
* storage/indexeddb/modern/transactions-stop-on-navigation-private.html: Added.
* storage/indexeddb/modern/versionchange-abort-then-reopen-private-expected.txt: Added.
* storage/indexeddb/modern/versionchange-abort-then-reopen-private.html: Added.
* storage/indexeddb/modern/versionchange-event-private-expected.txt: Added.
* storage/indexeddb/modern/versionchange-event-private.html: Added.
* storage/indexeddb/mozilla/add-twice-failure-private-expected.txt: Added.
* storage/indexeddb/mozilla/add-twice-failure-private.html: Added.
* storage/indexeddb/mozilla/autoincrement-indexes-private-expected.txt: Added.
* storage/indexeddb/mozilla/autoincrement-indexes-private.html: Added.
* storage/indexeddb/mozilla/bad-keypath-private-expected.txt: Added.
* storage/indexeddb/mozilla/bad-keypath-private.html: Added.
* storage/indexeddb/mozilla/clear-private-expected.txt: Added.
* storage/indexeddb/mozilla/clear-private.html: Added.
* storage/indexeddb/mozilla/create-index-unique-private-expected.txt: Added.
* storage/indexeddb/mozilla/create-index-unique-private.html: Added.
* storage/indexeddb/mozilla/create-index-with-integer-keys-private-expected.txt: Added.
* storage/indexeddb/mozilla/create-index-with-integer-keys-private.html: Added.
* storage/indexeddb/mozilla/create-objectstore-basics-private-expected.txt: Added.
* storage/indexeddb/mozilla/create-objectstore-basics-private.html: Added.
* storage/indexeddb/mozilla/create-objectstore-null-name-private-expected.txt: Added.
* storage/indexeddb/mozilla/create-objectstore-null-name-private.html: Added.
* storage/indexeddb/mozilla/cursor-mutation-objectstore-only-private-expected.txt: Added.
* storage/indexeddb/mozilla/cursor-mutation-objectstore-only-private.html: Added.
* storage/indexeddb/mozilla/cursor-mutation-private-expected.txt: Added.
* storage/indexeddb/mozilla/cursor-mutation-private.html: Added.
* storage/indexeddb/mozilla/cursor-update-updates-indexes-private-expected.txt: Added.
* storage/indexeddb/mozilla/cursor-update-updates-indexes-private.html: Added.
* storage/indexeddb/mozilla/cursors-private-expected.txt: Added.
* storage/indexeddb/mozilla/cursors-private.html: Added.
* storage/indexeddb/mozilla/delete-result-private-expected.txt: Added.
* storage/indexeddb/mozilla/delete-result-private.html: Added.
* storage/indexeddb/mozilla/event-source-private-expected.txt: Added.
* storage/indexeddb/mozilla/event-source-private.html: Added.
* storage/indexeddb/mozilla/global-data-private-expected.txt: Added.
* storage/indexeddb/mozilla/global-data-private.html: Added.
* storage/indexeddb/mozilla/index-prev-no-duplicate-private-expected.txt: Added.
* storage/indexeddb/mozilla/index-prev-no-duplicate-private.html: Added.
* storage/indexeddb/mozilla/indexes-private-expected.txt: Added.
* storage/indexeddb/mozilla/indexes-private.html: Added.
* storage/indexeddb/mozilla/key-requirements-delete-null-key-private-expected.txt: Added.
* storage/indexeddb/mozilla/key-requirements-delete-null-key-private.html: Added.
* storage/indexeddb/mozilla/key-requirements-inline-and-passed-private-expected.txt: Added.
* storage/indexeddb/mozilla/key-requirements-inline-and-passed-private.html: Added.
* storage/indexeddb/mozilla/key-requirements-private-expected.txt: Added.
* storage/indexeddb/mozilla/key-requirements-private.html: Added.
* storage/indexeddb/mozilla/key-requirements-put-no-key-private-expected.txt: Added.
* storage/indexeddb/mozilla/key-requirements-put-no-key-private.html: Added.
* storage/indexeddb/mozilla/key-requirements-put-null-key-private-expected.txt: Added.
* storage/indexeddb/mozilla/key-requirements-put-null-key-private.html: Added.
* storage/indexeddb/mozilla/object-cursors-private-expected.txt: Added.
* storage/indexeddb/mozilla/object-cursors-private.html: Added.
* storage/indexeddb/mozilla/object-identity-private-expected.txt: Added.
* storage/indexeddb/mozilla/object-identity-private.html: Added.
* storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put-private-expected.txt: Added.
* storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put-private.html: Added.
* storage/indexeddb/mozilla/object-store-remove-values-private-expected.txt: Added.
* storage/indexeddb/mozilla/object-store-remove-values-private.html: Added.
* storage/indexeddb/mozilla/objectstorenames-private-expected.txt: Added.
* storage/indexeddb/mozilla/objectstorenames-private.html: Added.
* storage/indexeddb/mozilla/odd-result-order-private-expected.txt: Added.
* storage/indexeddb/mozilla/odd-result-order-private.html: Added.
* storage/indexeddb/mozilla/open-database-null-name-private-expected.txt: Added.
* storage/indexeddb/mozilla/open-database-null-name-private.html: Added.
* storage/indexeddb/mozilla/put-get-values-private-expected.txt: Added.
* storage/indexeddb/mozilla/put-get-values-private.html: Added.
* storage/indexeddb/mozilla/readonly-transactions-private-expected.txt: Added.
* storage/indexeddb/mozilla/readonly-transactions-private.html: Added.
* storage/indexeddb/mozilla/readwrite-transactions-private-expected.txt: Added.
* storage/indexeddb/mozilla/readwrite-transactions-private.html: Added.
* storage/indexeddb/mozilla/readyState-private-expected.txt: Added.
* storage/indexeddb/mozilla/readyState-private.html: Added.
* storage/indexeddb/mozilla/remove-index-private-expected.txt: Added.
* storage/indexeddb/mozilla/remove-index-private.html: Added.
* storage/indexeddb/mozilla/remove-objectstore-private-expected.txt: Added.
* storage/indexeddb/mozilla/remove-objectstore-private.html: Added.
* storage/indexeddb/mozilla/versionchange-abort-private-expected.txt: Added.
* storage/indexeddb/mozilla/versionchange-abort-private.html: Added.
* storage/indexeddb/noblobs-private-expected.txt: Added.
* storage/indexeddb/noblobs-private.html: Added.
* storage/indexeddb/object-lookups-in-versionchange-private-expected.txt: Added.
* storage/indexeddb/object-lookups-in-versionchange-private.html: Added.
* storage/indexeddb/open-bad-versions-private-expected.txt: Added.
* storage/indexeddb/open-bad-versions-private.html: Added.
* storage/indexeddb/optional-arguments-private-expected.txt: Added.
* storage/indexeddb/optional-arguments-private.html: Added.
* storage/indexeddb/pending-version-change-stuck-works-with-terminate-private-expected.txt: Added.
* storage/indexeddb/pending-version-change-stuck-works-with-terminate-private.html: Added.
* storage/indexeddb/prefetch-invalidation-private-expected.txt: Added.
* storage/indexeddb/prefetch-invalidation-private.html: Added.
* storage/indexeddb/prefetch-race-private-expected.txt: Added.
* storage/indexeddb/prefetch-race-private.html: Added.
* storage/indexeddb/primary-key-unique-to-objectstore-private-expected.txt: Added.
* storage/indexeddb/primary-key-unique-to-objectstore-private.html: Added.
* storage/indexeddb/request-leak-private-expected.txt: Added.
* storage/indexeddb/request-leak-private.html: Added.
* storage/indexeddb/request-result-cache-private-expected.txt: Added.
* storage/indexeddb/request-result-cache-private.html: Added.
* storage/indexeddb/resources/primary-key-unique-to-objectstore.js:
* storage/indexeddb/resources/shared.js:
* storage/indexeddb/resources/version-change-event-basic.js:
* storage/indexeddb/structured-clone-private-expected.txt: Added.
* storage/indexeddb/structured-clone-private.html: Added.
* storage/indexeddb/transaction-complete-with-js-recursion-cross-frame-private-expected.txt: Added.
* storage/indexeddb/transaction-complete-with-js-recursion-cross-frame-private.html: Added.
* storage/indexeddb/transaction-complete-with-js-recursion-private-expected.txt: Added.
* storage/indexeddb/transaction-complete-with-js-recursion-private.html: Added.
* storage/indexeddb/transaction-crash-in-tasks-private-expected.txt: Added.
* storage/indexeddb/transaction-crash-in-tasks-private.html: Added.
* storage/indexeddb/transaction-ordering-private-expected.txt: Added.
* storage/indexeddb/transaction-ordering-private.html: Added.
* storage/indexeddb/transaction-overlapping-private-expected.txt: Added.
* storage/indexeddb/transaction-overlapping-private.html: Added.
* storage/indexeddb/transaction-starvation-private-expected.txt: Removed.
* storage/indexeddb/version-change-event-basic-private-expected.txt: Added.
* storage/indexeddb/version-change-event-basic-private.html: Added.
* storage/indexeddb/version-change-event-private-expected.txt: Added.
* storage/indexeddb/version-change-event-private.html: Added.

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

4 years agoResourceHandleCFURLConnectionDelegateWithOperationQueue delegate methods don't NULL...
ddkilzer@apple.com [Thu, 21 Jan 2016 01:49:12 +0000 (01:49 +0000)]
ResourceHandleCFURLConnectionDelegateWithOperationQueue delegate methods don't NULL-check m_handle->client()
<https://webkit.org/b/152675>
<rdar://problem/24034044>

Reviewed by Brent Fulgham.

* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
- Add NULL check for m_handle->client() as is done in the
  WebCoreResourceHandleAsOperationQueueDelegate class in
  WebCoreResourceHandleAsOperationQueueDelegate.mm.  (The NULL
  check for -connection:didReceiveResponse: is currently
  missing, but there are crashes there, too, that are covered by
  Bug 152673.)

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

4 years agoUse TinyLRUCache in caching the CGColorRef in WebCore::cachedCGColor()
commit-queue@webkit.org [Thu, 21 Jan 2016 00:41:46 +0000 (00:41 +0000)]
Use TinyLRUCache in caching the CGColorRef in WebCore::cachedCGColor()
https://bugs.webkit.org/show_bug.cgi?id=153279

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-01-20
Reviewed by Dean Jackson.

Reuse the new template TinyLRUCache in caching the CGColor instead of
having the same code repeated twice.

* platform/graphics/cg/ColorCG.cpp:
(WebCore::leakCGColor):
(WebCore::RetainPtr<CGColorRef>>::createValueForKey):
(WebCore::cachedCGColor):

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

4 years agoRefactor compareIterations to remove duplicate code.
jmarcell@apple.com [Thu, 21 Jan 2016 00:20:33 +0000 (00:20 +0000)]
Refactor compareIterations to remove duplicate code.
https://bugs.webkit.org/show_bug.cgi?id=152913

Reviewed by Daniel Bates.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue.prototype.compareIterations): Refactored to remove duplicate code.
(BuildbotQueue.prototype.sortIterations): Add binding to call to compareIterations.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/tests.js: Added tests in order to ensure
the same behavior before and after refactor.

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

4 years agoUpdate ios-simulator specific -expected.txt files after most recent WPT revision...
ryanhaddad@apple.com [Wed, 20 Jan 2016 23:40:44 +0000 (23:40 +0000)]
Update ios-simulator specific -expected.txt files after most recent WPT revision in r194580
https://bugs.webkit.org/show_bug.cgi?id=152139

Unreviewed test gardening.

* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-textselection-01-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-label-element/labelable-elements-expected.txt:

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

4 years ago[JSC] Fix a typo in the Air definition of CeilDouble/CeilFloat
commit-queue@webkit.org [Wed, 20 Jan 2016 23:25:23 +0000 (23:25 +0000)]
[JSC] Fix a typo in the Air definition of CeilDouble/CeilFloat
https://bugs.webkit.org/show_bug.cgi?id=153286

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-01-20
Reviewed by Mark Lam.

* b3/air/AirOpcode.opcodes:
The second argument should a Def. The previous definition was
adding useless constraints on the allocation of the second argument.

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

4 years ago[JSC] The register allocator can use a dangling pointer when selecting a spill candidate
benjamin@webkit.org [Wed, 20 Jan 2016 23:11:32 +0000 (23:11 +0000)]
[JSC] The register allocator can use a dangling pointer when selecting a spill candidate
https://bugs.webkit.org/show_bug.cgi?id=153287

Reviewed by Mark Lam.

A tricky bug I discovered while experimenting with live range breaking.

We have the following initial conditions:
-UseCounts is slow, so we only compute it once for all the iterations
 of the allocator.
-The only new Tmps we create are for spills and refills. They are unspillable
 by definition so it is fine to not update UseCounts accordingly.

But, in selectSpill(), we go over all the spill candidates and select the best
one based on its score. The score() lambda uses useCounts, it cannot be used
with a new Tmps created for something we already spilled.

The first time we use score is correct, we started by skipping all the unspillable
Tmps from the candidate. The next use was incorrect: we were checking unspillableTmps
*after* calling score().

The existing tests did not catch this due to back luck. I added an assertion
to find similar problems in the future.

* b3/air/AirIteratedRegisterCoalescing.cpp:
* b3/air/AirUseCounts.h:

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

4 years agoWeb Inspector: InspectorCSSAgent does not call disable in willDestroyFrontendAndBackend
timothy@apple.com [Wed, 20 Jan 2016 23:00:19 +0000 (23:00 +0000)]
Web Inspector: InspectorCSSAgent does not call disable in willDestroyFrontendAndBackend
https://bugs.webkit.org/show_bug.cgi?id=153289
<rdar://problem/24242600>

Reviewed by Joseph Pecoraro.

* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend): Call disable().

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

4 years agoFix CLoop build after bug https://bugs.webkit.org/show_bug.cgi?id=152766
sbarati@apple.com [Wed, 20 Jan 2016 22:55:02 +0000 (22:55 +0000)]
Fix CLoop build after bug https://bugs.webkit.org/show_bug.cgi?id=152766

Unreviewed build fix.

* inspector/agents/InspectorScriptProfilerAgent.h:

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

4 years agoFollow up to r195361. Removing ios-simulator-wk2 fast/viewport/ios directory pass...
ryanhaddad@apple.com [Wed, 20 Jan 2016 22:54:13 +0000 (22:54 +0000)]
Follow up to r195361. Removing ios-simulator-wk2 fast/viewport/ios directory pass expectation, explicitly re-enabling passing tests
https://bugs.webkit.org/show_bug.cgi?id=153110

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:

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

4 years ago[INTL] Implement Date.prototype.toLocaleTimeString in ECMA-402
commit-queue@webkit.org [Wed, 20 Jan 2016 22:49:32 +0000 (22:49 +0000)]
[INTL] Implement Date.prototype.toLocaleTimeString in ECMA-402
https://bugs.webkit.org/show_bug.cgi?id=147613

Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2016-01-20
Reviewed by Darin Adler.

Source/JavaScriptCore:

Implement toLocaleTimeString in builtin JavaScript.

* builtins/DatePrototype.js:
(toLocaleTimeString.toDateTimeOptionsTimeTime):
(toLocaleTimeString):
* runtime/DatePrototype.cpp:
(JSC::DatePrototype::finishCreation):

LayoutTests:

Added tests for toLocaleTimeString.

* js/date-toLocaleString-expected.txt:
* js/script-tests/date-toLocaleString.js:

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

4 years agoModern IDB: Make storage/indexeddb/modern tests more modern.
beidson@apple.com [Wed, 20 Jan 2016 22:27:08 +0000 (22:27 +0000)]
Modern IDB: Make storage/indexeddb/modern tests more modern.
https://bugs.webkit.org/show_bug.cgi?id=153284

Reviewed by Alex Christensen.

* storage/indexeddb/modern/abort-requests-cancelled-expected.txt:
* storage/indexeddb/modern/aborted-put-expected.txt:
* storage/indexeddb/modern/autoincrement-abort-expected.txt:
* storage/indexeddb/modern/basic-add-expected.txt:
* storage/indexeddb/modern/basic-put-expected.txt:
* storage/indexeddb/modern/create-index-failures-expected.txt:
* storage/indexeddb/modern/createobjectstore-basic-expected.txt:
* storage/indexeddb/modern/createobjectstore-failures-expected.txt:
* storage/indexeddb/modern/cursor-1-expected.txt:
* storage/indexeddb/modern/cursor-2-expected.txt:
* storage/indexeddb/modern/cursor-3-expected.txt:
* storage/indexeddb/modern/cursor-4-expected.txt:
* storage/indexeddb/modern/cursor-5-expected.txt:
* storage/indexeddb/modern/cursor-6-expected.txt:
* storage/indexeddb/modern/cursor-7-expected.txt:
* storage/indexeddb/modern/cursor-8-expected.txt:
* storage/indexeddb/modern/date-basic-expected.txt:
* storage/indexeddb/modern/deletedatabase-1-expected.txt:
* storage/indexeddb/modern/deletedatabase-2-expected.txt:
* storage/indexeddb/modern/deleteindex-1-expected.txt:
* storage/indexeddb/modern/deleteindex-2-expected.txt:
* storage/indexeddb/modern/deleteobjectstore-1-expected.txt:
* storage/indexeddb/modern/double-abort-expected.txt:
* storage/indexeddb/modern/get-index-failures-expected.txt:
* storage/indexeddb/modern/get-keyrange-expected.txt:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
* storage/indexeddb/modern/idbindex-properties-basic-expected.txt:
* storage/indexeddb/modern/idbobjectstore-clear-1-expected.txt:
* storage/indexeddb/modern/idbobjectstore-clear-2-expected.txt:
* storage/indexeddb/modern/idbobjectstore-count-1-expected.txt:
* storage/indexeddb/modern/idbobjectstore-count-failures-expected.txt:
* storage/indexeddb/modern/idbobjectstore-delete-1-expected.txt:
* storage/indexeddb/modern/idbobjectstore-delete-2-expected.txt:
* storage/indexeddb/modern/idbobjectstore-delete-failures-expected.txt:
* storage/indexeddb/modern/idbobjectstore-get-failures-expected.txt:
* storage/indexeddb/modern/idbobjectstore-put-and-clear-failures-expected.txt:
* storage/indexeddb/modern/idbtransaction-objectstore-failures-expected.txt:
* storage/indexeddb/modern/index-1-expected.txt:
* storage/indexeddb/modern/index-2-expected.txt:
* storage/indexeddb/modern/index-3-expected.txt:
* storage/indexeddb/modern/index-4-expected.txt:
* storage/indexeddb/modern/index-5-expected.txt:
* storage/indexeddb/modern/index-cursor-1-expected.txt:
* storage/indexeddb/modern/index-cursor-2-expected.txt:
* storage/indexeddb/modern/index-cursor-3-expected.txt:
* storage/indexeddb/modern/index-get-count-basic-expected.txt:
* storage/indexeddb/modern/index-get-count-failures-expected.txt:
* storage/indexeddb/modern/keypath-basic-expected.txt:
* storage/indexeddb/modern/objectstore-attributes-expected.txt:
* storage/indexeddb/modern/objectstore-cursor-advance-failures-expected.txt:
* storage/indexeddb/modern/objectstore-cursor-continue-failures-expected.txt:
* storage/indexeddb/modern/opencursor-failures-expected.txt:
* storage/indexeddb/modern/opendatabase-success-after-versionchange-expected.txt:
* storage/indexeddb/modern/opendatabase-versions-expected.txt:
* storage/indexeddb/modern/resources/abort-requests-cancelled.js:
* storage/indexeddb/modern/resources/aborted-put.js:
* storage/indexeddb/modern/resources/autoincrement-abort.js:
* storage/indexeddb/modern/resources/basic-add.js:
* storage/indexeddb/modern/resources/basic-put.js:
* storage/indexeddb/modern/resources/create-index-failures.js:
* storage/indexeddb/modern/resources/createobjectstore-basic.js:
* storage/indexeddb/modern/resources/createobjectstore-failures.js:
* storage/indexeddb/modern/resources/cursor-1.js:
* storage/indexeddb/modern/resources/cursor-2.js:
* storage/indexeddb/modern/resources/cursor-3.js:
* storage/indexeddb/modern/resources/cursor-4.js:
* storage/indexeddb/modern/resources/cursor-5.js:
* storage/indexeddb/modern/resources/cursor-6.js:
* storage/indexeddb/modern/resources/cursor-7.js:
* storage/indexeddb/modern/resources/cursor-8.js:
* storage/indexeddb/modern/resources/date-basic.js:
* storage/indexeddb/modern/resources/deletedatabase-1.js:
* storage/indexeddb/modern/resources/deletedatabase-2.js:
* storage/indexeddb/modern/resources/deletedatabase-null-name-exception.js:
* storage/indexeddb/modern/resources/deletedatabase-request-event.js:
* storage/indexeddb/modern/resources/deletedatabase-request.js:
* storage/indexeddb/modern/resources/deleteindex-1.js:
* storage/indexeddb/modern/resources/deleteindex-2.js:
* storage/indexeddb/modern/resources/deleteobjectstore-1.js:
* storage/indexeddb/modern/resources/double-abort.js:
* storage/indexeddb/modern/resources/double-open.js:
* storage/indexeddb/modern/resources/get-index-failures.js:
* storage/indexeddb/modern/resources/get-keyrange.js:
* storage/indexeddb/modern/resources/idbdatabase-deleteobjectstore-failures.js:
* storage/indexeddb/modern/resources/idbdatabase-transaction-failures.js:
* storage/indexeddb/modern/resources/idbindex-properties-basic.js:
* storage/indexeddb/modern/resources/idbobjectstore-clear-1.js:
* storage/indexeddb/modern/resources/idbobjectstore-clear-2.js:
* storage/indexeddb/modern/resources/idbobjectstore-count-1.js:
* storage/indexeddb/modern/resources/idbobjectstore-count-failures.js:
* storage/indexeddb/modern/resources/idbobjectstore-delete-1.js:
* storage/indexeddb/modern/resources/idbobjectstore-delete-2.js:
* storage/indexeddb/modern/resources/idbobjectstore-delete-failures.js:
* storage/indexeddb/modern/resources/idbobjectstore-get-failures.js:
* storage/indexeddb/modern/resources/idbobjectstore-put-and-clear-failures.js:
* storage/indexeddb/modern/resources/idbtransaction-objectstore-failures.js:
* storage/indexeddb/modern/resources/index-1.js:
* storage/indexeddb/modern/resources/index-2.js:
* storage/indexeddb/modern/resources/index-3.js:
* storage/indexeddb/modern/resources/index-4.js:
* storage/indexeddb/modern/resources/index-5.js:
* storage/indexeddb/modern/resources/index-cursor-1.js:
* storage/indexeddb/modern/resources/index-cursor-2.js:
* storage/indexeddb/modern/resources/index-cursor-3.js:
* storage/indexeddb/modern/resources/index-get-count-basic.js:
* storage/indexeddb/modern/resources/index-get-count-failures.js:
* storage/indexeddb/modern/resources/keypath-basic.js:
* storage/indexeddb/modern/resources/objectstore-attributes.js:
* storage/indexeddb/modern/resources/objectstore-cursor-advance-failures.js:
* storage/indexeddb/modern/resources/objectstore-cursor-continue-failures.js:
* storage/indexeddb/modern/resources/opencursor-failures.js:
* storage/indexeddb/modern/resources/opendatabase-request-event.js:
* storage/indexeddb/modern/resources/opendatabase-request.js:
* storage/indexeddb/modern/resources/opendatabase-success-after-versionchange.js:
* storage/indexeddb/modern/resources/opendatabase-versions.js:
* storage/indexeddb/modern/resources/request-readystate.js:
* storage/indexeddb/modern/resources/transaction-scheduler-1.js:
* storage/indexeddb/modern/resources/transaction-scheduler-2.js:
* storage/indexeddb/modern/resources/transaction-scheduler-3.js:
* storage/indexeddb/modern/resources/transaction-scheduler-5.js:
* storage/indexeddb/modern/resources/transaction-scheduler-6.js:
* storage/indexeddb/modern/resources/versionchange-abort-then-reopen.js:
* storage/indexeddb/modern/resources/versionchange-event.js:
* storage/indexeddb/modern/transaction-scheduler-1-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-2-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-3-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-5-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-6-expected.txt:
* storage/indexeddb/modern/versionchange-abort-then-reopen-expected.txt:
* storage/indexeddb/modern/versionchange-event-expected.txt:

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

4 years agoWeb Inspector: Hook the sampling profiler into the Timelines UI
sbarati@apple.com [Wed, 20 Jan 2016 21:51:00 +0000 (21:51 +0000)]
Web Inspector: Hook the sampling profiler into the Timelines UI
https://bugs.webkit.org/show_bug.cgi?id=152766
<rdar://problem/24066360>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

This patch adds some necessary functions to SamplingProfiler::StackFrame
to allow it to give data to the Inspector for the timelines UI. i.e, the
sourceID of the executable of a stack frame.

This patch also swaps in the SamplingProfiler in place of the
LegacyProfiler inside InspectorScriptProfilerAgent. It adds
the necessary protocol data to allow the SamplingProfiler's
data to hook into the timelines UI.

* debugger/Debugger.cpp:
(JSC::Debugger::setProfilingClient):
(JSC::Debugger::willEvaluateScript):
(JSC::Debugger::didEvaluateScript):
(JSC::Debugger::toggleBreakpoint):
* debugger/Debugger.h:
* debugger/ScriptProfilingScope.h:
(JSC::ScriptProfilingScope::ScriptProfilingScope):
(JSC::ScriptProfilingScope::~ScriptProfilingScope):
* inspector/agents/InspectorScriptProfilerAgent.cpp:
(Inspector::InspectorScriptProfilerAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorScriptProfilerAgent::startTracking):
(Inspector::InspectorScriptProfilerAgent::stopTracking):
(Inspector::InspectorScriptProfilerAgent::isAlreadyProfiling):
(Inspector::InspectorScriptProfilerAgent::willEvaluateScript):
(Inspector::InspectorScriptProfilerAgent::didEvaluateScript):
(Inspector::InspectorScriptProfilerAgent::addEvent):
(Inspector::buildSamples):
(Inspector::InspectorScriptProfilerAgent::trackingComplete):
(Inspector::buildAggregateCallInfoInspectorObject): Deleted.
(Inspector::buildInspectorObject): Deleted.
(Inspector::buildProfileInspectorObject): Deleted.
* inspector/agents/InspectorScriptProfilerAgent.h:
* inspector/protocol/ScriptProfiler.json:
* jsc.cpp:
(functionSamplingProfilerStackTraces):
* runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::start):
(JSC::SamplingProfiler::stop):
(JSC::SamplingProfiler::clearData):
(JSC::SamplingProfiler::StackFrame::displayName):
(JSC::SamplingProfiler::StackFrame::displayNameForJSONTests):
(JSC::SamplingProfiler::StackFrame::startLine):
(JSC::SamplingProfiler::StackFrame::startColumn):
(JSC::SamplingProfiler::StackFrame::sourceID):
(JSC::SamplingProfiler::StackFrame::url):
(JSC::SamplingProfiler::stackTraces):
(JSC::SamplingProfiler::stackTracesAsJSON):
(JSC::displayName): Deleted.
(JSC::SamplingProfiler::stacktracesAsJSON): Deleted.
* runtime/SamplingProfiler.h:
(JSC::SamplingProfiler::StackFrame::StackFrame):
(JSC::SamplingProfiler::getLock):
(JSC::SamplingProfiler::setTimingInterval):
(JSC::SamplingProfiler::totalTime):
(JSC::SamplingProfiler::setStopWatch):
(JSC::SamplingProfiler::stackTraces): Deleted.
* tests/stress/sampling-profiler-anonymous-function.js:
(platformSupportsSamplingProfiler.baz):
(platformSupportsSamplingProfiler):
* tests/stress/sampling-profiler-basic.js:
(platformSupportsSamplingProfiler.nothing):
(platformSupportsSamplingProfiler.top):
* tests/stress/sampling-profiler/samplingProfiler.js:
(doesTreeHaveStackTrace):

Source/WebInspectorUI:

The main change in this patch is to swap in the SamplingProfiler
in place of the LegacyProfiler. To do this, we've created a data
structure called CallingContextTree which aggregates the SamplingProfiler's
data into an easy to manage tree. To see how the data structure works,
consider the following program:
```
function bar() { // run code here for a long time. }
function baz() { // run code here for a long time. }
function foo() { bar(); baz(); }
foo();
```
From this program, we will create a tree like this:
                (program)
                    |
                    |
                   foo
                   | |
                  /   \
                 /     \
                bar     baz

From this type of tree, we can easily create a CPUProfile payload
object. Because the Timelines UI knows how to interact with the
CPUProfile object and display it, we currently map the tree to this object
to make it trivially easy to display the SamplingProfiler's data. In the future,
we may want to find ways to work directly with the CallingContextTree instead
of mapping it into another object.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/TimelineManager.js:
* UserInterface/Main.html:
* UserInterface/Models/CallingContextTree.js: Added.
* UserInterface/Models/ScriptInstrument.js:
* UserInterface/Protocol/ScriptProfilerObserver.js:
* UserInterface/TestStub.html:
* UserInterface/Views/ScriptTimelineView.js:

LayoutTests:

* inspector/sampling-profiler: Added.
* inspector/sampling-profiler/basic-expected.txt: Added.
* inspector/sampling-profiler/basic.html: Added.
* inspector/sampling-profiler/call-frame-with-dom-functions-expected.txt: Added.
* inspector/sampling-profiler/call-frame-with-dom-functions.html: Added.
* inspector/sampling-profiler/eval-source-url-expected.txt: Added.
* inspector/sampling-profiler/eval-source-url.html: Added.
* inspector/sampling-profiler/many-call-frames-expected.txt: Added.
* inspector/sampling-profiler/many-call-frames.html: Added.
* inspector/sampling-profiler/named-function-expression-expected.txt: Added.
* inspector/sampling-profiler/named-function-expression.html: Added.
* inspector/script-profiler/event-type-API-expected.txt:
* inspector/script-profiler/event-type-API.html:
* inspector/script-profiler/event-type-Microtask-expected.txt:
* inspector/script-profiler/event-type-Microtask.html:
* inspector/script-profiler/event-type-Other-expected.txt:
* inspector/script-profiler/event-type-Other.html:
* inspector/script-profiler/tracking-expected.txt:
* inspector/script-profiler/tracking.html:

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

4 years agoTypedArray's .buffer does not return the JSArrayBuffer that was passed to it on creation.
keith_miller@apple.com [Wed, 20 Jan 2016 21:49:09 +0000 (21:49 +0000)]
TypedArray's .buffer does not return the JSArrayBuffer that was passed to it on creation.
https://bugs.webkit.org/show_bug.cgi?id=153281

Reviewed by Geoffrey Garen.

When creating an JSArrayBuffer we should make sure that the backing ArrayBuffer uses the
new JSArrayBuffer as its wrapper. This causes issues when we get the buffer of a Typed Array
created by passing a JSArrayBuffer as the backing ArrayBuffer does not have a reference to
the original JSArrayBuffer and a new object is created.

* runtime/JSArrayBuffer.cpp:
(JSC::JSArrayBuffer::finishCreation):
* tests/stress/typedarray-buffer-neutered.js: Added.
(arrays.typedArrays.map):

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

4 years agoCSP: Add tests to ensure that alternative text of an image is rendered when CSP block...
dbates@webkit.org [Wed, 20 Jan 2016 21:32:05 +0000 (21:32 +0000)]
CSP: Add tests to ensure that alternative text of an image is rendered when CSP blocks its load
https://bugs.webkit.org/show_bug.cgi?id=153280

Reviewed by Alexey Proskuryakov.

These tests were inspired by the Blink test
<https://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/security/contentSecurityPolicy/image-blocked-alt-content.html?revision=186800>.

* http/tests/security/contentSecurityPolicy/image-blocked-alt-text-expected.html: Added.
* http/tests/security/contentSecurityPolicy/image-blocked-alt-text.html: Added.
* http/tests/security/contentSecurityPolicy/image-data-URL-blocked-alt-text-expected.html: Added.
* http/tests/security/contentSecurityPolicy/image-data-URL-blocked-alt-text.html: Added.

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

4 years agoCSP: Merge from Blink many new tests and changes to existing tests
dbates@webkit.org [Wed, 20 Jan 2016 20:59:37 +0000 (20:59 +0000)]
CSP: Merge from Blink many new tests and changes to existing tests
https://bugs.webkit.org/show_bug.cgi?id=153277
<rdar://problem/24260782>

Reviewed by Brent Fulgham.

Merge new Content Security Policy tests from Blink as well as changes made to existing tests
as of Blink r202656: <https://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/security/contentSecurityPolicy/?pathrev=202656>.
Many of these new tests fail and have been marked accordingly with associated WebKit bugs in
TestExpectations. We also do not run CSP 1.1 tests as we do not compile with ENABLE(CSP_NEXT)
enabled (see <https://bugs.webkit.org/show_bug.cgi?id=85558>). We will look to enable CSP 1.1
and make all these merged tests pass in subsequent commits.

One non-mechanical change I made is that I removed the sub-test for shared workers when
merging http/tests/security/contentSecurityPolicy/worker-without-own-csp.html as WebKit does
not support shared workers. I also swapped the argument order in the call to assert_equals()
in the remaining sub-test so that the expected result, "xhr allowed", is the second argument (as
expected by assert_equals()) and hence the failure message would read well.

The tests http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-overrides-xfo.html,
http/tests/security/contentSecurityPolicy/1.1/{script, style}hash-default-src.html do not have
expected results and are skipped for now. These tests do not have expected results because no
expected results were committed to Blink and it is not straightforward to generate the expected
result without reasoning about the test or compiling Blink. When it comes time to enable CSP 1.1
support we can generate the expected results and verify correctness.

* TestExpectations:
* http/tests/security/contentSecurityPolicy/1.1/child-src/frame-about-blank-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/frame-about-blank-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/frame-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/frame-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/frame-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/frame-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/frame-redirect-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/frame-redirect-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/worker-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/worker-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/worker-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/worker-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/worker-shared-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/worker-shared-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/worker-shared-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/child-src/worker-shared-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-none-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-none-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-self-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-self-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-star-allow-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-star-allow.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-allow-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-allow.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-cross-url-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-none-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-none-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-self-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-self-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-star-allow-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-star-allow.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-url-allow-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-url-allow.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-url-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-cross-in-same-url-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-none-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-none-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-self-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-self-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-star-allow-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-star-allow.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-url-allow-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-url-allow.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-url-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-cross-url-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-none-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-none-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-self-allow-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-self-allow.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-star-allow-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-star-allow.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-url-allow-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-url-allow.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-url-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-nested-same-in-same-url-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-none-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-none-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-overrides-xfo.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-protocolless-allow-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-protocolless-allow.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-allow-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-allow.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-self-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-star-allow-crossorigin-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-star-allow-crossorigin.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-star-allow-sameorigin-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-star-allow-sameorigin.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-url-allow-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-url-allow.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-url-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/frame-ancestors-url-block.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/meta-outside-head-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/meta-outside-head.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-affects-child-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-affects-child.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-invalid.html:
* http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-http-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-http.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-https-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-always-http-https.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-http-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-http.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-https-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-always-https-https.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-http-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-http.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-https-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-default-http-https.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-http-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-http.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-https-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-default-https-https.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-http-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-http.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-https-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-empty-http-https.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-http-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-http.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-https-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-empty-https-https.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-http-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-http.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-https-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-http-https.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-http-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-http.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-https-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-invalid-https-https.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-http-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-http.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-https-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-never-http-https.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-http-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-http.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-https-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-never-https-https.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-http-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-http.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-https-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-origin-http-https.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-http-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-http.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-https-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/referrer-origin-https-https.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/reportonly-in-meta-ignored.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scripthash-basic-blocked-error-event-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/scripthash-basic-blocked-error-event.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scripthash-basic-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/scripthash-basic-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scripthash-default-src.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scripthash-ignore-unsafeinline-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/scripthash-ignore-unsafeinline.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scripthash-malformed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/scripthash-malformed.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scripthash-unicode-normalization-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/scripthash-unicode-normalization.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-and-scripthash-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-and-scripthash.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-basic-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-basic-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/source-list-parsing-03-expected.txt.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-ignore-unsafeinline-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-ignore-unsafeinline.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/source-list-parsing-07-expected.txt.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-redirect-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/scriptnonce-redirect.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics.html:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image-from-script-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image-from-script.html:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image.html:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-from-script-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-from-script.html:
* http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image.html:
* http/tests/security/contentSecurityPolicy/1.1/stylehash-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylehash-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylehash-basic-blocked-error-event-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylehash-basic-blocked-error-event.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylehash-basic-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylehash-basic-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylehash-default-src.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylehash-svg-style-basic-blocked-error-event-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylehash-svg-style-basic-blocked-error-event.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylenonce-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylenonce-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylenonce-basic-blocked-error-event-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylenonce-basic-blocked-error-event.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylenonce-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylenonce-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylenonce-svg-style-basic-blocked-error-event-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/stylenonce-svg-style-basic-blocked-error-event.html: Added.
* http/tests/security/contentSecurityPolicy/blob-urls-match-self.html:
* http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/csp-header-is-sent-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/csp-header-is-sent.html: Added.
* http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode-and-sends-report-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode-and-sends-report.html: Added.
* http/tests/security/contentSecurityPolicy/eval-blocked-and-sends-report-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/eval-blocked-and-sends-report.html: Added.
* http/tests/security/contentSecurityPolicy/frame-src-cross-origin-load-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/frame-src-cross-origin-load.html: Added.
* http/tests/security/contentSecurityPolicy/icon-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/icon-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/icon-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/icon-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/image-document-default-src-none-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/image-document-default-src-none.html: Added.
* http/tests/security/contentSecurityPolicy/inline-event-handler-blocked-after-injecting-meta-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/inline-event-handler-blocked-after-injecting-meta.html: Added.
* http/tests/security/contentSecurityPolicy/manifest-src-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/manifest-src-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/manifest-src-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/manifest-src-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/manifest.test/manifest.json: Added.
* http/tests/security/contentSecurityPolicy/object-in-svg-foreignobject-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/object-in-svg-foreignobject.html: Added.
* http/tests/security/contentSecurityPolicy/object-src-applet-archive-codebase-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/object-src-applet-archive-codebase.html: Added.
* http/tests/security/contentSecurityPolicy/object-src-applet-archive-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/object-src-applet-archive.html: Added.
* http/tests/security/contentSecurityPolicy/object-src-applet-code-codebase-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/object-src-applet-code-codebase.html: Added.
* http/tests/security/contentSecurityPolicy/object-src-applet-code-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/object-src-applet-code.html: Added.
* http/tests/security/contentSecurityPolicy/object-src-does-not-affect-child-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/object-src-does-not-affect-child.html: Added.
* http/tests/security/contentSecurityPolicy/object-src-param-code-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/object-src-param-code-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/object-src-param-movie-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/object-src-param-movie-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/object-src-param-src-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/object-src-param-src-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/object-src-param-url-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/object-src-param-url-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/plugin-in-iframe-with-csp-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/plugin-in-iframe-with-csp.html: Added.
* http/tests/security/contentSecurityPolicy/redirect-does-not-match-paths-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/redirect-does-not-match-paths.html: Added.
* http/tests/security/contentSecurityPolicy/register-bypassing-scheme-partial-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/register-bypassing-scheme-partial.html: Added.
* http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
* http/tests/security/contentSecurityPolicy/report-and-enforce.html:
* http/tests/security/contentSecurityPolicy/report-blocked-data-uri-expected.txt:
* http/tests/security/contentSecurityPolicy/report-blocked-file-uri-expected.txt:
* http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin-expected.txt:
* http/tests/security/contentSecurityPolicy/report-blocked-uri-expected.txt:
* http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-expected.txt:
* http/tests/security/contentSecurityPolicy/report-multiple-violations-01-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-multiple-violations-01.html: Added.
* http/tests/security/contentSecurityPolicy/report-multiple-violations-02-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-multiple-violations-02.html: Added.
* http/tests/security/contentSecurityPolicy/report-only-expected.txt:
* http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
* http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-expected.txt:
* http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
* http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
* http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript-expected.txt:
* http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt:
* http/tests/security/contentSecurityPolicy/report-uri-scheme-relative-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-uri-scheme-relative.html: Added.
* http/tests/security/contentSecurityPolicy/resources/alert-pass.js: Added.
* http/tests/security/contentSecurityPolicy/resources/child-src-test.js: Added.
(window.onload):
(injectFrame):
(iframeLoaded):
(injectFrameRedirectingTo):
(injectWorker):
(injectSharedWorker):
* http/tests/security/contentSecurityPolicy/resources/csp-header-is-sent.js: Added.
(async_test.xhr.onload):
(async_test):
(test):
* http/tests/security/contentSecurityPolicy/resources/fail-to-inject-script.js: Added.
(s.onerror):
(s.onload):
* http/tests/security/contentSecurityPolicy/resources/frame-ancestors-and-x-frame-options.pl: Added.
* http/tests/security/contentSecurityPolicy/resources/frame-ancestors-test.js: Added.
(injectNestedIframe):
(injectIFrame):
(iframeLoaded):
(crossOriginFrameShouldBeBlocked.window.onload):
(crossOriginFrameShouldBeBlocked):
(crossOriginFrameShouldBeAllowed.window.onload):
(crossOriginFrameShouldBeAllowed):
(sameOriginFrameShouldBeBlocked.window.onload):
(sameOriginFrameShouldBeBlocked):
(sameOriginFrameShouldBeAllowed.window.onload):
(sameOriginFrameShouldBeAllowed):
(window.onload):
(testNestedIFrame):
* http/tests/security/contentSecurityPolicy/resources/frame-ancestors.pl: Added.
* http/tests/security/contentSecurityPolicy/resources/frame-in-frame.pl: Added.
* http/tests/security/contentSecurityPolicy/resources/generate-csp-report.html: Added.
* http/tests/security/contentSecurityPolicy/resources/iframe-redirect-not-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/resources/image-document-default-src-none-iframe.php: Added.
* http/tests/security/contentSecurityPolicy/resources/multiple-iframe-test.js:
* http/tests/security/contentSecurityPolicy/resources/nph-cached-csp.pl:
* http/tests/security/contentSecurityPolicy/resources/object-src-param.js: Added.
(appendObjectElement.window.onload):
(appendObjectElement):
* http/tests/security/contentSecurityPolicy/resources/post-message.js: Added.
* http/tests/security/contentSecurityPolicy/resources/redir.php: Added.
* http/tests/security/contentSecurityPolicy/resources/redirect-does-not-match-paths.js: Added.
(test):
(async_test.img.onload):
(async_test):
(async_test.xhr.onload):
* http/tests/security/contentSecurityPolicy/resources/redirect.pl: Added.
* http/tests/security/contentSecurityPolicy/resources/referrer-test-endpoint.php: Added.
* http/tests/security/contentSecurityPolicy/resources/referrer-test.js: Added.
(ReferrerTest.bindHandler):
(ReferrerTest.base):
(ReferrerTest.generateFrameURL):
(ReferrerTest.injectFrame):
(expectFullReferrer):
(expectNoReferrer):
(expectOriginReferrer):
* http/tests/security/contentSecurityPolicy/resources/referrer-test.php: Added.
* http/tests/security/contentSecurityPolicy/resources/sandbox.php:
* http/tests/security/contentSecurityPolicy/resources/script-redirect-not-allowed.js: Added.
* http/tests/security/contentSecurityPolicy/resources/script-set-value.js: Added.
* http/tests/security/contentSecurityPolicy/resources/style-set-red.css: Added.
(p):
* http/tests/security/contentSecurityPolicy/resources/stylesheet-redirect-not-allowed.css: Added.
(body):
* http/tests/security/contentSecurityPolicy/resources/test-csp-header.pl: Added.
* http/tests/security/contentSecurityPolicy/resources/worker.php: Added.
* http/tests/security/contentSecurityPolicy/resources/xhr-redirect-not-allowed.pl: Added.
* http/tests/security/contentSecurityPolicy/sandbox-report-only-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/sandbox-report-only.html: Added.
* http/tests/security/contentSecurityPolicy/script-src-appended-script-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/script-src-appended-script.html: Added.
* http/tests/security/contentSecurityPolicy/script-src-blocked-error-event-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/script-src-blocked-error-event.html: Added.
* http/tests/security/contentSecurityPolicy/script-src-redirect-expected.txt:
* http/tests/security/contentSecurityPolicy/script-src-redirect.html:
* http/tests/security/contentSecurityPolicy/source-list-parsing-03-expected.txt:
* http/tests/security/contentSecurityPolicy/source-list-parsing-03.html:
* http/tests/security/contentSecurityPolicy/source-list-parsing-07-expected.txt:
* http/tests/security/contentSecurityPolicy/source-list-parsing-07.html:
* http/tests/security/contentSecurityPolicy/source-list-parsing-paths-03-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/source-list-parsing-paths-03.html: Added.
* http/tests/security/contentSecurityPolicy/style-src-blocked-error-event-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/style-src-blocked-error-event.html: Added.
* http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp.html: Added.
* http/tests/security/contentSecurityPolicy/worker-connect-src-allowed.html:
* http/tests/security/contentSecurityPolicy/worker-connect-src-blocked.html:
* http/tests/security/contentSecurityPolicy/worker-eval-blocked.html:
* http/tests/security/contentSecurityPolicy/worker-function-function-blocked.html:
* http/tests/security/contentSecurityPolicy/worker-importscripts-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/worker-importscripts-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/worker-multiple-csp-headers-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/worker-multiple-csp-headers.html: Added.
* http/tests/security/contentSecurityPolicy/worker-script-src-expected.txt:
* http/tests/security/contentSecurityPolicy/worker-script-src.html:
* http/tests/security/contentSecurityPolicy/worker-set-timeout-blocked.html:
* http/tests/security/contentSecurityPolicy/worker-without-own-csp-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/worker-without-own-csp.html: Added.
* platform/wk2/TestExpectations:

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

4 years agoPack RegisterAtOffset harder.
akling@apple.com [Wed, 20 Jan 2016 20:27:01 +0000 (20:27 +0000)]
Pack RegisterAtOffset harder.
<https://webkit.org/b/152501>

Reviewed by Michael Saboff.

Pack the register index and the offset into a single pointer-sized word instead of two.
This reduces memory consumption by 620 kB on mobile theverge.com.

The packing doesn't succeed on MSVC for some reason, so I've left out the static
assertion about class size in those builds.

* jit/RegisterAtOffset.cpp:
* jit/RegisterAtOffset.h:

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

4 years ago[B3][Win64] Compile fix.
peavo@outlook.com [Wed, 20 Jan 2016 19:58:31 +0000 (19:58 +0000)]
[B3][Win64] Compile fix.
https://bugs.webkit.org/show_bug.cgi?id=153278

Reviewed by Filip Pizlo.

MSVC does not accept that a class declared as exported also have members declared as exported.

* b3/B3Const32Value.h:
* b3/B3ControlValue.h:

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

4 years agoMarking three fast/viewport/ios/width-is-device-width-overflowing* tests as flaky...
ryanhaddad@apple.com [Wed, 20 Jan 2016 19:56:32 +0000 (19:56 +0000)]
Marking three fast/viewport/ios/width-is-device-width-overflowing* tests as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=153110

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

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

4 years ago[ES6] Fix various issues with TypedArrays.
keith_miller@apple.com [Wed, 20 Jan 2016 19:32:30 +0000 (19:32 +0000)]
[ES6] Fix various issues with TypedArrays.
https://bugs.webkit.org/show_bug.cgi?id=153245

Reviewed by Geoffrey Garen.

This patch fixes a couple of issues with TypedArrays:

1) We were not checking if a view had been neutered and throwing an error
if it had in the our TypedArray.prototype functions.

2) The TypedArray.prototype.set function had a couple of minor issues with
checking for the offset being negative.

3) The JSArrayBufferView class did not check if the backing store had
been neutered when computing the offset even though the view's vector
pointer had been set to NULL. This meant that under some conditions we
could, occasionally, return a garbage number as the offset. Now, we only
neuter views if the backing ArrayBuffer's view is actually transfered.

* jsc.cpp:
(GlobalObject::finishCreation):
(functionNeuterTypedArray):
* runtime/JSArrayBufferView.h:
(JSC::JSArrayBufferView::isNeutered):
* runtime/JSArrayBufferViewInlines.h:
(JSC::JSArrayBufferView::byteOffset):
* runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncSet):
(JSC::genericTypedArrayViewProtoFuncEntries):
(JSC::genericTypedArrayViewProtoFuncCopyWithin):
(JSC::genericTypedArrayViewProtoFuncFill):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncKeys):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
(JSC::genericTypedArrayViewProtoFuncReverse):
(JSC::genericTypedArrayViewPrivateFuncSort):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewProtoFuncSubarray):
(JSC::typedArrayViewProtoFuncValues):
* runtime/JSTypedArrayViewPrototype.cpp:
(JSC::typedArrayViewPrivateFuncLength):
(JSC::typedArrayViewPrivateFuncSort): Deleted.
* tests/stress/typedarray-functions-with-neutered.js: Added.
(getGetter):
(unit):
(args.new.Int32Array):
(arrays.typedArrays.map):
(checkProtoFunc.throwsCorrectError):
(checkProtoFunc):
(test):

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

4 years agoBotwatcher's dashboard should show an 'X' when the build is broken
dburkart@apple.com [Wed, 20 Jan 2016 19:30:42 +0000 (19:30 +0000)]
Botwatcher's dashboard should show an 'X' when the build is broken
https://bugs.webkit.org/show_bug.cgi?id=152507

Reviewed by David Kilzer.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotStaticAnalyzerQueueView.js:
(BuildbotStaticAnalyzerQueueView.prototype.appendStaticAnalyzerQueueStatus):
(BuildbotStaticAnalyzerQueueView.prototype.update):

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

4 years agoFix CMake build after r195300.
achristensen@apple.com [Wed, 20 Jan 2016 19:27:46 +0000 (19:27 +0000)]
Fix CMake build after r195300.

* PlatformMac.cmake:
Include editing/mac to find DataDetection.h.

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

4 years agoAsk UI Process before sending redirect requests when downloading
achristensen@apple.com [Wed, 20 Jan 2016 18:23:29 +0000 (18:23 +0000)]
Ask UI Process before sending redirect requests when downloading
https://bugs.webkit.org/show_bug.cgi?id=153041

Reviewed by Darin Adler.

* NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::continueCanAuthenticateAgainstProtectionSpace):
(WebKit::DownloadManager::continueWillSendRequest):
(WebKit::DownloadManager::convertHandleToDownload):
* NetworkProcess/Downloads/DownloadManager.h:
* NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::willSendRedirectedRequest):
(WebKit::PendingDownload::continueWillSendRequest):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::continueCanAuthenticateAgainstProtectionSpace):
(WebKit::NetworkProcess::continueWillSendRequest):
(WebKit::NetworkProcess::setCacheModel):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* UIProcess/API/APIDownloadClient.h:
(API::DownloadClient::didCancel):
(API::DownloadClient::processDidCrash):
(API::DownloadClient::canAuthenticateAgainstProtectionSpace):
(API::DownloadClient::willSendRequest):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
(WebKit::DownloadProxy::canAuthenticateAgainstProtectionSpace):
(WebKit::DownloadProxy::willSendRequest):
(WebKit::DownloadProxy::didReceiveResponse):
* UIProcess/Downloads/DownloadProxy.h:
* UIProcess/Downloads/DownloadProxy.messages.in:

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

4 years agoRefactor AtomicStringKeyedMRUCache to be a generic LRU cache
commit-queue@webkit.org [Wed, 20 Jan 2016 17:59:02 +0000 (17:59 +0000)]
Refactor AtomicStringKeyedMRUCache to be a generic LRU cache
https://bugs.webkit.org/show_bug.cgi?id=153109

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-01-20
Reviewed by Darin Adler.

Source/WebCore:

Replace the template specialization of AtomicStringKeyedMRUCache with
template derived from TinyLRUCachePolicy. Override the functions which
are needed for creating the values and the null value. Also replace the
static function which was returning a NeverDestroyed AtomicStringKeyedMRUCache
with a singleton function 'cache' inside the derived template.

* WebCore.xcodeproj/project.pbxproj:
* platform/text/AtomicStringKeyedMRUCache.h: Removed.
* platform/text/cf/HyphenationCF.cpp:
(WebCore::canHyphenate):
(WebCore::lastHyphenLocation):
(WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef>>::createValueForNullKey): Deleted.
(WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef>>::createValueForKey): Deleted.
(WebCore::cfLocaleCache): Deleted.
* platform/text/hyphen/HyphenationLibHyphen.cpp:
(WebCore::countLeadingSpaces):
(WebCore::lastHyphenLocation):
(WebCore::AtomicStringKeyedMRUCache<RefPtr<HyphenationDictionary>>::createValueForNullKey): Deleted.
(WebCore::AtomicStringKeyedMRUCache<RefPtr<HyphenationDictionary>>::createValueForKey): Deleted.
(WebCore::hyphenDictionaryCache): Deleted.

Source/WTF:

Refactor AtomicStringKeyedMRUCache, move it to WTF project and rename it
to be TinyLRUCache. Define another template and call it TinyLRUCachePolicy.
This one can be overridden for different keys and values. Its function is
creating the cached values.

* WTF.xcodeproj/project.pbxproj:
* wtf/TinyLRUCache.h: Added.
(WebCore::TinyLRUCachePolicy::isKeyNull):
(WebCore::TinyLRUCachePolicy::createValueForNullKey):
(WebCore::TinyLRUCachePolicy::createValueForKey):
(WebCore::TinyLRUCache::get):

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

4 years agoDrop support for obsolete Node.isSupported()
cdumez@apple.com [Wed, 20 Jan 2016 17:16:34 +0000 (17:16 +0000)]
Drop support for obsolete Node.isSupported()
https://bugs.webkit.org/show_bug.cgi?id=153164

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C test now that one more check is passing.

* web-platform-tests/dom/historical-expected.txt:

Source/WebCore:

Drop support for obsolete Node.isSupported(). Chrome and Firefox already
dropped it.

No new tests, already covered by existing test.

* dom/Node.cpp:
(WebCore::Node::isSupportedForBindings):
* dom/Node.h:
* dom/Node.idl:

LayoutTests:

Drop obsolete DOM tests.

* dom/html/level2/html/HTMLBodyElement07-expected.txt: Removed.
* dom/html/level2/html/HTMLBodyElement07.html: Removed.
* dom/html/level2/html/HTMLBodyElement07.js: Removed.
* dom/html/level2/html/HTMLBodyElement08-expected.txt: Removed.
* dom/html/level2/html/HTMLBodyElement08.html: Removed.
* dom/html/level2/html/HTMLBodyElement08.js: Removed.
* dom/html/level2/html/HTMLBodyElement09-expected.txt: Removed.
* dom/html/level2/html/HTMLBodyElement09.html: Removed.
* dom/html/level2/html/HTMLBodyElement09.js: Removed.
* dom/html/level2/html/HTMLBodyElement10-expected.txt: Removed.
* dom/html/level2/html/HTMLBodyElement10.html: Removed.
* dom/html/level2/html/HTMLBodyElement10.js: Removed.
* dom/html/level2/html/HTMLBodyElement11-expected.txt: Removed.
* dom/html/level2/html/HTMLBodyElement11.html: Removed.
* dom/html/level2/html/HTMLBodyElement11.js: Removed.
* dom/html/level2/html/HTMLBodyElement12-expected.txt: Removed.
* dom/html/level2/html/HTMLBodyElement12.html: Removed.
* dom/html/level2/html/HTMLBodyElement12.js: Removed.
* dom/html/level2/html/HTMLDocument22-expected.txt: Removed.
* dom/html/level2/html/HTMLDocument22.html: Removed.
* dom/html/level2/html/HTMLDocument22.js: Removed.
* dom/html/level2/html/HTMLDocument23-expected.txt: Removed.
* dom/html/level2/html/HTMLDocument23.html: Removed.
* dom/html/level2/html/HTMLDocument23.js: Removed.
* dom/html/level2/html/HTMLDocument24-expected.txt: Removed.
* dom/html/level2/html/HTMLDocument24.html: Removed.
* dom/html/level2/html/HTMLDocument24.js: Removed.
* dom/html/level2/html/HTMLDocument25-expected.txt: Removed.
* dom/html/level2/html/HTMLDocument25.html: Removed.
* dom/html/level2/html/HTMLDocument25.js: Removed.
* dom/html/level2/html/HTMLDocument26-expected.txt: Removed.
* dom/html/level2/html/HTMLDocument26.html: Removed.
* dom/html/level2/html/HTMLDocument26.js: Removed.
* dom/html/level2/html/HTMLDocument27-expected.txt: Removed.
* dom/html/level2/html/HTMLDocument27.html: Removed.
* dom/html/level2/html/HTMLDocument27.js: Removed.
* dom/svg/level3/xpath/Conformance_isSupported_3-expected.txt: Removed.
* dom/svg/level3/xpath/Conformance_isSupported_3.js: Removed.
* dom/svg/level3/xpath/Conformance_isSupported_3.svg: Removed.
* dom/svg/level3/xpath/Conformance_isSupported_empty-expected.txt: Removed.
* dom/svg/level3/xpath/Conformance_isSupported_empty.js: Removed.
* dom/svg/level3/xpath/Conformance_isSupported_empty.svg: Removed.
* dom/svg/level3/xpath/Conformance_isSupported_null-expected.txt: Removed.
* dom/svg/level3/xpath/Conformance_isSupported_null.js: Removed.
* dom/svg/level3/xpath/Conformance_isSupported_null.svg: Removed.
* dom/xhtml/level2/html/HTMLBodyElement07-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLBodyElement07.js: Removed.
* dom/xhtml/level2/html/HTMLBodyElement07.xhtml: Removed.
* dom/xhtml/level2/html/HTMLBodyElement08-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLBodyElement08.js: Removed.
* dom/xhtml/level2/html/HTMLBodyElement08.xhtml: Removed.
* dom/xhtml/level2/html/HTMLBodyElement09-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLBodyElement09.js: Removed.
* dom/xhtml/level2/html/HTMLBodyElement09.xhtml: Removed.
* dom/xhtml/level2/html/HTMLBodyElement10-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLBodyElement10.js: Removed.
* dom/xhtml/level2/html/HTMLBodyElement10.xhtml: Removed.
* dom/xhtml/level2/html/HTMLBodyElement11-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLBodyElement11.js: Removed.
* dom/xhtml/level2/html/HTMLBodyElement11.xhtml: Removed.
* dom/xhtml/level2/html/HTMLBodyElement12-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLBodyElement12.js: Removed.
* dom/xhtml/level2/html/HTMLBodyElement12.xhtml: Removed.
* dom/xhtml/level2/html/HTMLDocument22-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLDocument22.js: Removed.
* dom/xhtml/level2/html/HTMLDocument22.xhtml: Removed.
* dom/xhtml/level2/html/HTMLDocument23-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLDocument23.js: Removed.
* dom/xhtml/level2/html/HTMLDocument23.xhtml: Removed.
* dom/xhtml/level2/html/HTMLDocument24-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLDocument24.js: Removed.
* dom/xhtml/level2/html/HTMLDocument24.xhtml: Removed.
* dom/xhtml/level2/html/HTMLDocument25-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLDocument25.js: Removed.
* dom/xhtml/level2/html/HTMLDocument25.xhtml: Removed.
* dom/xhtml/level2/html/HTMLDocument26-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLDocument26.js: Removed.
* dom/xhtml/level2/html/HTMLDocument26.xhtml: Removed.
* dom/xhtml/level2/html/HTMLDocument27-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLDocument27.js: Removed.
* dom/xhtml/level2/html/HTMLDocument27.xhtml: Removed.
* fast/dom/features-expected.txt:
* fast/dom/features.html:

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

4 years agoUnreviewed. Fix compile warning when building with GTK+ < 3.14.
carlosgc@webkit.org [Wed, 20 Jan 2016 12:12:32 +0000 (12:12 +0000)]
Unreviewed. Fix compile warning when building with GTK+ < 3.14.

* rendering/RenderThemeGtk.cpp:
(WebCore::loadThemedIcon):

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

4 years ago[Mac] Speculative cmake buildfix after r195317.
ossy@webkit.org [Wed, 20 Jan 2016 10:49:21 +0000 (10:49 +0000)]
[Mac] Speculative cmake buildfix after r195317.

* PlatformMac.cmake:

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

4 years agoUnreviewed. Update OptionsGTK.cmake and NEWS for 2.11.4 release.
carlosgc@webkit.org [Wed, 20 Jan 2016 09:04:16 +0000 (09:04 +0000)]
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.4 release.

.:

* Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

* gtk/NEWS: Add release notes for 2.11.4.

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

4 years agoWeb Inspector: Fix inspector/model/remote-object.html test
nvasilyev@apple.com [Wed, 20 Jan 2016 06:23:01 +0000 (06:23 +0000)]
Web Inspector: Fix inspector/model/remote-object.html test
https://bugs.webkit.org/show_bug.cgi?id=153261
<rdar://problem/24249553>

Reviewed by Timothy Hatcher.

Rebaseline the test for Mac platform that broke in r195305.

* platform/mac/inspector/model/remote-object-expected.txt:

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

4 years agoWeb Inspector: Uncaught exception when logging an Error object
commit-queue@webkit.org [Wed, 20 Jan 2016 06:22:19 +0000 (06:22 +0000)]
Web Inspector: Uncaught exception when logging an Error object
https://bugs.webkit.org/show_bug.cgi?id=153258
<rdar://problem/24249068>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-01-19
Reviewed by Timothy Hatcher.

* UserInterface/Views/ErrorObjectView.js:
(WebInspector.ErrorObjectView):
Initialize members that are used later for clarity.

(WebInspector.ErrorObjectView.prototype.collapse):
(WebInspector.ErrorObjectView.prototype.expand):
This never has a previewView, remove it.

(WebInspector.ErrorObjectView.prototype.appendTitleSuffix):
Add the suffix ("= $1") after the description and before the
content tree outline.

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

4 years agoWeb Inspector: Subclasses of WebInspector.Object shouldn't overwrite this._listeners
nvasilyev@apple.com [Wed, 20 Jan 2016 06:20:58 +0000 (06:20 +0000)]
Web Inspector: Subclasses of WebInspector.Object shouldn't overwrite this._listeners
https://bugs.webkit.org/show_bug.cgi?id=153268
<rdar://problem/24252766>

Reviewed by Timothy Hatcher.

* UserInterface/Base/Object.js:
(WebInspector.Object.prototype.dispatchEventToListeners):
Add a console.assert.

* UserInterface/Views/BreakpointTreeElement.js:
(WebInspector.BreakpointTreeElement):
(WebInspector.BreakpointTreeElement.prototype.onattach):
(WebInspector.BreakpointTreeElement.prototype.ondetach):
* UserInterface/Views/ProbeSetDataGrid.js:
(WebInspector.ProbeSetDataGrid):
(WebInspector.ProbeSetDataGrid.prototype.closed):
* UserInterface/Views/ProbeSetDetailsSection.js:
(WebInspector.ProbeSetDetailsSection):
(WebInspector.ProbeSetDetailsSection.prototype.closed):
Replace all instances of "this._listeners" with "this._listenerSet".

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

4 years agoRemove assertion from revisionContentForIteration that is causing errors on the dashb...
jmarcell@apple.com [Wed, 20 Jan 2016 06:20:03 +0000 (06:20 +0000)]
Remove assertion from revisionContentForIteration that is causing errors on the dashboard.
https://bugs.webkit.org/show_bug.cgi?id=153262

Reviewed by Alexey Proskuryakov.

Occasionaly some buildbot iterations will not have their "got_revisions" property populated. In
such cases this revisionContentForIteration method does not have any content to return, thus the
assertion fails.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView.prototype.revisionContentForIteration): Removed assertion that was causing errors.

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

4 years agoVersioning.
bshafiei@apple.com [Wed, 20 Jan 2016 06:07:06 +0000 (06:07 +0000)]
Versioning.

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

4 years agoWTF::Bag should be non-copyable
sbarati@apple.com [Wed, 20 Jan 2016 04:39:54 +0000 (04:39 +0000)]
WTF::Bag should be non-copyable
https://bugs.webkit.org/show_bug.cgi?id=153253

Reviewed by Filip Pizlo.

* wtf/Bag.h:
* wtf/SegmentedVector.h:
(WTF::SegmentedVector::append):
(WTF::SegmentedVector::alloc):

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

4 years agoDocumentType.publicId / systemId should never return null
cdumez@apple.com [Wed, 20 Jan 2016 04:06:27 +0000 (04:06 +0000)]
DocumentType.publicId / systemId should never return null
https://bugs.webkit.org/show_bug.cgi?id=153264

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline several W3C DOM tests now that more checks are passing.

* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument-expected.txt:
* web-platform-tests/dom/nodes/Node-properties-expected.txt:

Source/WebCore:

DocumentType.publicId / systemId should never return null as these
attributes are not nullable in the IDL:
https://dom.spec.whatwg.org/#interface-documenttype

Instead we should return the empty string. Firefox and Chrome match the
specification.

No new tests, already covered by existing tests.

* dom/DocumentType.idl:

LayoutTests:

Drop outdated DOM test.

* dom/xhtml/level3/core/documentgetdoctype01-expected.txt: Removed.
* dom/xhtml/level3/core/documentgetdoctype01.js: Removed.
* dom/xhtml/level3/core/documentgetdoctype01.xhtml: Removed.

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

4 years agoUnreviewed, rolling out r195302.
commit-queue@webkit.org [Wed, 20 Jan 2016 03:50:50 +0000 (03:50 +0000)]
Unreviewed, rolling out r195302.
https://bugs.webkit.org/show_bug.cgi?id=153267

This change broke the Windows build, rolling out so it isn't
broken all night before investigation. (Requested by
ryanhaddad on #webkit).

Reverted changeset:

"[EME] Correctly report errors when generating key requests
from AVContentKeySession."
https://bugs.webkit.org/show_bug.cgi?id=151963
http://trac.webkit.org/changeset/195302

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

4 years agoModern IDB: Remove unneeded "Alert: " string from storage/indexeddb/modern tests.
beidson@apple.com [Wed, 20 Jan 2016 01:18:53 +0000 (01:18 +0000)]
Modern IDB: Remove unneeded "Alert: " string from storage/indexeddb/modern tests.
https://bugs.webkit.org/show_bug.cgi?id=153257

Reviewed by Sam Weinig.

These were put in to minimize the diff for https://trac.webkit.org/changeset/195321 and
make it easier to review.

Now they can be removed.

* storage/indexeddb/modern/aborted-put-expected.txt:
* storage/indexeddb/modern/autoincrement-abort-expected.txt:
* storage/indexeddb/modern/basic-add-expected.txt:
* storage/indexeddb/modern/basic-put-expected.txt:
* storage/indexeddb/modern/createobjectstore-basic-expected.txt:
* storage/indexeddb/modern/createobjectstore-failures-expected.txt:
* storage/indexeddb/modern/date-basic-expected.txt:
* storage/indexeddb/modern/deletedatabase-null-name-exception-expected.txt:
* storage/indexeddb/modern/deletedatabase-request-event-expected.txt:
* storage/indexeddb/modern/deletedatabase-request-expected.txt:
* storage/indexeddb/modern/deleteobjectstore-1-expected.txt:
* storage/indexeddb/modern/double-abort-expected.txt:
* storage/indexeddb/modern/get-keyrange-expected.txt:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
* storage/indexeddb/modern/idbindex-properties-basic-expected.txt:
* storage/indexeddb/modern/idbobjectstore-clear-1-expected.txt:
* storage/indexeddb/modern/idbobjectstore-clear-2-expected.txt:
* storage/indexeddb/modern/idbobjectstore-count-1-expected.txt:
* storage/indexeddb/modern/idbobjectstore-count-failures-expected.txt:
* storage/indexeddb/modern/idbobjectstore-get-failures-expected.txt:
* storage/indexeddb/modern/idbobjectstore-put-and-clear-failures-expected.txt:
* storage/indexeddb/modern/idbtransaction-objectstore-failures-expected.txt:
* storage/indexeddb/modern/keypath-basic-expected.txt:
* storage/indexeddb/modern/opendatabase-request-event-expected.txt:
* storage/indexeddb/modern/opendatabase-request-expected.txt:
* storage/indexeddb/modern/resources/aborted-put.js:
* storage/indexeddb/modern/resources/autoincrement-abort.js:
* storage/indexeddb/modern/resources/basic-add.js:
* storage/indexeddb/modern/resources/basic-put.js:
* storage/indexeddb/modern/resources/createobjectstore-basic.js:
* storage/indexeddb/modern/resources/createobjectstore-failures.js:
* storage/indexeddb/modern/resources/date-basic.js:
* storage/indexeddb/modern/resources/deletedatabase-null-name-exception.js:
* storage/indexeddb/modern/resources/deletedatabase-request-event.js:
* storage/indexeddb/modern/resources/deletedatabase-request.js:
* storage/indexeddb/modern/resources/deleteobjectstore-1.js:
* storage/indexeddb/modern/resources/double-abort.js:
* storage/indexeddb/modern/resources/get-keyrange.js:
* storage/indexeddb/modern/resources/idbdatabase-deleteobjectstore-failures.js:
* storage/indexeddb/modern/resources/idbdatabase-transaction-failures.js:
* storage/indexeddb/modern/resources/idbindex-properties-basic.js:
* storage/indexeddb/modern/resources/idbobjectstore-clear-1.js:
* storage/indexeddb/modern/resources/idbobjectstore-clear-2.js:
* storage/indexeddb/modern/resources/idbobjectstore-count-1.js:
* storage/indexeddb/modern/resources/idbobjectstore-count-failures.js:
* storage/indexeddb/modern/resources/idbobjectstore-get-failures.js:
* storage/indexeddb/modern/resources/idbobjectstore-put-and-clear-failures.js:
* storage/indexeddb/modern/resources/idbtransaction-objectstore-failures.js:
* storage/indexeddb/modern/resources/keypath-basic.js:
* storage/indexeddb/modern/resources/opendatabase-request-event.js:
* storage/indexeddb/modern/resources/opendatabase-request.js:
* storage/indexeddb/modern/resources/transaction-scheduler-1.js:
* storage/indexeddb/modern/resources/transaction-scheduler-2.js:
* storage/indexeddb/modern/resources/transaction-scheduler-3.js:
* storage/indexeddb/modern/resources/transaction-scheduler-5.js:
* storage/indexeddb/modern/resources/transaction-scheduler-6.js:
* storage/indexeddb/modern/resources/versionchange-abort-then-reopen.js:
* storage/indexeddb/modern/resources/versionchange-event.js:
* storage/indexeddb/modern/transaction-scheduler-1-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-2-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-3-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-5-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-6-expected.txt:
* storage/indexeddb/modern/versionchange-abort-then-reopen-expected.txt:
* storage/indexeddb/modern/versionchange-event-expected.txt:

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

4 years ago[INTL] Implement Date.prototype.toLocaleDateString in ECMA-402
commit-queue@webkit.org [Wed, 20 Jan 2016 01:07:34 +0000 (01:07 +0000)]
[INTL] Implement Date.prototype.toLocaleDateString in ECMA-402
https://bugs.webkit.org/show_bug.cgi?id=147612

Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2016-01-19
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Implement toLocaleDateString in builtin JavaScript. Remove comments with
spec steps, and instead link to the new HTML version of the spec.

Avoids creating an extra empty object in the prototype chain of the options
object in ToDateTimeOptions. The version used in toLocaleString was updated
to match as well.

* builtins/DatePrototype.js:
(toLocaleString.toDateTimeOptionsAnyAll):
(toLocaleString):
(toLocaleDateString.toDateTimeOptionsDateDate):
(toLocaleDateString):
* runtime/DatePrototype.cpp:
(JSC::DatePrototype::finishCreation):

LayoutTests:

Added tests for toLocaleDateString.

* js/date-toLocaleString-expected.txt:
* js/script-tests/date-toLocaleString.js:

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

4 years ago32-bit build fix.
bdakin@apple.com [Wed, 20 Jan 2016 00:56:50 +0000 (00:56 +0000)]
32-bit build fix.

* WebView/WebView.mm:
(-[WebView updateWebViewAdditions]):
(-[WebView showCandidates:forString:inRect:view:completionHandler:]):
* WebView/WebViewInternal.h:

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

4 years agoMove away from NSSpellChecker's showCandidates method
bdakin@apple.com [Wed, 20 Jan 2016 00:46:38 +0000 (00:46 +0000)]
Move away from NSSpellChecker's showCandidates method
https://bugs.webkit.org/show_bug.cgi?id=153254
-and corresponding-
rdar://problem/24216292

Reviewed by Tim Horton.

* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::handleRequestedCandidates):
* WebView/WebView.mm:
(-[WebView updateWebViewAdditions]):
(-[WebView showCandidates:forString:inRect:view:completionHandler:]):
* WebView/WebViewInternal.h:

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

4 years agoWeb Inspector: Add protocol version for iOS 9.3
timothy@apple.com [Wed, 20 Jan 2016 00:45:39 +0000 (00:45 +0000)]
Web Inspector: Add protocol version for iOS 9.3
https://bugs.webkit.org/show_bug.cgi?id=153256
rdar://problem/24247951

Reviewed by Joseph Pecoraro.

* UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js: Added.
* Versions/Inspector-iOS-9.3.json: Added.

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

4 years agoLayoutTests/imported/w3c:
cdumez@apple.com [Wed, 20 Jan 2016 00:17:47 +0000 (00:17 +0000)]
LayoutTests/imported/w3c:
Document.createDocument() should treat undefined namespace as null
https://bugs.webkit.org/show_bug.cgi?id=153252

Reviewed by Ryosuke Niwa.

Rebaseline W3C DOM test now that more checks are passing.

* web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt:

Source/WebCore:
DOMImplementation.createDocument() should treat undefined namespace as null
https://bugs.webkit.org/show_bug.cgi?id=153252

Reviewed by Ryosuke Niwa.

DOMImplementation.createDocument() should treat undefined namespace as null as
the DOMString parameter is nullable:
https://dom.spec.whatwg.org/#domimplementation

Firefox behaves according to the specification, Chrome does not.

No new tests, already covered by existing test.

* dom/DOMImplementation.idl:

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

4 years agoModern IDB: Split all storage/indexeddb/modern tests into separate HTML + JS format.
beidson@apple.com [Tue, 19 Jan 2016 23:41:11 +0000 (23:41 +0000)]
Modern IDB: Split all storage/indexeddb/modern tests into separate HTML + JS format.
https://bugs.webkit.org/show_bug.cgi?id=153251

Reviewed by Sam Weinig.

* storage/indexeddb/modern/abort-requests-cancelled-expected.txt:
* storage/indexeddb/modern/abort-requests-cancelled.html:
* storage/indexeddb/modern/aborted-put-expected.txt:
* storage/indexeddb/modern/aborted-put.html:
* storage/indexeddb/modern/autoincrement-abort-expected.txt:
* storage/indexeddb/modern/autoincrement-abort.html:
* storage/indexeddb/modern/basic-add-expected.txt:
* storage/indexeddb/modern/basic-add.html:
* storage/indexeddb/modern/basic-put-expected.txt:
* storage/indexeddb/modern/basic-put.html:
* storage/indexeddb/modern/create-index-failures-expected.txt:
* storage/indexeddb/modern/create-index-failures.html:
* storage/indexeddb/modern/createobjectstore-basic-expected.txt:
* storage/indexeddb/modern/createobjectstore-basic.html:
* storage/indexeddb/modern/createobjectstore-failures-expected.txt:
* storage/indexeddb/modern/createobjectstore-failures.html:
* storage/indexeddb/modern/cursor-1-expected.txt:
* storage/indexeddb/modern/cursor-1.html:
* storage/indexeddb/modern/cursor-2-expected.txt:
* storage/indexeddb/modern/cursor-2.html:
* storage/indexeddb/modern/cursor-3-expected.txt:
* storage/indexeddb/modern/cursor-3.html:
* storage/indexeddb/modern/cursor-4-expected.txt:
* storage/indexeddb/modern/cursor-4.html:
* storage/indexeddb/modern/cursor-5-expected.txt:
* storage/indexeddb/modern/cursor-5.html:
* storage/indexeddb/modern/cursor-6-expected.txt:
* storage/indexeddb/modern/cursor-6.html:
* storage/indexeddb/modern/cursor-7-expected.txt:
* storage/indexeddb/modern/cursor-7.html:
* storage/indexeddb/modern/cursor-8-expected.txt:
* storage/indexeddb/modern/cursor-8.html:
* storage/indexeddb/modern/date-basic-expected.txt:
* storage/indexeddb/modern/date-basic.html:
* storage/indexeddb/modern/deletedatabase-1-expected.txt:
* storage/indexeddb/modern/deletedatabase-1.html:
* storage/indexeddb/modern/deletedatabase-2-expected.txt:
* storage/indexeddb/modern/deletedatabase-2.html:
* storage/indexeddb/modern/deletedatabase-null-name-exception-expected.txt:
* storage/indexeddb/modern/deletedatabase-null-name-exception.html:
* storage/indexeddb/modern/deletedatabase-request-event-expected.txt:
* storage/indexeddb/modern/deletedatabase-request-event.html:
* storage/indexeddb/modern/deletedatabase-request-expected.txt:
* storage/indexeddb/modern/deletedatabase-request.html:
* storage/indexeddb/modern/deleteindex-1-expected.txt:
* storage/indexeddb/modern/deleteindex-1.html:
* storage/indexeddb/modern/deleteindex-2-expected.txt:
* storage/indexeddb/modern/deleteindex-2.html:
* storage/indexeddb/modern/deleteobjectstore-1-expected.txt:
* storage/indexeddb/modern/deleteobjectstore-1.html:
* storage/indexeddb/modern/double-abort-expected.txt:
* storage/indexeddb/modern/double-abort.html:
* storage/indexeddb/modern/double-open-expected.txt:
* storage/indexeddb/modern/double-open.html:
* storage/indexeddb/modern/get-index-failures-expected.txt:
* storage/indexeddb/modern/get-index-failures.html:
* storage/indexeddb/modern/get-keyrange-expected.txt:
* storage/indexeddb/modern/get-keyrange.html:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html:
* storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-transaction-failures.html:
* storage/indexeddb/modern/idbindex-properties-basic-expected.txt:
* storage/indexeddb/modern/idbindex-properties-basic.html:
* storage/indexeddb/modern/idbobjectstore-clear-1-expected.txt:
* storage/indexeddb/modern/idbobjectstore-clear-1.html:
* storage/indexeddb/modern/idbobjectstore-clear-2-expected.txt:
* storage/indexeddb/modern/idbobjectstore-clear-2.html:
* storage/indexeddb/modern/idbobjectstore-count-1-expected.txt:
* storage/indexeddb/modern/idbobjectstore-count-1.html:
* storage/indexeddb/modern/idbobjectstore-count-failures-expected.txt:
* storage/indexeddb/modern/idbobjectstore-count-failures.html:
* storage/indexeddb/modern/idbobjectstore-delete-1-expected.txt:
* storage/indexeddb/modern/idbobjectstore-delete-1.html:
* storage/indexeddb/modern/idbobjectstore-delete-2-expected.txt:
* storage/indexeddb/modern/idbobjectstore-delete-2.html:
* storage/indexeddb/modern/idbobjectstore-delete-failures-expected.txt:
* storage/indexeddb/modern/idbobjectstore-delete-failures.html:
* storage/indexeddb/modern/idbobjectstore-get-failures-expected.txt:
* storage/indexeddb/modern/idbobjectstore-get-failures.html:
* storage/indexeddb/modern/idbobjectstore-put-and-clear-failures-expected.txt:
* storage/indexeddb/modern/idbobjectstore-put-and-clear-failures.html:
* storage/indexeddb/modern/idbtransaction-objectstore-failures-expected.txt:
* storage/indexeddb/modern/idbtransaction-objectstore-failures.html:
* storage/indexeddb/modern/index-1-expected.txt:
* storage/indexeddb/modern/index-1.html:
* storage/indexeddb/modern/index-2-expected.txt:
* storage/indexeddb/modern/index-2.html:
* storage/indexeddb/modern/index-3-expected.txt:
* storage/indexeddb/modern/index-3.html:
* storage/indexeddb/modern/index-4-expected.txt:
* storage/indexeddb/modern/index-4.html:
* storage/indexeddb/modern/index-5-expected.txt:
* storage/indexeddb/modern/index-5.html:
* storage/indexeddb/modern/index-cursor-1-expected.txt:
* storage/indexeddb/modern/index-cursor-1.html:
* storage/indexeddb/modern/index-cursor-2-expected.txt:
* storage/indexeddb/modern/index-cursor-2.html:
* storage/indexeddb/modern/index-cursor-3-expected.txt:
* storage/indexeddb/modern/index-cursor-3.html:
* storage/indexeddb/modern/index-get-count-basic-expected.txt:
* storage/indexeddb/modern/index-get-count-basic.html:
* storage/indexeddb/modern/index-get-count-failures-expected.txt:
* storage/indexeddb/modern/index-get-count-failures.html:
* storage/indexeddb/modern/keypath-basic-expected.txt:
* storage/indexeddb/modern/keypath-basic.html:
* storage/indexeddb/modern/objectstore-attributes-expected.txt:
* storage/indexeddb/modern/objectstore-attributes.html:
* storage/indexeddb/modern/objectstore-cursor-advance-failures-expected.txt:
* storage/indexeddb/modern/objectstore-cursor-advance-failures.html:
* storage/indexeddb/modern/objectstore-cursor-continue-failures-expected.txt:
* storage/indexeddb/modern/objectstore-cursor-continue-failures.html:
* storage/indexeddb/modern/opencursor-failures-expected.txt:
* storage/indexeddb/modern/opencursor-failures.html:
* storage/indexeddb/modern/opendatabase-request-event-expected.txt:
* storage/indexeddb/modern/opendatabase-request-event.html:
* storage/indexeddb/modern/opendatabase-request-expected.txt:
* storage/indexeddb/modern/opendatabase-request.html:
* storage/indexeddb/modern/opendatabase-success-after-versionchange-expected.txt:
* storage/indexeddb/modern/opendatabase-success-after-versionchange.html:
* storage/indexeddb/modern/opendatabase-versions-expected.txt:
* storage/indexeddb/modern/opendatabase-versions.html:
* storage/indexeddb/modern/request-readystate-expected.txt:
* storage/indexeddb/modern/request-readystate.html:
* storage/indexeddb/modern/resources/abort-requests-cancelled.js: Copied from LayoutTests/storage/indexeddb/modern/abort-requests-cancelled.html.
* storage/indexeddb/modern/resources/aborted-put.js: Copied from LayoutTests/storage/indexeddb/modern/aborted-put.html.
* storage/indexeddb/modern/resources/autoincrement-abort.js: Copied from LayoutTests/storage/indexeddb/modern/autoincrement-abort.html.
* storage/indexeddb/modern/resources/basic-add.js: Copied from LayoutTests/storage/indexeddb/modern/basic-add.html.
* storage/indexeddb/modern/resources/basic-put.js: Copied from LayoutTests/storage/indexeddb/modern/basic-put.html.
* storage/indexeddb/modern/resources/create-index-failures.js: Copied from LayoutTests/storage/indexeddb/modern/create-index-failures.html.
* storage/indexeddb/modern/resources/createobjectstore-basic.js: Copied from LayoutTests/storage/indexeddb/modern/createobjectstore-basic.html.
* storage/indexeddb/modern/resources/createobjectstore-failures.js: Copied from LayoutTests/storage/indexeddb/modern/createobjectstore-failures.html.
* storage/indexeddb/modern/resources/cursor-1.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-1.html.
* storage/indexeddb/modern/resources/cursor-2.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-2.html.
* storage/indexeddb/modern/resources/cursor-3.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-3.html.
* storage/indexeddb/modern/resources/cursor-4.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-4.html.
* storage/indexeddb/modern/resources/cursor-5.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-5.html.
* storage/indexeddb/modern/resources/cursor-6.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-6.html.
* storage/indexeddb/modern/resources/cursor-7.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-7.html.
* storage/indexeddb/modern/resources/cursor-8.js: Copied from LayoutTests/storage/indexeddb/modern/cursor-8.html.
* storage/indexeddb/modern/resources/date-basic.js: Copied from LayoutTests/storage/indexeddb/modern/date-basic.html.
* storage/indexeddb/modern/resources/deletedatabase-1.js: Copied from LayoutTests/storage/indexeddb/modern/deletedatabase-1.html.
* storage/indexeddb/modern/resources/deletedatabase-2.js: Copied from LayoutTests/storage/indexeddb/modern/deletedatabase-2.html.
* storage/indexeddb/modern/resources/deletedatabase-null-name-exception.js: Added.
* storage/indexeddb/modern/resources/deletedatabase-request-event.js: Copied from LayoutTests/storage/indexeddb/modern/deletedatabase-request-event.html.
* storage/indexeddb/modern/resources/deletedatabase-request.js: Added.
* storage/indexeddb/modern/resources/deleteindex-1.js: Copied from LayoutTests/storage/indexeddb/modern/deleteindex-1.html.
* storage/indexeddb/modern/resources/deleteindex-2.js: Copied from LayoutTests/storage/indexeddb/modern/deleteindex-2.html.
* storage/indexeddb/modern/resources/deleteobjectstore-1.js: Copied from LayoutTests/storage/indexeddb/modern/deleteobjectstore-1.html.
* storage/indexeddb/modern/resources/double-abort.js: Copied from LayoutTests/storage/indexeddb/modern/double-abort.html.
* storage/indexeddb/modern/resources/double-open.js: Added.
* storage/indexeddb/modern/resources/get-index-failures.js: Copied from LayoutTests/storage/indexeddb/modern/get-index-failures.html.
* storage/indexeddb/modern/resources/get-keyrange.js: Copied from LayoutTests/storage/indexeddb/modern/get-keyrange.html.
* storage/indexeddb/modern/resources/idbdatabase-deleteobjectstore-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html.
* storage/indexeddb/modern/resources/idbdatabase-transaction-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbdatabase-transaction-failures.html.
* storage/indexeddb/modern/resources/idbindex-properties-basic.js: Copied from LayoutTests/storage/indexeddb/modern/idbindex-properties-basic.html.
* storage/indexeddb/modern/resources/idbobjectstore-clear-1.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-clear-1.html.
* storage/indexeddb/modern/resources/idbobjectstore-clear-2.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-clear-2.html.
* storage/indexeddb/modern/resources/idbobjectstore-count-1.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-count-1.html.
* storage/indexeddb/modern/resources/idbobjectstore-count-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-count-failures.html.
* storage/indexeddb/modern/resources/idbobjectstore-delete-1.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-delete-1.html.
* storage/indexeddb/modern/resources/idbobjectstore-delete-2.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-delete-2.html.
* storage/indexeddb/modern/resources/idbobjectstore-delete-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-delete-failures.html.
* storage/indexeddb/modern/resources/idbobjectstore-get-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-get-failures.html.
* storage/indexeddb/modern/resources/idbobjectstore-put-and-clear-failures.js: Copied from LayoutTests/storage/indexeddb/modern/idbobjectstore-put-and-clear-failures.html.
* storage/indexeddb/modern/resources/idbtransaction-objectstore-failures.js: Added.
* storage/indexeddb/modern/resources/index-1.js: Copied from LayoutTests/storage/indexeddb/modern/index-1.html.
* storage/indexeddb/modern/resources/index-2.js: Copied from LayoutTests/storage/indexeddb/modern/index-2.html.
* storage/indexeddb/modern/resources/index-3.js: Copied from LayoutTests/storage/indexeddb/modern/index-3.html.
* storage/indexeddb/modern/resources/index-4.js: Copied from LayoutTests/storage/indexeddb/modern/index-4.html.
* storage/indexeddb/modern/resources/index-5.js: Copied from LayoutTests/storage/indexeddb/modern/index-5.html.
* storage/indexeddb/modern/resources/index-cursor-1.js: Copied from LayoutTests/storage/indexeddb/modern/index-cursor-1.html.
* storage/indexeddb/modern/resources/index-cursor-2.js: Copied from LayoutTests/storage/indexeddb/modern/index-cursor-2.html.
* storage/indexeddb/modern/resources/index-cursor-3.js: Copied from LayoutTests/storage/indexeddb/modern/index-cursor-3.html.
* storage/indexeddb/modern/resources/index-get-count-basic.js: Copied from LayoutTests/storage/indexeddb/modern/index-get-count-basic.html.
* storage/indexeddb/modern/resources/index-get-count-failures.js: Copied from LayoutTests/storage/indexeddb/modern/index-get-count-failures.html.
* storage/indexeddb/modern/resources/keypath-basic.js: Copied from LayoutTests/storage/indexeddb/modern/keypath-basic.html.
* storage/indexeddb/modern/resources/objectstore-attributes.js: Copied from LayoutTests/storage/indexeddb/modern/objectstore-attributes.html.
* storage/indexeddb/modern/resources/objectstore-cursor-advance-failures.js: Copied from LayoutTests/storage/indexeddb/modern/objectstore-cursor-advance-failures.html.
* storage/indexeddb/modern/resources/objectstore-cursor-continue-failures.js: Copied from LayoutTests/storage/indexeddb/modern/objectstore-cursor-continue-failures.html.
* storage/indexeddb/modern/resources/opencursor-failures.js: Copied from LayoutTests/storage/indexeddb/modern/opencursor-failures.html.
* storage/indexeddb/modern/resources/opendatabase-request-event.js: Added.
* storage/indexeddb/modern/resources/opendatabase-request.js: Copied from LayoutTests/storage/indexeddb/modern/opendatabase-request.html.
* storage/indexeddb/modern/resources/opendatabase-success-after-versionchange.js: Copied from LayoutTests/storage/indexeddb/modern/opendatabase-success-after-versionchange.html.
* storage/indexeddb/modern/resources/opendatabase-versions.js: Copied from LayoutTests/storage/indexeddb/modern/opendatabase-versions.html.
* storage/indexeddb/modern/resources/request-readystate.js: Added.
* storage/indexeddb/modern/resources/transaction-scheduler-1.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-1.html.
* storage/indexeddb/modern/resources/transaction-scheduler-2.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-2.html.
* storage/indexeddb/modern/resources/transaction-scheduler-3.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-3.html.
* storage/indexeddb/modern/resources/transaction-scheduler-5.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-5.html.
* storage/indexeddb/modern/resources/transaction-scheduler-6.js: Copied from LayoutTests/storage/indexeddb/modern/transaction-scheduler-6.html.
* storage/indexeddb/modern/resources/transactions-stop-on-navigation-2.html:
* storage/indexeddb/modern/resources/versionchange-abort-then-reopen.js: Copied from LayoutTests/storage/indexeddb/modern/versionchange-abort-then-reopen.html.
* storage/indexeddb/modern/resources/versionchange-event.js: Copied from LayoutTests/storage/indexeddb/modern/versionchange-event.html.
* storage/indexeddb/modern/transaction-scheduler-1-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-1.html:
* storage/indexeddb/modern/transaction-scheduler-2-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-2.html:
* storage/indexeddb/modern/transaction-scheduler-3-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-3.html:
* storage/indexeddb/modern/transaction-scheduler-5-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-5.html:
* storage/indexeddb/modern/transaction-scheduler-6-expected.txt:
* storage/indexeddb/modern/transaction-scheduler-6.html:
* storage/indexeddb/modern/transactions-stop-on-navigation-expected.txt:
* storage/indexeddb/modern/versionchange-abort-then-reopen-expected.txt:
* storage/indexeddb/modern/versionchange-abort-then-reopen.html:
* storage/indexeddb/modern/versionchange-event-expected.txt:
* storage/indexeddb/modern/versionchange-event.html:

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

4 years ago[JSC] fixSpillSlotZDef() crashes on ARM64
commit-queue@webkit.org [Tue, 19 Jan 2016 23:15:53 +0000 (23:15 +0000)]
[JSC] fixSpillSlotZDef() crashes on ARM64
https://bugs.webkit.org/show_bug.cgi?id=153246

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-01-19
Reviewed by Geoffrey Garen.

Moving an immediate to memory is not a valid instruction on ARM64.
This patch adds a small workaround for this specific case: an instruction
to zero a chunk of memory.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::storeZero32):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::storeZero32):
* b3/air/AirFixSpillSlotZDef.h:
(JSC::B3::Air::fixSpillSlotZDef):
* b3/air/AirOpcode.opcodes:

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

4 years agoREGRESSION: Web Inspector: Hovering linkified node references should show node highlight
commit-queue@webkit.org [Tue, 19 Jan 2016 23:03:50 +0000 (23:03 +0000)]
REGRESSION: Web Inspector: Hovering linkified node references should show node highlight
https://bugs.webkit.org/show_bug.cgi?id=153248
<rdar://problem/24245518>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-01-19
Reviewed by Timothy Hatcher.

* UserInterface/Base/DOMUtilities.js:
Show the complete node highlight details (colors and node info).

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

4 years agoAdd support for DataDetectors in WK (iOS).
enrica@apple.com [Tue, 19 Jan 2016 22:58:59 +0000 (22:58 +0000)]
Add support for DataDetectors in WK (iOS).
https://bugs.webkit.org/show_bug.cgi?id=152989
rdar://problem/22855960

Reviewed by Tim Horton.

Source/JavaScriptCore:

Adding feature definition for data detection.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

This is the first step toward implementing Data Detectors support
in WK2. The patch adds a new memeber to the Settings object
to retrieve the type of detection desired. The DataDetection files
have been moved under cocoa, since they are no longer OS X specific.

* Configurations/FeatureDefines.xcconfig:
* Configurations/WebCore.xcconfig:
* WebCore.xcodeproj/project.pbxproj:
* editing/cocoa/DataDetection.h: Copied from Source/WebCore/editing/mac/DataDetection.h.
* editing/cocoa/DataDetection.mm: Copied from Source/WebCore/editing/mac/DataDetection.mm.
(WebCore::detectItemAtPositionWithRange):
(WebCore::DataDetection::detectItemAroundHitTestResult):
(WebCore::DataDetection::detectContentInRange):
* editing/mac/DataDetection.h: Removed.
* editing/mac/DataDetection.mm: Removed.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
* page/Settings.h:
* page/Settings.in:
* platform/spi/mac/DataDetectorsSPI.h:

Source/WebKit/mac:

Adding feature definition for data detection.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

This is the first step toward implementing Data Detectors support
in WK2. The patch adds a new property to the configuration
object to indicate the type of detection desired and propagates
to the WebProcess.

* Configurations/FeatureDefines.xcconfig:
* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(fromWKDataDetectorTypes):
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Source/WTF:

Adding feature definition for data detection.

* wtf/FeatureDefines.h:

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

4 years agoSVG 2 requires a mechanism for restricting enum values exposed through the DOM
commit-queue@webkit.org [Tue, 19 Jan 2016 22:01:55 +0000 (22:01 +0000)]
SVG 2 requires a mechanism for restricting enum values exposed through the DOM
https://bugs.webkit.org/show_bug.cgi?id=152814

Patch by Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2016-01-19
Reviewed by Darin Adler.

No new tests (No change in functionality, blocked bugs add new tests).

This patch adds a mechanism to restrict the values returned through the
SVGAnimatedEnumeration interface.
This is required for SVG 2, which does not expose new enumeration
values through the IDL.
See http://www.w3.org/TR/SVG2/types.html#InterfaceSVGAnimatedEnumeration
Getters:
SVG 2 does not add numeric type values for new options, new options
should return UNKNOWN.
E.g. See the table defining numeric type values for orient at
http://www.w3.org/TR/SVG2/painting.html#InterfaceSVGMarkerElement
Setters:
On setting baseVal, the following steps are run:
1. ...
2. If value is 0 or is not the numeric type value for any value of the reflected attribute, then set the reflected attribute to the empty string.

* svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
Override baseVal() and animVal() to perform range checks against
the highest exposed enum value.
* svg/properties/SVGAnimatedStaticPropertyTearOff.h:
(WebCore::SVGAnimatedStaticPropertyTearOff::baseVal): Mark function as virtual as it's over-ridden for enumerations.
(WebCore::SVGAnimatedStaticPropertyTearOff::animVal): Mark function as virtual as it's over-ridden for enumerations.
* svg/properties/SVGPropertyTraits.h:
Add SVGIDLEnumLimits struct that contains function for querying the
highest exposed enum value.
(WebCore::SVGIDLEnumLimits::highestExposedEnumValue): New function that returns the highest enum value that should
be exposed through the DOM. This function should be specialized for enum types that need to restrict the exposed
values.

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

4 years ago[B3][Win64] Compile and warning fixes.
peavo@outlook.com [Tue, 19 Jan 2016 21:49:12 +0000 (21:49 +0000)]
[B3][Win64] Compile and warning fixes.
https://bugs.webkit.org/show_bug.cgi?id=153234

Reviewed by Alex Christensen.

The size of 'long' is 4 bytes on Win64. We can use 'long long' instead,
when we want the size to be 8 bytes.

* b3/B3LowerMacrosAfterOptimizations.cpp:
* b3/B3ReduceStrength.cpp:

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

4 years ago[cmake] Fix the B3 build after r195159
ossy@webkit.org [Tue, 19 Jan 2016 21:48:25 +0000 (21:48 +0000)]
[cmake] Fix the B3 build after r195159
https://bugs.webkit.org/show_bug.cgi?id=153232

Reviewed by Yusuke Suzuki.

* CMakeLists.txt:

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

4 years agoFixed compilation of AXObjectCache in case of !HAVE(ACCESSIBILITY).
commit-queue@webkit.org [Tue, 19 Jan 2016 21:48:17 +0000 (21:48 +0000)]
Fixed compilation of AXObjectCache in case of !HAVE(ACCESSIBILITY).
https://bugs.webkit.org/show_bug.cgi?id=153243

Patch by Konstantin Tokarev <annulen@yandex.ru> on 2016-01-19
Reviewed by Chris Fleizach.

No new tests needed.

* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::nodeHasRole): Deleted.

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

4 years agoUse references in SelectorChecker
antti@apple.com [Tue, 19 Jan 2016 21:26:35 +0000 (21:26 +0000)]
Use references in SelectorChecker
https://bugs.webkit.org/show_bug.cgi?id=153240

Reviewed by Andreas Kling.

Element and selector can't be null in most places.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRules):
* css/SelectorChecker.cpp:
(WebCore::attributeValueMatches):
(WebCore::anyAttributeMatches):
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::matchSelectorList):
(WebCore::SelectorChecker::checkScrollbarPseudoClass):
(WebCore::SelectorChecker::determineLinkMatchType):
(WebCore::isFrameFocused):
(WebCore::SelectorChecker::matchesFocusPseudoClass):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::isCommonPseudoClassSelector):
(WebCore::SelectorChecker::checkExactAttribute): Deleted.
* css/SelectorCheckerTestFunctions.h:
(WebCore::isAutofilled):
(WebCore::isDefaultButtonForForm):
(WebCore::isDisabled):
(WebCore::isEnabled):
(WebCore::isMediaDocument):
(WebCore::isChecked):
(WebCore::isInRange):
(WebCore::isOutOfRange):
(WebCore::isInvalid):
(WebCore::isOptionalFormControl):
(WebCore::isRequiredFormControl):
(WebCore::isValid):
(WebCore::isWindowInactive):
(WebCore::containslanguageSubtagMatchingRange):
(WebCore::matchesLangPseudoClass):
(WebCore::matchesReadOnlyPseudoClass):
(WebCore::matchesReadWritePseudoClass):
(WebCore::shouldAppearIndeterminate):
(WebCore::scrollbarMatchesEnabledPseudoClass):
(WebCore::scrollbarMatchesCornerPresentPseudoClass):
(WebCore::matchesFullScreenPseudoClass):
(WebCore::matchesFullScreenAnimatingFullScreenTransitionPseudoClass):
(WebCore::matchesFullScreenAncestorPseudoClass):
(WebCore::matchesFullScreenDocumentPseudoClass):
(WebCore::matchesFutureCuePseudoClass):
(WebCore::matchesPastCuePseudoClass):

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

4 years agoUnreviewed, rolling out r195179.
cdumez@apple.com [Tue, 19 Jan 2016 21:00:35 +0000 (21:00 +0000)]
Unreviewed, rolling out r195179.

It relies on r195141 which was rolled out

Reverted changeset:

"Allocate style sheet media queries in BumpArena."
https://bugs.webkit.org/show_bug.cgi?id=153188
http://trac.webkit.org/changeset/195179

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

4 years agoUnreviewed, rolling out r195173.
cdumez@apple.com [Tue, 19 Jan 2016 20:59:56 +0000 (20:59 +0000)]
Unreviewed, rolling out r195173.

It relies on r195141 which was rolled out

Reverted changeset:

"Give RuleSet a BumpArena and start using it for
RuleDataVectors."
https://bugs.webkit.org/show_bug.cgi?id=153169
http://trac.webkit.org/changeset/195173

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

4 years agoUnreviewed, rolling out r195300.
commit-queue@webkit.org [Tue, 19 Jan 2016 20:56:21 +0000 (20:56 +0000)]
Unreviewed, rolling out r195300.
https://bugs.webkit.org/show_bug.cgi?id=153244

enrica wants more time to fix Windows (Requested by thorton on
#webkit).

Reverted changeset:

"Add support for DataDetectors in WK (iOS)."
https://bugs.webkit.org/show_bug.cgi?id=152989
http://trac.webkit.org/changeset/195300

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

4 years agoReconsider B3's constant motion policy
fpizlo@apple.com [Tue, 19 Jan 2016 20:55:34 +0000 (20:55 +0000)]
Reconsider B3's constant motion policy
https://bugs.webkit.org/show_bug.cgi?id=152202

Reviewed by Geoffrey Garen.

This changes moveConstants() to hoist constants. This is a speed-up on things like mandreel.
It has a generally positive impact on the Octane score, but it's within margin of error.

This also changes IRC to make it a bit more likely to spill constants. We don't want it to
spill them too much, because we can't rely on fixObviousSpills() to always replace a load of
a constant from the stack with the constant itself, especially in case of instructions that
need an extra register to materialize the immediate.

Also fixed DFG graph dumping to print a bit less things. It was trying to print the results of
constant property inference, and this sometimes caused crashes when you dumped the graph at an
inopportune time.

* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/B3MoveConstants.cpp:
* b3/air/AirArg.h:
* b3/air/AirArgInlines.h: Added.
(JSC::B3::Air::ArgThingHelper<Tmp>::is):
(JSC::B3::Air::ArgThingHelper<Tmp>::as):
(JSC::B3::Air::ArgThingHelper<Tmp>::forEachFast):
(JSC::B3::Air::ArgThingHelper<Tmp>::forEach):
(JSC::B3::Air::ArgThingHelper<Arg>::is):
(JSC::B3::Air::ArgThingHelper<Arg>::as):
(JSC::B3::Air::ArgThingHelper<Arg>::forEachFast):
(JSC::B3::Air::ArgThingHelper<Arg>::forEach):
(JSC::B3::Air::Arg::is):
(JSC::B3::Air::Arg::as):
(JSC::B3::Air::Arg::forEachFast):
(JSC::B3::Air::Arg::forEach):
* b3/air/AirIteratedRegisterCoalescing.cpp:
* b3/air/AirUseCounts.h:
(JSC::B3::Air::UseCounts::UseCounts):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):

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

4 years agooutline-offset does not work for inlines.
zalan@apple.com [Tue, 19 Jan 2016 20:32:01 +0000 (20:32 +0000)]
outline-offset does not work for inlines.
https://bugs.webkit.org/show_bug.cgi?id=153238

Reviewed by Simon Fraser.

Adjust outline box width/height with outline-offset.

Test: fast/inline/inlines-with-outline-offset.html

Source/WebCore:

* rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutline):
(WebCore::RenderInline::paintOutlineForLine):

LayoutTests:

* fast/inline/inlines-with-outline-offset-expected.html: Added.
* fast/inline/inlines-with-outline-offset.html: Added.

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

4 years agoWeb Inspector: WebInspector.Object.addEventListener is O(n), make it O(1)
nvasilyev@apple.com [Tue, 19 Jan 2016 20:20:53 +0000 (20:20 +0000)]
Web Inspector: WebInspector.Object.addEventListener is O(n), make it O(1)
https://bugs.webkit.org/show_bug.cgi?id=152422
<rdar://problem/24038047>

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

Slow addEventListener was the main cause of Console sluggishness[1].

This patch changes:
addEventListener from O(n) to O(1)
removeEventListener from O(n) to O(1)

Now, addEventListener and removeEventListener take <1ms regardless of the
number of listeners attached.

removeEventListener(null, null, thisObject), a special case when all events
for thisObject are removed, was improved from O(n^2) to O(n).

* UserInterface/Base/LinkedList.js: Added.
(LinkedList):
(LinkedList.prototype.clear):
(LinkedList.prototype.get last):
(LinkedList.prototype.push):
(LinkedList.prototype.remove):
(LinkedList.prototype.forEach):
(LinkedList.prototype.toArray):
(LinkedList.prototype.toJSON):
(LinkedListNode):
LinkedList ensures O(1) time complexity for push and remove operations.

* UserInterface/Base/ListMultimap.js: Added.
(ListMultimap):
(ListMultimap.prototype.get size):
(ListMultimap.prototype.add):
(ListMultimap.prototype.delete):
(ListMultimap.prototype.deleteAll):
(ListMultimap.prototype.has):
(ListMultimap.prototype.clear):
(ListMultimap.prototype.forEach):
(ListMultimap.prototype.toArray):
(ListMultimap.prototype.toJSON):
ListMultimap unsures O(1) time complexity for add, has and delete operations.
ListMultimap preserves insertion order by using a LinkedList.

* UserInterface/Base/Object.js:
(WebInspector.Object):
(WebInspector.Object.addEventListener):
(WebInspector.Object.removeEventListener):
(WebInspector.Object.hasEventListeners):
(WebInspector.Object.retainedObjectsWithPrototype):
(WebInspector.Object.prototype.dispatchEventToListeners):
Replace this._listeners[eventType] from array of objects to ListMultimap.

* UserInterface/Main.html:
* UserInterface/Test.html:
* UserInterface/TestStub.html:

LayoutTests:

* inspector/console/console-api-expected.txt:
* inspector/console/console-table-expected.txt:
* inspector/model/remote-object-expected.txt:
Rebaseline tests, add "_listeners: null" to all WebInspector.Object instances.

* inspector/unit-tests/linked-list-expected.txt: Added.
* inspector/unit-tests/linked-list.html: Added.
* inspector/unit-tests/list-multimap-expected.txt: Added.
* inspector/unit-tests/list-multimap.html: Added.

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

4 years agoUnreviewed, rolling out r195141.
cdumez@apple.com [Tue, 19 Jan 2016 20:16:01 +0000 (20:16 +0000)]
Unreviewed, rolling out r195141.

Seems to cause crashes on iOS9 64bit

Reverted changeset:

"Fragmentation-free allocator for timeless and/or coupled
allocations."
https://bugs.webkit.org/show_bug.cgi?id=152696
http://trac.webkit.org/changeset/195141

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

4 years agoWeb Inspector: cleanup TreeOutline class and separate styles from NavigationSidebarPanel
mattbaker@apple.com [Tue, 19 Jan 2016 19:53:16 +0000 (19:53 +0000)]
Web Inspector: cleanup TreeOutline class and separate styles from NavigationSidebarPanel
https://bugs.webkit.org/show_bug.cgi?id=153146
<rdar://problem/24213071>

Reviewed by Timothy Hatcher.

This patch consolidates and simplifies the tree outline styles that were previously
defined across various classes. A new stylesheet, TreeOutline.css, includes all
the styles needed to create a basic TreeOutline.

In addition, certain tree features which were previously controlled by manually
toggling class names have been promoted to properties of TreeOutline:
 - compact: tree elements have reduced vertical spacing. Used by object trees.
   The compact and large settings are mutually exclusive.
 - large: tree elements (and their icons) are large. Used by TimelinesSidebarPanel.
   Previously there existed a `small` class name which was enabled in every
   case except TimelineSidebarPanel's Timelines tree. Since it was the rule rather
   than the exception the class has been removed and is now the default style.
 - disclosureButtons: control the appearance of disclosure buttons.
 - customIndent: control use of generated style rules.

* UserInterface/Main.html:
New CSS file.

* UserInterface/Views/ApplicationCacheFrameTreeElement.js:
(WebInspector.ApplicationCacheFrameTreeElement): Deleted.
* UserInterface/Views/BreakpointTreeElement.js:
(WebInspector.BreakpointTreeElement): Deleted.
* UserInterface/Views/CallFrameTreeElement.js:
(WebInspector.CallFrameTreeElement): Deleted.
* UserInterface/Views/ContentFlowTreeElement.js:
(WebInspector.ContentFlowTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/DOMTreeOutline.css:
(.tree-outline.dom):
(.tree-outline.dom li.hovered:not(.selected) .selection):
(.tree-outline.dom li .selection):
(.tree-outline.dom li.selected .selection):
(.tree-outline.dom li.elements-drag-over .selection):
(.tree-outline.dom:focus li.selected .selection):
(.tree-outline.dom li.selected > span::after):
(.tree-outline.dom:focus li.selected > span::after):
(.tree-outline.dom ol):
(.tree-outline.dom ol.children):
(.tree-outline.dom ol.children.expanded):
(.tree-outline.dom li):
(.tree-outline.dom li.pseudo-class-enabled > .selection::before):
(.tree-outline.dom.single-node li):
(.tree-outline.dom:focus li.selected):
(.tree-outline.dom:focus li.selected.pseudo-class-enabled > .selection::before):
(.tree-outline.dom:focus li.selected *):
(.tree-outline.dom li.parent):
(.tree-outline.dom li .html-tag.close):
(.tree-outline.dom li.parent::before):
(.tree-outline.dom:focus li.parent.selected::before):
(.tree-outline.dom li.parent.expanded::before):
(.tree-outline.dom:focus li.parent.expanded.selected::before):
(.tree-outline.dom .html-text-node.large):
(.tree-outline.dom .html-pseudo-element):
(.tree-outline.dom .html-fragment.shadow):
(.showing-find-banner .tree-outline.dom .search-highlight):
(.dom-tree-outline): Deleted.
(.dom-tree-outline li.hovered:not(.selected) .selection): Deleted.
(.dom-tree-outline li .selection): Deleted.
(.dom-tree-outline li.selected .selection): Deleted.
(.dom-tree-outline li.elements-drag-over .selection): Deleted.
(.dom-tree-outline:focus li.selected .selection): Deleted.
(.dom-tree-outline li.selected > span::after): Deleted.
(.dom-tree-outline:focus li.selected > span::after): Deleted.
(.dom-tree-outline ol): Deleted.
(.dom-tree-outline ol.children): Deleted.
(.dom-tree-outline ol.children.expanded): Deleted.
(.dom-tree-outline li): Deleted.
(.dom-tree-outline li.pseudo-class-enabled > .selection::before): Deleted.
(.dom-tree-outline.single-node li): Deleted.
(.dom-tree-outline:focus li.selected): Deleted.
(.dom-tree-outline:focus li.selected.pseudo-class-enabled > .selection::before): Deleted.
(.dom-tree-outline:focus li.selected *): Deleted.
(.dom-tree-outline li.parent): Deleted.
(.dom-tree-outline li .html-tag.close): Deleted.
(.dom-tree-outline li.parent::before): Deleted.
(.dom-tree-outline:focus li.parent.selected::before): Deleted.
(.dom-tree-outline li.parent.expanded::before): Deleted.
(.dom-tree-outline:focus li.parent.expanded.selected::before): Deleted.
(.dom-tree-outline .html-text-node.large): Deleted.
(.dom-tree-outline .html-pseudo-element): Deleted.
(.dom-tree-outline .html-fragment.shadow): Deleted.
(.showing-find-banner .dom-tree-outline .search-highlight): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline):
Use default TreeOutline DOM element, and simplify element class name.

* UserInterface/Views/DatabaseTableTreeElement.js:
(WebInspector.DatabaseTableTreeElement): Deleted.
* UserInterface/Views/DatabaseTreeElement.js:
(WebInspector.DatabaseTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/ErrorObjectView.css:
(.error-object:not(.expanded) .tree-outline):
(.error-object .tree-outline):
(.error-object:not(.expanded) .error-object-outline): Deleted.
(.error-object-outline): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/ErrorObjectView.js:
(WebInspector.ErrorObjectView): Deleted.
Removed unused tree outline class name.

* UserInterface/Views/FolderTreeElement.js:
(WebInspector.FolderTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/FormattedValue.css:
(.formatted-node > .tree-outline.dom):
(.formatted-node > .tree-outline.dom ol):
(.formatted-node > .tree-outline.dom li):
(.formatted-node > .tree-outline.dom li.hovered:not(.selected) .selection):
(.formatted-node > .dom-tree-outline): Deleted.
(.formatted-node > .dom-tree-outline ol): Deleted.
(.formatted-node > .dom-tree-outline li): Deleted.
(.formatted-node > .dom-tree-outline li.hovered:not(.selected) .selection): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/GeneralTreeElement.js:
(WebInspector.GeneralTreeElement.prototype._updateTitleTooltip):
(WebInspector.GeneralTreeElement.prototype.get small): Deleted.
(WebInspector.GeneralTreeElement.prototype.set small): Deleted.
(WebInspector.GeneralTreeElement.prototype.get twoLine): Deleted.
(WebInspector.GeneralTreeElement.prototype.set twoLine): Deleted.
Removed properties `small` and `twoLine`. The first is no longer needed as
it is now the default tree element style. The second was not being used.

* UserInterface/Views/IndexedDatabaseObjectStoreIndexTreeElement.js:
(WebInspector.IndexedDatabaseObjectStoreIndexTreeElement): Deleted.
* UserInterface/Views/IndexedDatabaseObjectStoreTreeElement.js:
(WebInspector.IndexedDatabaseObjectStoreTreeElement): Deleted.
* UserInterface/Views/IndexedDatabaseTreeElement.js:
(WebInspector.IndexedDatabaseTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/IssueTreeElement.css:
(.navigation-sidebar-panel-content-tree-outline .item.small.issue .icon): Deleted.
No longer needed.

* UserInterface/Views/IssueTreeElement.js:
(WebInspector.IssueTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/LayoutTimelineView.css:
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.layout .item .subtitle):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/LogTreeElement.js:
(WebInspector.LogTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/NavigationSidebarPanel.css:
(.navigation-sidebar-panel-content-tree-outline .children): Deleted.
(.navigation-sidebar-panel-content-tree-outline .children.expanded): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item): Deleted.
(.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons > .children): Deleted.
(.navigation-sidebar-panel-content-tree-outline > .children.hide-disclosure-buttons > .children): Deleted.
(.navigation-sidebar-panel-content-tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon): Deleted.
(.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item.small): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .disclosure-button): Deleted.
(.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item .disclosure-button): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.parent .disclosure-button): Deleted.
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.expanded .disclosure-button): Deleted.
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .icon): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .status): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .status:empty): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected): Deleted.
(body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .titles): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .highlighted): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .titles.no-subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .title::after): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .subtitle:empty): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small.two-line): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small .icon): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small .status): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small .status .indeterminate-progress-spinner): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small .titles): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small.two-line .status): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles.no-subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small .subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small.two-line .icon): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .title::after): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .subtitle::before): Deleted.
Generic tree outline styles removed, cleaned up, and relocated to TreeOutline.css.

* UserInterface/Views/NavigationSidebarPanel.js:
Removed static property HideDisclosureButtonsStyleClassName, which is now
encapsulated by TreeOutline.
(WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
Use default TreeOutline DOM element instead of creating it.
(WebInspector.NavigationSidebarPanel): Deleted.
Remove call to generate style rules.
(WebInspector.NavigationSidebarPanel.prototype._generateStyleRulesIfNeeded): Deleted.
Moved to TreeOutline.js.

* UserInterface/Views/NetworkSidebarPanel.css:
(.sidebar > .panel.navigation.network.network-grid-content-view-showing .tree-outline.network-grid .item .subtitle):
(.sidebar > .panel.navigation.network > .content > .tree-outline):
(.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .tree-outline):
(.sidebar > .panel.navigation.network.network-grid-content-view-showing .navigation-sidebar-panel-content-tree-outline.network-grid .item .subtitle): Deleted.
(.sidebar > .panel.navigation.network > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
(.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/NetworkSidebarPanel.js:
(WebInspector.NetworkSidebarPanel):
Disable tree outline disclosure buttons.

* UserInterface/Views/NetworkTimelineView.css:
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.network .item .subtitle):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView):
Disable tree outline disclosure buttons.

* UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
(.object-tree-array-index .index-value .object-tree .tree-outline.object):
(.object-tree-array-index .index-value .formatted-node .tree-outline.dom):
(.object-tree-array-index .index-value .object-tree .object-tree-outline): Deleted.
(.object-tree-array-index .index-value .formatted-node .dom-tree-outline): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/ObjectTreeBaseTreeElement.js:
(WebInspector.ObjectTreeBaseTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/ObjectTreePropertyTreeElement.css:
(.tree-outline .item.object-tree-property):
(.item.object-tree-property.prototype-property):
(.item.object-tree-property.prototype-property + ol):
(.object-tree-property): Deleted.
(.object-tree-property > .titles): Deleted.
(.object-tree-property > .disclosure-button): Deleted.
(.object-tree-property.parent > .disclosure-button): Deleted.
(.object-tree-property.parent.expanded > .disclosure-button): Deleted.
(.object-tree-property > .icon): Deleted.
(.object-tree-property.prototype-property): Deleted.
(.object-tree-property.prototype-property + ol): Deleted.
Updated selectors with new tree outline class names, removed styles which
are now provided by TreeOutline.css.

* UserInterface/Views/ObjectTreeView.css:
(.object-tree .tree-outline.object):
(.object-tree.expanded > .tree-outline.object):
(.tree-outline.object):
(.object-tree.properties-only .tree-outline.object):
(.tree-outline.object li):
(.tree-outline.object ol):
(.tree-outline.object ol.expanded):
(.tree-outline.object li .empty-message):
(.object-tree .object-tree-outline): Deleted.
(.object-tree.expanded > .object-tree-outline): Deleted.
(.object-tree-outline): Deleted.
(.object-tree.properties-only .object-tree-outline): Deleted.
(.object-tree-outline li): Deleted.
(.object-tree-outline ol): Deleted.
(.object-tree-outline ol.expanded): Deleted.
(.object-tree-outline li .empty-message): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/ObjectTreeView.js:
(WebInspector.ObjectTreeView):
Use default TreeOutline DOM element, and simplify element class name.
Enable custom indent (disables generated style rules).

* UserInterface/Views/ProfileNodeTreeElement.js:
(WebInspector.ProfileNodeTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/RenderingFrameTimelineView.css:
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
Disable tree outline disclosure buttons.
(WebInspector.ResourceSidebarPanel.prototype._extraDomainsActivated):
Enable tree outline disclosure buttons.

* UserInterface/Views/ScriptTimelineView.css:
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.script .item .subtitle):
(.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .tree-outline.script .item .alternate-subtitle):
(.tree-outline .item .alternate-subtitle):
(.tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle):
(.tree-outline .item.small:not(.two-line) .alternate-subtitle::before):
(.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle): Deleted.
(.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .navigation-sidebar-panel-content-tree-outline.script .item .alternate-subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item .alternate-subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .alternate-subtitle::before): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/SearchResultTreeElement.js:
(WebInspector.SearchResultTreeElement): Deleted.
* UserInterface/Views/SourceCodeTreeElement.js:
(WebInspector.SourceCodeTreeElement): Deleted.
* UserInterface/Views/StorageTreeElement.js:
(WebInspector.StorageTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/TimelineDataGrid.css:
(.tree-outline.timeline-data-grid .item:hover):
(.tree-outline.timeline-data-grid .item:hover .subtitle):
(.timeline-data-grid-tree-outline): Deleted.
(.timeline-data-grid-tree-outline .item): Deleted.
(.timeline-data-grid-tree-outline .item .status): Deleted.
(.timeline-data-grid-tree-outline .item .icon): Deleted.
(.timeline-data-grid-tree-outline .item:hover): Deleted.
(.timeline-data-grid-tree-outline .item .titles): Deleted.
(.timeline-data-grid-tree-outline .item .title::after): Deleted.
(.timeline-data-grid-tree-outline .item .subtitle): Deleted.
(.timeline-data-grid-tree-outline .item:hover .subtitle): Deleted.
(.timeline-data-grid-tree-outline .item .subtitle:empty): Deleted.
(.timeline-data-grid-tree-outline .item.small): Deleted.
(.timeline-data-grid-tree-outline .item.small .icon): Deleted.
(.timeline-data-grid-tree-outline .item.small .status): Deleted.
(.timeline-data-grid-tree-outline .item.small .titles): Deleted.
(.timeline-data-grid-tree-outline .item.small .subtitle): Deleted.
(.timeline-data-grid-tree-outline .item.small:not(.two-line) .title::after): Deleted.
(.timeline-data-grid-tree-outline .item.small:not(.two-line) .subtitle::before): Deleted.
Updated selectors with new tree outline class names, removed styles which
are now provided by TreeOutline.css.

* UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype._createPopoverContent):
Use default TreeOutline DOM element, and simplify element class name.

* UserInterface/Views/TimelineRecordTreeElement.js:
(WebInspector.TimelineRecordTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline > .timelines-content .close-button): Deleted.
Removed styles which are now provided by TreeOutline.css.

* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel):
Disable tree outline disclosure buttons, enable large tree style.

* UserInterface/Views/TimelineView.css:
(.panel.navigation.timeline > .content > .tree-outline):
(.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .tree-outline):
(.panel.navigation.timeline > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
(.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/TreeOutline.css: Added.
(.tree-outline .children):
(.tree-outline .children.expanded):
(.tree-outline .item):
(.tree-outline.compact .item):
(.tree-outline.large .item):
(.tree-outline.hide-disclosure-buttons > .children):
(.tree-outline > .children.hide-disclosure-buttons > .children):
(.tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon):
(.tree-outline .item .disclosure-button):
(.tree-outline.hide-disclosure-buttons .item .disclosure-button):
(.tree-outline .item.parent .disclosure-button):
(.tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button):
(.tree-outline .item.expanded .disclosure-button):
(.tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button):
(.tree-outline .item .icon):
(.tree-outline.compact .item .icon):
(.tree-outline.large .item .icon):
(.tree-outline .item .status):
(.tree-outline.large .item .status):
(.tree-outline .item .status:empty):
(.tree-outline .item.selected):
(.tree-outline:matches(:focus, .force-focus) .item.selected):
(body.window-inactive .tree-outline .item.selected):
(.tree-outline .item .titles):
(.tree-outline.compact .item .titles):
(.tree-outline.large .item .titles):
(.tree-outline .item .highlighted):
(.tree-outline.large .item .titles.no-subtitle):
(.tree-outline .item .title::after):
(.tree-outline .item .subtitle):
(.tree-outline.large .item .subtitle):
(.tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):
(.tree-outline .item .subtitle:empty):
(.tree-outline:not(.large) .item .status .indeterminate-progress-spinner):
(.tree-outline .item .subtitle::before):
Relocated tree outlines styles from NavigationSidebarPanel.css.

* UserInterface/Views/TreeOutline.js:
(WebInspector.TreeOutline):
(WebInspector.TreeOutline.prototype.get compact):
(WebInspector.TreeOutline.prototype.set compact):
(WebInspector.TreeOutline.prototype.get large):
(WebInspector.TreeOutline.prototype.set large):
(WebInspector.TreeOutline.prototype.get disclosureButtons):
(WebInspector.TreeOutline.prototype.set disclosureButtons):
(WebInspector.TreeOutline.prototype.get customIndent):
(WebInspector.TreeOutline.prototype.set customIndent):
Added properties for tree element appearance and indentation
behavior, so clients don't need to manually toggle style classes.
(WebInspector.TreeOutline._generateStyleRulesIfNeeded):
Relocated from NavigationSidebarPanel.js.

* UserInterface/Views/TypeTreeElement.js:
(WebInspector.TypeTreeElement): Deleted.
Removed call to obsolete TreeOutline.prototype.small setter.

* UserInterface/Views/TypeTreeView.css:
(.tree-outline.type):
(.tree-outline.type li):
(.tree-outline.type ol):
(.tree-outline.type ol.expanded):
(.tree-outline.type li .empty-message):
(.type-tree-outline): Deleted.
(.type-tree-outline li): Deleted.
(.type-tree-outline ol): Deleted.
(.type-tree-outline ol.expanded): Deleted.
(.type-tree-outline li .empty-message): Deleted.
Updated selectors with new tree outline class names.

* UserInterface/Views/TypeTreeView.js:
(WebInspector.TypeTreeView):
Use default TreeOutline DOM element, and simplify element class name.

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

4 years ago[EME] Correctly report errors when generating key requests from AVContentKeySession.
jer.noble@apple.com [Tue, 19 Jan 2016 19:37:06 +0000 (19:37 +0000)]
[EME] Correctly report errors when generating key requests from AVContentKeySession.
https://bugs.webkit.org/show_bug.cgi?id=151963

Reviewed by Eric Carlson.

WebIDL's "unsigned long" is a 32-bit unsigned integer, and C++'s "unsigned long" is (or, can
be) a 64-bit integer on 64-bit platforms. Casting a negative integer to a 64-bit integer
results in a number which cannot be accurately stored in a double-length floating point
number. Previously, the mac CDM code would work around this issue by returning the absolute
value of NSError code returned by media frameworks. Instead, fix the underlying problem by
storing the MediaKeyError's systemCode as a uint32_t (which more accurately represents the
size of a WebIDL "unsigned long" on all platforms.)

Check the error code issued by -contentKeyRequestDataForApp:contentIdentifier:options:error:.

* Modules/encryptedmedia/CDM.h:
* Modules/encryptedmedia/CDMSessionClearKey.cpp:
(WebCore::CDMSessionClearKey::generateKeyRequest):
(WebCore::CDMSessionClearKey::update):
* Modules/encryptedmedia/CDMSessionClearKey.h:
* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::keyRequestTimerFired):
(WebCore::MediaKeySession::addKeyTimerFired):
(WebCore::MediaKeySession::sendError):
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.handleReadyStateChange):
* WebCore.xcodeproj/project.pbxproj:
* html/MediaKeyError.h:
(WebCore::MediaKeyError::create):
(WebCore::MediaKeyError::systemCode):
* html/MediaKeyEvent.h:
* platform/graphics/CDMSession.h:
* platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
* platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::generateKeyRequest):
(WebCore::CDMSessionAVContentKeySession::update):
(WebCore::CDMSessionAVContentKeySession::generateKeyReleaseMessage):
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
(WebCore::CDMSessionAVFoundationObjC::update):
* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
(WebCore::CDMSessionAVStreamSession::generateKeyRequest):
(WebCore::CDMSessionAVStreamSession::update):
(WebCore::CDMSessionAVStreamSession::generateKeyReleaseMessage):
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError):
(WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError):
(WebCore::CDMSessionMediaSourceAVFObjC::systemCodeForError): Deleted.
* testing/MockCDM.cpp:
(WebCore::MockCDMSession::generateKeyRequest):
(WebCore::MockCDMSession::update):2016-01-15  Simon Fraser  <simon.fraser@apple.com>

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

4 years agoModern IDB: Split all storage/indexeddb/mozilla tests into separate HTML + JS format.
beidson@apple.com [Tue, 19 Jan 2016 19:35:31 +0000 (19:35 +0000)]
Modern IDB: Split all storage/indexeddb/mozilla tests into separate HTML + JS format.
https://bugs.webkit.org/show_bug.cgi?id=153237

Reviewed by Sam Weinig.

* storage/indexeddb/mozilla/index-prev-no-duplicate.html:
* storage/indexeddb/mozilla/resources/index-prev-no-duplicate.js: Copied from LayoutTests/storage/indexeddb/mozilla/index-prev-no-duplicate.html.

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

4 years agoAdd support for DataDetectors in WK (iOS).
enrica@apple.com [Tue, 19 Jan 2016 19:34:20 +0000 (19:34 +0000)]
Add support for DataDetectors in WK (iOS).
https://bugs.webkit.org/show_bug.cgi?id=152989
rdar://problem/22855960

Reviewed by Tim Horton.

Source/JavaScriptCore:

Adding feature definition.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

This is the first step toward implementing Data Detectors support
in WK2. The patch adds a new memeber to the Settings object
to retrieve the type of detection desired. The DataDetection files
have been moved under cocoa, since they are no longer OS X specific.

* Configurations/FeatureDefines.xcconfig:
* Configurations/WebCore.xcconfig:
* WebCore.xcodeproj/project.pbxproj:
* editing/cocoa/DataDetection.h: Copied from Source/WebCore/editing/mac/DataDetection.h.
* editing/cocoa/DataDetection.mm: Copied from Source/WebCore/editing/mac/DataDetection.mm.
(WebCore::detectItemAtPositionWithRange):
(WebCore::DataDetection::detectItemAroundHitTestResult):
(WebCore::DataDetection::detectContentInRange):
* editing/mac/DataDetection.h: Removed.
* editing/mac/DataDetection.mm: Removed.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
* page/Settings.h:
* page/Settings.in:
* platform/spi/mac/DataDetectorsSPI.h:

Source/WebKit/mac:

Adding feature definition for data detection.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

This is the first step toward implementing Data Detectors support
in WK2. The patch adds a new property to the configuration
object to indicate the type of detection desired and propagates
to the WebProcess.

* Configurations/FeatureDefines.xcconfig:
* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/Cocoa/WebPageCocoa.mm: Added.
(WebKit::WebPage::fromWKDataDetectorTypes):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/WebPage.h:

Source/WTF:

Adding feature definition for data detection.

* wtf/FeatureDefines.h:

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