Timeline



Jan 24, 2016:

11:55 PM Changeset in webkit [195527] by beidson@apple.com
  • 18 edits in trunk

Modern IDB: Implement deleteIndex and getCount for the SQLite backing store.
https://bugs.webkit.org/show_bug.cgi?id=153415

Reviewed by Darin Adler.

Source/WebCore:

No new tests (Handful of tests now pass, improvements on a handful of others).

  • Modules/indexeddb/server/IDBBackingStore.h:
  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::deleteIndex):

  • Modules/indexeddb/server/MemoryIDBBackingStore.h:
  • Modules/indexeddb/server/MemoryObjectStore.cpp:

(WebCore::IDBServer::MemoryObjectStore::takeIndexByIdentifier):
(WebCore::IDBServer::MemoryObjectStore::deleteIndex):
(WebCore::IDBServer::MemoryObjectStore::deleteAllIndexes):
(WebCore::IDBServer::MemoryObjectStore::takeIndexByName): Deleted.

  • Modules/indexeddb/server/MemoryObjectStore.h:
  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::getCount):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:
  • Modules/indexeddb/server/SQLiteIDBCursor.cpp:

(WebCore::IDBServer::SQLiteIDBCursor::maybeCreateBackingStoreCursor):
(WebCore::IDBServer::SQLiteIDBCursor::SQLiteIDBCursor):

  • Modules/indexeddb/server/SQLiteIDBCursor.h:
  • Modules/indexeddb/server/SQLiteIDBTransaction.cpp:

(WebCore::IDBServer::SQLiteIDBTransaction::maybeOpenBackingStoreCursor):

  • Modules/indexeddb/server/SQLiteIDBTransaction.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteIndex):

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:

(WebCore::IDBObjectStoreInfo::deleteIndex):

  • Modules/indexeddb/shared/IDBObjectStoreInfo.h:

LayoutTests:

  • platform/mac-wk1/TestExpectations:
11:45 PM Changeset in webkit [195526] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

Report upload progress to NetworkLoadClient when using NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=153388

Patch by Alex Christensen <achristensen@webkit.org> on 2016-01-24
Reviewed by Darin Adler.

This fixes http/tests/xmlhttprequest/upload-onload-event.html and a few other tests.

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::didBecomeDownload):
(WebKit::NetworkLoad::didSendData):
(WebKit::NetworkLoad::didReceiveResponseAsync):

  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/NetworkSession.h:

(WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate initWithNetworkSession:]):
(-[WKNetworkSessionDelegate URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:]):
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):

11:04 PM Changeset in webkit [195525] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, speculative fix for:
Modern IDB: Some IDB tests crash in ~SQLiteIDBBackingStore
https://bugs.webkit.org/show_bug.cgi?id=153418

No new tests.

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::~SQLiteIDBBackingStore): Clear the global object

before wiping out the VM.

10:13 PM Changeset in webkit [195524] by Gyuyoung Kim
  • 18 edits in trunk/Source

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

Reviewed by Darin Adler.

As a step to remove PassRefPtr uses, this patch reduces the uses in WebCore/dom.

Source/WebCore:

  • bindings/js/JSDeviceMotionEventCustom.cpp:

(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):

  • dom/DeviceMotionData.cpp:

(WebCore::DeviceMotionData::create):
(WebCore::DeviceMotionData::DeviceMotionData):

  • dom/DeviceMotionData.h:
  • dom/Document.cpp:

(WebCore::Document::setBodyOrFrameset):
(WebCore::Document::setFocusedElement):
(WebCore::Document::setDecoder):
(WebCore::Document::pushCurrentScript):

  • dom/Document.h:
  • dom/Event.cpp:

(WebCore::Event::cloneFor):

  • dom/Event.h:
  • dom/MouseEvent.cpp:

(WebCore::MouseEvent::cloneFor):

  • dom/MouseEvent.h:
  • dom/NodeIterator.cpp:

(WebCore::NodeIterator::NodePointer::NodePointer):
(WebCore::NodeIterator::NodeIterator):

  • dom/NodeIterator.h:

(WebCore::NodeIterator::create):

  • html/RadioInputType.cpp:

(WebCore::RadioInputType::handleKeydownEvent):

  • platform/ios/DeviceMotionClientIOS.mm:

(WebCore::DeviceMotionClientIOS::motionChanged):

  • xml/XSLTProcessor.cpp:

(WebCore::XSLTProcessor::createDocumentFromSource):

Source/WebKit/win:

  • Plugins/PluginView.cpp:

(WebCore::PluginView::focusPluginElement):

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::focusPluginElement):

9:23 PM Changeset in webkit [195523] by mmaxfield@apple.com
  • 9 edits in trunk/Source/WebCore

[Font Loading] General cleanup
https://bugs.webkit.org/show_bug.cgi?id=153403

Reviewed by Darin Adler.

It turns out that CSSFontFaceSource::m_hasExternalSVGFont exactly equals
whether or not CSSFontFaceSource::m_font is a CachedSVGFont. Therefore,
the variable is redundant.

In addition, it was being passed to functions on CSSFontFaceSource::m_font,
which means it was always true inside the CachedSVGFont subclass and
always false for the CachedFont. Therefore, there is no reason pass this
variable to these functions because its value can be determined at
authorship time.

No new tests because there is no behavior change.

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::font):
(WebCore::CSSFontFaceSource::CSSFontFaceSource): Deleted.

  • css/CSSFontFaceSource.h:
  • css/CSSFontSelector.cpp:

(WebCore::createFontFace):

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::createFont):

  • loader/cache/CachedFont.h:
  • loader/cache/CachedSVGFont.cpp:

(WebCore::CachedSVGFont::createFont):
(WebCore::CachedSVGFont::ensureCustomFontData):

  • loader/cache/CachedSVGFont.h:
  • platform/network/HTTPParsers.cpp:

(WebCore::isValidHTTPToken):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod):

8:00 PM Changeset in webkit [195522] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: add support for placing Views in DataGrid column headers
https://bugs.webkit.org/show_bug.cgi?id=153387
<rdar://problem/24310797>

Reviewed by Timothy Hatcher.

This patch adds a new DataGrid column property, headerView, allowing a
custom View object to be placed in a column's header cell. The grid ensures
that the left and right edges of the view are kept in sync as columns are
resized. As most views use absolute positioning and are styled in CSS, the
vertical position and height of the view isn't set by the grid.

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid.prototype.insertColumn):
If the new column includes the headerView column data property,
it should take priority over titleDOMFragment and title text.
The specified View object is inserted into the DOM under the
column's <th> element, and added as a subview of the data grid.
(WebInspector.DataGrid.prototype.layout):
Update header views after performing default layout.
(WebInspector.DataGrid.prototype._showColumn):
Set hidden column property false instead of deleting it.
(WebInspector.DataGrid.prototype._positionHeaderViews):
Update the left and right style positions for all Views embedded in
column header cells, then update their layouts.
(WebInspector.DataGrid.prototype.resizerDragging):
Update header views after column resizers are repositioned.

5:19 PM Changeset in webkit [195521] by Chris Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed, update test after r195497

This test did not make much sense as it was, after the behavior change
in r195497.

  • fast/dom/Document/document-charset-expected.txt:
  • fast/dom/Document/document-charset.html:
5:11 PM Changeset in webkit [195520] by Chris Dumez
  • 45 edits
    2 adds in trunk

An XMLDocument interface should be exposed on the global Window object
https://bugs.webkit.org/show_bug.cgi?id=153378
<rdar://problem/24315465>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

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

  • web-platform-tests/dom/interfaces-expected.txt:
  • web-platform-tests/dom/nodes/Document-constructor-expected.txt:
  • web-platform-tests/html/dom/interfaces-expected.txt:

Source/WebCore:

Expose an XMLDocument interface on the global Window object, as per:

DOMImplementation.createDocument() now returns an XMLDocument instead
of a Document, as per:

Previously, WebKit would alias XMLDocument to Document which caused
some W3C tests to fail.

Chrome and Firefox already match the specification here.

No new tests, already covered by existing tests.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSDocumentCustom.cpp:

(WebCore::createNewDocumentWrapper):

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):

  • dom/DOMImplementation.h:
  • dom/DOMImplementation.idl:
  • dom/Document.cpp:

(WebCore::Document::cloneDocumentWithoutChildren):

  • dom/Document.h:

(WebCore::Document::isXMLDocument):
(WebCore::Document::create): Deleted.
(WebCore::Document::createNonRenderedPlaceholder): Deleted.

  • dom/XMLDocument.h: Added.

(WebCore::XMLDocument::create):
(WebCore::XMLDocument::createXHTML):
(WebCore::XMLDocument::XMLDocument):
(isType):

  • dom/XMLDocument.idl: Added.
  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::patchDocument):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::setOuterHTML):

  • page/DOMWindow.idl:
  • page/PageSerializer.cpp:

(WebCore::SerializerMarkupAccumulator::SerializerMarkupAccumulator):

  • svg/SVGDocument.cpp:

(WebCore::SVGDocument::SVGDocument):

  • svg/SVGDocument.h:
  • svg/SVGDocument.idl:
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::responseXML):

  • xml/XSLTProcessor.cpp:

(WebCore::XSLTProcessor::createDocumentFromSource):

LayoutTests:

Rebaseline some layout tests now that XMLDocument is exposed.

  • fast/dom/DOMImplementation/createDocument-namespace-err-expected.txt:
  • fast/dom/DOMImplementation/script-tests/createDocument-namespace-err.js:
  • fast/dom/Document/clone-node-expected.txt:
  • fast/dom/Document/clone-node.html:
  • fast/dom/Document/xml-document-focus-expected.txt:
  • fast/dom/Document/xml-document-focus.xml:
  • fast/dom/dom-parse-serialize-display-expected.txt:
  • fast/dom/dom-parse-serialize-expected.txt:
  • fast/dom/wrapper-classes-expected.txt:
  • fast/dom/wrapper-classes.html:
  • fast/dom/xmlserializer-serialize-to-string-exception-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-bad-mimetype-expected.txt:
  • http/tests/xmlhttprequest/supported-xml-content-types-expected.txt:
  • platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
4:58 PM Changeset in webkit [195519] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Highlight timeline range handles on hover
https://bugs.webkit.org/show_bug.cgi?id=153395
<rdar://problem/24312364>

Reviewed by Timothy Hatcher.

  • UserInterface/Views/TimelineRuler.css:

(.timeline-ruler > .selection-handle.clamped):
Gardening. No need to repeat "1px solid".

(.timeline-ruler > .selection-handle:hover, .timeline-ruler > .selection-handle:active):
":active" pseudo selector is needed to keep the handle highligted while it's being dragged
regardress if the mouse cursor is hovering over it or not.

3:43 PM Changeset in webkit [195518] by Simon Fraser
  • 3 edits in trunk/LayoutTests

New WK1 baselines.

  • platform/mac-wk1/displaylists/extent-includes-shadow-expected.txt:
  • platform/mac-wk1/displaylists/extent-includes-transforms-expected.txt:
3:42 PM Changeset in webkit [195517] by beidson@apple.com
  • 9 edits in trunk

Modern IDB: Support IDBObjectStore.createIndex in the SQLite backing store.
https://bugs.webkit.org/show_bug.cgi?id=153410

Reviewed by Darin Adler.

Source/WebCore:

No new tests (Covered by unskipping many existing tests).

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::~SQLiteIDBBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedHasIndexRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedPutIndexRecord):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:
  • Modules/indexeddb/server/SQLiteIDBCursor.cpp:

(WebCore::IDBServer::SQLiteIDBCursor::maybeCreateBackingStoreCursor):
(WebCore::IDBServer::SQLiteIDBCursor::SQLiteIDBCursor):

  • Modules/indexeddb/server/SQLiteIDBCursor.h:
  • Modules/indexeddb/server/SQLiteIDBTransaction.cpp:

(WebCore::IDBServer::SQLiteIDBTransaction::maybeOpenBackingStoreCursor):

  • Modules/indexeddb/server/SQLiteIDBTransaction.h:

LayoutTests:

  • platform/mac-wk1/TestExpectations:
12:39 PM Changeset in webkit [195516] by Simon Fraser
  • 7 edits in trunk

