Timeline



Jan 21, 2016:

11:24 PM Changeset in webkit [195446] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] The IRC allocator can mess up the degree of Tmps interfering with move-related Tmps
https://bugs.webkit.org/show_bug.cgi?id=153340

Reviewed by Filip Pizlo.

The JavaScriptCore tests uncovered an interested bug in the iterated register
coalescing allocator. When coalescing a move under the right conditions, it is
possible to mess-up the graph for the Tmps interfering with the coalesced Tmps.

Some context first:
-When coalescing a move, we alias one Tmp to another. Let say that we had

Move X, Y

the coalescing may alias Y to X: Y->X.

-Since X and Y are equivalent after coalescing, any interference

edge with Y is "moved" to X.
The way this was done was to add an edge to X for every edge there was with Y.
Say we had an edge R--Y, we add an edge R--X.
Adding an edge increases the degree of R and Y. The degree of R was then
fixed by calling decrementDegree() on it.

-decrementDegree() is non trivial. It will move the Tmp to the right list

for further processing if the Tmp's degree becomes lower than the number
of available registers.

The bug appear in a particular case. Say we have 3 Tmp, A, B, and C.
-A and B are move related, they can be coalesced.
-A has an interference edge with C.
-B does not have and interfence edge with C.
-C's degree is exactly the number of avaialble registers/colors minus one (k - 1).

-> This implies C is already in its list.

We coalesce A and B into B (A->B).
-The first step, addEdgeDistinct() adds an edge between B and C. The degrees of

B and C are increased by one. The degree of C becomes k.

-Next, decrementDegree() is called on C. Its degree decreases to k-1.

Because of the change from k to k-1, decrementDegree() adds C to a list again.

We have two kinds of bugs depending on the test:
-A Tmp can be added to the simplifyWorklist several time.
-A Tmp can be in both simplifyWorklist and freezeWorklist (because its move-related

status changed since the last decrementDegree()).

In both cases, the Tmps interfering with the duplicated Tmp will end up with
a degree lower than their real value.

  • b3/air/AirIteratedRegisterCoalescing.cpp:
10:45 PM Changeset in webkit [195445] by Simon Fraser
  • 9 edits
    2 adds in trunk

REGRESSION (r168244): Content in horizontal-bt page is offset such that only the end is viewable and there is a white gap at the top
https://bugs.webkit.org/show_bug.cgi?id=136019

Reviewed by Dan Bernstein.

Source/WebCore:

In horizontal-bt documents (where the page starts scrolled to the bottom, and scrolling up goes into negative scroll positions),
the position of the root content layer would be set incorrectly by the scrolling thread, resulting in misplaced
content.

Fix by having the renamed "yPositionForRootContentLayer" take scroll origin into
account, and being more consistent about using scrollOrigin to position this layer.

Test: fast/scrolling/programmatic-horizontal-bt-document-scroll.html

  • page/FrameView.cpp:

(WebCore::FrameView::yPositionForFooterLayer): Moved
(WebCore::FrameView::positionForRootContentLayer): Take scrollOrigin, and subtract it from the computed value.
(WebCore::FrameView::yPositionForRootContentLayer): Renamed.

  • page/FrameView.h:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): We've already pushed the new scrollPosition onto the FrameView,
so we can just use the member function to compute the positionForContentsLayer.

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition): This is the bug fix; FrameView::positionForRootContentLayer()
now takes scrollOrigin into account.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateRootLayerPosition): Rather than using the documentRect, position the root content layer
in terms of the scroll origin (which is -documentRect.location()).

Source/WebKit2:

Now call frameView.positionForRootContentLayer(), and add a FIXME questioning the
behavior in horizontal b-t documents. However, this code isn't hit now that we always
do extended backgrounds, so never have shadow layers.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::shadowLayerPositionForFrame):

LayoutTests:

Test that scrolls a horizontal-bt document.

  • fast/scrolling/programmatic-horizontal-bt-document-scroll-expected.html: Added.
  • fast/scrolling/programmatic-horizontal-bt-document-scroll.html: Added.
10:44 PM Changeset in webkit [195444] by Simon Fraser
  • 2 edits in trunk/Tools

Fix the lldb WebCoreLayoutUnitProvider to not dynamically look up the LayoutUnit denominator
https://bugs.webkit.org/show_bug.cgi?id=153334

Reviewed by Zalan Bujtas.

Evaluating expressions in the LayoutUnit summary provider seems to cause
re-entrancy problems in lldb python bindings, so just hardcode the LayoutUnit
denominator to 64.

  • lldb/lldb_webkit.py:

(WebCoreLayoutUnitProvider.to_string):

10:39 PM Changeset in webkit [195443] by beidson@apple.com
  • 11 edits
    6 adds in trunk

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!)
9:54 PM Changeset in webkit [195442] by Nikita Vasilyev
  • 3 edits
    2 adds in trunk

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.
9:49 PM Changeset in webkit [195441] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

CMake build fix after r195302.

  • PlatformMac.cmake:
9:22 PM Changeset in webkit [195440] by akling@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

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:
8:21 PM Changeset in webkit [195439] by Yusuke Suzuki
  • 23 edits
    3 adds in trunk

[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:
7:47 PM Changeset in webkit [195438] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

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):

7:40 PM Changeset in webkit [195437] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

7:40 PM Changeset in webkit [195436] by bshafiei@apple.com
  • 5 edits in branches/safari-601-branch/Source

Versioning.

7:36 PM Changeset in webkit [195435] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix build.

  • b3/B3EliminateCommonSubexpressions.cpp:
7:31 PM Changeset in webkit [195434] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

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):

6:21 PM Changeset in webkit [195433] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

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:
6:06 PM Changeset in webkit [195432] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Add toggle-able list of classes for each element
https://bugs.webkit.org/show_bug.cgi?id=152678

Patch by Devin Rousso <Devin Rousso> 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.

6:05 PM Changeset in webkit [195431] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

[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.
6:00 PM Changeset in webkit [195430] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

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):

4:47 PM Changeset in webkit [195429] by dino@apple.com
  • 2 edits in trunk/Source/WebKit2

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.

3:57 PM Changeset in webkit [195428] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

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:
3:52 PM Changeset in webkit [195427] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.46.93

New tag.

3:52 PM Changeset in webkit [195426] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.5.11

New tag.

3:45 PM Changeset in webkit [195425] by peavo@outlook.com
  • 2 edits in trunk/Source/JavaScriptCore

[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):

3:34 PM Changeset in webkit [195424] by dino@apple.com
  • 4 edits in trunk/Source/WebKit2

[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.

3:15 PM Changeset in webkit [195423] by beidson@apple.com
  • 5 edits
    1 copy
    487 adds in trunk/LayoutTests

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:
2:56 PM Changeset in webkit [195422] by benjamin@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

[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):

1:51 PM Changeset in webkit [195421] by Beth Dakin
  • 7 edits in trunk/Source

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):

1:37 PM Changeset in webkit [195420] by fpizlo@apple.com
  • 3 edits in trunk/Source/WTF

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):

12:16 PM Changeset in webkit [195419] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, undo DFGCommon.h change that accidentally enabled the B3 JIT.

  • dfg/DFGCommon.h:
12:15 PM Changeset in webkit [195418] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

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:
11:54 AM Changeset in webkit [195417] by fpizlo@apple.com
  • 15 edits
    5 adds in trunk/Source

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):

11:16 AM Changeset in webkit [195416] by keith_miller@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

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.
11:00 AM Changeset in webkit [195415] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

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):

10:58 AM Changeset in webkit [195414] by Ryan Haddad
  • 1 edit
    1 delete in trunk/LayoutTests

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.
10:27 AM Changeset in webkit [195413] by bshafiei@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Versioning.

10:25 AM Changeset in webkit [195412] by adachan@apple.com
  • 16 edits
    1 move
    1 add in trunk/Source

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:
9:50 AM Changeset in webkit [195411] by commit-queue@webkit.org
  • 13 edits
    4 adds in trunk

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.

9:15 AM Changeset in webkit [195410] by jer.noble@apple.com
  • 21 edits
    2 copies in trunk/Source/WebCore

[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>

7:47 AM Changeset in webkit [195409] by fpizlo@apple.com
  • 2 edits in trunk/Tools

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:
7:27 AM Changeset in webkit [195408] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

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.
4:51 AM Changeset in webkit [195407] by peavo@outlook.com
  • 2 edits in trunk/Source/JavaScriptCore

[B3][CMake] Add missing source file.
https://bugs.webkit.org/show_bug.cgi?id=153303

Reviewed by Csaba Osztrogonác.

  • CMakeLists.txt:
1:17 AM Changeset in webkit [195406] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[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):

12:35 AM Changeset in webkit [195405] by n_wang@apple.com
  • 15 edits
    1 copy
    4 moves
    1 add in trunk

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:

Jan 20, 2016:

11:59 PM Changeset in webkit [195404] by bshafiei@apple.com
  • 1 edit
    1 copy in branches/safari-601-branch/LayoutTests

Merged r188383. rdar://problem/24208102

11:58 PM Changeset in webkit [195403] by bshafiei@apple.com
  • 6 edits
    2 copies in branches/safari-601-branch

Merged r188377. rdar://problem/24208102

11:57 PM Changeset in webkit [195402] by bshafiei@apple.com
  • 7 edits
    2 copies in branches/safari-601-branch

Merged r188263. rdar://problem/24208102

11:16 PM Changeset in webkit [195401] by bshafiei@apple.com
  • 6 edits in branches/safari-601.1.46-branch/Source/WebCore

Merged r195132. rdar://problem/24154424

11:13 PM Changeset in webkit [195400] by bshafiei@apple.com
  • 5 edits
    15 copies in branches/safari-601.1.46-branch

Merged r195075. rdar://problem/24001776

11:11 PM Changeset in webkit [195399] by bshafiei@apple.com
  • 4 edits
    4 copies in branches/safari-601.1.46-branch

Merged r195162. rdar://problem/23978912

8:47 PM Changeset in webkit [195398] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/Source/JavaScriptCore

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

7:50 PM Changeset in webkit [195397] by Alan Bujtas
  • 5 edits
    2 adds in trunk

http://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.
7:20 PM Changeset in webkit [195396] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, revert accidental unreviewed commit.

  • Scripts/display-profiler-output:
7:12 PM Changeset in webkit [195395] by fpizlo@apple.com
  • 57 edits
    11 adds in trunk

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):

6:13 PM Changeset in webkit [195394] by beidson@apple.com
  • 11 edits
    280 adds
    2 deletes in trunk/LayoutTests

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.
5:49 PM Changeset in webkit [195393] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

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.)
4:41 PM Changeset in webkit [195392] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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):

4:20 PM Changeset in webkit [195391] by jmarcell@apple.com
  • 3 edits in trunk/Tools

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.

3:40 PM Changeset in webkit [195390] by Ryan Haddad
  • 6 edits in trunk/LayoutTests

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:
3:38 PM Changeset in webkit [195389] by bshafiei@apple.com
  • 8 edits in tags/Safari-602.1.17

Roll out r195178. rdar://problem/24265144

3:25 PM Changeset in webkit [195388] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[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.

3:11 PM Changeset in webkit [195387] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[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:
3:00 PM Changeset in webkit [195386] by timothy@apple.com
  • 2 edits in trunk/Source/WebCore

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().

2:57 PM Changeset in webkit [195385] by timothy@apple.com
  • 2 edits in branches/safari-601.1.46-branch/Source/WebCore

<rdar://problem/24242600> CrashTracer: com.apple.WebKit.WebContent at …pector::CSSFrontendDispatcher::mediaQueryResultChanged + 316

Reviewed by Joseph Pecoraro.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend): Call disable().
(WebCore::InspectorCSSAgent::mediaQueryResultChanged): Add null check.

2:55 PM Changeset in webkit [195384] by timothy@apple.com
  • 2 edits in branches/safari-601-branch/Source/WebCore

<rdar://problem/24242600> CrashTracer: com.apple.WebKit.WebContent at …pector::CSSFrontendDispatcher::mediaQueryResultChanged + 316

Reviewed by Joseph Pecoraro.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend): Call disable().
(WebCore::InspectorCSSAgent::mediaQueryResultChanged): Add null check.

2:55 PM Changeset in webkit [195383] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix CLoop build after bug https://bugs.webkit.org/show_bug.cgi?id=152766

Unreviewed build fix.

  • inspector/agents/InspectorScriptProfilerAgent.h:
2:54 PM Changeset in webkit [195382] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

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:
2:49 PM Changeset in webkit [195381] by commit-queue@webkit.org
  • 6 edits in trunk

[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:
2:27 PM Changeset in webkit [195380] by beidson@apple.com
  • 132 edits in trunk/LayoutTests

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:
2:18 PM Changeset in webkit [195379] by matthew_hanson@apple.com
  • 9 edits in branches/safari-601-branch/Source

Roll out r189135 via r195066. rdar://problem/24154288

2:18 PM Changeset in webkit [195378] by matthew_hanson@apple.com
  • 44 edits
    4 deletes in branches/safari-601-branch

Roll out r192200 via r195067. rdar://problem/24154288

2:18 PM Changeset in webkit [195377] by matthew_hanson@apple.com
  • 15 edits
    2 deletes in branches/safari-601-branch

Roll out r194672 via r195068. rdar://problem/24154288

1:51 PM Changeset in webkit [195376] by sbarati@apple.com
  • 30 edits
    12 adds in trunk

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:
1:49 PM Changeset in webkit [195375] by keith_miller@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

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):

1:32 PM Changeset in webkit [195374] by dbates@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

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.
1:00 PM Changeset in webkit [195373] by matthew_hanson@apple.com
  • 1 edit
    2 adds in branches/safari-601.1.46-branch/LayoutTests

Merge r195158. rdar://problem/24208157

1:00 PM Changeset in webkit [195372] by matthew_hanson@apple.com
  • 2 edits in branches/safari-601.1.46-branch/LayoutTests

Merge r195089. rdar://problem/24101168

1:00 PM Changeset in webkit [195371] by matthew_hanson@apple.com
  • 5 edits
    3 adds in branches/safari-601.1.46-branch

Merge r195088. rdar://problem/24101168

12:59 PM Changeset in webkit [195370] by matthew_hanson@apple.com
  • 5 edits in branches/safari-601.1.46-branch/Source

Merge r195082. rdar://problem/23633319

12:59 PM Changeset in webkit [195369] by matthew_hanson@apple.com
  • 3 edits in branches/safari-601.1.46-branch

Merge r188377. rdar://problem/24208161

12:59 PM Changeset in webkit [195368] by matthew_hanson@apple.com
  • 6 edits in branches/safari-601.1.46-branch

Merge r188263. rdar://problem/24208161

12:59 PM Changeset in webkit [195367] by dbates@webkit.org
  • 46 edits
    2 copies
    273 adds in trunk/LayoutTests

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:
12:59 PM Changeset in webkit [195366] by matthew_hanson@apple.com
  • 1 edit in branches/safari-601.1.46-branch/Source/WebCore/ChangeLog

Merge r187693. rdar://problem/24208161

12:27 PM Changeset in webkit [195365] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

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:
12:02 PM Changeset in webkit [195364] by bshafiei@apple.com
  • 5 edits in branches/safari-601.3.9.1-branch/Source

Versioning.

12:00 PM Changeset in webkit [195363] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.3.9.1.2

New tag.

11:58 AM Changeset in webkit [195362] by peavo@outlook.com
  • 3 edits in trunk/Source/JavaScriptCore

[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:
11:56 AM Changeset in webkit [195361] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

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:
11:32 AM Changeset in webkit [195360] by keith_miller@apple.com
  • 6 edits
    1 add in trunk/Source/JavaScriptCore

[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):

11:30 AM Changeset in webkit [195359] by dburkart@apple.com
  • 2 edits in trunk/Tools

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):

11:27 AM Changeset in webkit [195358] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix CMake build after r195300.

  • PlatformMac.cmake:

Include editing/mac to find DataDetection.h.

10:23 AM Changeset in webkit [195357] by achristensen@apple.com
  • 11 edits in trunk/Source/WebKit2

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:
9:59 AM Changeset in webkit [195356] by commit-queue@webkit.org
  • 6 edits
    1 move in trunk/Source

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):

9:16 AM Changeset in webkit [195355] by Chris Dumez
  • 11 edits
    81 deletes in trunk

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:
5:25 AM Changeset in webkit [195354] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.10.5

WebKitGTK+ 2.10.5

5:19 AM Changeset in webkit [195353] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.10

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.10.5 release.

.:

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

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.10.5
4:46 AM Changeset in webkit [195352] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r195312 - Fixed compilation of AXObjectCache in case of !HAVE(ACCESSIBILITY).
https://bugs.webkit.org/show_bug.cgi?id=153243

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-19
Reviewed by Chris Fleizach.

No new tests needed.

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::AXObjectCache):
(WebCore::nodeHasRole): Deleted.

4:43 AM Changeset in webkit [195351] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r195231 - [EFL][GTK][WK2] Fix UIProcess build with GStreamer and without VIDEO
https://bugs.webkit.org/show_bug.cgi?id=153135

Patch by Olivier Blin <Olivier Blin> on 2016-01-18
Reviewed by Michael Catanzaro.

GStreamer builds fail when WebAudio is enabled but VIDEO disabled.

This change makes the flag more consistent around the
decicePolicyForInstallMissingMediaPluginsPermissionRequest() method:
ENABLE(VIDEO) && USE(GSTREAMER) everywhere, while the code used to
test either one or the other.

This does not enable InstallMissingMediaPlugins for WebAudio, since no
code makes use of this in WebKitWebAudioSourceGStreamer.

It also fixes a naming typo for the following method:
decidePolicyForInstallMissingMediaPluginsPermissionRequest()

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::decidePolicyForInstallMissingMediaPluginsPermissionRequest):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/PageClient.h:
  • UIProcess/efl/WebViewEfl.h:
  • UIProcess/gstreamer/WebPageProxyGStreamer.cpp:

(WebKit::WebPageProxy::requestInstallMissingMediaPlugins):

4:38 AM Changeset in webkit [195350] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r195349 - Unreviewed. Fix compile warning when building with GTK+ < 3.14.

  • rendering/RenderThemeGtk.cpp:

(WebCore::loadThemedIcon):

4:12 AM Changeset in webkit [195349] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix compile warning when building with GTK+ < 3.14.

  • rendering/RenderThemeGtk.cpp:

(WebCore::loadThemedIcon):

2:49 AM Changeset in webkit [195348] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[Mac] Speculative cmake buildfix after r195317.

  • PlatformMac.cmake:
1:07 AM Changeset in webkit [195347] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.11.4

WebKitGTK+ 2.11.4

1:04 AM Changeset in webkit [195346] by Carlos Garcia Campos
  • 4 edits in trunk

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.

Jan 19, 2016:

10:23 PM Changeset in webkit [195345] by Nikita Vasilyev
  • 2 edits in trunk/LayoutTests

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:
10:22 PM Changeset in webkit [195344] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

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 <Joseph Pecoraro> 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.

10:20 PM Changeset in webkit [195343] by Nikita Vasilyev
  • 5 edits in trunk/Source/WebInspectorUI

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".

10:20 PM Changeset in webkit [195342] by jmarcell@apple.com
  • 2 edits in trunk/Tools

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.

10:07 PM Changeset in webkit [195341] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:05 PM Changeset in webkit [195340] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.17

New tag.

8:39 PM Changeset in webkit [195339] by sbarati@apple.com
  • 3 edits in trunk/Source/WTF

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):

8:37 PM Changeset in webkit [195338] by bshafiei@apple.com
  • 5 edits in branches/safari-601.3.9.1-branch/Source

Versioning.

8:34 PM Changeset in webkit [195337] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.3.9.1.1

New tag.

8:06 PM Changeset in webkit [195336] by Chris Dumez
  • 7 edits
    3 deletes in trunk

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.
7:50 PM Changeset in webkit [195335] by commit-queue@webkit.org
  • 19 edits
    2 deletes in trunk/Source/WebCore

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

5:18 PM Changeset in webkit [195334] by beidson@apple.com
  • 67 edits in trunk/LayoutTests

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:
5:14 PM Changeset in webkit [195333] by bshafiei@apple.com
  • 2 edits in branches/safari-601.3.9.1-branch/Source/WebCore

Merged r192700. rdar://problem/19861992

5:11 PM Changeset in webkit [195332] by bshafiei@apple.com
  • 2 edits in branches/safari-601.3.9.1-branch/Source/WebCore

Merged r194235. rdar://problem/23944407

5:07 PM Changeset in webkit [195331] by bshafiei@apple.com
  • 3 edits in branches/safari-601.3.9.1-branch/Source/WebCore

Merged r192166. rdar://problem/22956040

5:07 PM Changeset in webkit [195330] by commit-queue@webkit.org
  • 6 edits in trunk

[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:
5:05 PM Changeset in webkit [195329] by bshafiei@apple.com
  • 2 edits in branches/safari-601.3.9.1-branch/Source/WebKit/win

Merge patch for rdar://problem/23025615.

5:03 PM Changeset in webkit [195328] by bshafiei@apple.com
  • 3 edits in branches/safari-601.3.9.1-branch/Source/WebKit/win

Merge patch for rdar://problem/23025615.

4:56 PM Changeset in webkit [195327] by Beth Dakin
  • 3 edits in trunk/Source/WebKit/mac

32-bit build fix.

  • WebView/WebView.mm:

(-[WebView updateWebViewAdditions]):
(-[WebView showCandidates:forString:inRect:view:completionHandler:]):

  • WebView/WebViewInternal.h:
4:55 PM Changeset in webkit [195326] by bshafiei@apple.com
  • 5 edits in branches/safari-601.3.9.1-branch/Source

Versioning.

4:53 PM Changeset in webkit [195325] by bshafiei@apple.com
  • 1 copy in branches/safari-601.3.9.1-branch

New Branch.

4:46 PM Changeset in webkit [195324] by Beth Dakin
  • 4 edits in trunk/Source/WebKit/mac

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:
4:45 PM Changeset in webkit [195323] by timothy@apple.com
  • 1 edit
    3 adds in trunk/Source/WebInspectorUI

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.
4:17 PM Changeset in webkit [195322] by Chris Dumez
  • 4 edits in trunk

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:
3:41 PM Changeset in webkit [195321] by beidson@apple.com
  • 141 edits
    63 copies
    6 adds in trunk/LayoutTests

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:
3:17 PM Changeset in webkit [195320] by timothy@apple.com
  • 1 edit in branches/safari-601-branch/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp

Release build fix.

3:15 PM Changeset in webkit [195319] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

[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:
3:03 PM Changeset in webkit [195318] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

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 <Joseph Pecoraro> on 2016-01-19
Reviewed by Timothy Hatcher.

  • UserInterface/Base/DOMUtilities.js:

Show the complete node highlight details (colors and node info).

2:58 PM Changeset in webkit [195317] by enrica@apple.com
  • 21 edits
    2 moves in trunk/Source

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:
2:37 PM Changeset in webkit [195316] by timothy@apple.com
  • 6 edits in branches/safari-601-branch/Source/WebInspectorUI

Merge r194920. rdar://problem/24208104

2:01 PM Changeset in webkit [195315] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

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.

1:49 PM Changeset in webkit [195314] by peavo@outlook.com
  • 3 edits in trunk/Source/JavaScriptCore

[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:
1:48 PM Changeset in webkit [195313] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[cmake] Fix the B3 build after r195159
https://bugs.webkit.org/show_bug.cgi?id=153232

Reviewed by Yusuke Suzuki.

  • CMakeLists.txt:
1:48 PM Changeset in webkit [195312] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fixed compilation of AXObjectCache in case of !HAVE(ACCESSIBILITY).
https://bugs.webkit.org/show_bug.cgi?id=153243

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-19
Reviewed by Chris Fleizach.

No new tests needed.

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::AXObjectCache):
(WebCore::nodeHasRole): Deleted.

1:26 PM Changeset in webkit [195311] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

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):

1:00 PM Changeset in webkit [195310] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

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

12:59 PM Changeset in webkit [195309] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

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

12:56 PM Changeset in webkit [195308] by commit-queue@webkit.org
  • 23 edits
    2 moves
    1 delete in trunk/Source

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

12:55 PM Changeset in webkit [195307] by fpizlo@apple.com
  • 7 edits
    1 add in trunk/Source/JavaScriptCore

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):