Make the dumped display list representation a bit more compact
https://bugs.webkit.org/show_bug.cgi?id=153409

Reviewed by Zalan Bujtas.
Source/WebCore:

Don't make a group for every display list item.

  • platform/graphics/displaylists/DisplayList.cpp:

(WebCore::DisplayList::DisplayList::asText):

LayoutTests:

Updated results.

  • displaylists/extent-includes-shadow-expected.txt:
  • displaylists/extent-includes-transforms-expected.txt:
  • displaylists/layer-dispay-list-expected.txt:
  • displaylists/replay-skip-clipped-rect-expected.txt:
12:39 PM Changeset in webkit [195515] by Simon Fraser
  • 14 edits
    3 adds in trunk

Add testing for display list replay, and skip clipped-out items on replay
https://bugs.webkit.org/show_bug.cgi?id=153408

Reviewed by Zalan Bujtas.
Source/WebCore:

Make it possible to save and serialize a DisplayList of Items which were
actually applied on replay, so that replay-time optimizations can be tested.

This exposes internals.setElementTracksDisplayListReplay() and
internals.replayDisplayListForElement().

Do a trivial replay-time optimization, which is to skip items whose extents are
outside the replay clip.

Test: displaylists/replay-skip-clipped-rect.html

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::GraphicsLayer):

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::setIsTrackingDisplayListReplay):
(WebCore::GraphicsLayer::isTrackingDisplayListReplay):
(WebCore::GraphicsLayer::replayDisplayListAsText):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::layerDisplayListMap): Use a singleton map to store the replay display lists
to avoid bloating GraphicsLayerCA for test-only code. The map stores a pair of the
replay list and a clip rect, which are both dumped. Dumping the clip rect ensures that
we're reporting the replay for the correct tile in a test (since there will be a replay
for each tile).
(WebCore::GraphicsLayerCA::~GraphicsLayerCA):
(WebCore::GraphicsLayerCA::platformCALayerPaintContents):
(WebCore::GraphicsLayerCA::setIsTrackingDisplayListReplay):
(WebCore::GraphicsLayerCA::replayDisplayListAsText):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/displaylists/DisplayList.h:

(WebCore::DisplayList::DisplayList::appendItem):

  • platform/graphics/displaylists/DisplayListReplayer.cpp:

(WebCore::DisplayList::Replayer::replay): In the unlikely event of tracking replays,
allocate a new DisplayList and append to it items which actually get applied.

  • platform/graphics/displaylists/DisplayListReplayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::setIsTrackingDisplayListReplay):
(WebCore::RenderLayerBacking::replayDisplayListAsText):

  • rendering/RenderLayerBacking.h:
  • testing/Internals.cpp:

(WebCore::Internals::setElementTracksDisplayListReplay):
(WebCore::Internals::replayDisplayListForElement):

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

LayoutTests:

Test that a clipped-out rectangle is not painted.

In order to get the rect into the display list, we need to make the target
compositing layer be tiled, and to be clipped by an ancestor so that only the
second tile renders. (This complexity is required because in simpler scenarios,
the rect is clipped out at recording time.)

  • displaylists/replay-skip-clipped-rect-expected.txt: Added.
  • displaylists/replay-skip-clipped-rect.html: Added.
  • displaylists/resources/dump-target-replay-list.js: Added.

(doTest):

12:39 PM Changeset in webkit [195514] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Layout Test displaylists/extent-includes-transforms.html is flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=153308

Reviewed by Dan Bernstein.

Rather than assuming that a zero-delay timer will fire after the next layer flush,
force a flush with testRunner.display(), which fixes flakiness.

  • displaylists/resources/dump-target-display-list.js:

(doTest):

9:06 AM Changeset in webkit [195513] by mitz@apple.com
  • 2 edits in trunk/Tools

Added project.xcworkspace and xcuserdata to this project’s svn:ignore.

  • LayoutTestRelay/LayoutTestRelay.xcodeproj: Added property svn:ignore.

Jan 23, 2016:

6:47 PM Changeset in webkit [195512] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk

Web Inspector: AXI: node-link-list should be collapsible
https://bugs.webkit.org/show_bug.cgi?id=130911

.:

Added a manual test to test the node list in the Accessibility Inspector

Patch by Aaron Chu <arona.chu@gmail.com> on 2016-01-23
Reviewed by Timothy Hatcher.

  • ManualTests/accessibility/collapsible-node-link-list.html: Added.

Source/WebInspectorUI:

Patch by Aaron Chu <arona.chu@gmail.com> on 2016-01-23
Reviewed by Timothy Hatcher.

Accessibility Inspector: for a very long children node list, only the first 5 nodes are shown.
Remaining nodes are hidden by a "# More…" link by which a user can click to reveal the remainder
of the node list.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility.linkListForNodeIds):

  • UserInterface/Views/Main.css:

(.expand-list-button):
(.node-link-list, .node-link-list li:not([hidden])):
(.node-link-list, .node-link-list li): Deleted.

2:51 PM Changeset in webkit [195511] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

[GTK] Fix media controls displaying without controls attribute
https://bugs.webkit.org/show_bug.cgi?id=152500

Media controls is not displayed without controls attribute by default
when the video element has text track. It'll be displayed on fullscreen
regardless of controls attribute.

Patch by Wonchul Lee <wonchul.lee@collabora.co.uk> on 2016-01-23
Reviewed by Michael Catanzaro.

Source/WebCore:

  • Modules/mediacontrols/mediaControlsGtk.js:

(ControllerGtk.prototype.shouldHaveControls):
(ControllerGtk.prototype.reconnectControls):
(ControllerGtk.prototype.removeControls):
(ControllerGtk.prototype.configureControls): Deleted.

LayoutTests:

  • media/video-controls-no-display-with-text-track-expected.txt: Added.
  • media/video-controls-no-display-with-text-track.html: Added.
2:08 AM Changeset in webkit [195510] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit2

CMake build fix after r195494.

  • PlatformMac.cmake:

WebKit2 needs to be able to find DataDetectors.h.

1:44 AM Changeset in webkit [195509] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Use credentials from a URL with NetworkSession like we did with ResourceHandle
https://bugs.webkit.org/show_bug.cgi?id=153328

Patch by Alex Christensen <achristensen@webkit.org> on 2016-01-23
Reviewed by Alexey Proskuryakov.

Source/WebCore:

This patch fixes at least http/tests/xmlhttprequest/basic-auth-credentials-escaping.html when using NetworkSession.

  • platform/network/ProtectionSpaceBase.h:

(WebCore::ProtectionSpaceBase::encodingRequiresPlatformData):

  • platform/network/ResourceRequestBase.h:

Add some WEBCORE_EXPORT macros for functions that are now used in WebKit2.

Source/WebKit2:

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::NetworkLoad):
createDataTaskWithRequest is being removed, so use std::make_unique<NetworkDataTask> directly instead.
Also, create the task even if we are deferring loading. Don't call resume if we are deferring loading.

  • NetworkProcess/NetworkSession.h:

Callbacks are not just used in NetworkSessionTaskClient, so declare them outside.
The NetworkDataTask now takes a ResourceRequest so we can strip its credentials.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
Try credentials stored with the NetworkDataTask before asking the client for credentials.
(WebKit::NetworkSession::~NetworkSession):
(WebKit::NetworkSession::dataTaskForIdentifier):
(WebKit::NetworkSession::takeDownloadID):
(WebKit::NetworkDataTask::NetworkDataTask):
Strip the credentials from the url before creating the task because we do not know the authentication type.
We will use these credentials when a challenge is received.
(WebKit::NetworkDataTask::~NetworkDataTask):
(WebKit::NetworkDataTask::tryPasswordBasedAuthentication):
If we have credentials from the initial URL, try using them if it is appropriate.
(WebKit::NetworkDataTask::cancel):
(WebKit::NetworkSession::createDataTaskWithRequest): Deleted.

  • Shared/Authentication/AuthenticationManager.h:
12:19 AM Changeset in webkit [195508] by beidson@apple.com
  • 4 edits in trunk

Modern IDB: Implement clearing object stores and opening cursors in the SQLite backend.
https://bugs.webkit.org/show_bug.cgi?id=153396

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Some failing tests now pass, others improved).

Copy more LegacyIDB SQLite backend code over to the new SQLite backend.

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::clearObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::openCursor):
(WebCore::IDBServer::SQLiteIDBBackingStore::iterateCursor):

LayoutTests:

  • platform/mac-wk1/TestExpectations:

Jan 22, 2016:

11:13 PM Changeset in webkit [195507] by commit-queue@webkit.org
  • 3 edits
    5 deletes in trunk

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

Broke authenticaiton tests (leaks credentials) (Requested by
ap on #webkit).

Reverted changeset:

"LayoutTest http/tests/security/xssAuditor/embed-tag-in-path-
unterminated.html crashing"
https://bugs.webkit.org/show_bug.cgi?id=153250
http://trac.webkit.org/changeset/195493

11:13 PM Changeset in webkit [195506] by mitz@apple.com
  • 1 edit in trunk/Source/WebKit2/ChangeLog

Fixed a computer error.

11:07 PM Changeset in webkit [195505] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/24304228> REGRESSION (r184215): Staged XPC services load non-staged shims
https://bugs.webkit.org/show_bug.cgi?id=153389

Reviewed by Alexey Prooskuryakov.

  • Configurations/Shim.xcconfig: Don’t override the install name when using a staged install path.
10:46 PM Changeset in webkit [195504] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Reduce unnecessary forced layouts in TimelineRuler
https://bugs.webkit.org/show_bug.cgi?id=153390
<rdar://problem/24312241>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-01-22
Reviewed by Timothy Hatcher.

TimelineRuler's width rarely changes. It should only need to calculate
its width when added to the DOM or if the content view containing it
has resized and the bounds of the ruler may have changed.

Switch everything in TimelineRuler to using a cached width, and add
an explicit method, resize, to update this width. This eliminated
frequent hangs I was seeing while recording timelines.

  • UserInterface/Views/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype.shown):
(WebInspector.OverviewTimelineView.prototype.updateLayoutForResize):
Resize the ruler when the view is shown or resized.

  • UserInterface/Views/TimelineOverview.js:

(WebInspector.TimelineOverview.prototype.shown):
(WebInspector.TimelineOverview.prototype.updateLayoutForResize):
Resize the ruler when the view is shown or resized.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype.layout):
Inform the current content view of a resize if possible.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype.resize):
Update the width.

(WebInspector.TimelineRuler.prototype._recalculate):
(WebInspector.TimelineRuler.prototype._needsMarkerLayout):
(WebInspector.TimelineRuler.prototype._needsSelectionLayout):
(WebInspector.TimelineRuler.prototype._handleMouseMove):
(WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
Use cached width.

  • UserInterface/Views/TimelineRecordBar.js:

(WebInspector.TimelineRecordBar.createCombinedBars): Deleted.
Remove some stale code.

7:24 PM Changeset in webkit [195503] by fpizlo@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

B3 should strength-reduce division by a constant
https://bugs.webkit.org/show_bug.cgi?id=153386

Reviewed by Benjamin Poulain.

You can turn a 32-bit division by a constant into a 64-bit multiplication by a constant
plus some shifts. A book called "Hacker's Delight" has a bunch of math about this. The
hard part is finding the constant by which to multiply, and the amount by which to shift.
The book tells you some theroems, but you still have to turn that into code by thinking
deep thoughts. Luckily I was able to avoid that because it turns out that LLVM already
has code for this. It's called APInt::magic(), where APInt is their class for reasoning
about integers.

The code has a compatible license to ours and we have already in the past taken code from
LLVM. So, that's what this patch does. The LLVM code is localized in
B3ComputeDivisionMagic.h. Then reduceStrength() uses that to construct the multiply+shift
sequence.

This is an enormous speed-up on AsmBench-0.9/bigfib.cpp.js. It makes us as fast on that
test as LLVM. It reduces our deficit on AsmBench to 1.5%. Previously it was 4.5%.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • b3/B3ComputeDivisionMagic.h: Added.

(JSC::B3::computeDivisionMagic):

  • b3/B3ReduceStrength.cpp:
6:10 PM Changeset in webkit [195502] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

genericUnwind might overflow the instructions() vector when catching an FTL exception
https://bugs.webkit.org/show_bug.cgi?id=153383

Reviewed by Benjamin Poulain.

  • jit/JITExceptions.cpp:

(JSC::genericUnwind):

6:04 PM Changeset in webkit [195501] by rniwa@webkit.org
  • 13 edits
    2 adds in trunk

HTMLElement::nodeName should not upper case non-ASCII characters
https://bugs.webkit.org/show_bug.cgi?id=153231

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaselined the test now that all test cases pass.

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

Source/WebCore:

Use the newly added convertToASCIIUppercase to generate the string for tagName and nodeName.

Test: fast/dom/Element/tagName-must-be-ASCII-uppercase-in-HTML-document.html

  • dom/QualifiedName.cpp:

(WebCore::QualifiedName::localNameUpper): Use convertToASCIIUppercase.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::nodeName): Use convertToASCIIUppercase.