12:32 PM Changeset in webkit [195306] by Alan Bujtas
  • 3 edits
    2 adds in trunk

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.
12:20 PM Changeset in webkit [195305] by Nikita Vasilyev
  • 9 edits
    6 adds in trunk

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(n2) 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.
12:16 PM Changeset in webkit [195304] by Chris Dumez
  • 23 edits
    2 deletes in trunk/Source

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

11:53 AM Changeset in webkit [195303] by Matt Baker
  • 50 edits
    1 add in trunk/Source/WebInspectorUI

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.

11:37 AM Changeset in webkit [195302] by jer.noble@apple.com
  • 19 edits
    2 copies in trunk/Source/WebCore

[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>

11:35 AM Changeset in webkit [195301] by beidson@apple.com
  • 2 edits
    1 copy in trunk/LayoutTests

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.
11:34 AM Changeset in webkit [195300] by enrica@apple.com
  • 23 edits
    2 moves
    1 add in trunk/Source

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:
11:32 AM Changeset in webkit [195299] by beidson@apple.com
  • 29 edits
    27 copies in trunk/LayoutTests

Modern IDB: Split all storage/indexeddb tests into separate HTML + JS format.
https://bugs.webkit.org/show_bug.cgi?id=153178

Reviewed by Sam Weinig.

  • storage/indexeddb/clone-exception.html:
  • storage/indexeddb/closed-cursor.html:
  • storage/indexeddb/connection-leak.html:
  • storage/indexeddb/cursor-cast.html:
  • storage/indexeddb/cursor-leak.html:
  • storage/indexeddb/cursor-overloads.html:
  • storage/indexeddb/cursor-request-cycle.html:
  • storage/indexeddb/deleteIndex-bug110792.html:
  • storage/indexeddb/deletedatabase-transaction.html:
  • storage/indexeddb/metadata-race.html:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/object-lookups-in-versionchange.html:
  • storage/indexeddb/open-bad-versions.html:
  • storage/indexeddb/optional-arguments.html:
  • storage/indexeddb/prefetch-invalidation.html:
  • storage/indexeddb/prefetch-race.html:
  • storage/indexeddb/primary-key-unique-to-objectstore.html:
  • storage/indexeddb/request-leak.html:
  • storage/indexeddb/request-result-cache.html:
  • storage/indexeddb/resources/clone-exception.js: Copied from LayoutTests/storage/indexeddb/clone-exception.html.
  • storage/indexeddb/resources/closed-cursor.js: Copied from LayoutTests/storage/indexeddb/closed-cursor.html.
  • storage/indexeddb/resources/connection-leak.js: Copied from LayoutTests/storage/indexeddb/connection-leak.html.
  • storage/indexeddb/resources/cursor-cast.js: Copied from LayoutTests/storage/indexeddb/cursor-cast.html.
  • storage/indexeddb/resources/cursor-leak.js: Copied from LayoutTests/storage/indexeddb/cursor-leak.html.
  • storage/indexeddb/resources/cursor-overloads.js: Copied from LayoutTests/storage/indexeddb/cursor-overloads.html.
  • storage/indexeddb/resources/cursor-request-cycle.js: Copied from LayoutTests/storage/indexeddb/cursor-request-cycle.html.
  • storage/indexeddb/resources/deleteIndex-bug110792.js: Copied from LayoutTests/storage/indexeddb/deleteIndex-bug110792.html.
  • storage/indexeddb/resources/deletedatabase-transaction.js: Copied from LayoutTests/storage/indexeddb/deletedatabase-transaction.html.
  • storage/indexeddb/resources/metadata-race.js: Copied from LayoutTests/storage/indexeddb/metadata-race.html.
  • storage/indexeddb/resources/noblobs.js: Copied from LayoutTests/storage/indexeddb/noblobs.html.
  • storage/indexeddb/resources/object-lookups-in-versionchange.js: Copied from LayoutTests/storage/indexeddb/object-lookups-in-versionchange.html.
  • storage/indexeddb/resources/open-bad-versions.js: Copied from LayoutTests/storage/indexeddb/open-bad-versions.html.
  • storage/indexeddb/resources/optional-arguments.js: Copied from LayoutTests/storage/indexeddb/optional-arguments.html.
  • storage/indexeddb/resources/prefetch-invalidation.js: Copied from LayoutTests/storage/indexeddb/prefetch-invalidation.html.
  • storage/indexeddb/resources/prefetch-race.js: Copied from LayoutTests/storage/indexeddb/prefetch-race.html.
  • storage/indexeddb/resources/primary-key-unique-to-objectstore.js: Copied from LayoutTests/storage/indexeddb/primary-key-unique-to-objectstore.html.
  • storage/indexeddb/resources/request-leak.js: Copied from LayoutTests/storage/indexeddb/request-leak.html.
  • storage/indexeddb/resources/request-result-cache.js: Copied from LayoutTests/storage/indexeddb/request-result-cache.html.
  • storage/indexeddb/resources/structured-clone.js: Copied from LayoutTests/storage/indexeddb/structured-clone.html.
  • storage/indexeddb/resources/transaction-complete-with-js-recursion-cross-frame.js: Copied from LayoutTests/storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html.
  • storage/indexeddb/resources/transaction-complete-with-js-recursion.js: Copied from LayoutTests/storage/indexeddb/transaction-complete-with-js-recursion.html.
  • storage/indexeddb/resources/transaction-crash-in-tasks.js: Copied from LayoutTests/storage/indexeddb/transaction-crash-in-tasks.html.
  • storage/indexeddb/resources/transaction-ordering.js: Copied from LayoutTests/storage/indexeddb/transaction-ordering.html.
  • storage/indexeddb/resources/transaction-overlapping.js: Copied from LayoutTests/storage/indexeddb/transaction-overlapping.html.
  • storage/indexeddb/resources/version-change-event-basic.js: Copied from LayoutTests/storage/indexeddb/version-change-event-basic.html.
  • storage/indexeddb/resources/version-change-event.js: Copied from LayoutTests/storage/indexeddb/version-change-event.html.
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-complete-with-js-recursion.html:
  • storage/indexeddb/transaction-crash-in-tasks.html:
  • storage/indexeddb/transaction-ordering.html:
  • storage/indexeddb/transaction-overlapping.html:
  • storage/indexeddb/transaction-starvation.html:
  • storage/indexeddb/version-change-event-basic.html:
  • storage/indexeddb/version-change-event.html:
11:20 AM Changeset in webkit [195298] by fpizlo@apple.com
  • 40 edits
    4 adds
    1 delete in trunk/Source

FTL B3 should be just as fast as FTL LLVM on Octane/crypto
https://bugs.webkit.org/show_bug.cgi?id=153113

Reviewed by Saam Barati.

Source/JavaScriptCore:

This is the result of a hacking rampage to close the gap between FTL B3 and FTL LLVM on
Octane/crypto. It was a very successful rampage.

The biggest change in this patch is the introduction of a phase called fixObviousSpills()
that fixes patterns like:

Store register to stack slot and then use stack slot:

Move %rcx, (stack42)
Foo use:(stack42) replace (stack42) with %rcx here.

Load stack slot into register and then use stack slot:

Move (stack42), %rcx
Foo use:(stack42) replace (stack42) with %rcx here.

Store constant into stack slot and then use stack slot:

Move $42, %rcx
Move %rcx, (stack42)
Bar def:%rcx %rcx isn't available anymore, but we still know that (stack42) is $42
Foo use:(stack42)
replace (stack42) with $42 here.

This phases does these fixups by doing a global forward flow that propagates sets of
must-aliases.

Also added a phase to report register pressure. It pretty-prints code alongside the set of
in-use registers above each instruction. Using this phase, I found that our register
allocator is actually doing a pretty awesome job. I had previously feared that we'd have to
make substantial changes to register allocation. I don't have such a fear anymore, at least
for Octane/crypto. In the future, we can check how the regalloc is performing just by
enabling logAirRegisterPressure.

Also fixed some FTL codegen pathologies. We were using bitOr where we meant to use a
conditional or. LLVM likes to canonicalize boolean expressions this way. B3, on the other
hand, doesn't do this canonicalization and doesn't have logic to decompose it into sequences
of branches.

Also added strength reductions for checked arithmetic. It turns out that LLVM learned how to
reduce checked multiply to unchecked multiply in some obvious cases that our existing DFG
optimizations lacked. Ideally, our DFG integer range optimization phase would cover this. But
the cases of interest were dead simple - the incoming values to the CheckMul were obviously
too small to cause overflow. I added such reasoning to B3's strength reduction.

Finally, this fixes some bugs with how we were handling subwidth spill slots. The register
allocator was making two mistakes. First, it might cause a Width64 def or use of a 4-byte
spill slot. In that case, it would extend the size of the spill slot to ensure that the use
or def is safe. Second, it emulates ZDef on Tmp behavior by emitting a Move32 to initialize
the high bits of a spill slot. But this is unsound because of the liveness semantics of spill
slots. They cannot have more than one def to initialize their value. I fixed that by making
allocateStack() be the thing that fixes ZDefs. That's a change to ZDef semantics: now, ZDef
on an anonymous stack slot means that the high bits are zero-filled. I wasn't able to
construct a test for this. It might be a hypothetical bug, but still, I like how this
simplifies the register allocator.

This is a ~0.7% speed-up on Octane.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • b3/B3CheckSpecial.cpp:

(JSC::B3::CheckSpecial::hiddenBranch):
(JSC::B3::CheckSpecial::forEachArg):
(JSC::B3::CheckSpecial::commitHiddenBranch): Deleted.

  • b3/B3CheckSpecial.h:
  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::fillStackmap):
(JSC::B3::Air::LowerToAir::lower):

  • b3/B3StackmapValue.h:
  • b3/air/AirAllocateStack.cpp:

(JSC::B3::Air::allocateStack):

  • b3/air/AirAllocateStack.h:
  • b3/air/AirArg.h:

(JSC::B3::Air::Arg::callArg):
(JSC::B3::Air::Arg::stackAddr):
(JSC::B3::Air::Arg::isValidScale):

  • b3/air/AirBasicBlock.cpp:

(JSC::B3::Air::BasicBlock::deepDump):
(JSC::B3::Air::BasicBlock::dumpHeader):
(JSC::B3::Air::BasicBlock::dumpFooter):

  • b3/air/AirBasicBlock.h:
  • b3/air/AirCCallSpecial.cpp:

(JSC::B3::Air::CCallSpecial::CCallSpecial):
(JSC::B3::Air::CCallSpecial::~CCallSpecial):

  • b3/air/AirCode.h:

(JSC::B3::Air::Code::lastPhaseName):
(JSC::B3::Air::Code::setEnableRCRS):
(JSC::B3::Air::Code::enableRCRS):

  • b3/air/AirCustom.cpp:

(JSC::B3::Air::PatchCustom::isValidForm):
(JSC::B3::Air::CCallCustom::isValidForm):

  • b3/air/AirCustom.h:

(JSC::B3::Air::PatchCustom::isValidFormStatic):
(JSC::B3::Air::PatchCustom::admitsStack):
(JSC::B3::Air::PatchCustom::isValidForm): Deleted.

  • b3/air/AirEmitShuffle.cpp:

(JSC::B3::Air::ShufflePair::dump):
(JSC::B3::Air::createShuffle):
(JSC::B3::Air::emitShuffle):

  • b3/air/AirEmitShuffle.h:
  • b3/air/AirFixObviousSpills.cpp: Added.

(JSC::B3::Air::fixObviousSpills):

  • b3/air/AirFixObviousSpills.h: Added.
  • b3/air/AirFixSpillSlotZDef.h: Removed.
  • b3/air/AirGenerate.cpp:

(JSC::B3::Air::prepareForGeneration):
(JSC::B3::Air::generate):

  • b3/air/AirHandleCalleeSaves.cpp:

(JSC::B3::Air::handleCalleeSaves):

  • b3/air/AirInst.h:
  • b3/air/AirInstInlines.h:

(JSC::B3::Air::Inst::reportUsedRegisters):
(JSC::B3::Air::Inst::admitsStack):
(JSC::B3::Air::isShiftValid):

  • b3/air/AirIteratedRegisterCoalescing.cpp:
  • b3/air/AirLiveness.h:

(JSC::B3::Air::AbstractLiveness::AbstractLiveness):
(JSC::B3::Air::AbstractLiveness::LocalCalc::Iterable::begin):
(JSC::B3::Air::AbstractLiveness::LocalCalc::Iterable::end):
(JSC::B3::Air::AbstractLiveness::LocalCalc::Iterable::contains):
(JSC::B3::Air::AbstractLiveness::LocalCalc::live):
(JSC::B3::Air::AbstractLiveness::LocalCalc::isLive):
(JSC::B3::Air::AbstractLiveness::LocalCalc::execute):
(JSC::B3::Air::AbstractLiveness::rawLiveAtHead):
(JSC::B3::Air::AbstractLiveness::Iterable::begin):
(JSC::B3::Air::AbstractLiveness::Iterable::end):
(JSC::B3::Air::AbstractLiveness::Iterable::contains):
(JSC::B3::Air::AbstractLiveness::liveAtTail):
(JSC::B3::Air::AbstractLiveness::workset):

  • b3/air/AirLogRegisterPressure.cpp: Added.

(JSC::B3::Air::logRegisterPressure):

  • b3/air/AirLogRegisterPressure.h: Added.
  • b3/air/AirOptimizeBlockOrder.cpp:

(JSC::B3::Air::blocksInOptimizedOrder):
(JSC::B3::Air::optimizeBlockOrder):

  • b3/air/AirOptimizeBlockOrder.h:
  • b3/air/AirReportUsedRegisters.cpp:

(JSC::B3::Air::reportUsedRegisters):

  • b3/air/AirReportUsedRegisters.h:
  • b3/air/AirSpillEverything.cpp:

(JSC::B3::Air::spillEverything):

  • b3/air/AirStackSlot.h:

(JSC::B3::Air::StackSlot::isLocked):
(JSC::B3::Air::StackSlot::index):
(JSC::B3::Air::StackSlot::ensureSize):
(JSC::B3::Air::StackSlot::alignment):

  • b3/air/AirValidate.cpp:
  • ftl/FTLB3Compile.cpp:

(JSC::FTL::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithDiv):
(JSC::FTL::DFG::LowerDFGToLLVM::compileArithMod):

  • jit/RegisterSet.h:

(JSC::RegisterSet::get):
(JSC::RegisterSet::setAll):
(JSC::RegisterSet::merge):
(JSC::RegisterSet::filter):

  • runtime/Options.h:

Source/WTF:

  • wtf/IndexSparseSet.h:

(WTF::IndexSparseSet<OverflowHandler>::IndexSparseSet):
(WTF::IndexSparseSet<OverflowHandler>::add):
(WTF::IndexSparseSet<OverflowHandler>::remove):

  • wtf/StringPrintStream.h:

(WTF::StringPrintStream::length):

10:35 AM Changeset in webkit [195297] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, undo unintended commit.

  • dfg/DFGCommon.h:
10:34 AM Changeset in webkit [195296] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Fix Air shuffling assertions
https://bugs.webkit.org/show_bug.cgi?id=153213

Reviewed by Saam Barati.

Fixes some assertions that I was seeing running JSC tests. Adds a new Air test.

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::store8):
(JSC::MacroAssemblerX86Common::getUnusedRegister):

  • b3/air/AirEmitShuffle.cpp:

(JSC::B3::Air::emitShuffle):

  • b3/air/AirLowerAfterRegAlloc.cpp:

(JSC::B3::Air::lowerAfterRegAlloc):

  • b3/air/testair.cpp:

(JSC::B3::Air::testShuffleRotateWithFringe):
(JSC::B3::Air::testShuffleRotateWithFringeInWeirdOrder):
(JSC::B3::Air::testShuffleRotateWithLongFringe):
(JSC::B3::Air::run):

10:21 AM Changeset in webkit [195295] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed, rolling out r187471.
https://bugs.webkit.org/show_bug.cgi?id=153236

purportedly caused a significant memory regression and want to
see if that is true (Requested by thorton on #webkit).

Reverted changeset:

"First in-window viewStateChange synchronously blocks despite
not previously being in-window"
https://bugs.webkit.org/show_bug.cgi?id=147344
http://trac.webkit.org/changeset/187471

9:50 AM Changeset in webkit [195294] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix typo in comment added in r195157.

  • dom/DocumentType.h:
9:39 AM Changeset in webkit [195293] by Antti Koivisto
  • 12 edits in trunk/Source/WebCore

Selector checker should not mutate document and style
https://bugs.webkit.org/show_bug.cgi?id=153205

Reviewed by Darin Adler.

Selector checker currently writes affected-by bits and similar directly to the document and style during selector
matching. This is confusing, complicated and wrong.

This patch changes SelectorChecker and SelectorCompiler to collect style relatationship metadata to a separate
data structure (currently part of SelectorChecker::CheckingContext) instead of changing the document and style
directly. The mutations are performed later outside selector checker.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::ruleMatches):
(WebCore::ElementRuleCollector::commitStyleRelations):

Apply the relationship bit to elements and style.

(WebCore::ElementRuleCollector::collectMatchingRulesForList):

  • css/ElementRuleCollector.h:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::LocalContext::LocalContext):

LocalContext is now a separate data structure.

(WebCore::addStyleRelation):

Helper for recording new style relations. This is used where code mutated elements or style directly before.

(WebCore::isFirstChildElement):
(WebCore::isLastChildElement):
(WebCore::isFirstOfType):
(WebCore::isLastOfType):
(WebCore::countElementsBefore):
(WebCore::countElementsOfTypeBefore):
(WebCore::SelectorChecker::SelectorChecker):
(WebCore::SelectorChecker::match):
(WebCore::hasScrollbarPseudoElement):
(WebCore::localContextForParent):
(WebCore::SelectorChecker::matchRecursively):
(WebCore::attributeValueMatches):
(WebCore::anyAttributeMatches):
(WebCore::canMatchHoverOrActiveInQuirksMode):
(WebCore::tagMatches):
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::matchSelectorList):
(WebCore::SelectorChecker::checkScrollbarPseudoClass):
(WebCore::SelectorChecker::CheckingContextWithStatus::CheckingContextWithStatus): Deleted.
(WebCore::checkingContextForParent): Deleted.

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::CheckingContext::CheckingContext):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::isEnabled):
(WebCore::isMediaDocument):
(WebCore::isChecked):
(WebCore::isInRange):
(WebCore::isOutOfRange):

  • css/StyleResolver.h:

(WebCore::checkRegionSelector):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelationIfResolvingStyle):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelation):

Helpers for generating code for recording new style relations. This is used where code mutated elements or style directly before.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorCheckerExcludingPseudoElements):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::addStyleRelationElementFunction):
(WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNoPreviousAdjacentElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::moduloIsZero):
(WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateContextFunctionCallTest):
(WebCore::SelectorCompiler::elementIsActive):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::jumpIfElementIsNotEmpty):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsEmpty):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
(WebCore::SelectorCompiler::elementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLastChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsOnlyChild):
(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::isPlaceholderShown):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLink):
(WebCore::SelectorCompiler::nthFilterIsAlwaysSatisified):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChildOf):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthLastChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthLastChildOf):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateMarkPseudoStyleForPseudoElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext): Deleted.
(WebCore::SelectorCompiler::setNodeFlag): Deleted.
(WebCore::SelectorCompiler::SelectorCodeGenerator::markElementIfResolvingStyle): Deleted.
(WebCore::SelectorCompiler::setFirstChildState): Deleted.
(WebCore::SelectorCompiler::elementIsActiveForStyleResolution): Deleted.
(WebCore::SelectorCompiler::setElementStyleIsAffectedByEmpty): Deleted.
(WebCore::SelectorCompiler::setElementStyleFromContextIsAffectedByEmptyAndUpdateRenderStyleIfNecessary): Deleted.
(WebCore::SelectorCompiler::elementIsHoveredForStyleResolution): Deleted.
(WebCore::SelectorCompiler::setLastChildState): Deleted.
(WebCore::SelectorCompiler::setOnlyChildState): Deleted.
(WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown): Deleted.
(WebCore::SelectorCompiler::setElementChildIndex): Deleted.
(WebCore::SelectorCompiler::setChildrenAffectedByBackwardPositionalRules): Deleted.
(WebCore::SelectorCompiler::setParentAffectedByLastChildOf): Deleted.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::selectorMatches):
(WebCore::SelectorDataList::selectorClosest):
(WebCore::SelectorDataList::matches):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::buildObjectForSelectorHelper):

9:20 AM Changeset in webkit [195292] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r195291 - Unreviewed. Fix GTK+ build with GTK+ < 3.14.

Flags GTK_ICON_LOOKUP_DIR_LTR and GTK_ICON_LOOKUP_DIR_RTL were
added in GTK+ 3.14.

  • rendering/RenderThemeGtk.cpp:

(WebCore::loadThemedIcon):

9:06 AM Changeset in webkit [195291] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix GTK+ build with GTK+ < 3.14.

Flags GTK_ICON_LOOKUP_DIR_LTR and GTK_ICON_LOOKUP_DIR_RTL were
added in GTK+ 3.14.

  • rendering/RenderThemeGtk.cpp:

(WebCore::loadThemedIcon):

9:03 AM Changeset in webkit [195290] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[mips] Logical instructions allow immediates in range 0..0xffff, not 0x7fff
https://bugs.webkit.org/show_bug.cgi?id=152693

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-19
Reviewed by Michael Saboff.

  • offlineasm/mips.rb:
9:00 AM Changeset in webkit [195289] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix GObject DOM bindings API break after r195264.

Add webkit_dom_character_data_set_data to the list of functions
that used to raise exceptions.

  • bindings/scripts/CodeGeneratorGObject.pm:

(FunctionUsedToRaiseException):

8:49 AM Changeset in webkit [195288] by Carlos Garcia Campos
  • 4 edits in trunk

[GTK] Runtime critical warnings when loading a URL after a session restore
https://bugs.webkit.org/show_bug.cgi?id=153233

Reviewed by Michael Catanzaro.

Source/WebKit2:

This happens when doing a normal load after restoring the back
forward list from session state and the list contained forward
items. In that case the forward items are removed from the list
and we try to reference a WebBackForwardListItem wrapper that
hasn't been created. We create the wrappers on demand, and when
the back forward list is populated from session state, items are
added to the list without creating their wrappers. That was not
possible before, and that's why we assumed that any item that is
removed from the list should have a wrapper already created.

  • UIProcess/API/gtk/WebKitBackForwardList.cpp:

(webkitBackForwardListChanged): If we don't have a wrapper for the
removed item, create a new one to be passed to the signal, but
without adding it to the map.

Tools:

Add new test case.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp:

(viewLoadChanged):
(testWebKitWebViewNavigationAfterSessionRestore):
(beforeAll):

7:40 AM Changeset in webkit [195287] by Michael Catanzaro
  • 2 edits
    1 delete in trunk/Tools

[GTK] Remove jhbuild-optional.modules
https://bugs.webkit.org/show_bug.cgi?id=152964

Reviewed by Alex Christensen.

  • gtk/jhbuild-optional.modules: Removed.
  • gtk/jhbuild.modules:
5:15 AM Changeset in webkit [195286] by Carlos Garcia Campos
  • 4 edits in trunk/Tools

[GTK] Add support to load/save session in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=153201

Reviewed by Michael Catanzaro.

It makes it easier to test the new WebView session API.

  • MiniBrowser/gtk/BrowserWindow.c:

(browserWindowFinalize): Free the session file path.
(browserWindowSaveSession): Save the current WebView session if
there's a session file path.
(browserWindowDeleteEvent): Call browserWindowSaveSession().
(browser_window_load_session): Try to load the session from the
given file path, otherwise fall back to homepage and keep the
session file to save the session on window close.

  • MiniBrowser/gtk/BrowserWindow.h:
  • MiniBrowser/gtk/main.c:

(createBrowserWindow): Pass the given session file path when
shouldLoadSession is TRUE.
(main): Only allow to restore/save session when MiniBrowser is
launched without URL arguments.

5:14 AM Changeset in webkit [195285] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/geolocation-permission-requests after r195075.

Geolocation is no longer allowed for unique origins after r195075.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:

(testWebViewGeolocationPermissionRequests):

3:36 AM Changeset in webkit [195284] by jfernandez@igalia.com
  • 4 edits
    2 adds in trunk

[css-grid][css-align] justify-self stretch is not applied for img elements
https://bugs.webkit.org/show_bug.cgi?id=153206

Reviewed by Darin Adler.

Source/WebCore:

When computing the logical height, we check first if there is an override
height value set as a consequence of the stretching logic, so we use it
directly for any kind of element. However, in the case of the width
computation, we don't use such override value because it's the default
behavior of block-level boxes.

However, we consider some special cases which have to be treated as
replaced elements. Theses cases are evaluated first, so we don't let the
regular width computation logic to be executed, which is what we want
to implement the stretch behavior.

In order to let replaced elements, such images, to be stretched as a
consequence of the CSS alignment properties, we need to exclude grid
items from the cases to be treated as replaced elements during the width
computation.

Test: fast/css-grid-layout/grid-align-stretching-replaced-items.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::hasStretchedLogicalWidth):
(WebCore::RenderBox::sizesLogicalWidthToFitContent):

  • rendering/RenderBox.h:

LayoutTests:

Test to verify Replaced Elements, like images, are stretched in the inline
axis, when fulfilling the Box Alignment restrictions on this regard.

  • fast/css-grid-layout/grid-align-stretching-replaced-items-expected.txt: Added.
  • fast/css-grid-layout/grid-align-stretching-replaced-items.html: Added.
3:23 AM Changeset in webkit [195283] by Carlos Garcia Campos
  • 15 edits
    2 adds in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r189454 - StackOverflow stack unwinding should stop at native frames.
https://bugs.webkit.org/show_bug.cgi?id=148749

Reviewed by Michael Saboff.

In the present code, after ping-pong'ing back and forth between native and JS
code a few times, if we have a stack overflow on re-entry into the VM to run
JS code's whose stack frame would overflow the JS stack, the code will end up
unwinding past the native function that is making the call to re-enter the VM.
As a result, any clean up code (e.g. destructors for stack variables) in the
skipped native function frame (and its chain of native function callers) will
not be called.

This patch is based on the Michael Saboff's fix of this issue landed on the
jsc-tailcall branch: http://trac.webkit.org/changeset/188555

We now check for the case where there are no JS frames to unwind since the
last native frame, and treat the exception as an unhandled exception. The
native function is responsible for further propagating the exception if needed.

Other supporting work:

  1. Remove vm->vmEntryFrameForThrow. It should always be the same as vm->topVMEntryFrame.
  2. Change operationThrowStackOverflowError() to use the throwStackOverflowError() helper function instead of rolling its own.
  3. Added a test that exercises this edge case. The test should not hang or crash.
  • API/tests/PingPongStackOverflowTest.cpp: Added.

(PingPongStackOverflowObject_hasInstance):
(testPingPongStackOverflow):

  • API/tests/PingPongStackOverflowTest.h: Added.
  • API/tests/testapi.c:

(main):

(JSC::ExecState::operator=):
(JSC::ExecState::callerFrame):
(JSC::ExecState::callerFrameOrVMEntryFrame):
(JSC::ExecState::argIndexForRegister):
(JSC::ExecState::callerFrameAndPC):

  • interpreter/Interpreter.cpp:

(JSC::UnwindFunctor::UnwindFunctor):
(JSC::UnwindFunctor::operator()):
(JSC::Interpreter::unwind):

  • interpreter/Interpreter.h:

(JSC::NativeCallFrameTracer::NativeCallFrameTracer):
(JSC::Interpreter::sampler):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::jumpToExceptionHandler):

  • jit/JITExceptions.cpp:

(JSC::genericUnwind):

  • jit/JITExceptions.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOperations.cpp:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/VM.h:

(JSC::VM::exceptionOffset):
(JSC::VM::callFrameForThrowOffset):
(JSC::VM::vmEntryFrameForThrowOffset): Deleted.
(JSC::VM::topVMEntryFrameOffset): Deleted.

3:23 AM Changeset in webkit [195282] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r189979 - WebContent crash in WebCore::MemoryPressureHandler::releaseCriticalMemory() with GuardMalloc when preparing to suspend
https://bugs.webkit.org/show_bug.cgi?id=149350

Reviewed by Antti Koivisto.

in MemoryPressureHandler::releaseCriticalMemory(), iterate over a copy of
Document::allDocuments() instead of iterating over allDocuments() directly.
Also make sure the Documents are ref'd inside the copy.

This is needed because clearing the StyleResolver of a Document may cause
Documents to be unref'd and removed from the allDocument() HashSet.

No new tests, already covered by existing tests.

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseCriticalMemory):

2:47 AM Changeset in webkit [195281] by rniwa@webkit.org
  • 6 edits
    2 adds in trunk

Text::splitText doesn't update Range end points anchored on parent nodes
https://bugs.webkit.org/show_bug.cgi?id=153227

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Rebaseline the test now that we're passing more test cases.

  • web-platform-tests/dom/ranges/Range-mutations-expected.txt:

Source/WebCore:

When a Text node is split into two and there is a Range whose boundary points' container node
is its parent and offset appears after the Text node, we must update the boundary points as specified
in step 7 of the concept "split" a Text node at https://dom.spec.whatwg.org/#concept-text-split

  1. Insert new node into parent before node’s next sibling.
  2. For each range whose start node is node and start offset is greater than offset, set its start node to new node and decrease its start offset by offset.
  3. For each range whose end node is node and end offset is greater than offset, set its end node to new node and decrease its end offset by offset.
  4. For each range whose start node is parent and start offset is equal to the index of node + 1, increase its start offset by one.
  5. For each range whose end node is parent and end offset is equal to the index of node + 1, increase its end offset by one.

Fixed the bug by implementing steps 4 and 5 in boundaryTextNodesSplit. New behavior matches the DOM spec
as well as the behavior of Firefox.

Test: fast/dom/Range/update-range-in-split-text.html

  • dom/Range.cpp:

(WebCore::boundaryTextNodesSplit): See above.

  • dom/RangeBoundaryPoint.h:

(WebCore::RangeBoundaryPoint::setToAfterChild): Added.

LayoutTests:

Added a regression test since the rebaselined W3C test is incomprehensible.

  • fast/dom/Range/update-range-in-split-text-expected.txt: Added.
  • fast/dom/Range/update-range-in-split-text.html: Added.
2:13 AM Changeset in webkit [195280] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r193626 - [GTK] Allow applications to force Accelerated Compositing mode
https://bugs.webkit.org/show_bug.cgi?id=150558

Patch by Mario Sanchez Prada <mario@endlessm.com> on 2015-12-07
Reviewed by Carlos Garcia Campos.

Enable forcing Accelerated Compositing mode to be always on if
a WEBKIT_FORCE_COMPOSITING_MODE environment variable is set.

This can be useful for controlled environments where we know that
AC always on works well enough, to get smoother animations.

  • UIProcess/gtk/WebPreferencesGtk.cpp:

(WebKit::WebPreferences::platformInitializeStore): Set forceCompositingMode
setting to true if the environment variable is found.

2:13 AM WebKitGTK/2.10.x edited by Carlos Garcia Campos
(diff)
2:09 AM WebKitGTK/2.10.x edited by Carlos Garcia Campos
(diff)
2:05 AM Changeset in webkit [195279] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r195186 - Add quotes around ${CMAKE_SHARED_LINKER_FLAGS} in case it is unset
https://bugs.webkit.org/show_bug.cgi?id=153175

Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-01-17
Reviewed by Michael Catanzaro.

  • PlatformGTK.cmake:
1:56 AM Changeset in webkit [195278] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r195169 - Add Platform.cpp to ANGLESupport

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

Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-01-16
Reviewed by Darin Adler.

No new tests, only addresses a build failure.

  • CMakeLists.txt:
1:47 AM Changeset in webkit [195277] by Carlos Garcia Campos
  • 4 edits
    4 adds in releases/WebKitGTK/webkit-2.10

Merge r195162 - FrameLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame() is never called when loading a main resource from the memory cache
https://bugs.webkit.org/show_bug.cgi?id=152520
<rdar://problem/23305737>

Reviewed by Andy Estes.

Source/WebCore:

Test: http/tests/loading/server-redirect-for-provisional-load-caching.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):
Dispatch message to notify client that a cached resource was redirected. So,
client can make proper actions to treat server side redirection.

  • loader/cache/CachedRawResource.h:

Add a method to tell whether the cached resource was redirected.

LayoutTests:

  • http/tests/loading/resources/server-redirect-result.html: Added.
  • http/tests/loading/resources/server-redirect.php: Added.
  • http/tests/loading/server-redirect-for-provisional-load-caching-expected.txt: Added.
  • http/tests/loading/server-redirect-for-provisional-load-caching.html: Added.
1:40 AM Changeset in webkit [195276] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r195153 - [GTK] Fix build of RenderThemeGtk without VIDEO by including HTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=153133

Patch by Olivier Blin <Olivier Blin> on 2016-01-15
Reviewed by Michael Catanzaro.

Build was fine with VIDEO enabled, since HTMLInputElement.h was
included by transitivity through MediaControlElements.h and
MediaControlElementTypes.h.

This seems to be broken since r194847.

No new tests since this is just a build fix.

  • rendering/RenderThemeGtk.cpp:
1:39 AM Changeset in webkit [195275] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10
Merge r195146 - ASSERTION FAILED: canHaveChildren()
canHaveGeneratedChildren() in WebCore::RenderElement::insertChildInternal

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

Reviewed by Darin Adler.

Do not set named flow fragment bit on the flow until after the renderer is attached. Setting/resetting it too early
could affect the attach/detach process itself (This is similar to attaching a multi column flow thread).

Source/WebCore:

Test: fast/regions/input-box-with-region-assert.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):
(WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
(WebCore::RenderBlockFlow::setRenderNamedFlowFragment):

LayoutTests:

  • fast/regions/input-box-with-region-assert-expected.txt: Added.
  • fast/regions/input-box-with-region-assert.html: Added.
1:37 AM Changeset in webkit [195274] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r195134 - [mips] Implemented emitFunctionPrologue/Epilogue
https://bugs.webkit.org/show_bug.cgi?id=152947

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-15
Reviewed by Michael Saboff.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::popPair):
(JSC::MacroAssemblerMIPS::pushPair):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitFunctionPrologue):
(JSC::AssemblyHelpers::emitFunctionEpilogueWithEmptyFrame):
(JSC::AssemblyHelpers::emitFunctionEpilogue):

1:36 AM Changeset in webkit [195273] by Carlos Garcia Campos
  • 5 edits
    8 adds in releases/WebKitGTK/webkit-2.10

Merge r195100 - CORS: Fix the handling of redirected request containing Origin null.
https://bugs.webkit.org/show_bug.cgi?id=128816

Reviewed by Brent Fulgham.

Source/WebCore:

Merging Blink patch from George Ancil (https://chromiumcodereview.appspot.com/20735002).

This patch removes the check for securityOrigin->isUnique() in passesAccessControlCheck().
This check prevented a redirected request with "Origin: null" from being
successful even when the response contains "Access-Control-Allow-Origin: null"

Tests: http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow-origin-null.html

http/tests/xmlhttprequest/redirect-cors-origin-null.html

  • loader/CrossOriginAccessControl.cpp:

(WebCore::passesAccessControlCheck):

LayoutTests:

Merging Blink patch from George Ancil (https://chromiumcodereview.appspot.com/20735002)

Added two tests to check CORS with Origin null in HTTP redirect and iframe cases.
Updated two test sandboxed iframes test expectations (requests are still denied but error messages are different).

  • http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow-origin-null-expected.txt: Added.
  • http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow-origin-null.html: Added.
  • http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard-expected.txt:
  • http/tests/xmlhttprequest/redirect-cors-origin-null-expected.txt: Added.
  • http/tests/xmlhttprequest/redirect-cors-origin-null.html: Added.
  • http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-allow-origin-null-iframe.html: Added.
  • http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-allow-origin-null.cgi: Added.
  • http/tests/xmlhttprequest/resources/redirect-cors-origin-null-pass.php: Added.
  • http/tests/xmlhttprequest/resources/redirect-cors-origin-null.php: Added.
1:33 AM Changeset in webkit [195272] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r195093 - [mips] Add countLeadingZeros32 implementation in macro assembler
https://bugs.webkit.org/show_bug.cgi?id=152886

Reviewed by Michael Saboff.

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::lui):
(JSC::MIPSAssembler::clz):
(JSC::MIPSAssembler::addiu):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::and32):
(JSC::MacroAssemblerMIPS::countLeadingZeros32):
(JSC::MacroAssemblerMIPS::lshift32):

1:30 AM Changeset in webkit [195271] by Carlos Garcia Campos
  • 6 edits
    15 adds in releases/WebKitGTK/webkit-2.10

Merge r195075 - Disallow use of Geolocation service from unique origins
https://bugs.webkit.org/show_bug.cgi?id=153102
<rdar://problem/23055645>

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests: fast/dom/Geolocation/dataURL-getCurrentPosition.html

fast/dom/Geolocation/dataURL-watchPosition.html
fast/dom/Geolocation/srcdoc-getCurrentPosition.html
fast/dom/Geolocation/srcdoc-watchPosition.html
http/tests/security/sandboxed-iframe-geolocation-getCurrentPosition.html
http/tests/security/sandboxed-iframe-geolocation-watchPosition.html

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::securityOrigin): Convenience function to get the SecurityOrigin object
associated with this script execution context.
(WebCore::Geolocation::startRequest): Notify requester POSITION_UNAVAILABLE when requested
from a document with a unique origin.

  • Modules/geolocation/Geolocation.h:
  • page/SecurityOrigin.h:

(WebCore::SecurityOrigin::canRequestGeolocation): Added.

LayoutTests:

  • fast/dom/Geolocation/dataURL-getCurrentPosition-expected.txt: Added.
  • fast/dom/Geolocation/dataURL-getCurrentPosition.html: Added.
  • fast/dom/Geolocation/dataURL-watchPosition-expected.txt: Added.
  • fast/dom/Geolocation/dataURL-watchPosition.html: Added.
  • fast/dom/Geolocation/srcdoc-getCurrentPosition-expected.txt: Added.
  • fast/dom/Geolocation/srcdoc-getCurrentPosition.html: Added.
  • fast/dom/Geolocation/srcdoc-watchPosition-expected.txt: Added.
  • fast/dom/Geolocation/srcdoc-watchPosition.html: Added.
  • http/tests/security/resources/checkThatPositionErrorCallbackIsCalledWithPositionUnavailableForGeolocationMethod.js: Added.

(done):
(logMessage):
(didReceivePosition):
(didReceiveError):
(checkThatPositionErrorCallbackIsCalledWithPositionUnavailableForGeolocationMethod):
(markupToCheckThatPositionErrorCallbackIsCalledWithPositionUnavailableForGeolocationMethod):
(dataURLToCheckThatPositionErrorCallbackIsCalledWithPositionUnavailableForGeolocationMethod):

  • http/tests/security/resources/sandboxed-iframe-geolocation-getCurrentPosition.html: Added.
  • http/tests/security/resources/sandboxed-iframe-geolocation-watchPosition.html: Added.
  • http/tests/security/sandboxed-iframe-geolocation-getCurrentPosition-expected.txt: Added.
  • http/tests/security/sandboxed-iframe-geolocation-getCurrentPosition.html: Added.
  • http/tests/security/sandboxed-iframe-geolocation-watchPosition-expected.txt: Added.
  • http/tests/security/sandboxed-iframe-geolocation-watchPosition.html: Added.
1:07 AM Changeset in webkit [195270] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r195074 - [XSS Auditor] Extract attribute truncation logic and formalize string canonicalization
https://bugs.webkit.org/show_bug.cgi?id=152874

Reviewed by Brent Fulgham.

Derived from Blink patch (by Tom Sepez <tsepez@chromium.org>):
<https://src.chromium.org/viewvc/blink?revision=176339&view=revision>

Extract the src-like and script-like attribute truncation logic into independent functions
towards making it more straightforward to re-purpose this logic. Additionally, formalize the
concept of string canonicalization as a member function that consolidates the process of
decoding URL escape sequences, truncating the decoded string (if applicable), and removing
characters that are considered noise.

  • html/parser/XSSAuditor.cpp:

(WebCore::truncateForSrcLikeAttribute): Extracted from XSSAuditor::decodedSnippetForAttribute().
(WebCore::truncateForScriptLikeAttribute): Ditto.
(WebCore::XSSAuditor::init): Write in terms of XSSAuditor::canonicalize().
(WebCore::XSSAuditor::filterCharacterToken): Updated to make use of formalized canonicalization methods.
(WebCore::XSSAuditor::filterScriptToken): Ditto.
(WebCore::XSSAuditor::filterObjectToken): Ditto.
(WebCore::XSSAuditor::filterParamToken): Ditto.
(WebCore::XSSAuditor::filterEmbedToken): Ditto.
(WebCore::XSSAuditor::filterAppletToken): Ditto.
(WebCore::XSSAuditor::filterFrameToken): Ditto.
(WebCore::XSSAuditor::filterInputToken): Ditto.
(WebCore::XSSAuditor::filterButtonToken): Ditto.
(WebCore::XSSAuditor::eraseDangerousAttributesIfInjected): Ditto.
(WebCore::XSSAuditor::eraseAttributeIfInjected): Updated code to use early return style and avoid an unnecessary string
comparison when we know that a src attribute was injected.
(WebCore::XSSAuditor::canonicalizedSnippetForTagName): Renamed; formerly known as XSSAuditor::decodedSnippetForName(). Updated
to make use of XSSAuditor::canonicalize().
(WebCore::XSSAuditor::snippetFromAttribute): Renamed; formerly known as XSSAuditor::decodedSnippetForAttribute(). Moved
truncation logic from here to WebCore::truncateFor{Script, Src}LikeAttribute.
(WebCore::XSSAuditor::canonicalize): Added.
(WebCore::XSSAuditor::canonicalizedSnippetForJavaScript): Added.
(WebCore::canonicalize): Deleted.
(WebCore::XSSAuditor::decodedSnippetForName): Deleted.
(WebCore::XSSAuditor::decodedSnippetForAttribute): Deleted.
(WebCore::XSSAuditor::decodedSnippetForJavaScript): Deleted.

  • html/parser/XSSAuditor.h: Define enum class for the various attribute truncation styles.
1:06 AM Changeset in webkit [195269] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r195073 - [XSS Auditor] Partial bypass when web server collapses path components
https://bugs.webkit.org/show_bug.cgi?id=152872

Reviewed by Brent Fulgham.

Merged from Blink (patch by Tom Sepez <tsepez@chromium.org>):
<https://src.chromium.org/viewvc/blink?revision=167610&view=revision>

Source/WebCore:

Test: http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html

  • html/parser/XSSAuditor.cpp:

(WebCore::isNonCanonicalCharacter):
(WebCore::XSSAuditor::init):
(WebCore::XSSAuditor::decodedSnippetForName):
(WebCore::XSSAuditor::decodedSnippetForAttribute):
(WebCore::XSSAuditor::decodedSnippetForJavaScript):
(WebCore::fullyDecodeString): Deleted.

LayoutTests:

  • http/tests/security/xssAuditor/embed-tag-in-path-unterminated-expected.txt: Added.
  • http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html: Added.
  • http/tests/security/xssAuditor/intercept/.htaccess:
1:04 AM Changeset in webkit [195268] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r195072 - imported/blink/editing/text-iterator/read-past-cloned-first-letter.html crashes
https://bugs.webkit.org/show_bug.cgi?id=153104
-and corresponding-
rdar://problem/24155631

Reviewed by Simon Fraser.

Though we merged the Blink test, we never merged Blink patch that fixed this
bug. So this is a merge of https://github.com/ChromiumWebApps/blink/commit/5a0d23d4368c661f621364339fde66b41ef019e5

  • editing/TextIterator.cpp:

(WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter):

1:02 AM Changeset in webkit [195267] by Carlos Garcia Campos
  • 6 edits
    2 adds in releases/WebKitGTK/webkit-2.10
Merge r195069 - ASSERTION FAILED: !newRelayoutRoot.container()
!newRelayoutRoot.container()->needsLayout() in WebCore::FrameView::scheduleRelayoutOfSubtree

https://bugs.webkit.org/show_bug.cgi?id=151605#c1

Reviewed by David Hyatt.

Do not let RenderMultiColumnSet/RenderFlowThread mark ancestors dirty while updating scrollbars
for overflow content. While updating scrollbars, we only layout descendants so marking parents dirty
is unnecessary and could lead to an invalid dirty state.

Source/WebCore:

Test: fast/multicol/body-stuck-with-dirty-bit-with-columns.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutSpecialExcludedChild):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::invalidateRegions):

  • rendering/RenderFlowThread.h:
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::prepareForLayout):

LayoutTests:

  • fast/multicol/body-stuck-with-dirty-bit-with-columns-expected.txt: Added.
  • fast/multicol/body-stuck-with-dirty-bit-with-columns.html: Added.