Source/WTF:

Added convertToASCIIUppercase to AtomicString, String, and StringImpl.

  • wtf/text/AtomicString.cpp:

(WTF::AtomicString::convertASCIICase): Generalized from convertToASCIILowercase.
(WTF::AtomicString::convertToASCIILowercase):
(WTF::AtomicString::convertToASCIIUppercase):

  • wtf/text/AtomicString.h:
  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::convertASCIICase): Generalized from convertToASCIILowercase.
(WTF::StringImpl::convertToASCIILowercase):
(WTF::StringImpl::convertToASCIIUppercase):

  • wtf/text/StringImpl.h:
  • wtf/text/WTFString.cpp:

(WTF::String::convertToASCIIUppercase): Added.

  • wtf/text/WTFString.h:

LayoutTests:

Added a regression test since the rebaselined W3C test case is very simple and doesn't all permutations.

  • fast/dom/Element/tagName-must-be-ASCII-uppercase-in-HTML-document-expected.txt: Added.
  • fast/dom/Element/tagName-must-be-ASCII-uppercase-in-HTML-document.html: Added.
6:00 PM Changeset in webkit [195500] by bshafiei@apple.com
  • 2 edits
    1 copy in tags/Safari-602.1.17.0.1

Merged r195498. rdar://problem/24310408

5:48 PM Changeset in webkit [195499] by beidson@apple.com
  • 8 edits in trunk

Modern IDB: Disable simultaneous transactions in the SQLite backend for now.
https://bugs.webkit.org/show_bug.cgi?id=153381

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (This resolves many of the currently crashing/asserting tests).

Right now we're porting the Legacy IDB SQLite backend to Modern IDB.

The way the Legacy backend works is restricted to one transaction at a time.

There's many tricks we can play to resolve this, but that task is better performed
once all of the basic functionality is done.

Fixing this limitation is covered by https://bugs.webkit.org/show_bug.cgi?id=153382

  • Modules/indexeddb/server/IDBBackingStore.h: Add a "supports simultaneous transactions" getter.
  • Modules/indexeddb/server/MemoryIDBBackingStore.h:
  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::deleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::openBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::enqueueTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::takeNextRunnableTransaction): If the backing store does

not support simultaneous transactions but there is a transaction in progress, return.

  • Modules/indexeddb/server/UniqueIDBDatabase.h:

LayoutTests:

  • platform/mac-wk1/TestExpectations:
5:32 PM Changeset in webkit [195498] by achristensen@apple.com
  • 2 edits
    1 copy in trunk

Fix internal Windows build
https://bugs.webkit.org/show_bug.cgi?id=153385
rdar://problem/24310408

Reviewed by Brian Weinstein.

  • Source/cmake/WinTools.make:
  • Source/cmake/tools/vsprops: Copied from WebKitLibraries/win/tools/vsprops.

These property sheets are needed for some projects that are not in this repository
and don't use CMake in the official build. We want to leave them unchanged for now.

5:10 PM Changeset in webkit [195497] by Chris Dumez
  • 16 edits
    2 deletes in trunk

document.charset should be an alias for document.characterSet
https://bugs.webkit.org/show_bug.cgi?id=153367

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline existing W3C tests now that more checks are passing.

  • web-platform-tests/dom/interfaces-expected.txt:
  • web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt:
  • web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument-expected.txt:
  • web-platform-tests/dom/nodes/Document-constructor-expected.txt:
  • web-platform-tests/dom/nodes/Node-properties-expected.txt:
  • web-platform-tests/html/dom/interfaces-expected.txt:

Source/WebCore:

document.charset should be an alias for document.characterSet:

It should also be read-only.

Chrome matches the specification.

No new tests, already covered by existing tests.

  • dom/Document.h:
  • dom/Document.idl:

LayoutTests:

Drop outdated tests.

  • fast/dom/Document/document-charset-expected.txt:
  • fast/dom/document-attribute-js-null-expected.txt:
  • fast/dom/document-attribute-js-null.html:
  • fast/encoding/css-charset-default-expected.txt:
  • fast/encoding/css-charset-default.xhtml:
  • fast/encoding/external-script-charset.js: Removed.
  • fast/encoding/external-script-charset.xhtml: Removed.
5:04 PM Changeset in webkit [195496] by Chris Dumez
  • 7 edits
    10 adds in trunk

Document.open / Document.write should be prevented while the document is being unloaded
https://bugs.webkit.org/show_bug.cgi?id=153255
<rdar://problem/22741293>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Document.open / Document.write should be prevented while the document
is being unloaded, as per the HTML specification:

This patch is aligning our behavior with the specification and Firefox.
Calling Document.open / Document.write during the document was being
unloaded would cause us to crash as this was unexpected.

Tests: fast/frames/page-hide-document-open.html

fast/frames/page-unload-document-open.html

  • WebCore.xcodeproj/project.pbxproj:

Add new IgnoreOpensDuringUnloadCountIncrementer.h header.

  • dom/Document.cpp:

(WebCore::Document::open):
Abort if the document's ignore-opens-during-unload counter is greater
than zero, as per:
https://html.spec.whatwg.org/multipage/webappapis.html#dom-document-open (step 6)

(WebCore::Document::write):
Abort if the insertion point is undefined and the document's
ignore-opens-during-unload counter is greater than zero, as per:
https://html.spec.whatwg.org/multipage/webappapis.html#dom-document-write (step 3)

  • dom/Document.h:

Add data member to maintain the document's ignore-opens-during-unload counter:
https://html.spec.whatwg.org/multipage/webappapis.html#ignore-opens-during-unload-counter

  • dom/IgnoreOpensDuringUnloadCountIncrementer.h: Added.

Add utility class to increment / decrement a document's
ignore-opens-during-unload counter.

  • history/CachedFrame.cpp:

(WebCore::CachedFrame::CachedFrame):
When a page goes into PageCache, we don't end up calling
FrameLoader::detachChildren() so we need to increment the document's
ignore-opens-during-unload counter before calling stopLoading() on each
subframe.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::detachChildren):
detachChildren() will end up firing the pagehide / unload events in each
child frame so we increment the parent frame's document's
ignore-opens-during-unload counter. This behavior matches the text of:
https://html.spec.whatwg.org/multipage/browsers.html#unload-a-document

As per the spec, the document's ignore-opens-during-unload counter should
be incremented before firing the pagehide / unload events at the document's
Window object. It should be decremented only after firing the pagehide /
unload events in each subframe. This is needed in case a subframe tries to
call document.open / document.write on a parent frame's document, from its
pagehide or unload handler.

(WebCore::FrameLoader::dispatchUnloadEvents):
Increment the document's ignore-opens-during-unload counter before firing
the pagehide / unload events and decrement it after. As per the spec, we
are not supposed to decrement this early. We actually supposed to wait
until the pagehide / unload events have been fired in all the subframes.
For this reason, we take care of re-incrementing the document's
ignore-opens-during-unload in detachChildren(), which will take care of
firing the pagehide / unload in the subframes.

LayoutTests:

Add layout tests that cover calling Document.open / Document.write from
unload and pagehide handlers.

  • fast/frames/page-hide-document-open-expected.txt: Added.
  • fast/frames/page-hide-document-open.html: Added.
  • fast/frames/page-unload-document-open-expected.txt: Added.
  • fast/frames/page-unload-document-open.html: Added.
  • fast/frames/resources/finish-test.html: Added.
  • fast/frames/resources/page-hide-document-open-frame.html: Added.
  • fast/frames/resources/page-hide-document-open-win.html: Added.
  • fast/frames/resources/page-unload-document-open-frame.html: Added.
  • fast/frames/resources/page-unload-document-open-win.html: Added.
4:41 PM Changeset in webkit [195495] by beidson@apple.com
  • 5 edits in trunk

Modern IDB: Implement put, get, and delete records for the SQLite backend.
https://bugs.webkit.org/show_bug.cgi?id=153375

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Covered by many existing tests now passing).

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteRange):
(WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:

LayoutTests:

  • platform/mac-wk1/TestExpectations:
4:24 PM Changeset in webkit [195494] by enrica@apple.com
  • 8 edits 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/WebCore:

This patch adds the logic to perform data detection and modify
the DOM by adding data detector links as appropriate.
The data detector results returned by detectContentInRange are
stored in the Frame object.

  • editing/cocoa/DataDetection.h:
  • editing/cocoa/DataDetection.mm:

(WebCore::resultIsURL):
(WebCore::constructURLStringForResult):
(WebCore::removeResultLinksFromAnchor):
(WebCore::searchForLinkRemovingExistingDDLinks):
(WebCore::dataDetectorTypeForCategory):
(WebCore::buildQuery):
(WebCore::DataDetection::detectContentInRange):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkLoadCompleteForThisFrame):

  • page/Frame.h:

(WebCore::Frame::setDataDetectionResults):
(WebCore::Frame::dataDetectionResults):

  • platform/spi/cocoa/DataDetectorsCoreSPI.h:

(DDQueryOffsetCompare):

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebView.mm:

(fromWKDataDetectorTypes): Changed parameter to uint64_t to
successfully compare against WKDataDetectorTypeAll.

4:19 PM Changeset in webkit [195493] by dbates@webkit.org
  • 3 edits
    5 adds in trunk

LayoutTest http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html crashing
https://bugs.webkit.org/show_bug.cgi?id=153250
<rdar://problem/12172843>
And
<rdar://problem/24248040>

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Remove an incorrect assertion that the absolute URL associated with a protection space cannot
contain consecutive forward slash (/) characters. A URL can contain consecutive forward slashes.
This also makes the invariants for CredentialStorage::findDefaultProtectionSpaceForURL() symmetric
with the invariants for WebCore::protectionSpaceMapKeyFromURL().

Tests: http/tests/loading/basic-auth-load-URL-with-consecutive-slashes.html

http/tests/xmlhttprequest/basic-auth-load-URL-with-consecutive-slashes.html

  • platform/network/CredentialStorage.cpp:

(WebCore::CredentialStorage::findDefaultProtectionSpaceForURL):

LayoutTests:

The test case http/tests/xmlhttprequest/basic-auth-load-URL-with-consecutive-slashes.html was derived
from a test case written by Yongjun Zhang in <https://bugs.webkit.org/attachment.cgi?id=65189> (bug #44461).

  • http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt: Added.
  • http/tests/loading/basic-auth-load-URL-with-consecutive-slashes.html: Added.
  • http/tests/xmlhttprequest/basic-auth-load-URL-with-consecutive-slashes-expected.txt: Added.
  • http/tests/xmlhttprequest/basic-auth-load-URL-with-consecutive-slashes.html: Added.
  • platform/wk2/http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt: Added.
3:45 PM Changeset in webkit [195492] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Rebaselining http/tests/security/originHeader/origin-header-for-https.html after r195477

Unreviewed test gardening.

  • http/tests/security/originHeader/origin-header-for-https-expected.txt:
3:43 PM Changeset in webkit [195491] by Chris Dumez
  • 5 edits in trunk

DOMImplementation.createHTMLDocument("") should append an empty Text Node to the title Element
https://bugs.webkit.org/show_bug.cgi?id=153374

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

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

  • web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument-expected.txt:
  • web-platform-tests/dom/ranges/Range-selectNode-expected.txt:

Source/WebCore:

DOMImplementation.createHTMLDocument("") should append an empty Text
Node to the title Element as per the steps at:

Firefox and Chrome follow the specification here.

Previously, WebKit would rely on HTMLTitleElement.text setter which
does not create a Text Node if the title is the empty string, as per:

No new tests, already covered by existing test.

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createHTMLDocument):

3:37 PM Changeset in webkit [195490] by bshafiei@apple.com
  • 2 edits in tags/Safari-602.1.17.0.1/Source/JavaScriptCore

Merged r195464. rdar://problem/24296328

3:36 PM Changeset in webkit [195489] by bshafiei@apple.com
  • 5 edits in tags/Safari-602.1.17.0.1/Source

Versioning.

3:30 PM Changeset in webkit [195488] by mark.lam@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

We should OSR exit with Int52Overflow when we fail to make an Int52 where we expect one.
https://bugs.webkit.org/show_bug.cgi?id=153379

Reviewed by Filip Pizlo.

In DFG::Graph::addShouldSpeculateMachineInt(), we check
!hasExitSite(add, Int52Overflow) when determining whether it's ok to speculate
that an operand is of type Int52 or not. However, the Int52Rep code that
converts a double to Int52 will OSR exit with exit kind BadType instead.
This renders the hasExitSite() check in addShouldSpeculateMachineInt() useless.
This patch fixes this by changing Int52Rep to OSR exit with exit kind
Int52Overflow instead when it fails to convert a double to an Int52.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
(JSC::DFG::SpeculativeJIT::typeCheck):
(JSC::DFG::SpeculativeJIT::usedRegisters):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::needsTypeCheck):
(JSC::DFG::SpeculativeJIT::speculateStringObjectForStructure):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::typeCheck):
(JSC::FTL::DFG::LowerDFGToLLVM::appendTypeCheck):
(JSC::FTL::DFG::LowerDFGToLLVM::doubleToStrictInt52):

3:26 PM Changeset in webkit [195487] by adachan@apple.com
  • 21 edits in trunk/Source

Add a mode parameter to MediaControllerInterface::supportsFullscreen() and ChromeClient::supportsVideoFullscreen().
https://bugs.webkit.org/show_bug.cgi?id=153220

Reviewed by Eric Carlson.

Source/WebCore:

No new tests, just code refactoring.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::supportsFullscreen):
Just pass in VideoFullscreenModeStandard as this is used for checking the standard fullscreen case.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::enterFullscreen):
Only use the FullScreen API if the mode is VideoFullscreenModeStandard. Call ChromeClient::supportsVideoFullscreen()
with the mode.
(WebCore::HTMLMediaElement::exitFullscreen):
Move the fullscreen element check up so we can use this method to exit picture-in-picture mode.

  • html/HTMLMediaElement.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::supportsFullscreen):
Ditto.
(WebCore::HTMLVideoElement::webkitEnterFullscreen):
Pass in VideoFullscreenModeStandard to supportsFullscreen() as this is used for the standard fullscreen case.
(WebCore::HTMLVideoElement::webkitSupportsFullscreen):
Ditto.
(WebCore::HTMLVideoElement::webkitSupportsPresentationMode):
Pass in the correct VideoFullscreenMode to supportsFullscreen() corresponding to the mode string passed in.
(WebCore::HTMLVideoElement::setFullscreenMode):
Pass in the mode to supportsFullscreen().

  • html/HTMLVideoElement.h:
  • html/MediaController.h:
  • html/MediaControllerInterface.h:

Make supportsFullscreen() take a VideoFullscreenMode.

  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::reset):
Pass in VideoFullscreenModeStandard to supportsFullscreen() here since this is used for the standard
fullscreen button.

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::reset):
Ditto.

  • page/ChromeClient.h:

Make supportsVideoFullscreen() take a VideoFullscreenMode.

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::mediaSupportsFullscreen):
(WebCore::HitTestResult::toggleMediaFullscreenState):
(WebCore::HitTestResult::enterFullscreenForVideo):
Pass in VideoFullscreenModeStandard in the code relating to the standard fullscreen.

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::supportsVideoFullscreen):

Source/WebKit/win:

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::supportsVideoFullscreen):

  • WebCoreSupport/WebChromeClient.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::supportsVideoFullscreen):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
3:25 PM Changeset in webkit [195486] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.17.0.1

New tag.

3:22 PM Changeset in webkit [195485] by Chris Dumez
  • 13 edits
    9 deletes in trunk

Document.URL / Document.documentURI should return "about:blank" instead of empty string / null
https://bugs.webkit.org/show_bug.cgi?id=153363
<rdar://problem/22549736>

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

  • web-platform-tests/dom/interfaces-expected.txt:
  • web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt:
  • web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument-expected.txt:
  • web-platform-tests/dom/nodes/Document-constructor-expected.txt:
  • web-platform-tests/dom/nodes/Node-properties-expected.txt:
  • web-platform-tests/html/dom/interfaces-expected.txt:

Source/WebCore:

Document.URL / Document.documentURI should return "about:blank" instead
of empty string / null, as per the specification:

Also, Document.documentURI should be an alias for Document.URL as per:

Firefox matches the specification.

No new tests, already covered by existing W3C tests.

  • dom/Document.h:

(WebCore::Document::urlForBindings):

  • dom/Document.idl:

LayoutTests:

Drop outdated tests.

  • dom/xhtml/level3/core/documentgetdocumenturi02-expected.txt: Removed.
  • dom/xhtml/level3/core/documentgetdocumenturi02.js: Removed.
  • dom/xhtml/level3/core/documentgetdocumenturi02.xhtml: Removed.
  • dom/xhtml/level3/core/documentgetdocumenturi03-expected.txt: Removed.
  • dom/xhtml/level3/core/documentgetdocumenturi03.js: Removed.
  • dom/xhtml/level3/core/documentgetdocumenturi03.xhtml: Removed.
  • dom/xhtml/level3/core/documentsetdocumenturi03-expected.txt: Removed.
  • dom/xhtml/level3/core/documentsetdocumenturi03.js: Removed.
  • dom/xhtml/level3/core/documentsetdocumenturi03.xhtml: Removed.
  • fast/dom/document-attribute-js-null-expected.txt:
  • fast/dom/document-attribute-js-null.html:
2:52 PM Changeset in webkit [195484] by sbarati@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Current implementation of Parser::createSavePoint is a foot gun
https://bugs.webkit.org/show_bug.cgi?id=153293

Reviewed by Oliver Hunt.

The previous use of SavePoint (up until this patch)
really meant that we're saving the LexerState. This
was so poorly named that it was being misused all over
our parser. For example, anything that parsed an
AssignmentExpression between saving/restoring really
wanted to save both Lexer state and Parser state.

This patch changes SavePoint to mean save all the
state. The old SavePoint is renamed to LexerState with
corresponding internal<Save/Restore>LexerState functions.
The old <save/restore>State() function is renamed to
internal<Save/Restore>ParserState().

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::isArrowFunctionParameters):
(JSC::Parser<LexerType>::parseSourceElements):
(JSC::Parser<LexerType>::declareRestOrNormalParameter):
(JSC::Parser<LexerType>::parseAssignmentElement):
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseForStatement):
(JSC::Parser<LexerType>::parseStatement):
(JSC::Parser<LexerType>::parseFunctionParameters):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseExpression):
(JSC::Parser<LexerType>::parseAssignmentExpression):
(JSC::Parser<LexerType>::parseYieldExpression):
(JSC::Parser<LexerType>::parseConditionalExpression):
(JSC::Parser<LexerType>::parseBinaryExpression):
(JSC::Parser<LexerType>::parseObjectLiteral):
(JSC::Parser<LexerType>::parseStrictObjectLiteral):
(JSC::Parser<LexerType>::parseArrayLiteral):
(JSC::Parser<LexerType>::parsePrimaryExpression):
(JSC::Parser<LexerType>::parseMemberExpression):
(JSC::Parser<LexerType>::parseUnaryExpression):

  • parser/Parser.h:

(JSC::Parser::hasError):
(JSC::Parser::internalSaveParserState):
(JSC::Parser::restoreParserState):
(JSC::Parser::internalSaveLexerState):
(JSC::Parser::restoreLexerState):
(JSC::Parser::createSavePointForError):
(JSC::Parser::createSavePoint):
(JSC::Parser::restoreSavePointWithError):
(JSC::Parser::restoreSavePoint):
(JSC::Parser::saveState): Deleted.
(JSC::Parser::restoreState): Deleted.

2:50 PM Changeset in webkit [195483] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

Don't ignore the return value of CCRandomCopyBytes
https://bugs.webkit.org/show_bug.cgi?id=153369
<rdar://problem/22198376>
<rdar://problem/22198378>

Reviewed by Alexey Proskuryakov.

Tested by existing Crypto tests.

  • crypto/mac/CryptoKeyMac.cpp:

(WebCore::CryptoKey::randomData): RELEASE_ASSERT if CCRandomCopyBytes ever returns
anything besides kCCSuccess.

  • crypto/mac/SerializedCryptoKeyWrapMac.mm:

(WebCore::createAndStoreMasterKey): Ditto.
(WebCore::wrapSerializedCryptoKey): Ditto.

2:43 PM Changeset in webkit [195482] by timothy_horton@apple.com
  • 8 edits
    2 adds in trunk

Add a test for iOS arrow-key repeat
https://bugs.webkit.org/show_bug.cgi?id=152857
<rdar://problem/24017380>

Reviewed by Darin Adler.

  • WebKitTestRunner/UIScriptContext/Bindings/UIScriptController.idl:
  • WebKitTestRunner/UIScriptContext/UIScriptController.cpp:

(WTR::UIScriptController::keyUpUsingHardwareKeyboard):
(WTR::UIScriptController::keyDownUsingHardwareKeyboard):

  • WebKitTestRunner/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/ios/HIDEventGenerator.h:
  • WebKitTestRunner/ios/HIDEventGenerator.mm:

(-[HIDEventGenerator keyPress:completionBlock:]):
(-[HIDEventGenerator keyDown:completionBlock:]):
(-[HIDEventGenerator keyUp:completionBlock:]):

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::typeCharacterUsingHardwareKeyboard):
(WTR::UIScriptController::keyDownUsingHardwareKeyboard):
(WTR::UIScriptController::keyUpUsingHardwareKeyboard):
Make it possible to independently send keyUp/keyDown, instead of just paired.

  • fast/events/ios/keyboard-scrolling-repeat-expected.txt: Added.
  • fast/events/ios/keyboard-scrolling-repeat.html: Added.

Add the aforementioned test. It waits for the held-down arrow key to scroll twice, then sends the up.

2:42 PM Changeset in webkit [195481] by enrica@apple.com
  • 2 edits in trunk/Tools

Unreviewed build fix after http://trac.webkit.org/changeset/195474.

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::platformCreateWebView):

2:41 PM Changeset in webkit [195480] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. fnormal => normal.

  • tests/es6.yaml:
2:25 PM Changeset in webkit [195479] by timothy_horton@apple.com
  • 5 edits in trunk

Reproducible "Unhanded web process message 'WebUserContentController:AddUserScripts'" and friends
https://bugs.webkit.org/show_bug.cgi?id=153193
<rdar://problem/24222034>

Reviewed by Darin Adler.

The WebPageProxy constructor assumes that if its WebProcess is already running,
it can add itself to the existing WebUserContentController(Proxy) and all will be well.

However, if the API client constructs a different WKUserContentController for two views,
and forces them both into the same process, WebPageProxy's constructor sends a message
with a WebUserContentController ID that doesn't exist yet on the WebProcess side
(because createWebPage, which usually brings it up, hasn't happened yet), and we
drop the message on the floor (and get the aforementioned logging).

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::initializeWebPageAfterProcessLaunch):
Instead of connecting our WebUserContentControllerProxy and WebVisitedLinkStoreProxy
to our WebProcessProxy in the constructor, when doing so might send messages
to the WebProcess that arrive before their corresponding WebProcess objects have
been created, do this in initializeWebPageAfterProcessLaunch, which always runs
during-or-after inititalizeWebPage (and always after the CreateWebPage message goes out).