1:00 AM Changeset in webkit [195266] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r195058 - [GTK] [EFL] Hyphenation can never work in practice due to requirements on lang tags
https://bugs.webkit.org/show_bug.cgi?id=147310

Patch by Martin Robinson <mrobinson@igalia.com> on 2016-01-14
Reviewed by Michael Catanzaro.

Source/WebCore:

Test: platform/gtk/fast/text/hyphenate-flexible-locales.html

  • platform/text/hyphen/HyphenationLibHyphen.cpp: Make locale matching for dictionary

selection a lot looser by matching case insensitively, matching multiple dictionaries
when only the language is specified, and ignoring the difference between '_' and '-' in
the locale name.
(WebCore::scanDirectoryForDicionaries): Now produce HashMap of Vectors instead of a single
path for each locale. Also add alternate entries to handle different ways of specifying
the locale.
(WebCore::scanTestDictionariesDirectoryIfNecessary): Update to handle the difference
in HashMap type.
(WebCore::availableLocales): Ditto.
(WebCore::canHyphenate): Also look for the lowercased version of the locale.
(WebCore::AtomicStringKeyedMRUCache<RefPtr<HyphenationDictionary>>::createValueForKey):
Key on the dictionary path now so that we can load more than one dictionary per locale.
(WebCore::lastHyphenLocation): Iterate through each matched dictionary in turn.

LayoutTests:

Update some baselines and add a GTK+ specific test for locale variations.

  • platform/gtk/fast/text/hyphenate-flexible-locales-expected.html: Added.
  • platform/gtk/fast/text/hyphenate-flexible-locales.html: Added.
  • platform/gtk/fast/text/hyphenate-locale-expected.png: We now properly hyphenate

text with the 'en' locale.

  • platform/gtk/fast/text/hyphenate-locale-expected.txt:
12:59 AM Changeset in webkit [195265] by Carlos Garcia Campos
  • 24 edits
    3 adds in releases/WebKitGTK/webkit-2.10

Merge r195010 - Fix problems with cross-origin redirects
https://bugs.webkit.org/show_bug.cgi?id=116075

Reviewed by Daniel Bates.

LayoutTests/imported/w3c:

Rebasing test expectations.
These tests cannot work as expected as WTR/DRT block access to www2.localhost and example.not.

  • web-platform-tests/XMLHttpRequest/send-redirect-bogus-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-redirect-to-cors-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-redirect-to-non-cors-expected.txt:

Source/WebCore:

Merging https://chromium.googlesource.com/chromium/blink/+/7ea774e478f84f355748108d2aaabca15355d512 by Ken Russell
Same origin redirect responses leading to cross-origin requests were checked as cross-origin redirect responses.
Introduced ClientRequestedCredentials to manage whether credentials are needed or not in the cross-origin request.

In addition to Blink patch, it was needed to update some loaders with the newly introduced ClientRequestedCredentials parameter.
Added the clearing of "Accept-Encoding" header from cross-origin requests as Mac HTTP network layer is adding it for same-origin requests.

Test: http/tests/xmlhttprequest/access-control-and-redirects-async-same-origin.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::startLoadingMainResource): Added new security parameter (from Blink patch).

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::redirectReceived): Updated checks so that same origin redirections are not treated as cross origin redirections (from Blink patch).

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::start):

  • loader/NetscapePlugInStreamLoader.cpp:

(WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader): Added new security parameter.

  • loader/ResourceLoaderOptions.h:

(WebCore::ResourceLoaderOptions::ResourceLoaderOptions): Added new security parameter (from Blink patch).
(WebCore::ResourceLoaderOptions::credentialRequest):
(WebCore::ResourceLoaderOptions::setCredentialRequest):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Ditto.
(WebCore::CachedResourceLoader::defaultCachedResourceOptions): Ditto.

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::startLoading): Added new security parameter.

  • page/EventSource.cpp:

(WebCore::EventSource::connect): Added new security parameter (from Blink patch).

  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:

(WebCore::WebCoreAVCFResourceLoader::startLoading): Added new security parameter.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::startLoading): Ditto.

  • platform/network/ResourceHandleTypes.h: Added new security parameter constants (from Blink patch).
  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::clearHTTPAcceptEncoding): Function to remove "Accept-Encoding" header.

  • platform/network/ResourceRequestBase.h: Ditto.
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest): Added new security parameter.

LayoutTests:

Merging https://chromium.googlesource.com/chromium/blink/+/7ea774e478f84f355748108d2aaabca15355d512 by Ken Russell
This merge adds tests for cross origin requests triggered from same origin redirection responses with and without credentials).
Rebaseline of some tests due to console error messages generated from newly hit CORS checks.

  • TestExpectations: Disabled WPT tests that require access to non localhost URLs which are currently blocked by DTR/WTR.
  • http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
  • http/tests/xmlhttprequest/access-control-and-redirects-async-same-origin-expected.txt: Added.
  • http/tests/xmlhttprequest/access-control-and-redirects-async-same-origin.html: Added.
  • http/tests/xmlhttprequest/access-control-and-redirects-async.html:
  • http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
  • http/tests/xmlhttprequest/access-control-and-redirects.html:
  • http/tests/xmlhttprequest/redirect-cross-origin-2-expected.txt:
  • http/tests/xmlhttprequest/redirect-cross-origin-expected.txt:
  • http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt:
  • http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt:
  • http/tests/xmlhttprequest/resources/access-control-basic-allow-no-credentials.cgi: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
12:58 AM Changeset in webkit [195264] by rniwa@webkit.org
  • 12 edits in trunk/Source

CharacterData::setData doesn't need ExceptionCode as an out argument
https://bugs.webkit.org/show_bug.cgi?id=153225

Reviewed by Antti Koivisto.

Source/WebCore:

Removed the ExceptionCode out argument from CharacterData::setData since it's never used.

  • dom/CharacterData.cpp:

(WebCore::CharacterData::setData):
(WebCore::CharacterData::containsOnlyWhitespace):
(WebCore::CharacterData::setNodeValue):
(WebCore::CharacterData::setDataAndUpdate):

  • dom/CharacterData.h:

(WebCore::CharacterData::data):
(WebCore::CharacterData::dataMemoryOffset):
(WebCore::CharacterData::length):

  • dom/CharacterData.idl:
  • dom/Range.cpp:

(WebCore::Range::processContentsBetweenOffsets):

  • dom/Text.cpp:

(WebCore::Text::replaceWholeText):

  • editing/markup.cpp:

(WebCore::replaceChildrenWithFragment):
(WebCore::replaceChildrenWithText):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::setText):

  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::setText):

  • html/HTMLTitleElement.cpp:

(WebCore::HTMLTitleElement::setText):

Source/WebKit2:

  • WebProcess/InjectedBundle/API/mac/WKDOMText.mm:

(-[WKDOMText setData:]):

12:39 AM Changeset in webkit [195263] by rniwa@webkit.org
  • 10 edits
    2 adds in trunk

innerHTML should always add a mutation record for removing all children
https://bugs.webkit.org/show_bug.cgi?id=148782
<rdar://problem/22571962>

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Rebaseline a test now that all test test cases are passing.

  • web-platform-tests/dom/nodes/MutationObserver-inner-outer-expected.txt:

Source/WebCore:

Fixed the bug by disabling WebKit's optimization to avoid the node replacement when the behavior
is observable to scripts by either:

  • Author scripts has a reference to the node
  • MutationObserver can be observing this subtree
  • Mutation events can be observing this subtree

Note that no caller of this function exposes fragment to author scripts so it couldn't be referenced.
It also means that we don't need to check DOMNodeInsertedIntoDocument since it doesn't bubble up
(it's only relevant if the text node in fragment has its event listener but that's impossible).

Test: fast/dom/innerHTML-single-text-node.html

  • dom/ChildListMutationScope.h:

(WebCore::ChildListMutationScope::canObserve): Added.

  • editing/markup.cpp:

(WebCore::hasMutationEventListeners): Added.
(WebCore::replaceChildrenWithFragment):

LayoutTests:

Add a more comprehensive test for replacing a single text node with innerHTML's setter to ensure
WebKit's optimization to avoid replacing the node should not be observable by scripts in any way.

  • fast/dom/innerHTML-single-text-node-expected.txt: Added.
  • fast/dom/innerHTML-single-text-node.html: Added.
12:29 AM Changeset in webkit [195262] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r194982 - Cleanup: XSS Auditor should avoid re-evaluating the parsed script tag
https://bugs.webkit.org/show_bug.cgi?id=152870

Patch by Daniel Bates <dabates@apple.com> on 2016-01-13
Reviewed by Brent Fulgham.

Merged from Blink (patch by Tom Sepez <tsepez@chromium.org>):
<https://src.chromium.org/viewvc/blink?revision=154354&view=revision>

Although the XSS Auditor caches the decoded start tag of a script as an optimization to
avoid decoding it again when filtering the character data of the script, it is sufficient
to cache whether the HTTP response contains the decoded start tag of a script. This
avoids both decoding the start tag of a script and determining whether the HTTP response
contains it again when filtering the character data of the script. Moreover, this removes
the need to cache a string object.

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::filterCharacterToken):
(WebCore::XSSAuditor::filterScriptToken):

  • html/parser/XSSAuditor.h:
12:29 AM Changeset in webkit [195261] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194979 - [XSS Auditor] Do not include trailing comment characters in JavaScript snippets
https://bugs.webkit.org/show_bug.cgi?id=152873

Patch by Daniel Bates <dabates@apple.com> on 2016-01-13
Reviewed by Brent Fulgham.

Merged from Blink (patch by Tom Sepez <tsepez@chromium.org>):
<https://src.chromium.org/viewvc/blink?view=rev&revision=169967>

Source/WebCore:

Test: http/tests/security/xssAuditor/script-tag-with-injected-comment.html

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::decodedSnippetForJavaScript):

LayoutTests:

  • http/tests/security/xssAuditor/script-tag-with-injected-comment-expected.txt: Added.
  • http/tests/security/xssAuditor/script-tag-with-injected-comment.html: Added.
12:28 AM Changeset in webkit [195260] by Carlos Garcia Campos
  • 3 edits
    5 adds in releases/WebKitGTK/webkit-2.10

Merge r194978 - [XSS Auditor] Add test when XSS payload is in the path portion of the URL
https://bugs.webkit.org/show_bug.cgi?id=152871

Patch by Daniel Bates <dabates@apple.com> on 2016-01-13
Reviewed by Brent Fulgham.

Merged from Blink (patch by Tom Sepez <tsepez@chromium.org>):
<https://src.chromium.org/viewvc/blink?revision=164746&view=revision>

Tools:

  • Scripts/webkitpy/layout_tests/servers/lighttpd.conf:

LayoutTests:

Add infrastructure and a test for an XSS attack where the payload is
embedded in the path portion of the URL.

Many XSS Auditor tests pass the XSS payload to CGI scripts via the
query string portion of the URL. Now we also support calling these
same scripts with the payload embedded in the path portion of the
URL.

Loading <http://127.0.0.1:8000/security/xssAuditor/intercept/X/Y>
returns a response whose content is identical to <http://127.0.0.1:8000/security/xssAuditor/resoures/X?q=Y>,
where X is the filename of some CGI script in directory LayoutTests/http/tests/security/xssAuditor/resources
and Y is the XSS payload.

  • http/tests/security/xssAuditor/intercept/.htaccess: Added.
  • http/tests/security/xssAuditor/reflection-in-path-expected.txt: Added.
  • http/tests/security/xssAuditor/reflection-in-path.html: Added.
  • http/tests/security/xssAuditor/resources/echo-form-action.pl: Added.
12:26 AM Changeset in webkit [195259] by Carlos Garcia Campos
  • 30 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r194964 - Reference cycle between SVGPathElement and SVGPathSegWithContext leaks Document
https://bugs.webkit.org/show_bug.cgi?id=151810

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

Break the reference cycle between SVGPathElement and SVGPathSegWithContext
by changing the back-pointer to be a WeakPtr pointer instead of having it
RefPtr. Make sure the SVGPathSegWithContext derived classes handle correctly
the case when the SVGPathElement back-pointer is deleted.

Also change the SVGPathElement argument to the SVGPathSeg creation functions
and constructors to be a const reference instead of having it as a pointer
since SVGPathElement is the class factory for all these classes.

  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::SVGPathElement):
(WebCore::SVGPathElement::createSVGPathSegClosePath):
(WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
(WebCore::SVGPathElement::createSVGPathSegMovetoRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
(WebCore::SVGPathElement::createSVGPathSegArcAbs):
(WebCore::SVGPathElement::createSVGPathSegArcRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
(WebCore::SVGPathElement::isSupportedAttribute):

  • svg/SVGPathElement.h:
  • svg/SVGPathSegArc.h:

(WebCore::SVGPathSegArc::SVGPathSegArc):

  • svg/SVGPathSegArcAbs.h:

(WebCore::SVGPathSegArcAbs::create):
(WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):

  • svg/SVGPathSegArcRel.h:

(WebCore::SVGPathSegArcRel::create):
(WebCore::SVGPathSegArcRel::SVGPathSegArcRel):

  • svg/SVGPathSegClosePath.h:

(WebCore::SVGPathSegClosePath::create):
(WebCore::SVGPathSegClosePath::SVGPathSegClosePath):

  • svg/SVGPathSegCurvetoCubic.h:

(WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):

  • svg/SVGPathSegCurvetoCubicAbs.h:

(WebCore::SVGPathSegCurvetoCubicAbs::create):
(WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):

  • svg/SVGPathSegCurvetoCubicRel.h:

(WebCore::SVGPathSegCurvetoCubicRel::create):
(WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):

  • svg/SVGPathSegCurvetoCubicSmooth.h:

(WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):

  • svg/SVGPathSegCurvetoCubicSmoothAbs.h:

(WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):

  • svg/SVGPathSegCurvetoCubicSmoothRel.h:

(WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
(WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):

  • svg/SVGPathSegCurvetoQuadratic.h:

(WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):

  • svg/SVGPathSegCurvetoQuadraticAbs.h:

(WebCore::SVGPathSegCurvetoQuadraticAbs::create):
(WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):

  • svg/SVGPathSegCurvetoQuadraticRel.h:

(WebCore::SVGPathSegCurvetoQuadraticRel::create):
(WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):

  • svg/SVGPathSegCurvetoQuadraticSmoothAbs.h:

(WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
(WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):

  • svg/SVGPathSegCurvetoQuadraticSmoothRel.h:

(WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
(WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):

  • svg/SVGPathSegLinetoAbs.h:

(WebCore::SVGPathSegLinetoAbs::create):
(WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):

  • svg/SVGPathSegLinetoHorizontal.h:

(WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):

  • svg/SVGPathSegLinetoHorizontalAbs.h:

(WebCore::SVGPathSegLinetoHorizontalAbs::create):
(WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):

  • svg/SVGPathSegLinetoHorizontalRel.h:

(WebCore::SVGPathSegLinetoHorizontalRel::create):
(WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):

  • svg/SVGPathSegLinetoRel.h:

(WebCore::SVGPathSegLinetoRel::create):
(WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):

  • svg/SVGPathSegLinetoVertical.h:

(WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):

  • svg/SVGPathSegLinetoVerticalAbs.h:

(WebCore::SVGPathSegLinetoVerticalAbs::create):
(WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):

  • svg/SVGPathSegLinetoVerticalRel.h:

(WebCore::SVGPathSegLinetoVerticalRel::create):
(WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):

  • svg/SVGPathSegMovetoAbs.h:

(WebCore::SVGPathSegMovetoAbs::create):
(WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):

  • svg/SVGPathSegMovetoRel.h:

(WebCore::SVGPathSegMovetoRel::create):
(WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):

  • svg/SVGPathSegWithContext.h:

(WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
(WebCore::SVGPathSegWithContext::animatedProperty):
(WebCore::SVGPathSegWithContext::contextElement):
(WebCore::SVGPathSegWithContext::setContextAndRole):
(WebCore::SVGPathSegWithContext::commitChange):
(WebCore::SVGPathSegSingleCoordinate::setY):
(WebCore::SVGPathSegSingleCoordinate::SVGPathSegSingleCoordinate):

  • svg/properties/SVGPathSegListPropertyTearOff.cpp:

(WebCore::SVGPathSegListPropertyTearOff::clearContextAndRoles):
(WebCore::SVGPathSegListPropertyTearOff::replaceItem):
(WebCore::SVGPathSegListPropertyTearOff::removeItem):

12:23 AM Changeset in webkit [195258] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r194961 - [TexMap] BitmapTextureGL is not released while scene is updated continuously.
https://bugs.webkit.org/show_bug.cgi?id=152524

Patch by YongGeol Jung <yg48.jung@samsung.com> on 2016-01-13
Reviewed by Žan Doberšek.

This patch fixes two issues.
First, m_releaseUnusedTexturesTimer is not fired if scene is updated within 0.5s continuously.
In this case, BitmapTexturePool will not remove texture even if texture is not used for long time.
Second, m_releaseUnusedTexturesTimer is triggered by acquireTexture function only.
So, if next scene does not need to use BitmapTexture, remained textures in pool will not removed.

No new tests needed.

  • platform/graphics/texmap/BitmapTexturePool.cpp:

(WebCore::BitmapTexturePool::scheduleReleaseUnusedTextures):
(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):

12:22 AM Changeset in webkit [195257] by Carlos Garcia Campos
  • 27 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194927 - XSS Auditor should navigate to empty substitute data on full page block
https://bugs.webkit.org/show_bug.cgi?id=152868
<rdar://problem/18658448>

Reviewed by David Kilzer and Andy Estes.

Derived from Blink patch (by Tom Sepez <tsepez@chromium.org>):
<https://src.chromium.org/viewvc/blink?view=rev&revision=179240>

Source/WebCore:

Test: http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::didBlockScript): Modified to call NavigationScheduler::schedulePageBlock().

  • loader/NavigationScheduler.cpp:

(WebCore::ScheduledPageBlock::ScheduledPageBlock): Added.
(WebCore::NavigationScheduler::schedulePageBlock): Navigate to empty substitute data with
the same URL as the originating document.

  • loader/NavigationScheduler.h:

LayoutTests:

Added additional test block-does-not-leak-that-page-was-blocked-using-empty-data-url.html to explicitly
tests that we do redirect to an empty data URL when a full page block is triggered.

  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url-expected.txt: Added.
  • http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: Added.
  • http/tests/security/xssAuditor/full-block-base-href-expected.txt:
  • http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
  • http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
  • http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag.html:
  • http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
12:12 AM Changeset in webkit [195256] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r194925 - WebPageProxy should reattach to the web process before navigating
https://bugs.webkit.org/show_bug.cgi?id=153026

Reviewed by Anders Carlsson.

This fixes a crash (and lots of other corruption) when force-quitting
the web process during navigation.

Some objects (like ViewGestureController) use one-time initialization
to point to a ChildProcessProxy -- and, by design, we destroy them when
the ChildProcessProxy becomes invalid (i.e., crashes or quits).

If we navigate *before* creating a new, valid ChildProcessProxy, then
we accidentally re-create these objects pointing to the old, invalid
ChildProcessProxy.

We need to wait until we have a valid ChildProcessProxy before we
initialize these objects.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::reattachToWebProcessWithItem): Navigate after
reattaching to the web process so that lazily allocated helper objects
point to the right ChildProcessProxy.

12:09 AM Changeset in webkit [195255] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore/platform/gtk/po

Merge r194907 - [l10n] Updated French translation for WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=153013

Patch by Sam Friedmann <sfriedma@redhat.com> on 2016-01-12
Rubber-stamped by Michael Catanzaro.

  • fr.po:
12:09 AM Changeset in webkit [195254] by Carlos Garcia Campos
  • 4 edits
    3 adds in releases/WebKitGTK/webkit-2.10

Merge r194898 - Don't reuse memory cache entries with different charset
https://bugs.webkit.org/show_bug.cgi?id=110031
Source/WebCore:

rdar://problem/13666418

Reviewed by Andreas Kling.

Test: fast/loader/cache-encoding.html

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):
(WebCore::logResourceRevalidationDecision):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):

Pass full CachedResourceRequest to the function.
If charset differs don't reuse the cache entry.

  • loader/cache/CachedResourceLoader.h:

LayoutTests:

Reviewed by Andreas Kling.

  • fast/loader/cache-encoding-expected.txt: Added.
  • fast/loader/cache-encoding.html: Added.
  • fast/loader/resources/success.js: Added.
12:01 AM Changeset in webkit [195253] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r194890 - [GTK] UI process crashes if webkit_web_view_get_tls_info is called before internal load-committed event
https://bugs.webkit.org/show_bug.cgi?id=142375

Reviewed by Michael Catanzaro.

Remove all the hacks to emit delayed load events now that the
page cache resource load delegates are consistent with all other
resource loads.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewLoadChanged):
(webkitWebViewResourceLoadStarted):
(webkit_web_view_get_tls_info): Add a g_return_val_if_fail to
prevent this function from being misused.
(webkitWebViewDisconnectMainResourceResponseChangedSignalHandler): Deleted.
(webkitWebViewDispose): Deleted.
(webkitWebViewEmitLoadChanged): Deleted.
(webkitWebViewEmitDelayedLoadEvents): Deleted.
(mainResourceResponseChangedCallback): Deleted.
(waitForMainResourceResponseIfWaitingForResource): Deleted.

Jan 18, 2016:

11:57 PM Changeset in webkit [195252] by Carlos Garcia Campos
  • 4 edits
    3 adds in releases/WebKitGTK/webkit-2.10

Merge r194888 - Inconsistencies in main resource load delegates when loading from history
https://bugs.webkit.org/show_bug.cgi?id=150927

Reviewed by Michael Catanzaro.

Source/WebCore:

When restoring a page from the page cache, even though there
isn't an actual load of resources, we are still emitting the load
delegates to let the API layer know there are contents being
loaded in the web view. This makes the page cache restoring
transparent for the API layer. However, when restoring a page from
the cache, all the delegates are emitted after the load is
committed. This is not consistent with real loads, where we first
load the main resource and once we get a response we commit the
load. This inconsistency is problematic if the API layer expects
to always have a main resource with a response when the load is
committed. This is the case of the GTK+ port, for example. So,
this patch ensures that when a page is restored from the page
cache, the main resource load delegates that are emitted until a
response is received in normal loads, are emitted before the load
is committed.

Test: http/tests/loading/main-resource-delegates-on-back-navigation.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad): When loading from
the page cache, send delegate messages up to didReceiveResponse
for the main resource before the load is committed, and the
remaining messages afterwards.

LayoutTests:

Add test to check that main resource load delegates are emitted in
the same order before the load is committed when loading a page
from history with the page cache enabled and disabled.

  • http/tests/loading/main-resource-delegates-on-back-navigation-expected.txt: Added.
  • http/tests/loading/main-resource-delegates-on-back-navigation.html: Added.
  • http/tests/loading/resources/page-go-back-onload.html: Added.
  • loader/go-back-cached-main-resource-expected.txt:
11:51 PM Changeset in webkit [195251] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194867 - Padding added to table-cell element after font-size change.
https://bugs.webkit.org/show_bug.cgi?id=152796

Reviewed by David Hyatt.

Do not include intrinsicPaddingBefore value while figuring out the height of a row.
In RenderTableSection::calcRowLogicalHeight() we are interested in the height of the content
without the additional padding (normal padding is included).

Source/WebCore:

Test: fast/table/table-baseline-grows.html

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::calcRowLogicalHeight):

LayoutTests:

  • TestExpectations: This test fails even without the patch when Ahem font is not used.
  • fast/table/table-baseline-grows-expected.html: Added.
  • fast/table/table-baseline-grows.html: Added.
11:44 PM Changeset in webkit [195250] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2

Merge r194846 - [WK2][GTK] Propagate motion-notify-event signals from the WebView
https://bugs.webkit.org/show_bug.cgi?id=152974

Reviewed by Carlos Garcia Campos.

Always propagate motion-notify-event signals, regardless of what the
web process does, so that we can listen for those events (which does
not act on specific targets inside the webview) from the container
widget too, and not just from the WebView itself.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseMotionNotifyEvent): Ensure the signal gets propagated.

11:41 PM Changeset in webkit [195249] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194823 - REGRESSION (r194426): First email field is not autofilled on amazon.com
https://bugs.webkit.org/show_bug.cgi?id=152945
<rdar://problem/24082914>

Reviewed by Simon Fraser.

r194426 missed marking the m_layoutRoot for layout while converting to full layout (it only marked the new layout root).

Source/WebCore:

Test: fast/forms/multiple-subtree-layout-failure.html

  • page/FrameView.cpp:

(WebCore::FrameView::scheduleRelayoutOfSubtree):

LayoutTests:

  • fast/forms/multiple-subtree-layout-failure-expected.html: Added.
  • fast/forms/multiple-subtree-layout-failure.html: Added.
11:37 PM Changeset in webkit [195248] by rniwa@webkit.org
  • 13 edits
    1 copy
    1 move
    1 add in trunk

createAttribute should lowercase the attribute name in a HTML document
https://bugs.webkit.org/show_bug.cgi?id=153112

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline a test now that it's passing all test cases.

  • web-platform-tests/dom/nodes/Document-createAttribute-expected.txt:

Source/WebCore:

In a HTML document, we should always lowercase localName in document.createAttribute as specified in
https://dom.spec.whatwg.org/#dom-document-createattribute:

  1. If localName does not match the Name production in XML, throw an InvalidCharacterError exception.
  2. If the context object is an HTML document, let localName be converted to ASCII lowercase.
  3. Return a new attribute whose local name is localName.

Change WebKit's behavior to match the spec as well as Firefox. document.createAttributeNS will
continue to preserve the case as spec'ed.

No new tests are added since the behavior change is covered by existing tests.

  • dom/Document.cpp:

(WebCore::Document::createAttribute):

LayoutTests:

Update tests, rebaseline tests, and add more test cases as needed.

createAttribute lowercases localName and getAttributeNode finds attribute ignoring cases
whereas createAttributeNS preserves localName's case and getAttributeNodeNS finds attribute preserving cases

  • fast/dom/Element/mozilla-dom-base-tests/test_bug1075702-expected.txt: Since the test is adding "aa" as well

as "AA" as Attr nodes, we should be able to get both.

  • fast/dom/Element/mozilla-dom-base-tests/test_bug1075702.xhtml: Renamed from .html file since test cases here

are more relevant for XHTML documents.

  • fast/dom/Element/getAttribute-check-case-sensitivity-expected.txt:
  • fast/dom/Element/script-tests/getAttribute-check-case-sensitivity.js:

(testGetAttributeNodeMixedCase): Change the test case to retrieve the attribute name with lowercase name
since createAttribute always lowercases the name in a HTML document.
(testAttribNodeNamePreservesCase): Use getAttributeNode instead of getAttributeNodeNS since the former does
case insensitive lookup as needed here.
(testAttribNodeNamePreservesCaseGetNode): Ditto.
(testAttribNodeNamePreservesCaseGetNode2): Ditto. Use createAttributeNS to create a case-preserving Attr node.

  • fast/dom/Element/setAttributeNode-case-insensitivity-expected.txt:
  • fast/dom/Element/setAttributeNode-case-insensitivity.html: Since getAttributeNode does a case-insensitive

lookup, we should be getting the same Attr node for both 'style' and 'STYLE'.

  • fast/dom/Element/setAttributeNode-for-existing-attribute-expected.txt: Rebaselined. This is a progression

since we're now getting "green" when querying style.backgroundColor as expected.

  • fast/dom/Element/setAttributeNode-overriding-lowercase-values-1-expected.txt:
  • fast/dom/Element/setAttributeNode-overriding-lowercase-values-1.html: Updated test cases for new behavior.
  • fast/dom/Element/setAttributeNode-overriding-lowercase-values-1-xml-expected.txt: Added.
  • fast/dom/Element/setAttributeNode-overriding-lowercase-values-1-xml.xhtml: Added. Test behaviors in a XML

document.

10:02 PM Changeset in webkit [195247] by beidson@apple.com
  • 9 edits
    1 copy
    301 adds in trunk

Modern IDB: Add private-browsing variant for many IDB tests, and enable private browsing in Modern IDB.
https://bugs.webkit.org/show_bug.cgi?id=153179

Reviewed by Darin Adler.

Source/WebCore:

Tests: Many private-browsing copies of existing IDB tests.

  • Modules/indexeddb/client/IDBFactoryImpl.cpp:

(WebCore::IDBClient::shouldThrowSecurityException): Allow IDB access in private browsing.

LayoutTests:

Update many expectations files to skip some of the new tests on some platforms:

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

Add a special case for URLs that end with "-private.html" to enable private browsing:

  • resources/js-test.js:

Add a whole bunch of -private.html wrappers along with new test expectations, along
with some minor test changes to remove unnecessary ambiguity due to .html filename:

  • storage/indexeddb/aborted-versionchange-closes-private-expected.txt: Added.
  • storage/indexeddb/aborted-versionchange-closes-private.html: Added.
  • storage/indexeddb/basics-private-expected.txt: Added.
  • storage/indexeddb/basics-private.html: Added.
  • storage/indexeddb/create-and-remove-object-store-private-expected.txt: Added.
  • storage/indexeddb/create-and-remove-object-store-private.html: Added.
  • storage/indexeddb/create-object-store-options-private-expected.txt: Added.
  • storage/indexeddb/create-object-store-options-private.html: Added.
  • storage/indexeddb/createIndex-after-failure-private-expected.txt: Added.
  • storage/indexeddb/createIndex-after-failure-private.html: Added.
  • storage/indexeddb/createObjectStore-name-argument-required-private-expected.txt: Added.
  • storage/indexeddb/createObjectStore-name-argument-required-private.html: Added.
  • storage/indexeddb/createObjectStore-null-name-private-expected.txt: Added.
  • storage/indexeddb/createObjectStore-null-name-private.html: Added.
  • storage/indexeddb/cursor-added-bug-private-expected.txt: Added.
  • storage/indexeddb/cursor-added-bug-private.html: Added.
  • storage/indexeddb/cursor-advance-private-expected.txt: Added.
  • storage/indexeddb/cursor-advance-private.html: Added.
  • storage/indexeddb/cursor-basics-private-expected.txt: Added.
  • storage/indexeddb/cursor-basics-private.html: Added.
  • storage/indexeddb/cursor-continue-dir-private-expected.txt: Added.
  • storage/indexeddb/cursor-continue-dir-private.html: Added.
  • storage/indexeddb/cursor-continue-private-expected.txt: Added.
  • storage/indexeddb/cursor-continue-private.html: Added.
  • storage/indexeddb/cursor-continue-validity-private-expected.txt: Added.
  • storage/indexeddb/cursor-continue-validity-private.html: Added.
  • storage/indexeddb/cursor-delete-private-expected.txt: Added.
  • storage/indexeddb/cursor-delete-private.html: Added.
  • storage/indexeddb/cursor-finished-private-expected.txt: Added.
  • storage/indexeddb/cursor-finished-private.html: Added.
  • storage/indexeddb/cursor-inconsistency-private-expected.txt: Added.
  • storage/indexeddb/cursor-inconsistency-private.html: Added.
  • storage/indexeddb/cursor-index-delete-private-expected.txt: Added.
  • storage/indexeddb/cursor-index-delete-private.html: Added.
  • storage/indexeddb/cursor-key-order-private-expected.txt: Added.
  • storage/indexeddb/cursor-key-order-private.html: Added.
  • storage/indexeddb/cursor-prev-no-duplicate-private-expected.txt: Added.
  • storage/indexeddb/cursor-prev-no-duplicate-private.html: Added.
  • storage/indexeddb/cursor-primary-key-order-private-expected.txt: Added.
  • storage/indexeddb/cursor-primary-key-order-private.html: Added.
  • storage/indexeddb/cursor-properties-private-expected.txt: Added.
  • storage/indexeddb/cursor-properties-private.html: Added.
  • storage/indexeddb/cursor-reverse-bug-private-expected.txt: Added.
  • storage/indexeddb/cursor-reverse-bug-private.html: Added.
  • storage/indexeddb/cursor-skip-deleted-private-expected.txt: Added.
  • storage/indexeddb/cursor-skip-deleted-private.html: Added.
  • storage/indexeddb/cursor-update-private-expected.txt: Added.
  • storage/indexeddb/cursor-update-private.html: Added.
  • storage/indexeddb/cursor-update-value-argument-required-private-expected.txt: Added.
  • storage/indexeddb/cursor-update-value-argument-required-private.html: Added.
  • storage/indexeddb/cursor-value-private-expected.txt: Added.
  • storage/indexeddb/cursor-value-private.html: Added.
  • storage/indexeddb/database-basics-private-expected.txt: Added.
  • storage/indexeddb/database-basics-private.html: Added.
  • storage/indexeddb/database-close-private-expected.txt: Added.
  • storage/indexeddb/database-close-private.html: Added.
  • storage/indexeddb/database-closepending-flag-private-expected.txt: Added.
  • storage/indexeddb/database-closepending-flag-private.html: Added.
  • storage/indexeddb/database-deletepending-flag-private-expected.txt: Added.
  • storage/indexeddb/database-deletepending-flag-private.html: Added.
  • storage/indexeddb/database-name-undefined-private-expected.txt: Added.
  • storage/indexeddb/database-name-undefined-private.html: Added.
  • storage/indexeddb/database-odd-names-private-expected.txt: Added.
  • storage/indexeddb/database-odd-names-private.html: Added.
  • storage/indexeddb/database-quota-private-expected.txt: Added.
  • storage/indexeddb/database-quota-private.html: Added.
  • storage/indexeddb/database-wrapper-private-expected.txt: Added.
  • storage/indexeddb/database-wrapper-private.html: Added.
  • storage/indexeddb/delete-closed-database-object-private-expected.txt: Added.
  • storage/indexeddb/delete-closed-database-object-private.html: Added.
  • storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-private-expected.txt: Added.
  • storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-private.html: Added.
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-private-expected.txt: Added.
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-private.html: Added.
  • storage/indexeddb/delete-range-private-expected.txt: Added.
  • storage/indexeddb/delete-range-private.html: Added.
  • storage/indexeddb/deleteIndex-private-expected.txt: Added.
  • storage/indexeddb/deleteIndex-private.html: Added.
  • storage/indexeddb/deleteObjectStore-name-argument-required-private-expected.txt: Added.
  • storage/indexeddb/deleteObjectStore-name-argument-required-private.html: Added.
  • storage/indexeddb/deleteObjectStore-null-name-private-expected.txt: Added.
  • storage/indexeddb/deleteObjectStore-null-name-private.html: Added.
  • storage/indexeddb/deleted-objects-private-expected.txt: Added.
  • storage/indexeddb/deleted-objects-private.html: Added.
  • storage/indexeddb/deletedatabase-blocked-private-expected.txt: Added.
  • storage/indexeddb/deletedatabase-blocked-private.html: Added.
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-private-expected.txt: Added.
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-private.html: Added.
  • storage/indexeddb/deletedatabase-delayed-by-versionchange-private-expected.txt: Added.
  • storage/indexeddb/deletedatabase-not-blocked-private-expected.txt: Added.
  • storage/indexeddb/deletedatabase-not-blocked-private.html: Added.
  • storage/indexeddb/dont-wedge-private-expected.txt: Added.
  • storage/indexeddb/dont-wedge-private.html: Added.
  • storage/indexeddb/duplicates-private-expected.txt: Added.
  • storage/indexeddb/duplicates-private.html: Added.
  • storage/indexeddb/error-causes-abort-by-default-private-expected.txt: Added.
  • storage/indexeddb/error-causes-abort-by-default-private.html: Added.
  • storage/indexeddb/events-private-expected.txt: Added.
  • storage/indexeddb/events-private.html: Added.
  • storage/indexeddb/exception-in-event-aborts-private-expected.txt: Added.
  • storage/indexeddb/exception-in-event-aborts-private.html: Added.
  • storage/indexeddb/exceptions-private-expected.txt: Added.
  • storage/indexeddb/exceptions-private.html: Added.
  • storage/indexeddb/factory-cmp-private-expected.txt: Added.
  • storage/indexeddb/factory-cmp-private.html: Added.
  • storage/indexeddb/factory-deletedatabase-private-expected.txt: Added.
  • storage/indexeddb/factory-deletedatabase-private.html: Added.
  • storage/indexeddb/get-keyrange-private-expected.txt: Added.
  • storage/indexeddb/get-keyrange-private.html: Added.
  • storage/indexeddb/index-basics-private-expected.txt: Added.
  • storage/indexeddb/index-basics-private.html: Added.
  • storage/indexeddb/index-count-private-expected.txt: Added.
  • storage/indexeddb/index-count-private.html: Added.
  • storage/indexeddb/index-cursor-private-expected.txt: Added.
  • storage/indexeddb/index-cursor-private.html: Added.
  • storage/indexeddb/index-duplicate-keypaths-private-expected.txt: Added.
  • storage/indexeddb/index-duplicate-keypaths-private.html: Added.
  • storage/indexeddb/index-get-key-argument-required-private-expected.txt: Added.
  • storage/indexeddb/index-get-key-argument-required-private.html: Added.
  • storage/indexeddb/index-multientry-private-expected.txt: Added.
  • storage/indexeddb/index-multientry-private.html: Added.
  • storage/indexeddb/index-population-private-expected.txt: Added.
  • storage/indexeddb/index-population-private.html: Added.
  • storage/indexeddb/index-unique-private-expected.txt: Added.
  • storage/indexeddb/index-unique-private.html: Added.
  • storage/indexeddb/interfaces-private-expected.txt: Added.
  • storage/indexeddb/interfaces-private.html: Added.
  • storage/indexeddb/intversion-abort-in-initial-upgradeneeded-private-expected.txt: Added.
  • storage/indexeddb/intversion-abort-in-initial-upgradeneeded-private.html: Added.
  • storage/indexeddb/intversion-bad-parameters-private-expected.txt: Added.
  • storage/indexeddb/intversion-bad-parameters-private.html: Added.
  • storage/indexeddb/intversion-blocked-private-expected.txt: Added.
  • storage/indexeddb/intversion-blocked-private.html: Added.
  • storage/indexeddb/intversion-close-between-events-private-expected.txt: Added.
  • storage/indexeddb/intversion-close-between-events-private.html: Added.
  • storage/indexeddb/intversion-close-in-oncomplete-private-expected.txt: Added.
  • storage/indexeddb/intversion-close-in-oncomplete-private.html: Added.
  • storage/indexeddb/intversion-close-in-upgradeneeded-private-expected.txt: Added.
  • storage/indexeddb/intversion-close-in-upgradeneeded-private.html: Added.
  • storage/indexeddb/intversion-encoding-private-expected.txt: Added.
  • storage/indexeddb/intversion-encoding-private.html: Added.
  • storage/indexeddb/intversion-gated-on-delete-private-expected.txt: Added.
  • storage/indexeddb/intversion-gated-on-delete-private.html: Added.
  • storage/indexeddb/intversion-long-queue-private-expected.txt: Added.
  • storage/indexeddb/intversion-long-queue-private.html: Added.
  • storage/indexeddb/intversion-omit-parameter-private-expected.txt: Added.
  • storage/indexeddb/intversion-omit-parameter-private.html: Added.
  • storage/indexeddb/intversion-open-in-upgradeneeded-private-expected.txt: Added.
  • storage/indexeddb/intversion-open-in-upgradeneeded-private.html: Added.
  • storage/indexeddb/intversion-open-with-version-private-expected.txt: Added.
  • storage/indexeddb/intversion-open-with-version-private.html: Added.
  • storage/indexeddb/intversion-pending-version-changes-ascending-private-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-ascending-private.html: Added.
  • storage/indexeddb/intversion-pending-version-changes-descending-private-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-descending-private.html: Added.
  • storage/indexeddb/intversion-pending-version-changes-same-private-expected.txt: Added.
  • storage/indexeddb/intversion-pending-version-changes-same-private.html: Added.
  • storage/indexeddb/intversion-persistence-private-expected.txt: Added.
  • storage/indexeddb/intversion-persistence-private.html: Added.
  • storage/indexeddb/intversion-revert-on-abort-private-expected.txt: Added.
  • storage/indexeddb/intversion-revert-on-abort-private.html: Added.
  • storage/indexeddb/intversion-two-opens-no-versions-private-expected.txt: Added.
  • storage/indexeddb/intversion-two-opens-no-versions-private.html: Added.
  • storage/indexeddb/intversion-upgrades-private-expected.txt: Added.
  • storage/indexeddb/intversion-upgrades-private.html: Added.
  • storage/indexeddb/invalid-keys-private-expected.txt: Added.
  • storage/indexeddb/invalid-keys-private.html: Added.
  • storage/indexeddb/key-generator-private-expected.txt: Added.
  • storage/indexeddb/key-generator-private.html: Added.
  • storage/indexeddb/key-sort-order-across-types-private-expected.txt: Added.
  • storage/indexeddb/key-sort-order-across-types-private.html: Added.
  • storage/indexeddb/key-sort-order-date-private-expected.txt: Added.
  • storage/indexeddb/key-sort-order-date-private.html: Added.
  • storage/indexeddb/key-type-array-private-expected.txt: Added.
  • storage/indexeddb/key-type-array-private.html: Added.
  • storage/indexeddb/key-type-binary-private-expected.txt: Added.
  • storage/indexeddb/key-type-binary-private.html: Added.
  • storage/indexeddb/key-type-infinity-private-expected.txt: Added.
  • storage/indexeddb/key-type-infinity-private.html: Added.
  • storage/indexeddb/keypath-arrays-private-expected.txt: Added.
  • storage/indexeddb/keypath-arrays-private.html: Added.
  • storage/indexeddb/keypath-basics-private-expected.txt: Added.
  • storage/indexeddb/keypath-basics-private.html: Added.
  • storage/indexeddb/keypath-edges-private-expected.txt: Added.
  • storage/indexeddb/keypath-edges-private.html: Added.
  • storage/indexeddb/keypath-fetch-key-private-expected.txt: Added.
  • storage/indexeddb/keypath-fetch-key-private.html: Added.
  • storage/indexeddb/keypath-intrinsic-properties-private-expected.txt: Added.
  • storage/indexeddb/keypath-intrinsic-properties-private.html: Added.
  • storage/indexeddb/keyrange-private-expected.txt: Added.
  • storage/indexeddb/keyrange-private.html: Added.
  • storage/indexeddb/keyrange-required-arguments-private-expected.txt: Added.
  • storage/indexeddb/keyrange-required-arguments-private.html: Added.
  • storage/indexeddb/lazy-index-types-private-expected.txt: Added.
  • storage/indexeddb/lazy-index-types-private.html: Added.
  • storage/indexeddb/legacy-constants-private-expected.txt: Added.
  • storage/indexeddb/legacy-constants-private.html: Added.
  • storage/indexeddb/list-ordering-private-expected.txt: Added.
  • storage/indexeddb/list-ordering-private.html: Added.
  • storage/indexeddb/metadata-private-expected.txt: Added.
  • storage/indexeddb/metadata-private.html: Added.
  • storage/indexeddb/mutating-cursor-private-expected.txt: Added.
  • storage/indexeddb/mutating-cursor-private.html: Added.
  • storage/indexeddb/objectStore-required-arguments-private-expected.txt: Added.
  • storage/indexeddb/objectStore-required-arguments-private.html: Added.
  • storage/indexeddb/objectstore-autoincrement-private-expected.txt: Added.
  • storage/indexeddb/objectstore-autoincrement-private.html: Added.
  • storage/indexeddb/objectstore-basics-private-expected.txt: Added.
  • storage/indexeddb/objectstore-basics-private.html: Added.
  • storage/indexeddb/objectstore-clear-private-expected.txt: Added.
  • storage/indexeddb/objectstore-clear-private.html: Added.
  • storage/indexeddb/objectstore-count-private-expected.txt: Added.
  • storage/indexeddb/objectstore-count-private.html: Added.
  • storage/indexeddb/objectstore-cursor-private-expected.txt: Added.
  • storage/indexeddb/objectstore-cursor-private.html: Added.
  • storage/indexeddb/objectstore-removeobjectstore-private-expected.txt: Added.
  • storage/indexeddb/objectstore-removeobjectstore-private.html: Added.
  • storage/indexeddb/odd-strings-private-expected.txt: Added.
  • storage/indexeddb/odd-strings-private.html: Added.
  • storage/indexeddb/open-cursor-private-expected.txt: Added.
  • storage/indexeddb/open-cursor-private.html: Added.
  • storage/indexeddb/open-during-transaction-private-expected.txt: Added.
  • storage/indexeddb/open-during-transaction-private.html: Added.
  • storage/indexeddb/open-ordering-private-expected.txt: Added.
  • storage/indexeddb/open-ordering-private.html: Added.
  • storage/indexeddb/opencursor-key-private-expected.txt: Added.
  • storage/indexeddb/opencursor-key-private.html: Added.
  • storage/indexeddb/pending-activity-private-expected.txt: Added.
  • storage/indexeddb/pending-activity-private.html: Added.
  • storage/indexeddb/pending-version-change-on-exit-private-expected.txt: Added.
  • storage/indexeddb/pending-version-change-on-exit-private.html: Added.
  • storage/indexeddb/pending-version-change-stuck-private-expected.txt: Added.
  • storage/indexeddb/pending-version-change-stuck-private.html: Added.
  • storage/indexeddb/persistence-expected.txt:
  • storage/indexeddb/persistence-private-expected.txt: Copied from LayoutTests/storage/indexeddb/persistence-expected.txt.
  • storage/indexeddb/persistence-private.html: Added.
  • storage/indexeddb/prefetch-bugfix-108071-private-expected.txt: Added.
  • storage/indexeddb/prefetch-bugfix-108071-private.html: Added.
  • storage/indexeddb/queued-commands-private-expected.txt: Added.
  • storage/indexeddb/queued-commands-private.html: Added.
  • storage/indexeddb/readonly-private-expected.txt: Added.
  • storage/indexeddb/readonly-private.html: Added.
  • storage/indexeddb/readonly-properties-private-expected.txt: Added.
  • storage/indexeddb/readonly-properties-private.html: Added.
  • storage/indexeddb/removed-private-expected.txt: Added.
  • storage/indexeddb/removed-private.html: Added.
  • storage/indexeddb/request-continue-abort-private-expected.txt: Added.
  • storage/indexeddb/request-continue-abort-private.html: Added.
  • storage/indexeddb/request-event-propagation-private-expected.txt: Added.
  • storage/indexeddb/request-event-propagation-private.html: Added.
  • storage/indexeddb/resources/persistence.js:
  • storage/indexeddb/set_version_blocked-private-expected.txt: Added.
  • storage/indexeddb/set_version_blocked-private.html: Added.
  • storage/indexeddb/setversion-blocked-by-versionchange-close-private-expected.txt: Added.
  • storage/indexeddb/setversion-blocked-by-versionchange-close-private.html: Added.
  • storage/indexeddb/setversion-not-blocked-private-expected.txt: Added.
  • storage/indexeddb/setversion-not-blocked-private.html: Added.
  • storage/indexeddb/transaction-abort-private-expected.txt: Added.
  • storage/indexeddb/transaction-abort-private.html: Added.
  • storage/indexeddb/transaction-active-flag-private-expected.txt: Added.
  • storage/indexeddb/transaction-active-flag-private.html: Added.
  • storage/indexeddb/transaction-after-close-private-expected.txt: Added.
  • storage/indexeddb/transaction-after-close-private.html: Added.
  • storage/indexeddb/transaction-and-objectstore-calls-private-expected.txt: Added.
  • storage/indexeddb/transaction-and-objectstore-calls-private.html: Added.
  • storage/indexeddb/transaction-basics-private-expected.txt: Added.
  • storage/indexeddb/transaction-basics-private.html: Added.
  • storage/indexeddb/transaction-complete-workers-private-expected.txt: Added.
  • storage/indexeddb/transaction-complete-workers-private.html: Added.
  • storage/indexeddb/transaction-coordination-across-databases-private-expected.txt: Added.
  • storage/indexeddb/transaction-coordination-across-databases-private.html: Added.
  • storage/indexeddb/transaction-coordination-within-database-private-expected.txt: Added.
  • storage/indexeddb/transaction-coordination-within-database-private.html: Added.
  • storage/indexeddb/transaction-crash-on-abort-private-expected.txt: Added.
  • storage/indexeddb/transaction-crash-on-abort-private.html: Added.
  • storage/indexeddb/transaction-error-private-expected.txt: Added.
  • storage/indexeddb/transaction-error-private.html: Added.
  • storage/indexeddb/transaction-event-propagation-private-expected.txt: Added.
  • storage/indexeddb/transaction-event-propagation-private.html: Added.
  • storage/indexeddb/transaction-read-only-private-expected.txt: Added.
  • storage/indexeddb/transaction-read-only-private.html: Added.
  • storage/indexeddb/transaction-readwrite-exclusive-private-expected.txt: Added.
  • storage/indexeddb/transaction-readwrite-exclusive-private.html: Added.
  • storage/indexeddb/transaction-rollback-private-expected.txt: Added.
  • storage/indexeddb/transaction-rollback-private.html: Added.
  • storage/indexeddb/transaction-scope-sequencing-private-expected.txt: Added.
  • storage/indexeddb/transaction-scope-sequencing-private.html: Added.
  • storage/indexeddb/transaction-starvation-private-expected.txt: Added.
  • storage/indexeddb/transaction-storeNames-required-private-expected.txt: Added.
  • storage/indexeddb/transaction-storeNames-required-private.html: Added.
  • storage/indexeddb/unblocked-version-changes-private-expected.txt: Added.
  • storage/indexeddb/unblocked-version-changes-private.html: Added.
  • storage/indexeddb/unprefix-private-expected.txt: Added.
  • storage/indexeddb/unprefix-private.html: Added.
  • storage/indexeddb/value-undefined-private-expected.txt: Added.
  • storage/indexeddb/value-undefined-private.html: Added.
  • storage/indexeddb/values-odd-types-private-expected.txt: Added.
  • storage/indexeddb/values-odd-types-private.html: Added.
  • storage/indexeddb/version-change-abort-private-expected.txt: Added.
  • storage/indexeddb/version-change-abort-private.html: Added.
  • storage/indexeddb/version-change-exclusive-private-expected.txt: Added.
  • storage/indexeddb/version-change-exclusive-private.html: Added.
  • storage/indexeddb/versionchangerequest-activedomobject-private-expected.txt: Added.
  • storage/indexeddb/versionchangerequest-activedomobject-private.html: Added.