(WebKit::WebPageProxy::initializeWebPage):
Mark us as needing initializeWebPageAfterProcessLaunch run, and run it right now
if the WebProcess is already up.
(WebKit::WebPageProxy::processDidFinishLaunching):
If the WebProcess wasn't up at the end of initializeWebPage, we'll eventually end up here
after it is launched, and will initializeWebPageAfterProcessLaunch.

(WebKit::WebPageProxy::resetStateAfterProcessExited):
If the WebProcess dies, we don't want to initializeWebPageAfterProcessLaunch
until after initializeWebPage runs again, so make sure the flag isn't set.

  • UIProcess/WebPageProxy.h:
  • TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:

(webViewForScriptMessageHandlerMultipleHandlerRemovalTest):
(TEST):
Add a test that exhibits the problems we're fixing here.
Before, it would both log and assert in debug, and crash in release.
Now it runs happily to completion.

2:25 PM Changeset in webkit [195478] by achristensen@apple.com
  • 2 edits in trunk

Only set CMake output directories if they aren't already set
https://bugs.webkit.org/show_bug.cgi?id=153373

Reviewed by Michael Catanzaro.

  • CMakeLists.txt:

r195242 caused Windows builds to copy files to bin instead of bin64.
CMAKE_RUNTIME_OUTPUT_DIRECTORY is being set in OptionsWin.cmake, and this was now resetting it.
This also makes it so you can set these variables by command line.

2:24 PM Changeset in webkit [195477] by weinig@apple.com
  • 6 edits
    8 adds in trunk

Treat non-https actions on secure pages as mixed content
<rdar://problem/23144492>
https://bugs.webkit.org/show_bug.cgi?id=153322
Source/WebCore:

Reviewed by Alexey Proskuryakov.

Tests: http/tests/security/mixedContent/insecure-form-in-iframe.html

http/tests/security/mixedContent/insecure-form-in-main-frame.html
http/tests/security/mixedContent/javascript-url-form-in-main-frame.html

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::parseAttribute):
Check form actions for mixed content.

  • loader/MixedContentChecker.cpp:

(WebCore::MixedContentChecker::checkFormForMixedContent):

  • loader/MixedContentChecker.h:

Add new function to check and warn if a form's action is mixed content.

LayoutTests:


Reviewed by Alexey Proskuryakov.

  • http/tests/security/mixedContent/insecure-form-in-iframe-expected.txt: Added.
  • http/tests/security/mixedContent/insecure-form-in-iframe.html: Added.
  • http/tests/security/mixedContent/insecure-form-in-main-frame-expected.txt: Added.
  • http/tests/security/mixedContent/insecure-form-in-main-frame.html: Added.
  • http/tests/security/mixedContent/javascript-url-form-in-main-frame-expected.txt: Added.
  • http/tests/security/mixedContent/javascript-url-form-in-main-frame.html: Added.
  • http/tests/security/mixedContent/resources/frame-with-insecure-form.html: Added.
  • http/tests/security/mixedContent/resources/frame-with-javascript-url-form.html: Added.
2:21 PM Changeset in webkit [195476] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Forgot to git stash pop some of the changes.
This should mark the rest of the es6 tests as passing.

  • tests/es6.yaml:
2:19 PM Changeset in webkit [195475] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Mark es6 tests as passing.

  • tests/es6.yaml:
2:17 PM Changeset in webkit [195474] by enrica@apple.com
  • 4 edits in trunk/Tools

Add support for testing data detection.
https://bugs.webkit.org/show_bug.cgi?id=153360

Reviewed by Tim Horton.

Adding a new testing option (useDataDetection) to turn on
data detection when running the a test.

  • WebKitTestRunner/TestController.cpp:

(WTR::updateTestOptionsFromTestHeader):

  • WebKitTestRunner/TestOptions.h:
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::platformCreateWebView):

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

op_profile_type 32-bit LLInt implementation has a bug
https://bugs.webkit.org/show_bug.cgi?id=153368

Reviewed by Michael Saboff.

r189293 changed which registers were used, specifically
using t5 instead of t4. That change forgot to replace
t4 with t5 in one specific instance.

  • llint/LowLevelInterpreter32_64.asm:
2:08 PM Changeset in webkit [195472] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-chunked-trailer.htm as flaky on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153371

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
2:03 PM Changeset in webkit [195471] by bshafiei@apple.com
  • 2 edits in tags/Safari-602.1.17.1/Source/WebCore

Merged r195459. rdar://problem/24294651

2:01 PM Changeset in webkit [195470] by bshafiei@apple.com
  • 5 edits in tags/Safari-602.1.17.1/Source

Versioning.

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

New tag.

12:53 PM Changeset in webkit [195468] by n_wang@apple.com
  • 3 edits
    2 adds in trunk

AX: Crash in setTextMarkerDataWithCharacterOffset
https://bugs.webkit.org/show_bug.cgi?id=153365
<rdar://problem/24287924>

Reviewed by Chris Fleizach.

Source/WebCore:

Sometimes when we try to create a text marker range from a stale text marker with a removed
node, it will cause crash. Fixed it by adding a null check for the AccessibilityObject we
create in setTextMarkerDataWithCharacterOffset.

Test: accessibility/text-marker/text-marker-range-with-removed-node-crash.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::setTextMarkerDataWithCharacterOffset):

LayoutTests:

  • accessibility/text-marker/text-marker-range-with-removed-node-crash-expected.txt: Added.
  • accessibility/text-marker/text-marker-range-with-removed-node-crash.html: Added.
12:37 PM Changeset in webkit [195467] by beidson@apple.com
  • 16 edits in trunk

Modern IDB: Add transactions and create/delete object store to SQLite backend
https://bugs.webkit.org/show_bug.cgi?id=153359

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Covered by many tests now passing).

  • Modules/indexeddb/server/IDBBackingStore.h: Change deleteObjectStore to work on an ID instead of name.
  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::deleteObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::takeObjectStoreByIdentifier):
(WebCore::IDBServer::MemoryIDBBackingStore::takeObjectStoreByName): Deleted.

  • Modules/indexeddb/server/MemoryIDBBackingStore.h:

Clean up filename generation a bit to actually match the previous directory structure.
Add begin/commit/abort transaction support.
Add create/delete object store support:

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::filenameForDatabaseName):
(WebCore::IDBServer::SQLiteIDBBackingStore::fullDatabaseDirectory):
(WebCore::IDBServer::SQLiteIDBBackingStore::fullDatabasePath):
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::beginTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::abortTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::commitTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:

Clean up SQLiteIDBTransaction to fit with the new WebCore backing store model, which is slightly
different from the old WebKit2 backing store model:

  • Modules/indexeddb/server/SQLiteIDBTransaction.cpp:

(WebCore::IDBServer::SQLiteIDBTransaction::SQLiteIDBTransaction):
(WebCore::IDBServer::SQLiteIDBTransaction::begin):
(WebCore::IDBServer::SQLiteIDBTransaction::commit):
(WebCore::IDBServer::SQLiteIDBTransaction::abort):
(WebCore::IDBServer::SQLiteIDBTransaction::reset):
(WebCore::IDBServer::SQLiteIDBTransaction::rollback): Deleted.

  • Modules/indexeddb/server/SQLiteIDBTransaction.h:

(WebCore::IDBServer::SQLiteIDBTransaction::transactionIdentifier):
(WebCore::IDBServer::SQLiteIDBTransaction::mode):

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteObjectStore):

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/shared/IDBDatabaseInfo.cpp:

(WebCore::IDBDatabaseInfo::deleteObjectStore):

  • Modules/indexeddb/shared/IDBDatabaseInfo.h:
  • Modules/indexeddb/shared/IDBObjectStoreInfo.h:

(WebCore::IDBObjectStoreInfo::maxIndexID):

  • Modules/indexeddb/shared/IDBTransactionInfo.h:

(WebCore::IDBTransactionInfo::identifier):

LayoutTests:

  • platform/mac-wk1/TestExpectations:
12:03 PM Changeset in webkit [195466] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

B3 should reduce obvious forms of Shl(SShr)
https://bugs.webkit.org/show_bug.cgi?id=153362

Reviewed by Mark Lam and Saam Barati.

This is a 40% speed-up in AsmBench-0.9/dry.c.js.

  • b3/B3ReduceStrength.cpp:
  • b3/testb3.cpp:

(JSC::B3::testStore16Load16Z):
(JSC::B3::testSShrShl32):
(JSC::B3::testSShrShl64):
(JSC::B3::zero):
(JSC::B3::run):

12:00 PM Changeset in webkit [195465] by Antti Koivisto
  • 12 edits in trunk/Source/WebCore

Style resolver initialization cleanups
https://bugs.webkit.org/show_bug.cgi?id=153356

Reviewed by Simon Fraser.

Simplify StyleResolver::State initialization.
Also use more references and other cleanups.

  • css/MediaQueryMatcher.cpp:

(WebCore::MediaQueryMatcher::prepareEvaluator):

  • css/StyleMedia.cpp:

(WebCore::StyleMedia::matchMedium):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::classNamesAffectedByRules):
(WebCore::StyleResolver::State::State):

Initialize State using a constructor instead of bunch of construction functions.
Remove m_styledElement field which is just a casted version of m_element.

(WebCore::StyleResolver::State::updateConversionData):
(WebCore::StyleResolver::State::setStyle):
(WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
(WebCore::StyleResolver::canShareStyleWithElement):
(WebCore::StyleResolver::locateSharedStyle):
(WebCore::isAtShadowBoundary):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::keyframeStylesForAnimation):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::clearCachedPropertiesAffectedByViewportUnits):
(WebCore::isCacheableInMatchedPropertiesCache):

Disallow caching of document element style entirely because the writing-mode and direction properties have special handling.
The existing check wasn't robust.

(WebCore::extractDirectionAndWritingMode):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyPropertyToStyle):
(WebCore::StyleResolver::State::initElement): Deleted.
(WebCore::StyleResolver::initElement): Deleted.
(WebCore::StyleResolver::State::initForStyleResolve): Deleted.

  • css/StyleResolver.h:

(WebCore::StyleResolver::mediaQueryEvaluator):
(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::State::document):
(WebCore::StyleResolver::State::element):
(WebCore::StyleResolver::State::style):
(WebCore::StyleResolver::State::takeStyle):
(WebCore::StyleResolver::State::styledElement): Deleted.

  • dom/Element.cpp:

(WebCore::Element::resolveStyle):

  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::KeyframeAnimation):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::getUncachedPseudoStyle):
(WebCore::RenderElement::containingBlockForFixedPosition):

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::computeStyleInRegion):

  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::styleForElement):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::customStyleForRenderer):
(WebCore::SVGElement::computedStyle):
(WebCore::addQualifiedName):

  • svg/SVGElementRareData.h:

(WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
(WebCore::SVGElementRareData::overrideComputedStyle):

11:44 AM Changeset in webkit [195464] by achristensen@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix internal Windows build
https://bugs.webkit.org/show_bug.cgi?id=153364
<rdar://problem/24296328>

Reviewed by Brent Fulgham.

  • PlatformWin.cmake:

The internal build does not build JavaScriptCore with WTF, so it does not automatically link to winmm.lib
like it does when everything is built together.

11:31 AM Changeset in webkit [195463] by Chris Fleizach
  • 10 edits
    2 adds in trunk

AX: <code> group and friends should have a custom subrole
https://bugs.webkit.org/show_bug.cgi?id=153282

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Add some custom subroles for the mac for code, ins, del, cite, var, samp, pre, kbd,
so that assistive tech can recognize them.

Test: accessibility/mac/subroles-for-formatted-groups.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isStyleFormatGroup):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper subrole]):

LayoutTests:

  • accessibility/duplicate-child-nodes-expected.txt:
  • accessibility/mac/subroles-for-formatted-groups-expected.txt: Added.
  • accessibility/mac/subroles-for-formatted-groups.html: Added.
  • accessibility/roles-computedRoleString-expected.txt:
  • accessibility/roles-computedRoleString.html:
11:31 AM Changeset in webkit [195462] by keith_miller@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