8:08 PM Changeset in webkit [195246] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

assertions in BytecodeUseDef.h about opcode length are off by one
https://bugs.webkit.org/show_bug.cgi?id=153215

Reviewed by Dan Bernstein.

  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):

8:05 PM Changeset in webkit [195245] by clopez@igalia.com
  • 2 edits in trunk/Tools

[GTK][EFL] Layout tests abort with PulseAudioSanitizer instance has no attribute '_pa_module_index' when the build is not ready.
https://bugs.webkit.org/show_bug.cgi?id=153216

Reviewed by Michael Catanzaro.

  • Scripts/webkitpy/port/pulseaudio_sanitizer.py:

(PulseAudioSanitizer.init): initialize _pa_module_index in the constructor.

7:28 PM Changeset in webkit [195244] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS Simulator WK1] ASSERT loading Blink layout test imported/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-idl.html
https://bugs.webkit.org/show_bug.cgi?id=153070
<rdar://problem/24183105>

Reviewed by Darin Adler.

No new tests, this prevents an existing test from crashing.

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource): Create the timer with RunLoop::current

instead of RunLoop::main.

6:56 PM Changeset in webkit [195243] by Gyuyoung Kim
  • 18 edits in trunk/Source/WebCore

Reduce PassRefPtr uses in dom - 3
https://bugs.webkit.org/show_bug.cgi?id=153055

Reviewed by Darin Adler.

Third patch to reduce uses of PassRefPtr in WebCore/dom.

  • dom/MutationObserverInterestGroup.cpp:

(WebCore::MutationObserverInterestGroup::enqueueMutationRecord):

  • dom/MutationRecord.cpp:

(WebCore::MutationRecord::createChildList):
(WebCore::MutationRecord::createAttributes):
(WebCore::MutationRecord::createCharacterData):
(WebCore::MutationRecord::createWithNullOldValue):

  • dom/MutationRecord.h:
  • dom/NamedFlowCollection.cpp:

(WebCore::NamedFlowCollection::createCSSOMSnapshot):

  • dom/NamedFlowCollection.h:
  • dom/PendingScript.cpp:

(WebCore::PendingScript::releaseElementAndClear):

  • dom/PendingScript.h:
  • dom/ScriptRunner.h:
  • dom/SecurityContext.h:
  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::cloneNode):

  • dom/ShadowRoot.h:
  • dom/SpaceSplitString.cpp:

(WebCore::SpaceSplitStringData::create):

  • dom/SpaceSplitString.h:
  • dom/TreeWalker.cpp:

(WebCore::TreeWalker::setCurrent):
(WebCore::TreeWalker::parentNode):
(WebCore::TreeWalker::previousNode):
(WebCore::TreeWalker::nextNode):

  • dom/TreeWalker.h:
  • dom/default/PlatformMessagePortChannel.cpp:

(WebCore::PlatformMessagePortChannel::entangledChannel):

  • dom/default/PlatformMessagePortChannel.h:
5:23 PM Changeset in webkit [195242] by Michael Catanzaro
  • 3 edits in trunk

[CMake] Duplicate attempts to find software during cmake stage
https://bugs.webkit.org/show_bug.cgi?id=153211

Reviewed by Martin Robinson.

  • CMakeLists.txt: Remove duplication of commands in WebKitCommon.cmake.
  • Source/cmake/WebKitCommon.cmake: Guard the entire file so it runs only once.
5:08 PM Changeset in webkit [195241] by ryuan.choi@navercorp.com
  • 7 edits in trunk/Source/WebKit2

[EFL] Remove wkView() from EwkView
https://bugs.webkit.org/show_bug.cgi?id=152604

Reviewed by Gyuyoung Kim.

  • UIProcess/API/efl/EwkView.cpp:

(EwkViewEventHandler<EVAS_CALLBACK_SHOW>::handleEvent):
(EwkViewEventHandler<EVAS_CALLBACK_HIDE>::handleEvent):
(EwkView::EwkView):
(EwkView::create):
(EwkView::wkPage):
(EwkView::isVisible):
(EwkView::setVisible):
(EwkView::setDeviceScaleFactor):
(EwkView::deviceSize):
(EwkView::displayTimerFired):
(EwkView::setViewportPosition):
(EwkView::requestExitFullScreen):
(EwkView::contentsSize):
(EwkView::setThemePath):
(EwkView::feedTouchEvent):
(EwkView::createGLSurface):
(EwkView::showContextMenu):
(EwkView::requestPopupMenu):
(EwkView::webView):
(EwkView::handleEvasObjectCalculate):
(EwkView::handleEvasObjectColorSet):
(EwkView::handleEwkViewFocusIn):
(EwkView::handleEwkViewFocusOut):
(EwkView::feedTouchEvents):
(EwkView::takeSnapshot):
(EwkView::scrollBy):
(EwkView::setBackgroundColor):
(EwkView::backgroundColor):

  • UIProcess/API/efl/EwkView.h:

(EwkView::wkView): Deleted.

  • UIProcess/API/efl/GestureRecognizer.cpp:

(WebKit::GestureHandler::handleSingleTap):

  • UIProcess/API/efl/ewk_view.cpp:

(EWKViewCreate):
(EWKViewGetWKView):
(ewk_view_fullscreen_exit):
(ewk_view_layout_fixed_set):
(ewk_view_layout_fixed_get):
(ewk_view_layout_fixed_size_set):
(ewk_view_layout_fixed_size_get):
(ewk_view_bg_color_get):
(ewk_view_contents_size_get):

  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::setPageScaleFactor):

  • UIProcess/efl/ViewClientEfl.cpp:

(WebKit::ViewClientEfl::webProcessDidRelaunch):
(WebKit::ViewClientEfl::ViewClientEfl):
(WebKit::ViewClientEfl::~ViewClientEfl):

4:56 PM Changeset in webkit [195240] by n_wang@apple.com
  • 9 edits
    4 adds in trunk

AX: [Mac] Implement next/previous text marker functions using TextIterator
https://bugs.webkit.org/show_bug.cgi?id=152728

Reviewed by Chris Fleizach.

Source/WebCore:

The existing AXTextMarker based calls are implemented using visible position, and that introduced
some bugs which make VoiceOver working incorrectly on Mac sometimes. Since TextIterator uses rendering
position, we tried to use it to refactor those AXTextMarker based calls.
In this patch, I implemented functions to navigate to previous/next text marker using Range and TextIterator.
Also added a conversion between visible position and character offset to make sure unconverted text marker
related functions are still working correctly.

Tests: accessibility/mac/previous-next-text-marker.html

accessibility/mac/text-marker-with-user-select-none.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::visiblePositionForTextMarkerData):
(WebCore::AXObjectCache::traverseToOffsetInRange):
(WebCore::AXObjectCache::lengthForRange):
(WebCore::AXObjectCache::rangeForNodeContents):
(WebCore::characterOffsetsInOrder):
(WebCore::AXObjectCache::rangeForUnorderedCharacterOffsets):
(WebCore::AXObjectCache::setTextMarkerDataWithCharacterOffset):
(WebCore::AXObjectCache::startOrEndTextMarkerDataForRange):
(WebCore::AXObjectCache::textMarkerDataForCharacterOffset):
(WebCore::AXObjectCache::nextNode):
(WebCore::AXObjectCache::previousNode):
(WebCore::AXObjectCache::visiblePositionFromCharacterOffset):
(WebCore::AXObjectCache::characterOffsetFromVisiblePosition):
(WebCore::AXObjectCache::accessibilityObjectForTextMarkerData):
(WebCore::AXObjectCache::textMarkerDataForVisiblePosition):

  • accessibility/AXObjectCache.h:

(WebCore::CharacterOffset::CharacterOffset):
(WebCore::CharacterOffset::remaining):
(WebCore::CharacterOffset::isNull):
(WebCore::AXObjectCache::setNodeInUse):
(WebCore::AXObjectCache::removeNodeForUse):
(WebCore::AXObjectCache::isNodeInUse):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::selectionRange):
(WebCore::AccessibilityObject::elementRange):
(WebCore::AccessibilityObject::selectText):
(WebCore::AccessibilityObject::lineRangeForPosition):
(WebCore::AccessibilityObject::replacedNodeNeedsCharacter):
(WebCore::renderListItemContainerForNode):
(WebCore::listMarkerTextForNode):
(WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
(WebCore::AccessibilityObject::stringForRange):
(WebCore::AccessibilityObject::stringForVisiblePositionRange):
(WebCore::replacedNodeNeedsCharacter): Deleted.

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::visiblePositionRange):
(WebCore::AccessibilityObject::visiblePositionRangeForLine):
(WebCore::AccessibilityObject::boundsForVisiblePositionRange):
(WebCore::AccessibilityObject::setSelectedVisiblePositionRange):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(isTextMarkerIgnored):
(-[WebAccessibilityObjectWrapper accessibilityObjectForTextMarker:]):
(accessibilityObjectForTextMarker):
(-[WebAccessibilityObjectWrapper textMarkerRangeFromRange:]):
(textMarkerRangeFromRange):
(-[WebAccessibilityObjectWrapper startOrEndTextMarkerForRange:isStart:]):
(startOrEndTextmarkerForRange):
(-[WebAccessibilityObjectWrapper nextTextMarkerForNode:offset:]):
(-[WebAccessibilityObjectWrapper previousTextMarkerForNode:offset:]):
(-[WebAccessibilityObjectWrapper textMarkerForNode:offset:]):
(textMarkerForCharacterOffset):
(-[WebAccessibilityObjectWrapper rangeForTextMarkerRange:]):
(-[WebAccessibilityObjectWrapper characterOffsetForTextMarker:]):
(textMarkerForVisiblePosition):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

Tools:

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):

LayoutTests:

  • accessibility/mac/previous-next-text-marker-expected.txt: Added.
  • accessibility/mac/previous-next-text-marker.html: Added.
  • accessibility/mac/text-marker-with-user-select-none-expected.txt: Added.
  • accessibility/mac/text-marker-with-user-select-none.html: Added.
4:06 PM Changeset in webkit [195239] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Mac] Remove unused playerToPrivateMap()
https://bugs.webkit.org/show_bug.cgi?id=153203

Patch by Olivier Blin <Olivier Blin> on 2016-01-18
Reviewed by Darin Adler.

This was used in previous EME implementations, but is unnecessary
since r163907.

No new tests since this removes dead code only.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::globalLoaderDelegateQueue): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Deleted.

2:15 PM Changeset in webkit [195238] by sbarati@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

FTL doesn't do proper spilling for exception handling when GetById/Snippets go to slow path
https://bugs.webkit.org/show_bug.cgi?id=153186

Reviewed by Michael Saboff.

Michael was investigating a bug he found while doing the new JSC calling
convention work and it turns out to be a latent bug in FTL try/catch machinery.
After I looked at the code again, I realized that what I had previously
written is wrong in a subtle way. The FTL callOperation machinery will remove
its result register from the set of registers it needs to spill. This is not
correct when we have try/catch. We may want to do value recovery on
the value that the result register is prior to the call after the call
throws an exception. The case that we were solving before was when the
resultRegister == baseRegister in a GetById, or left/rightRegister == resultRegister in a Snippet.
This code is correct in wanting to spill in that case, even though it might spill
when we don't need it to (i.e the result is not needed for value recovery). Once I
investigated this bug further, I realized that the previous rule is just a
partial subset of the rule that says we should spill anytime the result is
a register we might do value recovery on. This patch implements the rule that
says we always want to spill the result when we will do value recovery on it
if an exception is thrown.

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateDataSection):

  • tests/stress/ftl-try-catch-getter-throw-interesting-value-recovery.js: Added.

(assert):
(random):
(identity):
(let.o2.get f):
(let.o3.get f):
(foo):
(i.else):

1:27 PM Changeset in webkit [195237] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Add TextStream-based logging for Position and VisiblePosition
https://bugs.webkit.org/show_bug.cgi?id=153195

Reviewed by Ryosuke Niwa.

Make it easy to dump Positions and VisiblePositions with a TextStream.

  • dom/Position.cpp:

(WebCore::operator<<):

  • dom/Position.h:
  • editing/VisiblePosition.cpp:

(WebCore::operator<<):

  • editing/VisiblePosition.h:
1:07 PM Changeset in webkit [195236] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

[MIPS] LLInt: fix calculation of Global Offset Table
https://bugs.webkit.org/show_bug.cgi?id=150381

Offlineasm adds a .cpload $t9 when we create a label in MIPS, which
computes address of GOT. However, this instruction requires $t9 to
contain address of current function. So we need to set $t9 to pcBase,
otherwise GOT-related calculations will be invalid.

Since offlineasm does not allow direct move to $t9 on MIPS, added new
instruction setcallreg which does exactly that.

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-18
Reviewed by Michael Saboff.

  • llint/LowLevelInterpreter.asm:
  • offlineasm/instructions.rb:
  • offlineasm/mips.rb:
12:26 PM Changeset in webkit [195235] by commit-queue@webkit.org
  • 13 edits in trunk/Source

Sink the Vector<uint8_t> buffer into the SerializedScriptValue constructor
https://bugs.webkit.org/show_bug.cgi?id=142634

Patch by Zan Dobersek <zdobersek@igalia.com> on 2016-01-18
Reviewed by Darin Adler.

Source/WebCore:

Have the SerializedScriptValue constructor take in the Vector<uint8_t> buffer
through an rvalue reference, avoiding the copying into the m_data member. The
three-parameter constructor now takes in the Vector<String> blob URL object
via const reference, and the std::unique_ptr<> object via a rvalue reference.

Adjust all the call sites and affected code to now either move or copy a
non-movable object into the SerializedScriptValue constructor or the helper
methods.

No new tests -- no change in behavior.

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::deserializeIDBValueDataToJSValue):
(WebCore::deserializeIDBValueBuffer):
(WebCore::idbValueDataToJSValue):

  • bindings/js/IDBBindingUtilities.h:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::numberValue):
(WebCore::SerializedScriptValue::undefinedValue):
(WebCore::SerializedScriptValue::nullValue):

  • bindings/js/SerializedScriptValue.h:
  • testing/Internals.cpp:

(WebCore::Internals::deserializeBuffer):

Source/WebKit2:

Update API::SerializedScriptValue::adopt() to take in a Vector<uint8_t>
rvalue, moving it into the WebCore::SerializedScriptValue::adopt() call.

Update other places that are affected by the SerializedScriptValue changes.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):

  • Shared/API/APISerializedScriptValue.h:

(API::SerializedScriptValue::adopt):

  • Shared/UserData.cpp:

(WebKit::UserData::decode):

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::didPostMessage):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::scriptValueCallback):

  • WebProcess/WebCoreSupport/SessionStateConversion.cpp:

(WebKit::applyFrameState):

11:22 AM Changeset in webkit [195234] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GStreamer] Remove unused m_endTime
https://bugs.webkit.org/show_bug.cgi?id=153209

Patch by Olivier Blin <Olivier Blin> on 2016-01-18
Reviewed by Michael Catanzaro.

m_endTime has been unused since r47710 in MediaPlayerPrivateGStreamer.

No new tests since this is just a member cleanup.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): Deleted.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
8:47 AM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
7:28 AM Changeset in webkit [195233] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r194601): Fix the jsc timeout option of jsc.cpp
https://bugs.webkit.org/show_bug.cgi?id=153204

Reviewed by Michael Catanzaro.

  • jsc.cpp:

(main):

7:19 AM Changeset in webkit [195232] by Csaba Osztrogonác
  • 4 edits in trunk

[cmake] Add testair to the build system
https://bugs.webkit.org/show_bug.cgi?id=153126

Reviewed by Michael Catanzaro.

Source/JavaScriptCore:

  • shell/CMakeLists.txt:

Tools:

  • Scripts/build-jsc:
7:17 AM Changeset in webkit [195231] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

[EFL][GTK][WK2] Fix UIProcess build with GStreamer and without VIDEO
https://bugs.webkit.org/show_bug.cgi?id=153135

Patch by Olivier Blin <Olivier Blin> on 2016-01-18
Reviewed by Michael Catanzaro.

GStreamer builds fail when WebAudio is enabled but VIDEO disabled.

This change makes the flag more consistent around the
decicePolicyForInstallMissingMediaPluginsPermissionRequest() method:
ENABLE(VIDEO) && USE(GSTREAMER) everywhere, while the code used to
test either one or the other.

This does not enable InstallMissingMediaPlugins for WebAudio, since no
code makes use of this in WebKitWebAudioSourceGStreamer.

It also fixes a naming typo for the following method:
decidePolicyForInstallMissingMediaPluginsPermissionRequest()

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::decidePolicyForInstallMissingMediaPluginsPermissionRequest):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/PageClient.h:
  • UIProcess/efl/WebViewEfl.h:
  • UIProcess/gstreamer/WebPageProxyGStreamer.cpp:

(WebKit::WebPageProxy::requestInstallMissingMediaPlugins):

5:57 AM Changeset in webkit [195230] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore/platform/gtk/po

Merge r194822 - [l10n] Updated Turkish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=152948

"Reviewed" by Michael Catanzaro.

Patch by Muhammet Kara <muhammetk@gmail.com> on 2016-01-09

  • tr.po:
5:54 AM Changeset in webkit [195229] by calvaris@igalia.com
  • 3 edits in trunk/LayoutTests/imported/w3c

[Streams API] Import tests updated to Jan 13 2016
https://bugs.webkit.org/show_bug.cgi?id=153059

Reviewed by Youenn Fablet.

Update tests after merge of https://github.com/whatwg/streams/pull/420.

  • web-platform-tests/streams-api/README.txt: Updated last version.
  • web-platform-tests/streams-api/readable-streams/bad-strategies.js: Updated.
5:54 AM Changeset in webkit [195228] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/ThirdParty/ANGLE

Merge r194780 - [ANGLE] Correct UNREACHABLE runtime assertion for void constructors
https://bugs.webkit.org/show_bug.cgi?id=152900
<rdar://problem/24107501>

Reviewed by Alex Christensen.

Tested by Khronos WebGL 1.0.4 suite.

Merge a small part of ANGLE upstream commit r284735:

commit 01971113492d9aca386f2bca021b1f4b134fc277
author Dmitry Skiba <dskiba@google.com> Fri Jul 10 18:54:00 2015
committer Jamie Madill <jmadill@chromium.org> Fri Jul 10 19:03:34 2015
tree 47e42eac00f7d64cddb14b3cc21a4e605c189d20

This issue was found by <https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/bugs/angle-constructor-invalid-parameters.html?webglVersion=1&quiet=0>

  • src/compiler/translator/Types.cpp:

(TType::buildMangledName): Don't assert with UNREACHABLE here.

5:40 AM Changeset in webkit [195227] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r194766 - [mips] Fixed unused parameter warnings
https://bugs.webkit.org/show_bug.cgi?id=152885

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-08
Reviewed by Mark Lam.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

5:39 AM Changeset in webkit [195226] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r194764 - [mips] Max value of immediate arg of logical ops is 0xffff
https://bugs.webkit.org/show_bug.cgi?id=152884

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-08
Reviewed by Michael Saboff.

Replaced imm.m_value < 65535 checks with imm.m_value <= 65535

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::and32):
(JSC::MacroAssemblerMIPS::or32):

5:38 AM Changeset in webkit [195225] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r194751 - Correct missing EXT_sRGB Format Handling
https://bugs.webkit.org/show_bug.cgi?id=152876
<rdar://problem/23284389>

Reviewed by Alex Christensen.

Tested by WebGL 1.0.4 suite.

  • platform/graphics/GraphicsContext3D.cpp:

(getDataFormat): Handle missing SRGB and SRGB_ALPHA cases.

  • platform/graphics/GraphicsContext3D.h: Add missing SRGB_ALPHA value from the Khronos standard.
  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::texImage2D): Add an assertion that we are not being handed
an internal format to a method that works with normal formats.

5:35 AM Changeset in webkit [195224] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r194725 - [mips] Lower immediates of logical operations.
https://bugs.webkit.org/show_bug.cgi?id=152693

On MIPS immediate operands of andi, ori, and xori are required to be 16-bit
non-negative numbers.

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-07
Reviewed by Michael Saboff.

  • offlineasm/mips.rb:
5:34 AM Changeset in webkit [195223] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r194715 - [mips] Implemented missing branch patching methods.
https://bugs.webkit.org/show_bug.cgi?id=152845

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-07
Reviewed by Michael Saboff.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::canJumpReplacePatchableBranch32WithPatch):
(JSC::MacroAssemblerMIPS::startOfPatchableBranch32WithPatchOnAddress):
(JSC::MacroAssemblerMIPS::revertJumpReplacementToPatchableBranch32WithPatch):

5:33 AM Changeset in webkit [195222] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r194713 - [mips] Make repatchCall public to fix compilation.
https://bugs.webkit.org/show_bug.cgi?id=152843

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-07
Reviewed by Michael Saboff.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::repatchCall):
(JSC::MacroAssemblerMIPS::linkCall): Deleted.

5:33 AM Changeset in webkit [195221] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r194712 - [mips] Replaced subi with addi in getHostCallReturnValue
https://bugs.webkit.org/show_bug.cgi?id=152841

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-07
Reviewed by Michael Saboff.

MIPS architecture does not have subi instruction, addi with negative
number should be used instead.

  • jit/JITOperations.cpp:
5:31 AM Changeset in webkit [195220] by Carlos Garcia Campos
  • 3 edits
    4 adds in releases/WebKitGTK/webkit-2.10

Merge r194710 - Incorrect position: fixed; rendering when child of position:relative/sticky.
https://bugs.webkit.org/show_bug.cgi?id=147284

Reviewed by Simon Fraser and David Hyatt.

Computing logical left for positioned objects should take the relative positioned ancestors' offset
into account.

Source/WebCore:

Tests: fast/block/positioning/fixed-container-with-relative-parent.html

fast/block/positioning/fixed-container-with-sticky-parent.html

  • rendering/RenderBox.cpp:

(WebCore::computeInlineStaticDistance):

LayoutTests:

  • fast/block/positioning/fixed-container-with-relative-parent-expected.html: Added.
  • fast/block/positioning/fixed-container-with-relative-parent.html: Added.
  • fast/block/positioning/fixed-container-with-sticky-parent-expected.html: Added.
  • fast/block/positioning/fixed-container-with-sticky-parent.html: Added.
5:27 AM Changeset in webkit [195219] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the --minimal build due to missing VM.h include
https://bugs.webkit.org/show_bug.cgi?id=153128

Reviewed by Michael Catanzaro.

  • bindings/js/WebCoreJSBuiltinInternals.h:
5:26 AM Changeset in webkit [195218] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebCore

Remove the SKIP_UNUSED_PARAM define
https://bugs.webkit.org/show_bug.cgi?id=153129

Reviewed by Michael Catanzaro.

  • bindings/js/WebCoreJSBuiltinInternals.cpp:

(WebCore::JSBuiltinInternalFunctions::visit):
(WebCore::JSBuiltinInternalFunctions::initialize):

  • bindings/js/WebCoreJSBuiltinInternals.h:
5:21 AM Changeset in webkit [195217] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r194709 - [mips] GPRInfo::toArgumentRegister missing
https://bugs.webkit.org/show_bug.cgi?id=152838

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-01-07
Reviewed by Michael Saboff.

  • jit/GPRInfo.h:

(JSC::GPRInfo::toArgumentRegister):

5:20 AM Changeset in webkit [195216] by Carlos Garcia Campos
  • 7 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194706 - Directly-composited animated GIFs never resume once scrolled offscreen
https://bugs.webkit.org/show_bug.cgi?id=152817
<rdar://problem/19982020>

Reviewed by Daniel Bates.

Source/WebCore:

Directly-composited animated GIFs would never resume once scrolled
offscreen. This is because calling repaint() in this case would not
cause BitmapImage::draw() to be called and the animation would thus
not be resumed. To address the problem,
repaintForPausedImageAnimationsIfNeeded() now calls
RenderBoxModelObject::contentChanged(ImageChanged) in addition to
repaint() to make sure the animation actually gets resumed, even in
the directly-composited animated GIF case.

Test: fast/images/composited-animated-gif-outside-viewport.html

  • platform/graphics/BitmapImage.h:

Make currentFrame() public so it can be exposed via Internals for the
purpose of testing.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::repaintForPausedImageAnimationsIfNeeded):
Call RenderBoxModelObject::contentChanged(ImageChanged) in addition to
calling repaint() to make sure the animation actually gets resumed in
the directly-composited animated GIFs case.

  • testing/Internals.cpp:

(WebCore::Internals::imageFrameIndex):

  • testing/Internals.h:
  • testing/Internals.idl:

Expose new "unsigned long imageFrameIndex(Element)" operation on
Internals so layout tests can better check if an image is actually
animating. Previously, we would rely on the output of
internals.hasPausedImageAnimations(Element) but this is not sufficient
to cover this bug as our rendering code believed it has resumed the
animations but the GIF was not actually animating due to it being
directly-composited.

LayoutTests:

Add a layout test to check that directly-composited animated GIFs are
properly suspended / resumed based on visibility inside the viewport.

  • fast/images/composited-animated-gif-outside-viewport-expected.txt: Added.
  • fast/images/composited-animated-gif-outside-viewport.html: Added.
5:08 AM Changeset in webkit [195215] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r194699 - [mips] Add two missing abortWithReason implementations
https://bugs.webkit.org/show_bug.cgi?id=136753

Patch by Julien Brianceau <jbriance@cisco.com> on 2016-01-07
Reviewed by Benjamin Poulain.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::memoryFence):
(JSC::MacroAssemblerMIPS::abortWithReason):
(JSC::MacroAssemblerMIPS::readCallTarget):

5:08 AM Changeset in webkit [195214] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r194697 - [SOUP] Consider reducing max simultaneous connections
https://bugs.webkit.org/show_bug.cgi?id=137282

Reviewed by Carlos Garcia Campos.

Reduce max simultaneous connections from 35 to 17, because (a) all major browsers except
Chrome use 17, and (b) Chrome uses 10. The only reason we previously used 35 was that other
browsers were using 35 at the time.

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::SoupNetworkSession):

5:06 AM Changeset in webkit [195213] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194666 - Port blocking bypass issue using 307 redirect
https://bugs.webkit.org/show_bug.cgi?id=152801
<rdar://problem/24048554>

Reviewed by Anders Carlsson.

Source/WebCore:

Tested by http/tests/security/blocked-on-redirect.html.

Make sure that 307 redirects check the requested URL via 'portAllowed'.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::willSendRequest): Confirm that the requested port
is valid, and block load if it is not.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::reportBlockedPortFailed): Added.
(WebCore::FrameLoader::blockedError): Added.

  • loader/FrameLoader.h:

LayoutTests:

  • http/tests/security/blocked-on-redirect-expected.txt: Added.
  • http/tests/security/blocked-on-redirect.html: Added.
4:56 AM Changeset in webkit [195212] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194645 - Float with media query positioned incorrectly after window resize.
https://bugs.webkit.org/show_bug.cgi?id=152558

Reviewed by Simon Fraser and David Hyatt.

This patch ensures that when a renderer becomes floated, it is moved
to the right containing block.
When this floated renderer's previous sibling is an anonymous block, it needs
to be reparented so that the float is positioned as if there was no anonymous block at all.

Source/WebCore:

Test: fast/block/float/float-with-anonymous-previous-sibling.html

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleDidChange):

LayoutTests:

  • fast/block/float/float-with-anonymous-previous-sibling-expected.html: Added.
  • fast/block/float/float-with-anonymous-previous-sibling.html: Added.
4:54 AM Changeset in webkit [195211] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r194641 - [mips] Fix branchTruncateDoubleToUint32 implementation in macro assembler
https://bugs.webkit.org/show_bug.cgi?id=152782

Patch by Julien Brianceau <jbriance@cisco.com> on 2016-01-06
Reviewed by Benjamin Poulain.

Already covered by LayoutTests/js/dfg-uint32array-overflow-values test.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::branchTruncateDoubleToUint32):

4:54 AM Changeset in webkit [195210] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r194640 - [mips] Fix or32 implementation in macro assembler
https://bugs.webkit.org/show_bug.cgi?id=152781

Reviewed by Michael Saboff.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::or32):

4:53 AM Changeset in webkit [195209] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r194639 - [mips] Add missing branchAdd32 implementation in macro assembler
https://bugs.webkit.org/show_bug.cgi?id=152785

Reviewed by Michael Saboff.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::branchAdd32):

4:52 AM Changeset in webkit [195208] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194638 - isAnonymousInlineBlock() should exclude any ruby content.
https://bugs.webkit.org/show_bug.cgi?id=152648
<rdar://problem/23872549>

Reviewed by David Hyatt.

isAnonymousInlineBlock is designed for the new Block-Inside-Inline Model
and all other anonymous inline-block renderers (including Ruby) should bail out of it.
(see webkit.org/b/143145)

Source/WebCore:

Test: fast/ruby/ruby-inline-margin-collapse-crash.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::isAnonymousInlineBlock):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isAnonymousInlineBlock): Deleted.

LayoutTests:

  • fast/ruby/ruby-inline-margin-collapse-crash-expected.txt: Added.
  • fast/ruby/ruby-inline-margin-collapse-crash.html: Added.
4:18 AM Changeset in webkit [195207] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194617 - Image should not be re-registered if m_form already exists. This leads to an assertion failure.
https://bugs.webkit.org/show_bug.cgi?id=152741
<rdar://problem/24030778>

Patch by Pranjal Jumde <pjumde@apple.com> on 2016-01-05
Reviewed by Brent Fulgham.

Source/WebCore:

  • Source/WebCore/html/HTMLImageElement.cpp: Node::InsertionNotificationRequest HTMLImageElement::insertedInto(ContainerNode& insertionPoint)

LayoutTests:

  • LayoutTests/fast/html/form-registerimg-multiple-crash-expected.txt: Added.
  • LayoutTests/fast/html/form-registerimg-multiple-crash.html: Added.
4:16 AM Changeset in webkit [195206] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r194589 - Avoid NULL deference in Page::updateIsPlayingMedia
https://bugs.webkit.org/show_bug.cgi?id=152732

No new tests, this fixes a rare crash that I am unable to reproduce.

Reviewed by David Kilzer.

  • page/Page.cpp:

(WebCore::Page::updateIsPlayingMedia): frame->document() can return NULL.

4:14 AM Changeset in webkit [195205] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r194576 - Shave off a TransformationMatrix copy if RenderLayer's transparencyClipBox()
https://bugs.webkit.org/show_bug.cgi?id=152119

Reviewed by Simon Fraser.

  • rendering/RenderLayer.cpp:

(WebCore::transparencyClipBox): Multiply the transformation matrix returned by
layer.transform() directly into the transform object, instead of first
multiplying them and then copying the result back into the transform object.

4:09 AM Changeset in webkit [195204] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r194503 - APNG decoder: only decode the frames up to haltAtFrame
https://bugs.webkit.org/show_bug.cgi?id=146205

Patch by Max Stepin <maxstepin@gmail.com> on 2016-01-02
Reviewed by Michael Catanzaro.

No new tests, already covered by existing tests.

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageReader::close):
(WebCore::PNGImageReader::decode):
(WebCore::PNGImageDecoder::isSizeAvailable):
(WebCore::PNGImageDecoder::frameBufferAtIndex):
(WebCore::PNGImageDecoder::pngComplete):
(WebCore::PNGImageDecoder::decode):

  • platform/image-decoders/png/PNGImageDecoder.h:

(WebCore::PNGImageDecoder::isComplete):
(WebCore::PNGImageDecoder::isCompleteAtIndex):

4:08 AM Changeset in webkit [195203] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebInspectorUI

Merge r194498 - [GTK] webkit 2.3.5 build failure with python 3.3.4
https://bugs.webkit.org/show_bug.cgi?id=128971

Reviewed by Michael Catanzaro.

Make sure that the stdin encoding is 'UTF-8' if using Python 3,
otherwise the build will break.

  • Scripts/cssmin.py:
4:05 AM Changeset in webkit [195202] by Carlos Garcia Campos
  • 6 edits
    1 add in releases/WebKitGTK/webkit-2.10

Merge r194480 - [SOUP] REGRESSION(r192761): Broke resource URIs for applications that use g_resource_load in a web extension
https://bugs.webkit.org/show_bug.cgi?id=152634

Reviewed by Carlos Garcia Campos.

Source/WebKit2:

Load GResource URIs locally, not in the network process. Applications expect calling
g_resource_load in a web extension to make it possible to load resource URIs, but that
doesn't work now that the network process is in use. Loading them locally solves this.

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoad):

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp:

(testLoadFromGResource): Added test.
(beforeAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(registerGResource): Added.
(webkit_web_extension_initialize_with_user_data): Load the test gresource.

  • TestWebKitAPI/Tests/WebKit2Gtk/resources/boring.html: Added.
  • TestWebKitAPI/Tests/WebKit2Gtk/resources/webkit2gtk-tests.gresource.xml: Add an HTML file.
3:55 AM Changeset in webkit [195201] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194462 - Simple line layout: Text with stroke width is not positioned correctly.
https://bugs.webkit.org/show_bug.cgi?id=152614

Reviewed by Simon Fraser.

Visual overflow should not affect text position.

Source/WebCore:

Test: fast/text/simple-line-layout-text-position-with-stroke.html

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):

LayoutTests:

  • fast/text/simple-line-layout-text-position-with-stroke-expected.html: Added.
  • fast/text/simple-line-layout-text-position-with-stroke.html: Added.
3:55 AM Changeset in webkit [195200] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r192564 - Simple line layout: Add letter-spacing support.
https://bugs.webkit.org/show_bug.cgi?id=151362

Reviewed by Antti Koivisto.

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

Source/WebCore:

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

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseForStyle):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow): RenderLineBoxList tests vertical intersection only.

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::runWidth):

LayoutTests:

  • fast/text/simple-line-letterspacing-expected.html: Added.
  • fast/text/simple-line-letterspacing.html: Added.
3:49 AM Changeset in webkit [195199] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194461 - Simple line layout: Nested block with pseudo first-line parent should bail out of simple line layout.
https://bugs.webkit.org/show_bug.cgi?id=152599

Reviewed by Simon Fraser.

We should bail out of simple line layout if any of the ancestors have pseudo first-line style.
(see RenderBlock::firstLineBlock())

Source/WebCore:

Test: fast/block/line-layout/first-line-should-bail-out-of-simple-line-layout.html

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseForWithReason):

LayoutTests:

  • fast/block/line-layout/first-line-should-bail-out-of-simple-line-layout-expected.html: Added.
  • fast/block/line-layout/first-line-should-bail-out-of-simple-line-layout.html: Added.
3:43 AM Changeset in webkit [195198] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194426 - Should never be reached failure in WebCore::RenderElement::clearLayoutRootIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=151590

Reviewed by Simon Fraser.

We should always set the layoutroot when a new subtree layout is requested (and convert it
to a full layout when needed). It ensures that renderers are detached cleanly even when
they are set as layoutroot.

Source/WebCore:

Test: fast/block/assert-when-layout-root-is-not-cleared.html

  • page/FrameView.cpp:

(WebCore::FrameView::scheduleRelayoutOfSubtree):

LayoutTests:

  • fast/block/assert-when-layout-root-is-not-cleared-expected.txt: Added.
  • fast/block/assert-when-layout-root-is-not-cleared.html: Added.
3:41 AM Changeset in webkit [195197] by Carlos Garcia Campos
  • 3 edits
    4 adds in releases/WebKitGTK/webkit-2.10

Merge r194418 - ASSERTION FAILED: x2 >= x1 in WebCore::RenderElement::drawLineForBoxSide
https://bugs.webkit.org/show_bug.cgi?id=151210

Reviewed by Simon Fraser.

Source/WebCore:

"IntRect outer = snappedIntRect(inner)" explicitly converts inner to LayoutRect first and
returns a snapped IntRect. When inner (after the inflate) overflows LayoutUnit,
the snapped rect might become smaller than the inner rect.

This patch also enables outline painting on subpixel positions.

Tests: fast/borders/hidpi-outline-on-subpixel-position.html

fast/borders/outline-offset-overflow.html

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::paintOutline):

LayoutTests:

"IntRect outer = snappedIntRect(inner)" explicitly converts inner to LayoutRect and
returns a snapped IntRect. When inner (after the inflate) overflows LayoutUnit,
the snapped outer rect becomes smaller than the inner rect.

This patch also enables outline painting on subpixel positions.

  • fast/borders/hidpi-outline-on-subpixel-position-expected.html: Added.
  • fast/borders/hidpi-outline-on-subpixel-position.html: Added.
  • fast/borders/outline-offset-overflow-expected.txt: Added.
  • fast/borders/outline-offset-overflow.html: Added.
3:36 AM Changeset in webkit [195196] by Carlos Garcia Campos
  • 13 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194405 - REGRESSION (r187593): Scroll position jumps when selecting text in an iframe
https://bugs.webkit.org/show_bug.cgi?id=152541
rdar://problem/23886181

Reviewed by Tim Horton.

Source/WebCore:

r154382 added code that modifies parentLayer traversal, looking for ancestor
scrollable layers. However, it confusingly added another code path in which
the ancestor layer traversal cross a frame boundary, when RenderLayer::scrollRectToVisible()
already has one. I fixed this new location to adjust the rect coordinates in r187593,
but then code that hit both crossing points double-mapped the coordinates, causing
autoscroll jumping.

Fix by reverting r154382 and r187593, going back to doing the ancestor walk in
one place. Re-fix r154382 by implementing RenderLayer::allowsCurrentScroll(),
which contains the logic for line clamp, autoscroll and ensuring that overflow:hidden
can be programmatically scrolled.

Form controls are special; they can have overflow:hidden but still be user-scrollable
during autoscroll; this is handled via the confusingly-named canBeProgramaticallyScrolled().
RenderTextControlSingleLine implements this to ensure that readonly text inputs
autoscroll (which is exercised by a test).

The frame-to-parent-frame rect mapping in RenderLayer::scrollRectToVisible() is
fixed to use the coordinate mapping functions from Widget/ScrollView, with the
addition of a new utility function contentsToContainingViewContents().

A "Scrolling" logging channel is added with a few log points.

Test: fast/events/autoscroll-in-iframe-body.html

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::absoluteNonFastScrollableRegionForFrame):
use contentsToContainingViewContents().

  • platform/Logging.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::contentsToContainingViewContents):

  • platform/ScrollView.h:
  • platform/graphics/IntPoint.cpp:

(WebCore::IntPoint::constrainedBetween): New helper to constrain a point between
two other points.

  • platform/graphics/IntPoint.h:

(WebCore::IntPoint::expandedTo):
(WebCore::IntPoint::shrunkTo):

  • rendering/RenderBox.cpp:
  • rendering/RenderLayer.cpp:

(WebCore::parentLayerCrossFrame):
(WebCore::RenderLayer::enclosingScrollableLayer):
(WebCore::frameElementAndViewPermitScroll):
(WebCore::RenderLayer::allowsCurrentScroll):
(WebCore::RenderLayer::scrollRectToVisible):

  • rendering/RenderLayer.h:
  • rendering/RenderTextControlSingleLine.h:

LayoutTests:

New test for autoscrolling iframe contents (an existing test scrolled an overflow:scroll
inside an iframe, and didn't catch the bug).

  • fast/events/autoscroll-in-iframe-body-expected.txt: Added.
  • fast/events/autoscroll-in-iframe-body.html: Added.
  • fast/forms/input-readonly-autoscroll.html: Fix a missing double quote.
3:36 AM Changeset in webkit [195195] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194404 - Minor cleanup in RenderBox::canBeProgramaticallyScrolled()
https://bugs.webkit.org/show_bug.cgi?id=152515

Reviewed by Tim Horton.

Source/WebCore:

Remove the scrollsOverflow() check in RenderBox::canBeProgramaticallyScrolled(),
since if hasScrollableOverflow is true, scrollsOverflow() must also be true.

Factor clientWidth/Height vs. scrollWidth/Height checks into separate functions,
and call them from two places.

Added a test which is not affected by this particular change, but will verify
that a later change doesn't break anything.

Test: fast/overflow/overflow-hidden-scroll-into-view.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
(WebCore::RenderBox::canBeProgramaticallyScrolled):

  • rendering/RenderBox.h:

(WebCore::RenderBox::hasHorizontalOverflow):
(WebCore::RenderBox::hasVerticalOverflow):
(WebCore::RenderBox::hasScrollableOverflowX):
(WebCore::RenderBox::hasScrollableOverflowY):

LayoutTests:

Test that programmatic scrolling works inside overflow:hidden.

  • fast/overflow/overflow-hidden-scroll-into-view-expected.html: Added.
  • fast/overflow/overflow-hidden-scroll-into-view.html: Added.
2:57 AM Changeset in webkit [195194] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194399 - Avoids stack recursion when indexed propertyNames defined using Object.defineProperty are deleted.
https://bugs.webkit.org/show_bug.cgi?id=149179
<rdar://problem/22708019>.

Patch by Pranjal Jumde <pjumde@apple.com> on 2015-12-23
Reviewed by Filip Pizlo.

  • runtime/JSObject.cpp:

(JSStorage::deletePropertyByIndex was invoking Base::deleteProperty for indexed propertyNames instead of Base::deletePropertyByIndex leading to a stack recursion)

LayoutTests:
Test to check for stack recursion when indexed propertyNames defined using Object.defineProperty are deleted.
https://bugs.webkit.org/show_bug.cgi?id=149179
<rdar://problem/22708019>.

Patch by Pranjal Jumde <pjumde@apple.com> on 2015-12-23
Reviewed by Filip Pizlo.

  • storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt: Added.
  • storage/domstorage/localstorage/delete-defineproperty-removal.html: Added.
2:42 AM Changeset in webkit [195193] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Tools

Merge r194327 - [GTK] jquery.min.js violates DFSG
https://bugs.webkit.org/show_bug.cgi?id=152428

Reviewed by Joseph Pecoraro.

Stop distributing Source/WebInspectorUI/Tools. It is not needed in tarballs. This brings us
into compliance with DFSG by removing a bundled, minified copy of jQuery from our tarball.

  • gtk/manifest.txt.in:
2:41 AM Changeset in webkit [195192] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.10/Source

Merge r194323 - [SOUP] Performs DNS prefetch when a proxy is configured (information leak)
https://bugs.webkit.org/show_bug.cgi?id=145542

Reviewed by Darin Adler.

Source/WebCore:

Perform DNS prefetch only when no proxy is configured.

No new tests. Test this manually with Wireshark. Run the simple-proxy example program found
in libsoup's examples directory, set that as your system HTTP proxy, and see if DNS queries
show up in Wireshark when refreshing a page sent over HTTP. They should appear only when the
proxy is not configured.

  • platform/network/DNSResolveQueue.cpp:

(WebCore::DNSResolveQueue::DNSResolveQueue):
(WebCore::DNSResolveQueue::isUsingProxy):

  • platform/network/DNSResolveQueue.h:
  • platform/network/cf/DNSCFNet.cpp:

(WebCore::DNSResolveQueue::updateIsUsingProxy):
(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences): Deleted.

  • platform/network/soup/DNSSoup.cpp:

(WebCore::didResolveProxy):
(WebCore::proxyResolvedForHttpUriCallback):
(WebCore::proxyResolvedForHttpsUriCallback):
(WebCore::DNSResolveQueue::updateIsUsingProxy):
(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences): Deleted.

Source/WTF:

Specialize GUniquePtr<char*>, using g_strfreev.

  • wtf/glib/GUniquePtr.h:
1:50 AM Changeset in webkit [195191] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore/platform/gtk/po

Merge r194321 - German translation update
https://bugs.webkit.org/show_bug.cgi?id=152228

Unreviewed.

Patch by Bernd Homuth <dev@hmt.im> on 2015-12-20

  • de.po:
12:23 AM Changeset in webkit [195190] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r194290 - Place an upper bound on canvas pixel count
https://bugs.webkit.org/show_bug.cgi?id=151825
<rdar://problem/23324916>

Reviewed by Simon Fraser (Relanded by Brent Fulgham)

Malformed JavaScript can attempt to create lots of canvas contexts. Limit the amount of memory
we will use for this purpose to some percentage of system RAM.

  • html/HTMLCanvasElement.cpp:

(WebCore::removeFromActivePixelMemory): Added helper function
(WebCore::HTMLCanvasElement::~HTMLCanvasElement): Call new 'releaseImageBufferAndContext' method
to ensure ImageBuffer and graphics context state are properly cleaned up.
(WebCore::maxActivePixels): Use one quarter of the system RAM, or 2 GB (whichever is more) as
an upper bound on active pixel memory.
(WebCore::HTMLCanvasElement::getContext): If we are attempting to create a context that will cause
us to exceed the allowed active pixel count, fail.
(WebCore::HTMLCanvasElement::releaseImageBufferAndContext): Added helper function
(WebCore::HTMLCanvasElement::setSurfaceSize): Use the new 'releaseImageBufferAndContext' method
to handle active pixel memory counts.
(WebCore::HTMLCanvasElement::createImageBuffer): Refuse to create a backing buffer if it will
exceed our available pixel memory.

12:15 AM Changeset in webkit [195189] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.10/Source/JavaScriptCore

Merge r194208 - ARM64 MacroAssembler improperly reuses data temp register in test32() and test8() calls
https://bugs.webkit.org/show_bug.cgi?id=152370

Reviewed by Benjamin Poulain.

Changed the test8/32(Address, Register) flavors to use the memoryTempRegister for loading the value
att Address so that it doesn't collide with the subsequent use of dataTempRegister by the
test32(Register, Register) function.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::test32):
(JSC::MacroAssemblerARM64::test8):

12:10 AM Changeset in webkit [195188] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.10/Source/WebCore

Merge r194155 - Legacy style scrollbars do not change color when you mouse over them if you
are scrolled
https://bugs.webkit.org/show_bug.cgi?id=152319
-and corresponding-
rdar://problem/23317668

Reviewed by Darin Adler.

The scrollbar’s frameRect is in window coordinates, so we need to compare a
point in window coordinates when we test this.

The call to convertFromContainingWindow does not return a point in view
coordinates, so we should not call the variable viewPoint. We do still need
to call it for subframes. convertFromContainingWindow doesn’t do anything for
the root ScrollView (for Mac WK2 at least).

  • platform/ScrollView.cpp:

(WebCore::ScrollView::scrollbarAtPoint):

HitTestLocation is in contents coordinates. It needs to be converted to
window coordinates

  • rendering/RenderView.cpp:

(WebCore::RenderView::hitTest):

12:09 AM Changeset in webkit [195187] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.10

Merge r194558 - REGRESSION(r194143): Float width incorrectly calculated on Wikipedia
https://bugs.webkit.org/show_bug.cgi?id=152644

Reviewed by Myles C. Maxfield.

Source/WebCore:

The min/max-content contribution computation for non replaced
blocks changed in r194143. The implementation was actually
more complex than it should be and actually incomplete as it
was not considering the case of out of flow elements (because
it was directly calling computeLogicalWidthInRegion()).

This new implementation simplifies a lot the code and makes it
more complete as it relies on min|maxPreferredLogicalWidth()
calls which already consider all the different types of boxes.

Test: fast/css-intrinsic-dimensions/inlinesize-contribution-floats.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):

LayoutTests:

  • fast/css-intrinsic-dimensions/inlinesize-contribution-floats-expected.html: Added.
  • fast/css-intrinsic-dimensions/inlinesize-contribution-floats.html: Added.

Jan 17, 2016:

8:41 PM Changeset in webkit [195186] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Add quotes around ${CMAKE_SHARED_LINKER_FLAGS} in case it is unset
https://bugs.webkit.org/show_bug.cgi?id=153175

Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-01-17
Reviewed by Michael Catanzaro.

  • PlatformGTK.cmake:
7:20 PM Changeset in webkit [195185] by Simon Fraser
  • 5 edits
    9 adds in trunk

More displaylist tests, and minor cleanup
https://bugs.webkit.org/show_bug.cgi?id=153198

Reviewed by Zalan Bujtas.

Source/WebCore:

Have the DisplayListRecorder's constructor push the recorder onto the GraphicsContext,
and remove that code from GraphicsLayerCA.

Tests: displaylists/extent-includes-shadow.html

displaylists/extent-includes-transforms.html

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::recursiveCommitChanges):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::Recorder):

LayoutTests:

A couple more display list tests that check that the computed extent of an item
includes shadows and transforms.

WK1 results differ in that they disable should-subpixel-quantize-fonts in the state
(which is a bug).

Move some shared JS into a helper file.

  • displaylists/extent-includes-shadow-expected.txt: Added.
  • displaylists/extent-includes-shadow.html: Added.
  • displaylists/extent-includes-transforms-expected.txt: Added.
  • displaylists/extent-includes-transforms.html: Added.
  • displaylists/layer-dispay-list.html:
  • displaylists/resources/dump-target-display-list.js: Added.

(doTest):

  • platform/mac-wk1/displaylists/extent-includes-shadow-expected.txt: Added.
  • platform/mac-wk1/displaylists/extent-includes-transforms-expected.txt: Added.
2:24 PM Changeset in webkit [195184] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Ensure that CF_AVAILABLE is undefined when building webkit-gtk

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

This change ensures that CF_AVAILABLE is correctly a no-op to
address build failure that was observed when building on older
versions of OSX. Previously, CF_AVAILABLE may have been unexpectedly
re-defined to the system header value based on include-order.

Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-01-17
Reviewed by Michael Catanzaro.

  • API/WebKitAvailability.h:
10:09 AM Changeset in webkit [195183] by Michael Catanzaro
  • 5 edits in trunk

[CMake] Do not build bmalloc when USE_SYSTEM_MALLOC is ON
https://bugs.webkit.org/show_bug.cgi?id=153190

Reviewed by Csaba Osztrogonác.

Build bmalloc when NOT USE_SYSTEM_MALLOC rather than when NOT WIN32.

.:

  • Source/CMakeLists.txt:
  • Source/cmake/OptionsWin.cmake:

Source/WTF:

  • wtf/CMakeLists.txt:
1:15 AM Changeset in webkit [195182] by Julien Brianceau
  • 5 edits in trunk/Source/JavaScriptCore

[mips] Fix regT2 and regT3 trampling in MacroAssembler
https://bugs.webkit.org/show_bug.cgi?id=153131

Mips $t2 and $t3 registers were used as temporary registers
in MacroAssemblerMIPS.h, whereas they are mapped to regT2
and regT3 in LLInt and GPRInfo.

This patch rearranges register mapping for the mips architecture:

  • use $t0 and $t1 as temp registers in LLInt (as in MacroAssembler)
  • use $t7 and $t8 as temp registers in MacroAssembler (as in LLInt)
  • remove $t6 from temp registers list in LLInt
  • update GPRInfo.h accordingly
  • add mips macroScratchRegisters() list in RegisterSet.cpp

Reviewed by Michael Saboff.

  • assembler/MacroAssemblerMIPS.h:
  • jit/GPRInfo.h:

(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toIndex):

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::macroScratchRegisters):
(JSC::RegisterSet::calleeSaveRegisters):

  • offlineasm/mips.rb:
12:13 AM Changeset in webkit [195181] by beidson@apple.com
  • 227 edits in trunk/LayoutTests

Modern IDB: .js test files should not log database names.
https://bugs.webkit.org/show_bug.cgi?id=153181

Reviewed by Alex Christensen.

We'll be sharing .js files as well as test expectations between different HTML test files,
and logging the filename is counter to this goal, as it will change depending on the HTML
driver running the test.

  • storage/indexeddb/resources/shared.js:

(setDBNameFromPath): eval() setting the filename instead of evalAndLog().

  • platform/wk2/storage/indexeddb/aborted-versionchange-closes-expected.txt:
  • platform/wk2/storage/indexeddb/create-and-remove-object-store-expected.txt:
  • platform/wk2/storage/indexeddb/cursor-continue-dir-expected.txt:
  • platform/wk2/storage/indexeddb/cursor-continue-expected.txt:
  • platform/wk2/storage/indexeddb/cursor-finished-expected.txt:
  • platform/wk2/storage/indexeddb/database-basics-expected.txt:
  • platform/wk2/storage/indexeddb/index-count-expected.txt:
  • platform/wk2/storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt:
  • platform/wk2/storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • platform/wk2/storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
  • platform/wk2/storage/indexeddb/invalid-keys-expected.txt:
  • platform/wk2/storage/indexeddb/key-type-array-expected.txt:
  • platform/wk2/storage/indexeddb/keypath-arrays-expected.txt:
  • platform/wk2/storage/indexeddb/keypath-edges-expected.txt:
  • platform/wk2/storage/indexeddb/mozilla/bad-keypath-expected.txt:
  • platform/wk2/storage/indexeddb/mozilla/clear-expected.txt:
  • platform/wk2/storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
  • platform/wk2/storage/indexeddb/mozilla/cursors-expected.txt:
  • platform/wk2/storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
  • platform/wk2/storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
  • platform/wk2/storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
  • platform/wk2/storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
  • platform/wk2/storage/indexeddb/mozilla/readonly-transactions-expected.txt:
  • platform/wk2/storage/indexeddb/object-lookups-in-versionchange-expected.txt:
  • platform/wk2/storage/indexeddb/objectstore-count-expected.txt:
  • platform/wk2/storage/indexeddb/open-cursor-expected.txt:
  • platform/wk2/storage/indexeddb/request-result-cache-expected.txt:
  • platform/wk2/storage/indexeddb/transaction-abort-expected.txt:
  • platform/wk2/storage/indexeddb/transaction-active-flag-expected.txt:
  • platform/wk2/storage/indexeddb/transaction-after-close-expected.txt:
  • platform/wk2/storage/indexeddb/transaction-read-only-expected.txt:
  • platform/wk2/storage/indexeddb/version-change-exclusive-expected.txt:
  • storage/indexeddb/aborted-versionchange-closes-expected.txt:
  • storage/indexeddb/clone-exception-expected.txt:
  • storage/indexeddb/closed-cursor-expected.txt:
  • storage/indexeddb/create-and-remove-object-store-expected.txt:
  • storage/indexeddb/create-object-store-options-expected.txt:
  • storage/indexeddb/createIndex-after-failure-expected.txt:
  • storage/indexeddb/createObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/createObjectStore-null-name-expected.txt:
  • storage/indexeddb/cursor-added-bug-expected.txt:
  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/cursor-basics-expected.txt:
  • storage/indexeddb/cursor-cast-expected.txt:
  • storage/indexeddb/cursor-continue-dir-expected.txt:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-continue-validity-expected.txt:
  • storage/indexeddb/cursor-delete-expected.txt:
  • storage/indexeddb/cursor-finished-expected.txt:
  • storage/indexeddb/cursor-inconsistency-expected.txt:
  • storage/indexeddb/cursor-index-delete-expected.txt:
  • storage/indexeddb/cursor-key-order-expected.txt:
  • storage/indexeddb/cursor-overloads-expected.txt:
  • storage/indexeddb/cursor-prev-no-duplicate-expected.txt:
  • storage/indexeddb/cursor-primary-key-order-expected.txt:
  • storage/indexeddb/cursor-properties-expected.txt:
  • storage/indexeddb/cursor-reverse-bug-expected.txt:
  • storage/indexeddb/cursor-skip-deleted-expected.txt:
  • storage/indexeddb/cursor-update-expected.txt:
  • storage/indexeddb/cursor-update-value-argument-required-expected.txt:
  • storage/indexeddb/cursor-value-expected.txt:
  • storage/indexeddb/database-basics-expected.txt:
  • storage/indexeddb/database-close-expected.txt:
  • storage/indexeddb/database-closepending-flag-expected.txt:
  • storage/indexeddb/database-deletepending-flag-expected.txt:
  • storage/indexeddb/database-wrapper-expected.txt:
  • storage/indexeddb/delete-closed-database-object-expected.txt:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-expected.txt:
  • storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
  • storage/indexeddb/delete-range-expected.txt:
  • storage/indexeddb/deleteIndex-expected.txt:
  • storage/indexeddb/deleteObjectStore-name-argument-required-expected.txt:
  • storage/indexeddb/deleteObjectStore-null-name-expected.txt:
  • storage/indexeddb/deleted-objects-expected.txt:
  • storage/indexeddb/deletedatabase-blocked-expected.txt:
  • storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
  • storage/indexeddb/deletedatabase-not-blocked-expected.txt:
  • storage/indexeddb/deletedatabase-transaction-expected.txt:
  • storage/indexeddb/dont-wedge-expected.txt:
  • storage/indexeddb/duplicates-expected.txt:
  • storage/indexeddb/error-causes-abort-by-default-expected.txt:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/exceptions-expected.txt:
  • storage/indexeddb/factory-deletedatabase-expected.txt:
  • storage/indexeddb/get-keyrange-expected.txt:
  • storage/indexeddb/index-basics-expected.txt:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-cursor-expected.txt:
  • storage/indexeddb/index-duplicate-keypaths-expected.txt:
  • storage/indexeddb/index-get-key-argument-required-expected.txt:
  • storage/indexeddb/index-multientry-expected.txt:
  • storage/indexeddb/index-population-expected.txt:
  • storage/indexeddb/index-unique-expected.txt:
  • storage/indexeddb/intversion-abort-in-initial-upgradeneeded-expected.txt:
  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/intversion-blocked-expected.txt:
  • storage/indexeddb/intversion-close-between-events-expected.txt:
  • storage/indexeddb/intversion-close-in-oncomplete-expected.txt:
  • storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
  • storage/indexeddb/intversion-encoding-expected.txt:
  • storage/indexeddb/intversion-gated-on-delete-expected.txt:
  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/intversion-omit-parameter-expected.txt:
  • storage/indexeddb/intversion-open-in-upgradeneeded-expected.txt:
  • storage/indexeddb/intversion-open-with-version-expected.txt:
  • storage/indexeddb/intversion-pending-version-changes-ascending-expected.txt:
  • storage/indexeddb/intversion-pending-version-changes-descending-expected.txt:
  • storage/indexeddb/intversion-pending-version-changes-same-expected.txt:
  • storage/indexeddb/intversion-persistence-expected.txt:
  • storage/indexeddb/intversion-revert-on-abort-expected.txt:
  • storage/indexeddb/intversion-two-opens-no-versions-expected.txt:
  • storage/indexeddb/intversion-upgrades-expected.txt:
  • storage/indexeddb/invalid-keys-expected.txt:
  • storage/indexeddb/key-generator-expected.txt:
  • storage/indexeddb/key-sort-order-across-types-expected.txt:
  • storage/indexeddb/key-sort-order-date-expected.txt:
  • storage/indexeddb/key-type-array-expected.txt:
  • storage/indexeddb/key-type-binary-expected.txt:
  • storage/indexeddb/key-type-infinity-expected.txt:
  • storage/indexeddb/keypath-arrays-expected.txt:
  • storage/indexeddb/keypath-basics-expected.txt:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keypath-fetch-key-expected.txt:
  • storage/indexeddb/keypath-intrinsic-properties-expected.txt:
  • storage/indexeddb/lazy-index-population-expected.txt:
  • storage/indexeddb/lazy-index-types-expected.txt:
  • storage/indexeddb/list-ordering-expected.txt:
  • storage/indexeddb/metadata-expected.txt:
  • storage/indexeddb/metadata-race-expected.txt:
  • storage/indexeddb/modern/abort-objectstore-info-expected.txt:
  • storage/indexeddb/modern/blocked-open-db-requests-expected.txt:
  • storage/indexeddb/modern/memory-index-not-deleted-with-objectstore-expected.txt:
  • storage/indexeddb/modern/transaction-scheduler-4-expected.txt:
  • storage/indexeddb/mozilla/add-twice-failure-expected.txt:
  • storage/indexeddb/mozilla/autoincrement-indexes-expected.txt:
  • storage/indexeddb/mozilla/bad-keypath-expected.txt:
  • storage/indexeddb/mozilla/clear-expected.txt:
  • storage/indexeddb/mozilla/create-index-unique-expected.txt:
  • storage/indexeddb/mozilla/create-index-with-integer-keys-expected.txt:
  • storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
  • storage/indexeddb/mozilla/create-objectstore-null-name-expected.txt:
  • storage/indexeddb/mozilla/cursor-mutation-expected.txt:
  • storage/indexeddb/mozilla/cursor-mutation-objectstore-only-expected.txt:
  • storage/indexeddb/mozilla/cursor-update-updates-indexes-expected.txt:
  • storage/indexeddb/mozilla/cursors-expected.txt:
  • storage/indexeddb/mozilla/delete-result-expected.txt:
  • storage/indexeddb/mozilla/event-source-expected.txt:
  • storage/indexeddb/mozilla/global-data-expected.txt:
  • storage/indexeddb/mozilla/index-prev-no-duplicate-expected.txt:
  • storage/indexeddb/mozilla/indexes-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-delete-null-key-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-inline-and-passed-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-put-no-key-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
  • storage/indexeddb/mozilla/object-cursors-expected.txt:
  • storage/indexeddb/mozilla/object-identity-expected.txt:
  • storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put-expected.txt:
  • storage/indexeddb/mozilla/object-store-remove-values-expected.txt:
  • storage/indexeddb/mozilla/objectstorenames-expected.txt:
  • storage/indexeddb/mozilla/odd-result-order-expected.txt:
  • storage/indexeddb/mozilla/put-get-values-expected.txt:
  • storage/indexeddb/mozilla/readonly-transactions-expected.txt:
  • storage/indexeddb/mozilla/readwrite-transactions-expected.txt:
  • storage/indexeddb/mozilla/readyState-expected.txt:
  • storage/indexeddb/mozilla/remove-index-expected.txt:
  • storage/indexeddb/mozilla/remove-objectstore-expected.txt:
  • storage/indexeddb/mozilla/versionchange-abort-expected.txt:
  • storage/indexeddb/mutating-cursor-expected.txt:
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/object-lookups-in-versionchange-expected.txt:
  • storage/indexeddb/objectStore-required-arguments-expected.txt:
  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-clear-expected.txt:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/objectstore-cursor-expected.txt:
  • storage/indexeddb/objectstore-removeobjectstore-expected.txt:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/open-during-transaction-expected.txt:
  • storage/indexeddb/open-ordering-expected.txt:
  • storage/indexeddb/opencursor-key-expected.txt:
  • storage/indexeddb/optional-arguments-expected.txt:
  • storage/indexeddb/pending-activity-expected.txt:
  • storage/indexeddb/persistence-expected.txt:
  • storage/indexeddb/prefetch-bugfix-108071-expected.txt:
  • storage/indexeddb/prefetch-invalidation-expected.txt:
  • storage/indexeddb/prefetch-race-expected.txt:
  • storage/indexeddb/queued-commands-expected.txt:
  • storage/indexeddb/readonly-expected.txt:
  • storage/indexeddb/readonly-properties-expected.txt:
  • storage/indexeddb/request-continue-abort-expected.txt:
  • storage/indexeddb/request-event-propagation-expected.txt:
  • storage/indexeddb/request-result-cache-expected.txt:
  • storage/indexeddb/set_version_blocked-expected.txt:
  • storage/indexeddb/setversion-blocked-by-versionchange-close-expected.txt:
  • storage/indexeddb/setversion-not-blocked-expected.txt:
  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/transaction-abort-expected.txt:
  • storage/indexeddb/transaction-active-flag-expected.txt:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame-expected.txt:
  • storage/indexeddb/transaction-complete-with-js-recursion-expected.txt:
  • storage/indexeddb/transaction-coordination-across-databases-expected.txt:
  • storage/indexeddb/transaction-coordination-within-database-expected.txt:
  • storage/indexeddb/transaction-crash-in-tasks-expected.txt:
  • storage/indexeddb/transaction-crash-on-abort-expected.txt:
  • storage/indexeddb/transaction-error-expected.txt:
  • storage/indexeddb/transaction-event-propagation-expected.txt:
  • storage/indexeddb/transaction-ordering-expected.txt:
  • storage/indexeddb/transaction-overlapping-expected.txt:
  • storage/indexeddb/transaction-read-only-expected.txt:
  • storage/indexeddb/transaction-readwrite-exclusive-expected.txt:
  • storage/indexeddb/transaction-rollback-expected.txt:
  • storage/indexeddb/transaction-scope-sequencing-expected.txt:
  • storage/indexeddb/transaction-starvation-expected.txt:
  • storage/indexeddb/transaction-storeNames-required-expected.txt:
  • storage/indexeddb/unblocked-version-changes-expected.txt:
  • storage/indexeddb/value-undefined-expected.txt:
  • storage/indexeddb/values-odd-types-expected.txt:
  • storage/indexeddb/version-change-abort-expected.txt:
  • storage/indexeddb/version-change-event-expected.txt:
  • storage/indexeddb/version-change-exclusive-expected.txt:
Note: See TracTimeline for information about the timeline view.