Equivalence PropertyCondition needs to check the offset it uses to load the value from is not invalidOffset
https://bugs.webkit.org/show_bug.cgi?id=152912

Reviewed by Mark Lam.

When checking the validity of an Equivalence PropertyCondition we do not check that the offset returned by
the structure of the object in the equivalence condition is valid. The offset might be wrong for many reasons.
The one we now test for is when the GlobalObject has a property that becomes a variable the property is deleted
thus the offset is now invalid.

  • bytecode/PropertyCondition.cpp:

(JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint):

  • tests/stress/global-property-into-variable-get-from-scope.js: Added.
10:47 AM Changeset in webkit [195461] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[ES6] Arrow function. Default arguments in arrow functions
https://bugs.webkit.org/show_bug.cgi?id=152537

Patch by Skachkov Oleksandr <gskachkov@gmail.com> on 2016-01-22
Reviewed by Saam Barati.

Default arguments in arrow function parameters have been already
implemented by patch from issue https://bugs.webkit.org/show_bug.cgi?id=146934.
Current patch adds only tests for this feature

  • js/arrowfunction-syntax-expected.txt:
  • js/script-tests/arrowfunction-syntax.js:
10:44 AM Changeset in webkit [195460] by keith_miller@apple.com
  • 31 edits
    1 add in trunk

[ES6] Add Symbol.species properties to the relevant constructors
https://bugs.webkit.org/show_bug.cgi?id=153339

Reviewed by Michael Saboff.

Source/JavaScriptCore:

This patch adds Symbol.species to the RegExp, Array, TypedArray, Map, Set, ArrayBuffer, and
Promise constructors. The functions that use these properties will be added in a later
patch.

  • builtins/GlobalObject.js:

(speciesGetter):

  • runtime/ArrayConstructor.cpp:

(JSC::ArrayConstructor::finishCreation):

  • runtime/ArrayConstructor.h:

(JSC::ArrayConstructor::create):

  • runtime/BooleanConstructor.h:

(JSC::BooleanConstructor::create):

  • runtime/CommonIdentifiers.h:
  • runtime/DateConstructor.h:

(JSC::DateConstructor::create):

  • runtime/ErrorConstructor.h:

(JSC::ErrorConstructor::create):

  • runtime/JSArrayBufferConstructor.cpp:

(JSC::JSArrayBufferConstructor::finishCreation):
(JSC::JSArrayBufferConstructor::create):

  • runtime/JSArrayBufferConstructor.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSInternalPromiseConstructor.cpp:

(JSC::JSInternalPromiseConstructor::create):

  • runtime/JSInternalPromiseConstructor.h:
  • runtime/JSPromiseConstructor.cpp:

(JSC::JSPromiseConstructor::create):
(JSC::JSPromiseConstructor::finishCreation):

  • runtime/JSPromiseConstructor.h:
  • runtime/JSTypedArrayViewConstructor.cpp:

(JSC::JSTypedArrayViewConstructor::finishCreation):
(JSC::JSTypedArrayViewConstructor::create): Deleted.

  • runtime/JSTypedArrayViewConstructor.h:

(JSC::JSTypedArrayViewConstructor::create):

  • runtime/MapConstructor.cpp:

(JSC::MapConstructor::finishCreation):

  • runtime/MapConstructor.h:

(JSC::MapConstructor::create):

  • runtime/NumberConstructor.h:

(JSC::NumberConstructor::create):

  • runtime/RegExpConstructor.cpp:

(JSC::RegExpConstructor::finishCreation):

  • runtime/RegExpConstructor.h:

(JSC::RegExpConstructor::create):

  • runtime/SetConstructor.cpp:

(JSC::SetConstructor::finishCreation):

  • runtime/SetConstructor.h:

(JSC::SetConstructor::create):

  • runtime/StringConstructor.h:

(JSC::StringConstructor::create):

  • runtime/SymbolConstructor.h:

(JSC::SymbolConstructor::create):

  • runtime/WeakMapConstructor.h:

(JSC::WeakMapConstructor::create):

  • runtime/WeakSetConstructor.h:

(JSC::WeakSetConstructor::create):

  • tests/stress/symbol-species.js: Added.

(testSymbolSpeciesOnConstructor):

LayoutTests:

Add species to the list of property names on the Symbol object.

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/script-tests/Object-getOwnPropertyNames.js:
10:37 AM Changeset in webkit [195459] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Remove dependency from DataDetectorsCore on iOS.
https://bugs.webkit.org/show_bug.cgi?id=153358
rdar://problem/24294651

Reviewed by Anders Carlsson.

Avoid build dependencies.

  • Configurations/WebCore.xcconfig:
10:24 AM Changeset in webkit [195458] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Unreviewed attempt to fix the Windows build after r195452.

  • wtf/text/WTFString.h:
10:11 AM Changeset in webkit [195457] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: ARIA combo boxes are not returning the right value for selected text range
https://bugs.webkit.org/show_bug.cgi?id=153260

Reviewed by Darin Adler.

Source/WebCore:

Just because an element has an ARIA role doesn't mean we should always use the selected text range of the whole document.
If the element is also a text based ARIA control, we can still use the element's inner text range to return the right value.

Test: accessibility/selected-text-range-aria-elements.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::selectedTextRange):

LayoutTests:

  • accessibility/selected-text-range-aria-elements-expected.txt: Added.
  • accessibility/selected-text-range-aria-elements.html: Added.
10:07 AM Changeset in webkit [195456] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Sidebar's should remember their width's
https://bugs.webkit.org/show_bug.cgi?id=153007

Patch by Devin Rousso <Devin Rousso> on 2016-01-22
Reviewed by Timothy Hatcher.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel.prototype.widthDidChange):
Now calls superclass function.

  • UserInterface/Views/Sidebar.js:

(WebInspector.Sidebar.prototype.set selectedSidebarPanel):
Now calls _recalculateWidth with the saved width value of the sidebar as
the first parameter.

(WebInspector.Sidebar.prototype.set collapsed):
Now only calls _recalculateWidth if the selected sidebar panel is visible,
seeing as if it is hidden the width is irrelevant.

  • UserInterface/Views/SidebarPanel.js:

(WebInspector.SidebarPanel):
Creates a setting object using the panel's identifier to store the current width.

(WebInspector.SidebarPanel.prototype.get savedWidth):
(WebInspector.SidebarPanel.prototype.widthDidChange):
So long as the current width has a value, save it to the setting object.

10:06 AM Changeset in webkit [195455] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed iOS build fix after r195452.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::colorValue):

10:03 AM Changeset in webkit [195454] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Class toggle add icon flashes when changing nodes
https://bugs.webkit.org/show_bug.cgi?id=153341

Patch by Devin Rousso <Devin Rousso> on 2016-01-22
Reviewed by Timothy Hatcher.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel.prototype._populateClassToggles):
Changed the way in which the class toggles are repopulated to prevent the
add class icon from being removed and re-added.

9:35 AM Changeset in webkit [195453] by hyatt@apple.com
  • 4 edits
    2 adds in trunk

Elements with overflow and border-radius don't show in multicolumn properly.
https://bugs.webkit.org/show_bug.cgi?id=152920

Reviewed by Simon Fraser.

Source/WebCore:

Added new test in fast/multicol.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::convertToLayerCoords):
(WebCore::RenderLayer::offsetFromAncestor):
(WebCore::RenderLayer::clipToRect):

  • rendering/RenderLayer.h:

Make sure the crawl up the containing block chain to apply clips properly offsets
to account for columns. convertToLayerCoords could already handle this, so
offsetFromAncestor now takes the same extra argument (whether or not to adjust for
columns) that convertToLayerCoords does.

LayoutTests:

  • fast/multicol/border-radius-overflow-columns-expected.html: Added.
  • fast/multicol/border-radius-overflow-columns.html: Added.
9:17 AM Changeset in webkit [195452] by Darin Adler
  • 142 edits in trunk/Source

Reduce use of equalIgnoringCase to just ignore ASCII case
https://bugs.webkit.org/show_bug.cgi?id=153266

Reviewed by Ryosuke Niwa.

Source/WebCore:

Changed many call sites that were using equalIgnoringCase to instead use
equalLettersIgnoringASCIICase. What these all have in common is that the
thing they are comparing with is a string literal that has all lowercase
letters, spaces, and a few simple examples of punctuation.

Not 100% sure that the new function name is just right, but it's a long name
so it's easy to change it with a global replace if we come up with a better one.

Or if we decide ther eis no need for the "letters" optimization, we can change
these all to just use equalIgnoringASCIICase, also with a global replace.

Also made a few tweaks to some code nearby and some includes.

  • Modules/encryptedmedia/CDMPrivateClearKey.cpp:

(WebCore::CDMPrivateClearKey::supportsKeySystem): Use equalLettersIgnoringASCIICase.
(WebCore::CDMPrivateClearKey::supportsKeySystemAndMimeType): Ditto.

  • Modules/encryptedmedia/CDMSessionClearKey.cpp:

(WebCore::CDMSessionClearKey::update): Ditto.

  • Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::YouTubePluginReplacement::supportsMimeType): Ditto.
(WebCore::YouTubePluginReplacement::supportsFileExtension): Ditto.

  • Modules/webdatabase/DatabaseAuthorizer.cpp:

(WebCore::DatabaseAuthorizer::createVTable): Ditto.
(WebCore::DatabaseAuthorizer::dropVTable): Ditto.

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::readHTTPHeaders): Ditto.
(WebCore::WebSocketHandshake::checkResponseHeaders): Ditto.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::findAriaModalNodes): Ditto.
(WebCore::AXObjectCache::handleMenuItemSelected): Ditto.
(WebCore::AXObjectCache::handleAriaModalChange): Ditto.
(WebCore::isNodeAriaVisible): Ditto.

  • accessibility/AccessibilityListBoxOption.cpp:

(WebCore::AccessibilityListBoxOption::isEnabled): Ditto.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole): Use isColorControl
instead of checking the typeAttr of the HTMLInputElement directly.
(WebCore::AccessibilityNodeObject::isEnabled): Use equalLettersIgnoringASCIICase.
(WebCore::AccessibilityNodeObject::isPressed): Ditto.
(WebCore::AccessibilityNodeObject::isChecked): Ditto.
(WebCore::AccessibilityNodeObject::isMultiSelectable): Ditto.
(WebCore::AccessibilityNodeObject::isRequired): Ditto.
(WebCore::shouldUseAccessibilityObjectInnerText): Ditto.
(WebCore::AccessibilityNodeObject::colorValue): Ditto.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::contentEditableAttributeIsEnabled):
Use equalLettersIgnoringASCIICase.
(WebCore::AccessibilityObject::ariaIsMultiline): Ditto.
(WebCore::AccessibilityObject::liveRegionStatusIsEnabled): Ditto.
(WebCore::AccessibilityObject::sortDirection): Ditto.
(WebCore::AccessibilityObject::supportsARIAPressed): Ditto.
(WebCore::AccessibilityObject::supportsExpanded): Ditto.
(WebCore::AccessibilityObject::isExpanded): Ditto.
(WebCore::AccessibilityObject::checkboxOrRadioValue): Ditto.
(WebCore::AccessibilityObject::isARIAHidden): Ditto.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::supportsARIADragging): Ditto.
(WebCore::AccessibilityRenderObject::defaultObjectInclusion): Ditto.
(WebCore::AccessibilityRenderObject::elementAttributeValue): Ditto.
(WebCore::AccessibilityRenderObject::isSelected): Ditto.
(WebCore::AccessibilityRenderObject::determineAccessibilityRole): Ditto.
(WebCore::AccessibilityRenderObject::orientation): Ditto.
(WebCore::AccessibilityRenderObject::canSetExpandedAttribute): Ditto.
(WebCore::AccessibilityRenderObject::canSetValueAttribute): Ditto.
(WebCore::AccessibilityRenderObject::ariaLiveRegionAtomic): Ditto.

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::ariaRowSpan): Use == to compare a string
with "0" since there is no need to "ignore case" when there are no letters.

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcValue::create): Use equalLettersIgnoringASCIICase.

  • css/CSSCalculationValue.h: Removed unneeded include of CSSParserValues.h.
  • css/CSSCustomPropertyValue.h: Ditto.
  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::isSVGFontFaceSrc): Use equalLettersIgnoringASCIICase.

  • css/CSSGrammar.y.in: Use equalLettersIgnoringASCIICase. Also restructured the code

a bit to have more normal formatting and reordered it slightly.

  • css/CSSParser.cpp:

(WebCore::equal): Deleted.
(WebCore::equalIgnoringCase): Deleted.
(WebCore::equalLettersIgnoringASCIICase): Added. Replaces function templates named
equal and equalIgnoringCase that are no longer used.
(WebCore::CSSParser::parseValue): Use equalLettersIgnoringASCIICase.
(WebCore::CSSParser::parseNonElementSnapPoints): Ditto.
(WebCore::CSSParser::parseAlt): Ditto.
(WebCore::CSSParser::parseContent): Ditto.
(WebCore::CSSParser::parseFillImage): Ditto.
(WebCore::CSSParser::parseAnimationName): Ditto.
(WebCore::CSSParser::parseAnimationTrigger): Ditto.
(WebCore::CSSParser::parseAnimationProperty): Ditto.
(WebCore::CSSParser::parseKeyframeSelector): Ditto.
(WebCore::CSSParser::parseAnimationTimingFunction): Ditto.
(WebCore::CSSParser::parseGridTrackList): Ditto.
(WebCore::CSSParser::parseGridTrackSize): Ditto.
(WebCore::CSSParser::parseDashboardRegions): Ditto.
(WebCore::CSSParser::parseClipShape): Ditto.
(WebCore::CSSParser::parseBasicShapeInset): Ditto.
(WebCore::CSSParser::parseBasicShape): Ditto.
(WebCore::CSSParser::parseFontFaceSrcURI): Ditto.
(WebCore::CSSParser::parseFontFaceSrc): Ditto.
(WebCore::CSSParser::isCalculation): Ditto.
(WebCore::CSSParser::parseColorFromValue): Ditto.
(WebCore::CSSParser::parseBorderImage): Ditto.
(WebCore::parseDeprecatedGradientPoint): Ditto.
(WebCore::parseDeprecatedGradientColorStop): Ditto.
(WebCore::CSSParser::parseDeprecatedGradient): Ditto.
(WebCore::CSSParser::parseLinearGradient): Ditto.
(WebCore::CSSParser::parseRadialGradient): Ditto.
(WebCore::CSSParser::isGeneratedImageValue): Ditto.
(WebCore::CSSParser::parseGeneratedImage): Ditto.
(WebCore::filterInfoForName): Ditto.
(WebCore::validFlowName): Ditto.
(WebCore::CSSParser::realLex): Ditto.
(WebCore::isValidNthToken): Ditto.

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::parsePagePseudoSelector): Ditto.

  • css/CSSParserValues.h:

(WebCore::equalLettersIgnoringASCIICase): Added.

  • css/CSSVariableDependentValue.h: Removed unneeded include of CSSParserValues.h.
  • css/MediaList.cpp:

(WebCore::reportMediaQueryWarningIfNeeded): Use equalLettersIgnoringASCIICase.

  • css/MediaQueryEvaluator.cpp:

(WebCore::MediaQueryEvaluator::mediaTypeMatch): Ditto.
(WebCore::MediaQueryEvaluator::mediaTypeMatchSpecific): Ditto.
(WebCore::evalResolution): Ditto.

  • css/SelectorPseudoTypeMap.h: Removed unneeded include of CSSParserValues.h.
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertTouchCallout): Use equalLettersIgnoringASCIICase.

  • css/makeSelectorPseudoClassAndCompatibilityElementMap.py: Added an include of

CSSParserValues.h since it's no longer included by SelectorPseudoTypeMap.h.

  • dom/Document.cpp:

(WebCore::setParserFeature): Use equalLettersIgnoringASCIICase.
(WebCore::Document::processReferrerPolicy): Ditto.
(WebCore::Document::createEvent): Ditto.
(WebCore::Document::parseDNSPrefetchControlHeader): Ditto.

  • dom/Element.cpp:

(WebCore::Element::spellcheckAttributeState): Use isNull instead of doing
checking equality with nullAtom. Use isEmpty instead of equalIgnoringCase("").
Use equalLettersIgnoringASCIICase.
(WebCore::Element::canContainRangeEndPoint): Ditto.

  • dom/InlineStyleSheetOwner.cpp:

(WebCore::isValidCSSContentType): Use equalLettersIgnoringASCIICase.
Added comment about peculiar behavior where we do case-sensitive processing of
the MIME type if the document is XML.

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestScript): Use equalLettersIgnoringASCIICase.
(WebCore::ScriptElement::isScriptForEventSupported): Ditto.

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::parseSandboxPolicy): Ditto.

  • dom/ViewportArguments.cpp:

(WebCore::findSizeValue): Ditto.
(WebCore::findScaleValue): Ditto.
(WebCore::findBooleanValue): Ditto.

  • editing/EditorCommand.cpp:

(WebCore::executeDefaultParagraphSeparator): Use equalLettersIgnoringASCIICase.
(WebCore::executeInsertBacktab): Use ASCIILiteral.
(WebCore::executeInsertHTML): Use emptyString.
(WebCore::executeInsertLineBreak): Use ASCIILiteral.
(WebCore::executeInsertNewline): Ditto.
(WebCore::executeInsertTab): Ditto.
(WebCore::executeJustifyCenter): Ditto.
(WebCore::executeJustifyFull): Ditto.
(WebCore::executeJustifyLeft): Ditto.
(WebCore::executeJustifyRight): Ditto.
(WebCore::executeStrikethrough): Ditto.
(WebCore::executeStyleWithCSS): Use equalLettersIgnoringASCIICase.
(WebCore::executeUseCSS): Ditto.
(WebCore::executeSubscript): Use ASCIILiteral.
(WebCore::executeSuperscript): Ditto.
(WebCore::executeToggleBold): Ditto.
(WebCore::executeToggleItalic): Ditto.
(WebCore::executeUnderline): Ditto.
(WebCore::executeUnscript): Ditto.
(WebCore::stateBold): Ditto.
(WebCore::stateItalic): Ditto.
(WebCore::stateStrikethrough): Ditto.
(WebCore::stateSubscript): Ditto.
(WebCore::stateSuperscript): Ditto.
(WebCore::stateUnderline): Ditto.
(WebCore::stateJustifyCenter): Ditto.
(WebCore::stateJustifyFull): Ditto.
(WebCore::stateJustifyLeft): Ditto.
(WebCore::stateJustifyRight): Ditto.
(WebCore::valueFormatBlock): Use emptyString.
(WebCore::Editor::Command::value): Use ASCIILiteral.

  • editing/TextIterator.cpp:

(WebCore::isRendererReplacedElement): Use equalLettersIgnoringASCIICase.

  • fileapi/Blob.cpp:

(WebCore::Blob::isNormalizedContentType): Use isASCIIUpper.

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::setFormInfoFromRequest): Use equalLettersIgnoringASCIICase.

  • html/Autocapitalize.cpp:

(WebCore::valueOn): Deleted.
(WebCore::valueOff): Deleted.
(WebCore::valueNone): Deleted.
(WebCore::valueWords): Deleted.
(WebCore::valueSentences): Deleted.
(WebCore::valueAllCharacters): Deleted.
(WebCore::autocapitalizeTypeForAttributeValue): Use equalLettersIgnoringASCIICase.
(WebCore::stringForAutocapitalizeType): Put the AtomicString globals right in the
switch statement instead of in separate functions.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::draggable): Use equalLettersIgnoringASCIICase.

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::parseAttribute): Ditto.

  • html/HTMLBRElement.cpp:

(WebCore::HTMLBRElement::collectStyleForPresentationAttribute): Ditto.

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::collectStyleForPresentationAttribute): Ditto.

  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::parseAttribute): Ditto.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::toDataURL): Use ASCIILiteral.

  • html/HTMLDivElement.cpp:

(WebCore::HTMLDivElement::collectStyleForPresentationAttribute):
Use equalLettersIgnoringASCIICase.

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::designMode): Use ASCIILiteral.
(WebCore::HTMLDocument::setDesignMode): Use equalLettersIgnoringASCIICase.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::nodeName): Updated comment.
(WebCore::isLTROrRTLIgnoringCase): Use equalLettersIgnoringASCIICase.
(WebCore::contentEditableType): Ditto.
(WebCore::HTMLElement::collectStyleForPresentationAttribute): Ditto.
(WebCore::toValidDirValue): Ditto.
(WebCore::HTMLElement::insertAdjacent): Ditto.
(WebCore::contextElementForInsertion): Ditto.
(WebCore::HTMLElement::applyAlignmentAttributeToStyle): Ditto.
(WebCore::HTMLElement::setContentEditable): Ditto.
(WebCore::HTMLElement::draggable): Ditto.
(WebCore::HTMLElement::translateAttributeMode): Ditto.
(WebCore::HTMLElement::hasDirectionAuto): Ditto.
(WebCore::HTMLElement::directionality): Ditto.
(WebCore::HTMLElement::dirAttributeChanged): Ditto.
(WebCore::HTMLElement::addHTMLColorToStyle): Ditto.

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::collectStyleForPresentationAttribute): Ditto.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::autocorrect): Ditto.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::autocorrect): Ditto.
(WebCore::HTMLFormElement::shouldAutocomplete): Ditto.

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::parseAttribute): Ditto.

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::parseAttribute): Use equalLettersIgnoringASCIICase.
Use == when comparing with "0" and "1" since there is no need for case folding.

  • html/HTMLHRElement.cpp:

(WebCore::HTMLHRElement::collectStyleForPresentationAttribute):
Use equalLettersIgnoringASCIICase.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::draggable): Ditto.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute): Ditto.

  • html/HTMLKeygenElement.cpp:

(WebCore::HTMLKeygenElement::appendFormData): Ditto.

  • html/HTMLMarqueeElement.cpp:

(WebCore::HTMLMarqueeElement::collectStyleForPresentationAttribute): Ditto.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute): Ditto.

  • html/HTMLMetaElement.cpp:

(WebCore::HTMLMetaElement::process): Ditto.

  • html/HTMLObjectElement.cpp:

(WebCore::mapDataParamToSrc): Use references, modern for loops, simplify
logic to not use array indices, use ASCIILiteral and equalLettersIgnoringASCIICase.
(WebCore::HTMLObjectElement::parametersForPlugin): Update to call new function.
(WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk): Use equalLettersIgnoringASCIICase.
(WebCore::HTMLObjectElement::containsJavaApplet): Ditto.

  • html/HTMLParagraphElement.cpp:

(WebCore::HTMLParagraphElement::collectStyleForPresentationAttribute): Ditto.

  • html/HTMLParamElement.cpp:

(WebCore::HTMLParamElement::isURLParameter): Ditto.

  • html/HTMLTableElement.cpp:

(WebCore::getBordersFromFrameAttributeValue): Ditto.
(WebCore::HTMLTableElement::collectStyleForPresentationAttribute): Ditto.
(WebCore::HTMLTableElement::parseAttribute): Ditto.

  • html/HTMLTablePartElement.cpp:

(WebCore::HTMLTablePartElement::collectStyleForPresentationAttribute): Ditto.

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::parseAttribute): Ditto.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setRangeText): Ditto.
(WebCore::HTMLTextFormControlElement::directionForFormData): Ditto.

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::parseAttribute): Ditto.

  • html/InputType.cpp:

(WebCore::InputType::applyStep): Ditto.

  • html/LinkRelAttribute.cpp:

(WebCore::LinkRelAttribute::LinkRelAttribute): Ditto.

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::wirelessVideoPlaybackDisabled): Ditto.

  • html/NumberInputType.cpp:

(WebCore::NumberInputType::sizeShouldIncludeDecoration): Ditto.

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::createStepRange): Ditto.
(WebCore::RangeInputType::handleKeydownEvent): Ditto.

  • html/StepRange.cpp:

(WebCore::StepRange::parseStep): Ditto.

  • html/canvas/CanvasStyle.cpp:

(WebCore::parseColor): Ditto.

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::setCompatibilityModeFromDoctype): Ditto.

  • html/parser/HTMLElementStack.cpp:

(WebCore::HTMLElementStack::isHTMLIntegrationPoint): Ditto.

  • html/parser/HTMLMetaCharsetParser.cpp:

(WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes): Ditto.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute): Ditto.
(WebCore::TokenPreloadScanner::StartTagScanner::crossOriginModeAllowsCookies): Ditto.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.

  • html/parser/XSSAuditor.cpp:

(WebCore::isDangerousHTTPEquiv): Ditto.

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::hasRequiredFileIdentifier): Removed unneeded special case
for empty string.

  • inspector/InspectorPageAgent.cpp:

(WebCore::createXHRTextDecoder): Use equalLettersIgnoringASCIICase.

  • inspector/NetworkResourcesData.cpp:

(WebCore::createOtherResourceTextDecoder): Ditto.

  • loader/CrossOriginAccessControl.cpp:

(WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Ditto.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::continueAfterContentPolicy): Ditto.

  • loader/FormSubmission.cpp:

(WebCore::appendMailtoPostFormDataToURL): Ditto.
(WebCore::FormSubmission::Attributes::parseEncodingType): Ditto.
(WebCore::FormSubmission::Attributes::parseMethodType): Ditto.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::shouldPerformFragmentNavigation): Ditto.
(WebCore::FrameLoader::shouldTreatURLAsSrcdocDocument): Ditto.

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement): Ditto.

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::start): Ditto.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::createJavaAppletWidget): Ditto.

  • loader/TextResourceDecoder.cpp:

(WebCore::TextResourceDecoder::determineContentType): Ditto.

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::load): Ditto.

  • loader/appcache/ApplicationCache.cpp:

(WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet): Ditto.

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::canUseSheet): Ditto.

  • loader/cache/CachedResource.cpp:

(WebCore::shouldCacheSchemeIndefinitely): Ditto.

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::modify): Ditto.

  • page/EventSource.cpp:

(WebCore::EventSource::didReceiveResponse): Ditto.

  • page/FrameView.cpp:

(WebCore::FrameView::scrollToAnchor): Ditto.

  • page/Performance.cpp:

(WebCore::Performance::webkitGetEntriesByType): Ditto.

  • page/PerformanceResourceTiming.cpp:

(WebCore::passesTimingAllowCheck): Ditto.

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::SecurityOrigin): Use emptyString.
(WebCore::SecurityOrigin::toString): Use ASCIILiteral.
(WebCore::SecurityOrigin::databaseIdentifier): Ditto.

  • page/UserContentURLPattern.cpp:

(WebCore::UserContentURLPattern::parse): Use equalLettersIgnoringASCIICase.
(WebCore::UserContentURLPattern::matches): Ditto.

  • platform/URL.cpp:

(WebCore::URL::protocolIs): Ditto.

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystemAndMimeType):
Changed to use early exit and equalLettersIgnoringASCIICase. Added comment
about inconsistency with next function.
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType): Added comment
about inconsistency with previous function.

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

(WebCore::CDMSessionAVContentKeySession::generateKeyRequest):
Use equalLettersIgnoringASCIICase.

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

(WebCore::CDMSessionAVStreamSession::generateKeyRequest): Ditto.

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::utiFromMIMEType): Ditto.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontCache::similarFont): Changed to not use so many global
variables and use equalLettersIgnoringASCIICase.

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::platformFontWithFamilySpecialCase): Ditto.

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::supportsFormat): Use equalLettersIgnoringASCIICase.

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::readString): Ditto.

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::createAsync): Ditto.
(WebCore::BlobResourceHandle::loadResourceSynchronously): Ditto.

  • platform/network/CacheValidation.cpp:

(WebCore::parseCacheControlDirectives): Ditto.

  • platform/network/FormData.h:

(WebCore::FormData::parseEncodingType): Ditto.

  • platform/network/HTTPParsers.cpp:

(WebCore::contentDispositionType): Ditto.
(WebCore::parseXFrameOptionsHeader): Ditto.

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::isHTTP): Use protocolIsInHTTPFamily, which is
both clearer and more efficient.
(WebCore::ResourceResponseBase::isAttachment): Rewrite to be a bit more terse
and use equalLettersIgnoringASCIICase.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegate::createResourceRequest):
Use equalLettersIgnoringASCIICase.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::willSendRequest): Ditto.

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::open): Ditto.

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::isColumnDeclaredAsBlob): Ditto.

  • platform/text/TextEncodingRegistry.cpp:

(WebCore::defaultTextEncodingNameForSystemLanguage): Use ASCIILiteral
and equalLettersIgnoringASCIICase.

  • rendering/mathml/RenderMathMLFraction.cpp:

(WebCore::RenderMathMLFraction::updateFromElement): Use equalLettersIgnoringASCIICase.

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::compareCodepointsLexicographically): Ditto.
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Ditto.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::setEditingBehavior): Ditto.
(WebCore::InternalSettings::setShouldDisplayTrackKind): Ditto.
(WebCore::InternalSettings::shouldDisplayTrackKind): Ditto.

  • testing/Internals.cpp:

(WebCore::markerTypeFrom): Ditto.
(WebCore::markerTypesFrom): Ditto.
(WebCore::Internals::mediaElementHasCharacteristic): Ditto.
(WebCore::Internals::setCaptionDisplayMode): Ditto.
(WebCore::Internals::beginMediaSessionInterruption): Ditto.
(WebCore::Internals::endMediaSessionInterruption): Ditto.
(WebCore::Internals::setMediaSessionRestrictions): Ditto.
(WebCore::Internals::setMediaElementRestrictions): Ditto.
(WebCore::Internals::postRemoteControlCommand): Ditto.
(WebCore::Internals::setAudioContextRestrictions): Ditto.
(WebCore::Internals::setMockMediaPlaybackTargetPickerState): Ditto.

  • testing/MockCDM.cpp:

(WebCore::MockCDM::supportsKeySystem): Ditto.
(WebCore::MockCDM::supportsKeySystemAndMimeType): Ditto.
(WebCore::MockCDM::supportsMIMEType): Ditto.

  • xml/XMLHttpRequest.cpp:

(WebCore::isSetCookieHeader): Ditto.
(WebCore::XMLHttpRequest::responseXML): Ditto.
(WebCore::XMLHttpRequest::isAllowedHTTPMethod): Ditto.
(WebCore::XMLHttpRequest::didReceiveData): Ditto.

Source/WebKit:

  • Storage/StorageTracker.cpp:

(WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
Removed extraneous unneeded ", true" in call to String::endsWith.
Preparation for later removing the boolean argument.

Source/WebKit/mac:

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::createPlugin): Use equalLettersIgnoringASCIICase.

Source/WebKit2:

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::hasOnlySecureContent): Use the protocolIs
function from WebCore instead of calling startsWith.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::initialize): Use equalLettersIgnoringASCIICase.

Source/WTF:

  • wtf/ASCIICType.h:

(WTF::isASCIIAlphaCaselessEqual): Loosened the assertion in this function
so it can work with ASCII spaces, numeric digits, and some punctuation.
Commented that we might want to change its name later.

  • wtf/Assertions.cpp:

(WTFInitializeLogChannelStatesFromString): Use equalLettersIgnoringASCIICase.

  • wtf/text/AtomicString.h:

(WTF::equalLettersIgnoringASCIICase): Added. Calls the version that takes a String.

  • wtf/text/StringCommon.h:

(WTF::equalLettersIgnoringASCIICase): Added. Takes a pointer to characters.
(WTF::equalLettersIgnoringASCIICaseCommonWithoutLength): Added.
(WTF::equalLettersIgnoringASCIICaseCommon): Added.

  • wtf/text/StringImpl.h:

(WTF::equalLettersIgnoringASCIICase): Added. Calls equalLettersIgnoringASCIICaseCommon.

  • wtf/text/StringView.h:

(WTF::equalLettersIgnoringASCIICase): Added. Calls equalLettersIgnoringASCIICaseCommon.

  • wtf/text/WTFString.h: Reordered/reformatted a little.

(WTF::equalIgnoringASCIICase): Added. Calls the version that takes a StringImpl.

8:50 AM Changeset in webkit [195451] by Brent Fulgham
  • 9 edits in trunk/Source

[Mac] Tooltips do not honor some types of obscuring windows
https://bugs.webkit.org/show_bug.cgi?id=153263
<rdar://problem/21423972>

Reviewed by Simon Fraser.

Source/WebKit/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _updateMouseoverWithEvent:]): When the WebView is not the key window, don't
display tooltips.

Source/WebKit2:

Recognize that the current WebView is obscured by comparing the current event's Window Number against
the Window Number of the current WebView. If they don't match, something is in the way.

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::windowIsFrontWindowUnderMouse): Added.

  • UIProcess/PageClient.h:

(WebKit::PageClient::windowIsFrontWindowUnderMouse):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleMouseEvent): Check if the current WebView is obscured. If it
is, clear the tooltip and return.

  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::windowIsFrontWindowUnderMouse): Added.

6:51 AM Changeset in webkit [195450] by youenn.fablet@crf.canon.fr
  • 23 edits in trunk/Source

Remove PassRefPtr from ResourceRequest and FormData
https://bugs.webkit.org/show_bug.cgi?id=153229

Reviewed by Chris Dumez.

Source/WebCore:

Covered by existing tests.

Making ResourceRequest::setHTTPBody take a RefPtr<FormData>&&.
Moving FormData from PassRefPtr to RefPtr.

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::didBlockScript):

  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::populateFrameLoadRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::loadDifferentDocumentItem):

  • loader/PingLoader.cpp:

(WebCore::PingLoader::sendViolationReport):

  • loader/PingLoader.h:
  • page/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::reportViolation):

  • platform/network/FormData.cpp:

(WebCore::FormData::create):
(WebCore::FormData::createMultiPart):
(WebCore::FormData::copy):
(WebCore::FormData::deepCopy):
(WebCore::FormData::resolveBlobReferences):

  • platform/network/FormData.h:

(WebCore::FormData::decode):

  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::adopt):
(WebCore::ResourceRequestBase::setHTTPBody):

  • platform/network/ResourceRequestBase.h:

(WebCore::ResourceRequestBase::setHTTPBody):

  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::setHTTPBody):

  • platform/network/cf/FormDataStreamCFNet.h:
  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::getFormElementsCount):

  • platform/network/mac/FormDataStreamMac.h:
  • platform/network/mac/FormDataStreamMac.mm:

(WebCore::setHTTPBody):

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::doRedirect):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest):

Source/WebKit/win:

  • WebMutableURLRequest.cpp:

(WebMutableURLRequest::setHTTPBody):

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::decode):

  • NetworkProcess/cache/NetworkCacheEntry.cpp:

(WebKit::NetworkCache::Entry::Entry):

3:06 AM Changeset in webkit [195449] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(INDEXED_DATABASE) build after r195443
https://bugs.webkit.org/show_bug.cgi?id=153350

Unreviewed buildfix.

  • page/Page.cpp:

(WebCore::Page::setSessionID):

3:01 AM Changeset in webkit [195448] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

Buildfix for older GCCs after r195142
https://bugs.webkit.org/show_bug.cgi?id=153351

Unreviewed buildfix.

  • wtf/SystemTracing.h:
1:19 AM Changeset in webkit [195447] by ChangSeok Oh
  • 3 edits
    2 deletes in trunk

[GTK] Remove a focus ring on anchor node when focused by mouse.
https://bugs.webkit.org/show_bug.cgi?id=136121

Reviewed by Michael Catanzaro.

Source/WebCore:

Safari, Chrome and FF don't show a focus ring, the dotted rectangle on anchor node
for mouse clicking. I think the behavior is reasonable and looks better.
No reason for gtk & efl ports to keep the focus on anchor node. Of course, this change should not
affect the focus ring for tab navigation.

No new tests since an existing test can cover this.
Tests: fast/events/click-focus-anchor.html

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::isMouseFocusable):

LayoutTests:

Removed gtk and efl specific results for the test.

  • platform/efl/fast/events/click-focus-anchor-expected.txt: Removed.
  • platform/gtk/fast/events/click-focus-anchor-expected.txt: Removed.

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.
Note: See TracTimeline for information about the timeline view.