Timeline



Aug 6, 2016:

10:52 PM Changeset in webkit [204239] by Gyuyoung Kim
  • 45 edits in trunk/Source/WebCore

Purge all uses of PassRefPtr in WebCore/Modules
https://bugs.webkit.org/show_bug.cgi?id=159965

Reviewed by Chris Dumez.

Final clean up in Modules directory.

No new tests, no behavior changes.

  • Modules/gamepad/deprecated/GamepadList.cpp:

(WebCore::GamepadList::set):

  • Modules/gamepad/deprecated/GamepadList.h:
  • Modules/indexeddb/IDBGetResult.h:

(WebCore::IDBGetResult::IDBGetResult):

  • Modules/indieui/UIRequestEvent.cpp:

(WebCore::UIRequestEvent::create):
(WebCore::UIRequestEvent::UIRequestEvent):

  • Modules/indieui/UIRequestEvent.h:

(WebCore::UIRequestEvent::receiver):

  • Modules/mediasource/MediaSourceRegistry.h:
  • Modules/mediasource/SampleMap.cpp:

(WebCore::SampleMap::addSample):

  • Modules/mediasource/SampleMap.h:

(WebCore::SampleMap::addRange):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::textTrackAddCue):
(WebCore::SourceBuffer::textTrackRemoveCue):

  • Modules/mediasource/SourceBuffer.h:
  • Modules/mediastream/CaptureDeviceManager.cpp:

(CaptureDeviceManager::bestSourcesForTypeAndConstraints):

  • Modules/mediastream/CaptureDeviceManager.h:
  • Modules/mediastream/MediaDevicesRequest.h:
  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::internalAddTrack):
(WebCore::MediaStream::internalRemoveTrack):

  • Modules/mediastream/MediaStreamRegistry.h:
  • Modules/mediastream/MediaStreamTrackEvent.cpp:

(WebCore::MediaStreamTrackEvent::create):
(WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
(WebCore::MediaStreamTrackEvent::track):

  • Modules/mediastream/MediaStreamTrackEvent.h:
  • Modules/mediastream/MediaTrackConstraints.cpp:

(WebCore::MediaTrackConstraints::create):
(WebCore::MediaTrackConstraints::MediaTrackConstraints):
(WebCore::MediaTrackConstraints::optional):

  • Modules/mediastream/MediaTrackConstraints.h:
  • Modules/mediastream/RTCDTMFSender.cpp:

(WebCore::RTCDTMFSender::create):
(WebCore::RTCDTMFSender::RTCDTMFSender):

  • Modules/mediastream/RTCDTMFSender.h:
  • Modules/mediastream/RTCDataChannelEvent.cpp:

(WebCore::RTCDataChannelEvent::create):
(WebCore::RTCDataChannelEvent::RTCDataChannelEvent):
(WebCore::RTCDataChannelEvent::channel):

  • Modules/mediastream/RTCDataChannelEvent.h:
  • Modules/mediastream/RTCIceServer.h:
  • Modules/mediastream/RTCStatsReport.h:
  • Modules/mediastream/SourceInfo.cpp:

(WebCore::SourceInfo::create):
(WebCore::SourceInfo::SourceInfo):

  • Modules/mediastream/SourceInfo.h:
  • Modules/mediastream/UserMediaClient.h:
  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::UserMediaRequest):
(WebCore::UserMediaRequest::didCreateStream):

  • Modules/mediastream/UserMediaRequest.h:
  • Modules/webdatabase/Database.cpp:

(WebCore::Database::~Database):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::textTrackAddCue):
(WebCore::HTMLMediaElement::textTrackRemoveCue):

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

(WebCore::HTMLTrackElement::textTrackAddCue):
(WebCore::HTMLTrackElement::textTrackRemoveCue):

  • html/HTMLTrackElement.h:
  • html/track/TextTrack.h:
  • platform/graphics/SourceBufferPrivateClient.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):

  • platform/mediastream/MediaStreamCreationClient.h:
  • platform/mediastream/mac/AVCaptureDeviceManager.h:
  • platform/mediastream/mac/AVCaptureDeviceManager.mm:

(WebCore::AVCaptureDeviceManager::bestSourcesForTypeAndConstraints):

  • platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:

(WebCore::RealtimeMediaSourceCenterMac::validateRequestConstraints):

  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::didReceiveSample):

9:21 PM Changeset in webkit [204238] by Chris Dumez
  • 4 edits in trunk

Unreviewed, rolling out r204226.

Broke some API tests

Reverted changeset:

"Write API test to cover crash fix in r204135"
https://bugs.webkit.org/show_bug.cgi?id=160587
http://trac.webkit.org/changeset/204226

8:22 PM Changeset in webkit [204237] by Chris Dumez
  • 5 edits
    2 adds in trunk

a.replaceChild(a, a) should throw a HierarchyRequestError
https://bugs.webkit.org/show_bug.cgi?id=160640

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C test now that one more check is passing.

  • web-platform-tests/dom/nodes/Node-replaceChild-expected.txt:

Source/WebCore:

a.replaceChild(a, a) should throw a HierarchyRequestError, because 'a'
is a host-including inclusive ancestor of 'a':

However, the call is merely ignored in WebKit.

No new tests, rebaselined existing test.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::replaceChild):

LayoutTests:

  • fast/dom/Node/replaceChild-notFoundError-expected.txt: Added.
  • fast/dom/Node/replaceChild-notFoundError.html: Added.
8:06 PM Changeset in webkit [204236] by Chris Dumez
  • 12 edits
    17 deletes in trunk

Drop legacy Text.replaceWholeText() API
https://bugs.webkit.org/show_bug.cgi?id=160641

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 legacy Text.replaceWholeText() API, which is no longer in the
specification:

Firefox and Chrome already dropped support for it.

No new tests, rebaselined existing test.

  • dom/Text.idl:

LayoutTests:

Drop outdated tests / checks.

  • dom/xhtml/level3/core/textreplacewholetext01-expected.txt: Removed.
  • dom/xhtml/level3/core/textreplacewholetext01.js: Removed.
  • dom/xhtml/level3/core/textreplacewholetext01.xhtml: Removed.
  • dom/xhtml/level3/core/textreplacewholetext02-expected.txt: Removed.
  • dom/xhtml/level3/core/textreplacewholetext02.js: Removed.
  • dom/xhtml/level3/core/textreplacewholetext02.xhtml: Removed.
  • dom/xhtml/level3/core/textreplacewholetext03-expected.txt: Removed.
  • dom/xhtml/level3/core/textreplacewholetext03.js: Removed.
  • dom/xhtml/level3/core/textreplacewholetext03.xhtml: Removed.
  • dom/xhtml/level3/core/textreplacewholetext04-expected.txt: Removed.
  • dom/xhtml/level3/core/textreplacewholetext04.js: Removed.
  • dom/xhtml/level3/core/textreplacewholetext04.xhtml: Removed.
  • dom/xhtml/level3/core/textreplacewholetext05-expected.txt: Removed.
  • dom/xhtml/level3/core/textreplacewholetext05.js: Removed.
  • dom/xhtml/level3/core/textreplacewholetext05.xhtml: Removed.
  • fast/dom/Attr/change-id-via-attr-node-value-expected.txt:
  • fast/dom/Attr/change-id-via-attr-node-value.html:
  • fast/dom/Text/replaceWholeText-expected.txt: Removed.
  • fast/dom/Text/replaceWholeText.html: Removed.
  • fast/storage/storage-detached-iframe-expected.txt:
  • fast/storage/storage-detached-iframe.html:
  • http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
  • http/tests/security/xss-DENIED-iframe-src-alias.html:
  • platform/mac/inspector/model/remote-object-expected.txt:
7:43 PM Changeset in webkit [204235] by Chris Dumez
  • 10 edits in trunk

Align Range.createContextualFragment() input validation with the specification
https://bugs.webkit.org/show_bug.cgi?id=160634

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

  • web-platform-tests/domparsing/createContextualFragment-expected.txt:

Source/WebCore:

Align Range.createContextualFragment() input validation with the specification:

In particular, we were throwing a NOT_SUPPORTED_ERR when element had localname
"html" but was not in the HTML namespace. We should not throw in this case.

Firefox complies with the specification here.

No new tests, rebaselined existing test.

  • dom/Range.cpp:

(WebCore::Range::createContextualFragment): Deleted.

7:29 PM Changeset in webkit [204234] by Chris Dumez
  • 9 edits in trunk

[Web IDL] Add support for [Unscopable] extended attribute
https://bugs.webkit.org/show_bug.cgi?id=160637

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

  • web-platform-tests/dom/nodes/remove-unscopable-expected.txt:

Source/WebCore:

Add support for [Unscopable] extended attribute:

No new tests, rebaselined existing test.

  • bindings/scripts/CodeGeneratorJS.pm:

(addUnscopableProperties):
(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjPrototype::finishCreation):

  • bindings/scripts/test/TestObj.idl:
  • dom/ChildNode.idl:
  • dom/ParentNode.idl:
6:50 PM Changeset in webkit [204233] by Matt Baker
  • 4 edits in trunk/Source/WebInspectorUI

REGRESSION (r203253): Node details sidebar flickers while resizing
https://bugs.webkit.org/show_bug.cgi?id=160631
<rdar://problem/27733024>

Reviewed by Timothy Hatcher.

Sidebar panel layouts can be expensive, and should be performed only
when necessary (i.e., when the panel is shown for the first time, or
model data changed while the panel was hidden).

  • UserInterface/Views/Sidebar.js:

(WebInspector.Sidebar.prototype._recalculateWidth):

  • UserInterface/Views/SidebarPanel.js:

(WebInspector.SidebarPanel.prototype.shown):

  • UserInterface/Views/View.js:

(WebInspector.View.prototype.updateLayoutIfNeeded):
Update the layout if an initial layout was never performed.

6:41 PM Changeset in webkit [204232] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] -[_WKRemoteObjectRegistry() _invokeMethod:] leaks a block
https://bugs.webkit.org/show_bug.cgi?id=160636

Reviewed by Darin Adler.

  • Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:

(-[_WKRemoteObjectRegistry _invokeMethod:]): Release the block returned from

NSMakeSpecialForwardingCaptureBlock.

4:43 PM Changeset in webkit [204231] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests/imported/w3c

imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.html and -worker.html are failing after r204224
https://bugs.webkit.org/show_bug.cgi?id=160639

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-06

  • web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt: Rebaased after redirect.py update in

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

  • web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt: Ditto.
12:33 PM Changeset in webkit [204230] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

EWS Style Queue fails to process patches which fails validation
https://bugs.webkit.org/show_bug.cgi?id=160632

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/bot/stylequeuetask.py:

(StyleQueueTask.validate): Add more information about validation failure.
(StyleQueueTask.run): Pass the error details in the PatchIsNotValid exception.

  • Scripts/webkitpy/tool/commands/queues_unittest.py:

(test_non_valid_patch): Add a unit test to test the above code path.

11:23 AM Changeset in webkit [204229] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.50

New tag.

11:19 AM Changeset in webkit [204228] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Simplify valueToUSVString
https://bugs.webkit.org/show_bug.cgi?id=160628

Reviewed by Sam Weinig.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::isUnmatchedSurrogatePair): Deleted. This function was incorrectly named,
since it actually returned true if any surrogate code unit was passed.
(WebCore::valueToUSVString): Added a fast path for 8-bit characters that doesn't
bother iterating the string at all. Changed the fast path to actually check for
surrogate pairs. Use StringView::codePoints rather than writing our own loop that
does the same thing. In the slow path, use StringView::codePoints to make the logic
clear rather than writing out exactly what the specification says. This gets rid of
all the many constants the old version of the function contained.

9:01 AM Changeset in webkit [204227] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

WTF needs a variant implementation
https://bugs.webkit.org/show_bug.cgi?id=160618

Patch by Sam Weinig <sam@webkit.org> on 2016-08-06
Reviewed by Darin Adler.

Source/WTF:

Add an implementation of std::experimental::variant matching the C++17 draft http://wg21.link/n4606
taken from https://bitbucket.org/anthonyw/variant/src (5bce47fa788648f79e5ea1d77b0eef2e8f0b2999) and
modified to support compiling without exceptions (where it used to throw, we lovingly CRASH()).

  • WTF.xcodeproj/project.pbxproj:

Add new file.

  • wtf/Compiler.h:

Add COMPILER_SUPPORTS define for C++ exceptions.

  • wtf/Variant.h: Added.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/Variant.cpp: Added.

Add tests for the variant implementation.

8:13 AM Changeset in webkit [204226] by Chris Dumez
  • 4 edits in trunk

Write API test to cover crash fix in r204135
https://bugs.webkit.org/show_bug.cgi?id=160587

Reviewed by Darin Adler.

Source/WebKit2:

Call didClose() in WebProcessProxy::requestTermination() so that
the processDidCrash() delegates get called in API tests whenever
a WebContent process is terminated to simulate a crash.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::requestTermination):

Tools:

Add API test to cover crash fix in r204135. This reproduces the crash
by destroying a related WKWebView in the webViewWebContentProcessDidTerminate
callback.

  • TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:

(-[NavigationDelegate webViewWebContentProcessDidTerminate:]):
(TEST):

1:51 AM Changeset in webkit [204225] by commit-queue@webkit.org
  • 9 edits in trunk

[Fetch API] Fetching with a FormData body should reject until it is implemented
https://bugs.webkit.org/show_bug.cgi?id=160595

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-06
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Adding new tests to cover changes.
Removing HEAD with body test as it throws as expected and is redundant with
web-platform-tests/fetch/api/request/request-init-002.html.

  • web-platform-tests/fetch/api/basic/request-headers-expected.txt:
  • web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt:
  • web-platform-tests/fetch/api/basic/request-headers.js:

(checkContentType):
(requestHeaders):

Source/WebCore:

Covered by updated tests.

This patch ensures that fetch will throw if trying to upload something that is not supported.
This is the case of BufferSource (FetchBody does not yet extract it) and FormData (no upload support yet).

  • Modules/fetch/FetchBody.cpp:

(WebCore::FetchBody::extract): Added a FIXME.

  • Modules/fetch/FetchBodyOwner.h:

(WebCore::FetchBodyOwner::bodyType): Getter used by FetchResponse.

  • Modules/fetch/FetchRequest.cpp:

(WebCore::FetchRequest::setBody): Throwing if given body parameter cannot be extracted by FetchBody.
This ensures that a fetch with a body that cannot be uploaded will fail.
This is the case of BufferSource which is not yet supported.

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::fetch): Rejecting fetch promise if trying to upload a FormData as it is not implemented.

1:50 AM Changeset in webkit [204224] by commit-queue@webkit.org
  • 11 edits in trunk

[Fetch API] Fetch API should strip fragment and credentials from URLs used as referrer
https://bugs.webkit.org/show_bug.cgi?id=160593

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-06
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/basic/referrer-expected.txt:
  • web-platform-tests/fetch/api/basic/referrer-worker-expected.txt:
  • web-platform-tests/fetch/api/basic/referrer.js:

(runTest): Adding more tests.
One test is failing as the redirection from same-origin to cross-origin is stripping the referer header.
But none is added afterwards. Hence cross-origin redirected request is sent without any referer header.

  • web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt: Rebasing according redirect.py script changes.
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt: Ditto.
  • web-platform-tests/fetch/api/resources/redirect.py:

(main): Fixing rediret.py script.

Source/WebCore:

Covered by updated tests.

Stripping of referrer value before sending a load request.

Fixing bug in workers as referrer value was overwritten by WorkerThreadableLoader.
The current handling of referrer values as HTTP header is not great as this may trigger unnecessary preflighting.
Refactoring should allow passing it as a separate parameter and setting it after preflighting as per
https://fetch.spec.whatwg.org/#http-network-or-cache-fetch.

Also a newly added test is failing, as SubresourceLoader is removing the referer header in case of a cross-origin redirection.
But none is added back.

  • Modules/fetch/FetchRequest.cpp:

(WebCore::FetchRequest::internalRequest): Stripping referrer value.

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Do not override referrer value if one is defined.

  • page/SecurityPolicy.cpp:

(WebCore::SecurityPolicy::generateReferrerHeader): Adding assertion to ensure referrer value does not contain
credentials and/or fragment identifiers.

1:48 AM Changeset in webkit [204223] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

LayoutTest http/tests/fetch/fetch-in-worker-crash.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=160510

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-06
Reviewed by Sam Weinig.

  • http/tests/fetch/fetch-in-worker-crash.html:
  • http/tests/fetch/fetch-in-worker.js:

Adding a new test based on a ReadableStream that is not closed and therefore Response.text promise cannot resolve.
Removing the blob resolve message as there is no guarantee that blob load will finish after the test is done.

1:00 AM Changeset in webkit [204222] by beidson@apple.com
  • 7 edits
    10 adds in trunk/Source/WebKit2

Lay WebProcess/UIProcess groundwork for an IPC GamepadProvider.
https://bugs.webkit.org/show_bug.cgi?id=160605

Reviewed by Alex Christensen.

This patch:

  • Introduces the GamepadProvider that the WebProcess will use (WebGamepadProvider)
  • Has that provider message to the UIProcess notifying interest in gamepad state
  • Introduces a GamepadProviderClient in the UIProcess (UIGamepadProvider) that will use one of the existing GamepadProviders to pass gamepad state along to WebProcesses.
  • Adds an empty skeleton for the soon-to-be-used WebGamepad, which will be the "PlatformGamepad" for WebProcesses.
  • CMakeLists.txt:
  • WebKit2.xcodeproj/project.pbxproj:
  • UIProcess/Gamepads/UIGamepadProvider.cpp: Added.

(WebKit::UIGamepadProvider::singleton):
(WebKit::UIGamepadProvider::UIGamepadProvider):
(WebKit::UIGamepadProvider::~UIGamepadProvider):
(WebKit::UIGamepadProvider::platformGamepadConnected):
(WebKit::UIGamepadProvider::platformGamepadDisconnected):
(WebKit::UIGamepadProvider::platformGamepadInputActivity):
(WebKit::UIGamepadProvider::processPoolStartedUsingGamepads):
(WebKit::UIGamepadProvider::processPoolStoppedUsingGamepads):
(WebKit::UIGamepadProvider::platformStartMonitoringGamepads):
(WebKit::UIGamepadProvider::platformStopMonitoringGamepads):

  • UIProcess/Gamepads/UIGamepadProvider.h: Added.
  • UIProcess/Gamepads/mac/UIGamepadProviderHID.cpp: Added.

(WebKit::UIGamepadProvider::platformStartMonitoringGamepads):
(WebKit::UIGamepadProvider::platformStopMonitoringGamepads):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::~WebProcessPool):
(WebKit::WebProcessPool::disconnectProcess):
(WebKit::WebProcessPool::startedUsingGamepads):
(WebKit::WebProcessPool::stoppedUsingGamepads):
(WebKit::WebProcessPool::processStoppedUsingGamepads):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessPool.messages.in:
  • WebProcess/Gamepad/WebGamepad.cpp: Added.
  • WebProcess/Gamepad/WebGamepad.h: Added.
  • WebProcess/Gamepad/WebGamepadProvider.cpp: Added.

(WebKit::WebGamepadProvider::singleton):
(WebKit::WebGamepadProvider::WebGamepadProvider):
(WebKit::WebGamepadProvider::~WebGamepadProvider):
(WebKit::WebGamepadProvider::startMonitoringGamepads):
(WebKit::WebGamepadProvider::stopMonitoringGamepads):
(WebKit::WebGamepadProvider::platformGamepads):

  • WebProcess/Gamepad/WebGamepadProvider.h: Added.
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

Aug 5, 2016:

11:28 PM Changeset in webkit [204221] by Yusuke Suzuki
  • 3 edits in trunk/Source/WebCore

[ES6] Add ScriptElement::determineScriptType
https://bugs.webkit.org/show_bug.cgi?id=149576

Reviewed by Ryosuke Niwa.

Change ScriptElement::isScriptTypeSupported to ScriptElement::determineScriptType.
And introduce ScriptType, which is either "classic" or "module".
And support "module" type in ScriptElement[1, 2].
But this patch does not contain any module tag support code.
This will be implemented in the subsequent patch.

[1]: https://html.spec.whatwg.org/multipage/webappapis.html#integration-with-the-javascript-module-system
[2]: https://html.spec.whatwg.org/multipage/scripting.html#attr-script-type

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::determineScriptType):
(WebCore::ScriptElement::prepareScript):
(WebCore::ScriptElement::isScriptTypeSupported): Deleted.

  • dom/ScriptElement.h:
10:37 PM Changeset in webkit [204220] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

NULL Reference Error in ElementRuleCollector
https://bugs.webkit.org/show_bug.cgi?id=160362

Patch by Jonathan Bedard <Jonathan Bedard> on 2016-08-05
Reviewed by Darin Adler.

No new tests, existing CSS tests cover this change.

Undefined behavior sanitizer found a reference bound to a NULL pointer.
The root cause of this issue was a discrepancy between whether an author style needed to be defined. In some logic, an undefined author style was considered acceptable, but in other logic, author style was always assumed to be defined. To fix this, a variable was added so that while author style is always defined, there is a flag indicating if this definition occurred in the constructor for use by functions which allow an undefined author style.

  • css/DocumentRuleSets.cpp:

(WebCore::DocumentRuleSets::DocumentRuleSets): Define author style by default.
(WebCore::DocumentRuleSets::resetAuthorStyle): Switch author style flag.

  • css/DocumentRuleSets.h: Added author style flag, changed authorStyle accessor to reference from pointer.
  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::ElementRuleCollector): Original location of undefined behavior.
(WebCore::ElementRuleCollector::matchHostPseudoClassRules): Changed pointer to reference.
(WebCore::ElementRuleCollector::matchSlottedPseudoElementRules): Changed pointer to reference.

  • css/PageRuleCollector.cpp:

(WebCore::PageRuleCollector::matchAllPageRules): Check new flag, changed pointer to reference.

  • css/StyleResolver.cpp: Changed pointer to reference.
  • dom/Document.cpp: Dito.
  • style/AttributeChangeInvalidation.cpp: Dito.
  • style/ClassChangeInvalidation.cpp: Dito.
  • style/IdChangeInvalidation.cpp: Dito.
  • style/StyleSharingResolver.cpp: Dito.
10:34 PM Changeset in webkit [204219] by Chris Dumez
  • 7 edits
    17 adds in trunk

DOMException should be constructible
https://bugs.webkit.org/show_bug.cgi?id=160626

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Import WebIDL tests from W3C web-platform-tests.

  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constants-expected.txt: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constants.html: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constructor-expected.txt: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constructor.html: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/constructor-object-expected.txt: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/constructor-object.html: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/constructor-object.js: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/constructor-object.worker.js: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions-expected.txt: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/has-instance-expected.txt: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/has-instance.html: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/interface-object-expected.txt: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/interface-object.html: Added.

Source/WebCore:

DOMException should be constructible:

DOMException already has a constructor in Firefox and Chrome so this
aligns our behavior with other browsers.

Test: imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constructor.html

  • dom/DOMCoreException.cpp:

(WebCore::errorCodeFromName):
(WebCore::DOMCoreException::create):
(WebCore::DOMCoreException::DOMCoreException):

  • dom/DOMCoreException.h:
  • dom/DOMCoreException.idl:
  • dom/ExceptionBase.cpp:

(WebCore::ExceptionBase::ExceptionBase):

  • dom/ExceptionBase.h:
8:48 PM Changeset in webkit [204218] by keith_miller@apple.com
  • 4 edits
    2 adds in trunk/Source

Add LEBDecoder and tests
https://bugs.webkit.org/show_bug.cgi?id=160625

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Adds a new target testWASM that is currently used to test the LEB decoder.
In the future, if we add more support for WASM we will put more tests
here.

(CommandLine::CommandLine):
(printUsageStatement):
(CommandLine::parseArguments):
(runLEBTests):
(main):

Source/WTF:

Adds some LEB decoder functions to WTF. These are used in the
WASM spec to encode numbers in a semi-compressed format.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/LEBDecoder.h: Added.

(decodeUInt32):
(decodeInt32):

8:17 PM Changeset in webkit [204217] by Chris Dumez
  • 4 edits in trunk

Align Range.insertNode() input validation with the specification
https://bugs.webkit.org/show_bug.cgi?id=160624

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

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

Source/WebCore:

Align Range.insertNode() input validation with the specification:

In particular, if range’s start node is a ProcessingInstruction or
Comment node, is a Text node whose parent is null, or is node, then
we should throw a HierarchyRequestError.

Chrome behaves according to the specification.

No new tests, rebaselined existing test.

  • dom/Range.cpp:

(WebCore::Range::insertNode):

7:33 PM Changeset in webkit [204216] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

[Web IDL] Add support for 'any' type in dictionaries
https://bugs.webkit.org/show_bug.cgi?id=160511

Reviewed by Sam Weinig.

Add support for 'any' type in dictionaries. It will pass the value as
a JSValue to the implementation. If the member is not present, it will
pass jsUndefined() to the implementation.

Having 'any' support in dictionaries is a convenient workaround for
types we don't support yet (e.g. union types).

No new tests, updated bindings tests.

  • bindings/js/JSDOMConvert.h:

(WebCore::Converter<JSC::JSValue>::convert):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::convert<TestObj::Dictionary>):

  • bindings/scripts/test/TestObj.idl:
7:32 PM Changeset in webkit [204215] by Chris Dumez
  • 60 edits in trunk

[Web IDL] Add support for USVString type
https://bugs.webkit.org/show_bug.cgi?id=160608

Reviewed by Sam Weinig.

Source/WebCore:

Add support for USVString type in our bindings generator:

Also start using USVString instead of DOMString when suitable as per
the following specifications:

Test: js/dom/webidl-type-mapping.html

  • Modules/websockets/CloseEvent.idl:
  • Modules/websockets/WebSocket.idl:
  • bindings/js/JSDOMBinding.cpp:

(WebCore::isUnmatchedSurrogatePair):
(WebCore::valueToUSVString):
(WebCore::valueToUSVStringTreatingNullAsEmptyString):
(WebCore::valueToUSVStringWithUndefinedOrNullCheck):

  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::open):
(WebCore::handlePostMessage):

  • bindings/js/JSHistoryCustom.cpp:

(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::handleInitMessageEvent):

  • bindings/js/JSWorkerGlobalScopeCustom.cpp:

(WebCore::JSWorkerGlobalScope::importScripts):

  • bindings/scripts/CodeGenerator.pm:

(SkipIncludeHeader):
(IsStringOrEnumType):
(IsStringType):
(IsRefPtrType):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateParametersCheck):
(JSValueToNative):
(NativeToJSValue):

  • bindings/scripts/IDLParser.pm:

(parseNonAnyType):

  • dom/Document.idl:
  • dom/ErrorEvent.idl:
  • dom/HashChangeEvent.idl:
  • dom/MessageEvent.idl:
  • dom/Node.idl:
  • html/DOMFormData.idl:
  • html/DOMURL.idl:
  • html/HTMLAnchorElement.idl:
  • html/HTMLAppletElement.idl:
  • html/HTMLAreaElement.idl:
  • html/HTMLBaseElement.idl:
  • html/HTMLButtonElement.idl:
  • html/HTMLEmbedElement.idl:
  • html/HTMLFormElement.idl:
  • html/HTMLFrameElement.idl:
  • html/HTMLHyperlinkElementUtils.idl:
  • html/HTMLIFrameElement.idl:
  • html/HTMLImageElement.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLLinkElement.idl:
  • html/HTMLMediaElement.idl:
  • html/HTMLModElement.idl:
  • html/HTMLObjectElement.idl:
  • html/HTMLQuoteElement.idl:
  • html/HTMLScriptElement.idl:
  • html/HTMLSourceElement.idl:
  • html/HTMLTrackElement.idl:
  • html/HTMLVideoElement.idl:
  • html/URLUtils.idl:
  • page/DOMWindow.idl:
  • page/EventSource.idl:
  • page/History.idl:
  • page/Location.idl:
  • storage/StorageEvent.idl:
  • testing/TypeConversions.h:

(WebCore::TypeConversions::testString):
(WebCore::TypeConversions::setTestString):
(WebCore::TypeConversions::testUSVString):
(WebCore::TypeConversions::setTestUSVString):

  • testing/TypeConversions.idl:
  • workers/Worker.idl:
  • workers/WorkerGlobalScope.idl:

LayoutTests:

Add layout test coverage for USVString.

  • js/dom/webidl-type-mapping-expected.txt:
  • js/dom/webidl-type-mapping.html:

This test is based on the corresponding one from Blink.

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

Add back a newline that was accidentally removed from an expected.txt file.

Unreviewed test gardening.

  • platform/ios-simulator/compositing/masks/compositing-clip-path-change-no-repaint-expected.txt:
6:30 PM Changeset in webkit [204213] by bshafiei@apple.com
  • 6 edits in branches/safari-602-branch

Merge r204210. rdar://problem/27592694

6:19 PM Changeset in webkit [204212] by Ryan Haddad
  • 9 edits
    30 adds in branches/safari-602-branch/LayoutTests

Test gardening for rdar://problem/27595142.

6:16 PM Changeset in webkit [204211] by bshafiei@apple.com
  • 5 edits in branches/safari-602-branch/Source

Versioning.

6:13 PM Changeset in webkit [204210] by commit-queue@webkit.org
  • 6 edits in trunk

revert r202466 r202546 this causes regressions in media loading with temporary redirects.
https://bugs.webkit.org/show_bug.cgi?id=160613

Patch by Jeremy Jones <jeremyj@apple.com> on 2016-08-05
Reviewed by Jon Lee.

Source/WebCore:

No new tests. Skipping two tests.

This reverts a change that attempted to fix temporary redirects with media loading.
The change introduced problems. Reverting this to require media stack to properly
handle redirects.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin):

  • platform/network/cocoa/WebCoreNSURLSession.h:
  • platform/network/cocoa/WebCoreNSURLSession.mm:

(-[WebCoreNSURLSession initWithResourceLoader:delegate:delegateQueue:]): Deleted.
(-[WebCoreNSURLSession updateHasSingleSecurityOrigin:]): Deleted.
(-[WebCoreNSURLSession dataTaskWithRequest:]): Deleted.
(-[WebCoreNSURLSession dataTaskWithURL:]): Deleted.
(-[WebCoreNSURLSessionDataTask resource:receivedResponse:]): Deleted.
(-[WebCoreNSURLSessionDataTask resource:receivedRedirect:request:]): Deleted.

LayoutTests:

Reverting a fix that enabled two tests. These tests now fail and are skipped.

  • platform/mac/TestExpectations:
6:05 PM Changeset in webkit [204209] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

32-bit JSC test failure: stress/instanceof-late-constant-folding.js
https://bugs.webkit.org/show_bug.cgi?id=160620

Reviewed by Filip Pizlo.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

5:53 PM Changeset in webkit [204208] by Ryan Haddad
  • 7 edits
    2 deletes in trunk/Source/WebKit2

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

This change causes assertion failures in LayoutTests and API
tests. (Requested by ryanhaddad on #webkit).

Reverted changeset:

"Lay WebProcess/UIProcess groundwork for an IPC
GamepadProvider."
https://bugs.webkit.org/show_bug.cgi?id=160605
http://trac.webkit.org/changeset/204195

Patch by Commit Queue <commit-queue@webkit.org> on 2016-08-05

5:49 PM Changeset in webkit [204207] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Remove the first LocalCSE
https://bugs.webkit.org/show_bug.cgi?id=160615

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-05
Reviewed by Saam Barati.

LocalCSE is the most expensive phase in DFG (excluding FTL).

The combination of two LocalCSEs does not seem to pay for its cost.
Doing a single LocalCSE is always after ConstantFolding and StrengthReduction
is always a win on my machine.

  • dfg/DFGCleanUpPhase.cpp:

(JSC::DFG::CleanUpPhase::run):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

5:46 PM Changeset in webkit [204206] by sbarati@apple.com
  • 7 edits
    1 add in trunk

various math operations don't properly check for an exception after calling toNumber() on the lhs
https://bugs.webkit.org/show_bug.cgi?id=160154

Reviewed by Mark Lam.

JSTests:

  • stress/to-number-throws-correct-exception.js: Added.

(test.let.test.runTest.):
(test.let.test.runTest.get f):
(test.let.test.runTest):
(test.let.test):
(test):
(test2.runTest.):
(test2.runTest.get f):
(test2.runTest):
(test2):

Source/JavaScriptCore:

We must check for an exception after calling toNumber() on the lhs
because this can throw an exception. If we called toNumber() on
the rhs without first checking for an exception after the toNumber()
on the lhs, this can lead us to execute effectful code or deviate
from the standard in subtle ways. I fixed this bug in various places
by always checking for an exception after calling toNumber() on the
lhs for the various bit and arithmetic operations.

This patch also found a commutativity bug inside DFGStrengthReduction.
We could end up commuting the lhs and rhs of say an "|" expression
even when the lhs/rhs may not be numbers. This is wrong because
executing toNumber() on the lhs/rhs has strict ordering guarantees
by the specification and is observable by user programs.

  • dfg/DFGOperations.cpp:
  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleCommutativity):

  • jit/JITOperations.cpp:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/Operations.cpp:

(JSC::jsAddSlowCase):

5:32 PM Changeset in webkit [204205] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Add a tiny bit more image logging
https://bugs.webkit.org/show_bug.cgi?id=160621

Reviewed by Tim Horton.

Add logging related to image subsampling.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::frameImageAtIndex):

5:01 PM Changeset in webkit [204204] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

compilePutByValForIntTypedArray() has a slow path in the middle of its processing
https://bugs.webkit.org/show_bug.cgi?id=160614

Reviewed by Keith Miller.

In compilePutByValForIntTypedArray() we were calling out to the slow path
operationToInt32() and then returning back to the middle of code to finish
the processing of writing the value to the array. When we make the slow
path call, we trash any temporary registers that have been allocated.
In general slow path calls should finish the operation in progress and
continue processing at the beginning of the next node.

This was discovered while working on the register argument changes, when
we SpeculateStrictInt32Operand on the value child node. That child node's
value was live in register with a spill format of DataFormatJSInt32. In that
case we allocate a new temporary register and copy just the lower 32 bits from
the child register to the new temp register. That temp register gets trashed
when we make the operationToInt32() slow path call.

I spent some time trying to devise a test with the current code base and wasn't
successful. This case is tested with the register argument changes in progress.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):

5:01 PM Changeset in webkit [204203] by n_wang@apple.com
  • 3 edits
    2 adds in trunk

AX: Asking for group members of radio button that has no name attribute will cause crash
https://bugs.webkit.org/show_bug.cgi?id=160583

Reviewed by Chris Fleizach.

Source/WebCore:

The NameToGroupMap is null when there's no name attribute on the radio buttons. Added a
check so that we don't try to get a value from a null HashSet.

Test: accessibility/mac/radio-button-no-name-crash.html

  • dom/RadioButtonGroups.cpp:

(WebCore::RadioButtonGroups::groupMembers):

LayoutTests:

  • accessibility/mac/radio-button-no-name-crash-expected.txt: Added.
  • accessibility/mac/radio-button-no-name-crash.html: Added.
4:57 PM Changeset in webkit [204202] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Disk cache tests produce many undefined value warnings
https://bugs.webkit.org/show_bug.cgi?id=160601

Reviewed by Daniel Bates.

  • http/tests/cache/disk-cache/resources/generate-response.cgi: Cleaned up header

and parameter handling. Removed a couple unnecessary checks for $cgi->http.

4:54 PM Changeset in webkit [204201] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Work around broken <Files> directive in some Apache versions
https://bugs.webkit.org/show_bug.cgi?id=160610

Reviewed by Daniel Bates.

The problem is tracked as rdar://problem/27725655

  • http/tests/misc/.htaccess:
4:41 PM Changeset in webkit [204200] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.49

New tag.

4:36 PM Changeset in webkit [204199] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Rebaselining compositing/masks/compositing-clip-path-change-no-repaint.html for ios-simulator.

Unreviewed test gardening.

  • platform/ios-simulator/compositing/masks/compositing-clip-path-change-no-repaint-expected.txt:
4:29 PM Changeset in webkit [204198] by Brent Fulgham
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: observer in WebCore::BitmapImage::drawPattern
https://bugs.webkit.org/show_bug.cgi?id=141637
<rdar://problem/27709864>

Reviewed by Tim Horton.

Source/WebCore:

Test: fast/images/image-source-assert.html

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::drawPattern): Remove invalid assertion.

LayoutTests:

  • fast/images/image-source-assert-expected.txt: Added.
  • fast/images/image-source-assert.html: Added.
3:34 PM Changeset in webkit [204197] by Simon Fraser
  • 10 edits
    1 copy
    1 add
    17 deletes in trunk

marquee with "truespeed" animates at > 60fps, hogging CPU
https://bugs.webkit.org/show_bug.cgi?id=160609

Reviewed by David Hyatt.

Source/WebCore:

A <marquee truespeed="" scrollDelay="0"> would fire a zero-delay timer and also
fail to animate, hogging CPU.

Fix to cap the timer at 16ms intervals. We don't believe it's necessary to
maintain web compatibility here.

Tested by existing tests.

  • html/HTMLMarqueeElement.cpp:

(WebCore::HTMLMarqueeElement::minimumDelay):

  • html/HTMLMarqueeElement.h:

LayoutTests:

Convert marquee tests into ref tests, removing all the platform expectations.

  • fast/html/marquee-scroll-expected.html: Copied from LayoutTests/fast/html/marquee-scroll.html.
  • fast/html/marquee-scroll.html:
  • fast/html/marquee-scrollamount-expected.html: Added.
  • fast/html/marquee-set-truespeed.html:
  • platform/efl/fast/html/marquee-scroll-expected.png: Removed.
  • platform/efl/fast/html/marquee-scroll-expected.txt: Removed.
  • platform/efl/fast/html/marquee-scrollamount-expected.png: Removed.
  • platform/efl/fast/html/marquee-scrollamount-expected.txt: Removed.
  • platform/gtk/fast/html/marquee-scroll-expected.png: Removed.
  • platform/gtk/fast/html/marquee-scroll-expected.txt: Removed.
  • platform/gtk/fast/html/marquee-scrollamount-expected.png: Removed.
  • platform/gtk/fast/html/marquee-scrollamount-expected.txt: Removed.
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator-wk2/fast/html/marquee-scrollamount-expected.txt: Removed.
  • platform/ios-simulator/fast/html/marquee-scroll-expected.txt: Removed.
  • platform/ios-simulator/fast/html/marquee-scrollamount-expected.txt: Removed.
  • platform/mac-wk1/TestExpectations:
  • platform/mac/fast/html/marquee-scroll-expected.png: Removed.
  • platform/mac/fast/html/marquee-scroll-expected.txt: Removed.
  • platform/mac/fast/html/marquee-scrollamount-expected.png: Removed.
  • platform/mac/fast/html/marquee-scrollamount-expected.txt: Removed.
  • platform/win/TestExpectations:
  • platform/win/fast/html/marquee-scroll-expected.txt: Removed.
  • platform/win/fast/html/marquee-scrollamount-expected.txt: Removed.
3:26 PM Changeset in webkit [204196] by Ryan Haddad
  • 12 edits
    2 deletes in trunk

Unreviewed, rolling out r204181.

This change caused an existing LayoutTest to fail on WK1

Reverted changeset:

"Don't set document.domain to an IP address fragment"
https://bugs.webkit.org/show_bug.cgi?id=126045
http://trac.webkit.org/changeset/204181

2:54 PM Changeset in webkit [204195] by beidson@apple.com
  • 7 edits
    10 adds in trunk/Source/WebKit2

Lay WebProcess/UIProcess groundwork for an IPC GamepadProvider.
https://bugs.webkit.org/show_bug.cgi?id=160605

Reviewed by Alex Christensen.

This patch:

  • Introduces the GamepadProvider that the WebProcess will use (WebGamepadProvider)
  • Has that provider message to the UIProcess notifying interest in gamepad state
  • Introduces a GamepadProviderClient in the UIProcess (UIGamepadProvider) that will use one of the existing GamepadProviders to pass gamepad state along to WebProcesses.
  • Adds an empty skeleton for the soon-to-be-used WebGamepad, which will be the "PlatformGamepad" for WebProcesses.
  • CMakeLists.txt:
  • WebKit2.xcodeproj/project.pbxproj:
  • UIProcess/Gamepads/UIGamepadProvider.cpp: Added.

(WebKit::UIGamepadProvider::singleton):
(WebKit::UIGamepadProvider::UIGamepadProvider):
(WebKit::UIGamepadProvider::~UIGamepadProvider):
(WebKit::UIGamepadProvider::platformGamepadConnected):
(WebKit::UIGamepadProvider::platformGamepadDisconnected):
(WebKit::UIGamepadProvider::platformGamepadInputActivity):
(WebKit::UIGamepadProvider::processPoolStartedUsingGamepads):
(WebKit::UIGamepadProvider::processPoolStoppedUsingGamepads):
(WebKit::UIGamepadProvider::platformStartMonitoringGamepads):
(WebKit::UIGamepadProvider::platformStopMonitoringGamepads):

  • UIProcess/Gamepads/UIGamepadProvider.h: Added.
  • UIProcess/Gamepads/mac/UIGamepadProviderHID.cpp: Added.

(WebKit::UIGamepadProvider::platformStartMonitoringGamepads):
(WebKit::UIGamepadProvider::platformStopMonitoringGamepads):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::~WebProcessPool):
(WebKit::WebProcessPool::disconnectProcess):
(WebKit::WebProcessPool::startedUsingGamepads):
(WebKit::WebProcessPool::stoppedUsingGamepads):
(WebKit::WebProcessPool::processStoppedUsingGamepads):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessPool.messages.in:
  • WebProcess/Gamepad/WebGamepad.cpp: Added.
  • WebProcess/Gamepad/WebGamepad.h: Added.
  • WebProcess/Gamepad/WebGamepadProvider.cpp: Added.

(WebKit::WebGamepadProvider::singleton):
(WebKit::WebGamepadProvider::WebGamepadProvider):
(WebKit::WebGamepadProvider::~WebGamepadProvider):
(WebKit::WebGamepadProvider::startMonitoringGamepads):
(WebKit::WebGamepadProvider::stopMonitoringGamepads):
(WebKit::WebGamepadProvider::platformGamepads):

  • WebProcess/Gamepad/WebGamepadProvider.h: Added.
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

2:53 PM Changeset in webkit [204194] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

run-api-tests should use a headed simulator
https://bugs.webkit.org/show_bug.cgi?id=160611

Reviewed by Sam Weinig.

CADisplayLink doesn't work in a headless simulator, but is
vital for the proper functioning of WebKit2 painting on iOS.
So, we should not use a headless simulator.

  • Scripts/run-api-tests:

Launch a simulator app, don't just boot the simulator.

  • TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:

Re-enable a test that works now.

2:22 PM Changeset in webkit [204193] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Sierra WK1: compositing/masks/compositing-clip-path-change-no-repaint.html failing
rdar://problem/26789221

Make this test less sensitive to platform repaint differences.

  • compositing/masks/compositing-clip-path-change-no-repaint-expected.txt:
  • compositing/masks/compositing-clip-path-change-no-repaint.html:
  • platform/mac-wk1/TestExpectations:
2:19 PM Changeset in webkit [204192] by commit-queue@webkit.org
  • 5 edits
    2 deletes in trunk

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

Solve the issue by removing the workaround for static files
(Requested by jonlee_ on #webkit).

Reverted changeset:

"Temporary redirected m3u8 streaming stopped working."
https://bugs.webkit.org/show_bug.cgi?id=160472
http://trac.webkit.org/changeset/204128

1:27 PM Changeset in webkit [204191] by commit-queue@webkit.org
  • 6 edits
    2 deletes in trunk/LayoutTests

Remove testRunner.handleErrorPages()
https://bugs.webkit.org/show_bug.cgi?id=160552

Patch by Jonathan Bedard <Jonathan Bedard> on 2016-08-05
Reviewed by Daniel Bates.

handleErrorPages() was implemented by the Qt WebKit port, per
https://bugs.webkit.org/show_bug.cgi?id=31509#c0, but never implemented
on other ports. Per https://bugs.webkit.org/show_bug.cgi?id=31555, this
feature was never implemented on Mac.

  • fast/history/back-forward-reset-after-error-handling-expected.txt: Removed test expectations.
  • fast/history/back-forward-reset-after-error-handling.html: Removed test.
  • platform/efl/TestExpectations: Remove reference to back-forward-reset-after-error-handling.
  • platform/gtk/TestExpectations: Ditto.
  • platform/ios-simulator/TestExpectations: Ditto.
  • platform/mac/TestExpectations: Ditto.
  • platform/win/TestExpectations: Ditto.
1:22 PM Changeset in webkit [204190] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

segmentTimeSeriesByMaximizingSchwarzCriterion returns a bogus result on empty charts
https://bugs.webkit.org/show_bug.cgi?id=160575

Rubber-stamped by Chris Dumez.

The bug was caused by an early return in segmentTimeSeriesByMaximizingSchwarzCriterion.
Removed this early return as the one in splitIntoSegmentsUntilGoodEnough was sufficient.

Also factored out a few functions in findOptimalSegmentation so that they can be better
optimized in JSC's DFG and FTL tiers, and removed unused debuggingTestingRangeNomination.

  • public/shared/statistics.js:

(Statistics.segmentTimeSeriesByMaximizingSchwarzCriterion): Removed an early return.
(Statistics.splitIntoSegmentsUntilGoodEnough):
(.allocateCostUpperTriangularForSegmentation): Extracted from findOptimalSegmentation.
(.allocatePreviousNodeForSegmentation): Ditto.
(.findOptimalSegmentationInternal): Ditto.
(.findOptimalSegmentation):

  • unit-tests/statistics-tests.js: Added a test case.
1:21 PM Changeset in webkit [204189] by rniwa@webkit.org
  • 5 edits in trunk/Websites/perf.webkit.org

Perf dashboard sometimes tries to fetch a non-existent measurement-set JSON
https://bugs.webkit.org/show_bug.cgi?id=160577

Rubber-stamped by Chris Dumez.

The bug was caused by findClusters computing the first cluster's endTime incorrectly. Namely, we were
multiplying the number of clusters by clusterStart instead of clusterSize with an off-by-one error.

  • public/v3/models/measurement-set.js:

(MeasurementSet.prototype.findClusters): Folded computeClusterStart into where clusterEnd is computed
for clarity. Also fixed a bug that we were not computing the first cluster to fetch correctly when
the fetched time range started before clusterStart (i.e. when startTime - clusterStart is negative).
Finally, fixed the main bug by multiplying the number of clusters by clusterSize instead of
clusterStart to compute the end time of the very first cluster in this measurement set. Because what
we're computing here is the end time of the first cluster, not the start time, we also need to subtract
one from the number of clusters. e.g. if there was exactly one cluster, then firstClusterEndTime is
identically equal to lastClusterEndTime.
(MeasurementSet.prototype.fetchedTimeSeries): Removed the unused argument to TimeSeries's constructor.

  • unit-tests/analysis-task-tests.js: Fixed the tests for the latest version of Mocha which complains if

we returned a promise in unit tests when "done" function is used.

  • unit-tests/checkconfig.js: Ditto.
  • unit-tests/measurement-set-tests.js: Added a test case for findClusters and a test to make sure

fetchBetween doesn't try to fetch a cluster before the first cluster in the set. Also fixed other test
cases which were relying on the bug this patch fixed.

1:19 PM Changeset in webkit [204188] by mitz@apple.com
  • 6 edits in trunk

[Cocoa] WKRemoteObjectCoder doesn’t handle NSRange
https://bugs.webkit.org/show_bug.cgi?id=160589

Reviewed by Tim Horton.

Source/WebKit2:

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(encodeInvocationArguments): Encode NSRange by wrapping in an NSValue.
(decodeInvocationArguments): Decode wrapped NSRange.

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.h:

(remoteObjectInterface): Fixed a mistake in the set of allowed classes in one of the reply

blocks, which wasn’t caught because the test wasn’t run correctly.

  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm:

(TEST): Fixed the -selectionAndClickInformationForClickAtPoint:completionHandler: test, and

added a test that sends over an NSRange.

  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistryPlugIn.mm:

(-[RemoteObjectRegistryPlugIn takeRange:completionHandler:]): Added. Calls the completion

handler with the range‘s location and length.

1:19 PM Changeset in webkit [204187] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

MeasurementCluster's addToSeries is slow
https://bugs.webkit.org/show_bug.cgi?id=160581

Rubber-stamped by Chris Dumez.

The bulk of time was spent in MeasurementAdaptor.prototype.applyTo where we computed the interval.

Since some of data points are filtered out by TimeSeriesChart component before intervals are used,
we can significantly reduce the CPU time by lazily compute them. This patch reduces the runtime of
applyTo from ~60ms to ~30ms on my machine.

  • public/v3/models/measurement-adaptor.js:

(MeasurementAdaptor.prototype.applyTo): Lazily compute and cache the interval. Also cache the build
object instead of always creating a new object.

  • public/v3/models/measurement-cluster.js:

(MeasurementCluster.prototype.addToSeries): Call applyTo first before checking whether the point is
an outlier or its id to avoid extracting those values twice since they show up in the profiler. Also
use "of" instead "forEach" since "of" seems to be faster here.

12:38 PM Changeset in webkit [204186] by Brent Fulgham
  • 5 edits
    2 adds in trunk

validity assertion fails after removing a child of an <optgroup> element
https://bugs.webkit.org/show_bug.cgi?id=155720
<rdar://problem/27720746>

Reviewed by Brent Fulgham.

Source/WebCore:

All calls to HTMLSelectElement::setRecalcListItems also need to call HTMLSelectElement::updateValidity.

Test: fast/dom/HTMLSelectElement/select-remove-from-optgroup.html

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::recalcSelectOptions): Call 'updateValidity' after 'setRecalcListItems'.

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::insertedInto): Ditto.

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::parseAttribute): Ditto.

LayoutTests:

Add new test case that triggers a debug assertion when the HTMLSelectElement state
is not updated properly.

  • fast/dom/HTMLSelectElement/select-remove-from-optgroup-expected.txt: Added.
  • fast/dom/HTMLSelectElement/select-remove-from-optgroup.html: Added.
12:29 PM Changeset in webkit [204185] by bshafiei@apple.com
  • 5 edits
    2 deletes in branches/safari-602-branch

Roll out r204128 via r204169. rdar://problem/27592694

12:16 PM Changeset in webkit [204184] by Ryan Haddad
  • 3 edits
    4 deletes in trunk

Unreviewed, rolling out r204174.

The test for this change is failing on WK1

Reverted changeset:

"Popups opened from a sandboxed iframe should themselves be
sandboxed"
https://bugs.webkit.org/show_bug.cgi?id=134850
http://trac.webkit.org/changeset/204174

12:16 PM Changeset in webkit [204183] by enrica@apple.com
  • 2 edits in trunk/Tools

Fixing tests failing after r204175.

Unreviewed.

  • TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig:
12:16 PM Changeset in webkit [204182] by sbarati@apple.com
  • 3 edits
    1 add in trunk

Assertion failure when accessing TDZ variable in catch through eval
https://bugs.webkit.org/show_bug.cgi?id=160554

Reviewed by Mark Lam and Keith Miller.

JSTests:

  • stress/catch-variables-under-tdz.js: Added.

(test):

Source/JavaScriptCore:

When we were calculating the variables under TDZ from a JSScope,
the algorithm was not taking into account that a catch scope
has variables under TDZ.

  • runtime/JSScope.cpp:

(JSC::JSScope::collectVariablesUnderTDZ):

11:57 AM Changeset in webkit [204181] by wilander@apple.com
  • 12 edits
    2 adds in trunk

Don't set document.domain to an IP address fragment
https://bugs.webkit.org/show_bug.cgi?id=126045
<rdar://problem/27331794>

Reviewed by Daniel Bates.

Source/WebCore:

This patch matches the following Blink one:
https://chromium.googlesource.com/chromium/blink/+/b19a57fdb323d5a80d3a1cb0a6b343558c4237b0

IP address octets should not be treated as subdomains when setting
document.domain. The specs say:
'The domain attribute's setter must run these steps: ...

  1. If host is not equal to effectiveDomain, then run these substeps:
    1. If host or effectiveDomain is not a domain, then throw a "SecurityError" DOMException.'

https://html.spec.whatwg.org/multipage/browsers.html#relaxing-the-same-origin-restriction
Last Updated 5 August 2016

'A host is a domain, an IPv4 address, or an IPv6 address.'
https://url.spec.whatwg.org/#concept-domain
Last Updated 28 July 2016

Test: http/tests/security/set-domain-remove-subdomain-for-ip-address.html

  • dom/Document.cpp:

(WebCore::Document::setDomain):

Now checks whether the security origin is allowed to remove
subdomains. If not, it throws a security error.

  • page/OriginAccessEntry.cpp:

(WebCore::OriginAccessEntry::OriginAccessEntry):

Constructor now expects an IP address setting.

(WebCore::OriginAccessEntry::matchesOrigin):

Now also checks whether the host in an IP address and returns
false if IP addresses aren't configured to be treated as domains.

  • page/OriginAccessEntry.h:

Introduced new enum for IP address setting.
Constructor now expects an IP address setting.

(WebCore::OriginAccessEntry::ipAddressSettings):

New getter.

(WebCore::operator==):

Now also requires IP address settings to match.

  • page/SecurityPolicy.cpp:

(WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):

Changes to match OriginAccessEntry's new constructor.

(WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):

Changes to match OriginAccessEntry's new constructor.

  • page/Settings.in:

Added a setting to allow IP address octets to be treated as
subdomains. This way our existing tests setting document.domain
still work.

LayoutTests:

IP address octets should not be treated as subdomains when
setting document.domain.

  • http/tests/security/aboutBlank/security-context-alias.html:

Now enables the new setting treatIPAddressesAsDomains.

  • http/tests/security/aboutBlank/security-context-grandchildren-alias.html:

Now enables the new setting treatIPAddressesAsDomains.

  • http/tests/security/postMessage/origin-unaffected-by-document-domain.html:

Now enables the new setting treatIPAddressesAsDomains.

  • http/tests/security/set-domain-remove-subdomain-for-ip-address-expected.txt: Added.
  • http/tests/security/set-domain-remove-subdomain-for-ip-address.html: Added.
  • http/tests/workers/worker-document-domain-security.html:

Now enables the new setting treatIPAddressesAsDomains.

  • http/tests/xmlhttprequest/document-domain-set.html:

Now enables the new setting treatIPAddressesAsDomains.

11:53 AM Changeset in webkit [204180] by keith_miller@apple.com
  • 11 edits
    10 deletes in trunk/Source

Delete out of date WASM code.
https://bugs.webkit.org/show_bug.cgi?id=160603

Reviewed by Saam Barati.

Source/JavaScriptCore:

This patch removes a bunch of the wasm files that we are unlikey to use
with the newer wasm spec. If we end up needing any of the deleted code
later we can restore it at that time.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • jit/JITOperations.cpp:
  • jsc.cpp:

(GlobalObject::finishCreation): Deleted.
(functionLoadWebAssembly): Deleted.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::setUpCall): Deleted.

  • runtime/Executable.cpp:

(JSC::WebAssemblyExecutable::prepareForExecution): Deleted.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init): Deleted.
(JSC::JSGlobalObject::visitChildren): Deleted.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::wasmModuleStructure): Deleted.

  • wasm/WASMConstants.h: Removed.
  • wasm/WASMFunctionB3IRGenerator.h: Removed.

(JSC::WASMFunctionB3IRGenerator::MemoryAddress::MemoryAddress): Deleted.
(JSC::WASMFunctionB3IRGenerator::startFunction): Deleted.
(JSC::WASMFunctionB3IRGenerator::endFunction): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildSetLocal): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildSetGlobal): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildReturn): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildImmediateI32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildImmediateF32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildImmediateF64): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildGetLocal): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildGetGlobal): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildConvertType): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildLoad): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildStore): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildUnaryI32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildUnaryF32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildUnaryF64): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildBinaryI32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildBinaryF32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildBinaryF64): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildRelationalI32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildRelationalF32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildRelationalF64): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildMinOrMaxI32): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildMinOrMaxF64): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildCallInternal): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildCallIndirect): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildCallImport): Deleted.
(JSC::WASMFunctionB3IRGenerator::appendExpressionList): Deleted.
(JSC::WASMFunctionB3IRGenerator::discard): Deleted.
(JSC::WASMFunctionB3IRGenerator::linkTarget): Deleted.
(JSC::WASMFunctionB3IRGenerator::jumpToTarget): Deleted.
(JSC::WASMFunctionB3IRGenerator::jumpToTargetIf): Deleted.
(JSC::WASMFunctionB3IRGenerator::startLoop): Deleted.
(JSC::WASMFunctionB3IRGenerator::endLoop): Deleted.
(JSC::WASMFunctionB3IRGenerator::startSwitch): Deleted.
(JSC::WASMFunctionB3IRGenerator::endSwitch): Deleted.
(JSC::WASMFunctionB3IRGenerator::startLabel): Deleted.
(JSC::WASMFunctionB3IRGenerator::endLabel): Deleted.
(JSC::WASMFunctionB3IRGenerator::breakTarget): Deleted.
(JSC::WASMFunctionB3IRGenerator::continueTarget): Deleted.
(JSC::WASMFunctionB3IRGenerator::breakLabelTarget): Deleted.
(JSC::WASMFunctionB3IRGenerator::continueLabelTarget): Deleted.
(JSC::WASMFunctionB3IRGenerator::buildSwitch): Deleted.

  • wasm/WASMFunctionCompiler.h: Removed.

(JSC::operationConvertJSValueToInt32): Deleted.
(JSC::operationConvertJSValueToDouble): Deleted.
(JSC::operationDiv): Deleted.
(JSC::operationMod): Deleted.
(JSC::operationUnsignedDiv): Deleted.
(JSC::operationUnsignedMod): Deleted.
(JSC::operationConvertUnsignedInt32ToDouble): Deleted.
(JSC::sizeOfMemoryType): Deleted.
(JSC::WASMFunctionCompiler::MemoryAddress::MemoryAddress): Deleted.
(JSC::WASMFunctionCompiler::WASMFunctionCompiler): Deleted.
(JSC::WASMFunctionCompiler::startFunction): Deleted.
(JSC::WASMFunctionCompiler::endFunction): Deleted.
(JSC::WASMFunctionCompiler::buildSetLocal): Deleted.
(JSC::WASMFunctionCompiler::buildSetGlobal): Deleted.
(JSC::WASMFunctionCompiler::buildReturn): Deleted.
(JSC::WASMFunctionCompiler::buildImmediateI32): Deleted.
(JSC::WASMFunctionCompiler::buildImmediateF32): Deleted.
(JSC::WASMFunctionCompiler::buildImmediateF64): Deleted.
(JSC::WASMFunctionCompiler::buildGetLocal): Deleted.
(JSC::WASMFunctionCompiler::buildGetGlobal): Deleted.
(JSC::WASMFunctionCompiler::buildConvertType): Deleted.
(JSC::WASMFunctionCompiler::buildLoad): Deleted.
(JSC::WASMFunctionCompiler::buildStore): Deleted.
(JSC::WASMFunctionCompiler::buildUnaryI32): Deleted.
(JSC::WASMFunctionCompiler::buildUnaryF32): Deleted.
(JSC::WASMFunctionCompiler::buildUnaryF64): Deleted.
(JSC::WASMFunctionCompiler::buildBinaryI32): Deleted.
(JSC::WASMFunctionCompiler::buildBinaryF32): Deleted.
(JSC::WASMFunctionCompiler::buildBinaryF64): Deleted.
(JSC::WASMFunctionCompiler::buildRelationalI32): Deleted.
(JSC::WASMFunctionCompiler::buildRelationalF32): Deleted.
(JSC::WASMFunctionCompiler::buildRelationalF64): Deleted.
(JSC::WASMFunctionCompiler::buildMinOrMaxI32): Deleted.
(JSC::WASMFunctionCompiler::buildMinOrMaxF64): Deleted.
(JSC::WASMFunctionCompiler::buildCallInternal): Deleted.
(JSC::WASMFunctionCompiler::buildCallIndirect): Deleted.
(JSC::WASMFunctionCompiler::buildCallImport): Deleted.
(JSC::WASMFunctionCompiler::appendExpressionList): Deleted.
(JSC::WASMFunctionCompiler::discard): Deleted.
(JSC::WASMFunctionCompiler::linkTarget): Deleted.
(JSC::WASMFunctionCompiler::jumpToTarget): Deleted.
(JSC::WASMFunctionCompiler::jumpToTargetIf): Deleted.
(JSC::WASMFunctionCompiler::startLoop): Deleted.
(JSC::WASMFunctionCompiler::endLoop): Deleted.
(JSC::WASMFunctionCompiler::startSwitch): Deleted.
(JSC::WASMFunctionCompiler::endSwitch): Deleted.
(JSC::WASMFunctionCompiler::startLabel): Deleted.
(JSC::WASMFunctionCompiler::endLabel): Deleted.
(JSC::WASMFunctionCompiler::breakTarget): Deleted.
(JSC::WASMFunctionCompiler::continueTarget): Deleted.
(JSC::WASMFunctionCompiler::breakLabelTarget): Deleted.
(JSC::WASMFunctionCompiler::continueLabelTarget): Deleted.
(JSC::WASMFunctionCompiler::buildSwitch): Deleted.
(JSC::WASMFunctionCompiler::localAddress): Deleted.
(JSC::WASMFunctionCompiler::temporaryAddress): Deleted.
(JSC::WASMFunctionCompiler::appendCall): Deleted.
(JSC::WASMFunctionCompiler::appendCallWithExceptionCheck): Deleted.
(JSC::WASMFunctionCompiler::emitNakedCall): Deleted.
(JSC::WASMFunctionCompiler::appendCallSetResult): Deleted.
(JSC::WASMFunctionCompiler::callOperation): Deleted.
(JSC::WASMFunctionCompiler::boxArgumentsAndAdjustStackPointer): Deleted.
(JSC::WASMFunctionCompiler::callAndUnboxResult): Deleted.
(JSC::WASMFunctionCompiler::convertValueToInt32): Deleted.
(JSC::WASMFunctionCompiler::convertValueToDouble): Deleted.
(JSC::WASMFunctionCompiler::convertDoubleToValue): Deleted.

  • wasm/WASMFunctionParser.cpp: Removed.

(JSC::nameOfType): Deleted.
(JSC::WASMFunctionParser::checkSyntax): Deleted.
(JSC::WASMFunctionParser::compile): Deleted.
(JSC::WASMFunctionParser::parseFunction): Deleted.
(JSC::WASMFunctionParser::parseLocalVariables): Deleted.
(JSC::WASMFunctionParser::parseStatement): Deleted.
(JSC::WASMFunctionParser::parseReturnStatement): Deleted.
(JSC::WASMFunctionParser::parseBlockStatement): Deleted.
(JSC::WASMFunctionParser::parseIfStatement): Deleted.
(JSC::WASMFunctionParser::parseIfElseStatement): Deleted.
(JSC::WASMFunctionParser::parseWhileStatement): Deleted.
(JSC::WASMFunctionParser::parseDoStatement): Deleted.
(JSC::WASMFunctionParser::parseLabelStatement): Deleted.
(JSC::WASMFunctionParser::parseBreakStatement): Deleted.
(JSC::WASMFunctionParser::parseBreakLabelStatement): Deleted.
(JSC::WASMFunctionParser::parseContinueStatement): Deleted.
(JSC::WASMFunctionParser::parseContinueLabelStatement): Deleted.
(JSC::WASMFunctionParser::parseSwitchStatement): Deleted.
(JSC::WASMFunctionParser::parseExpression): Deleted.
(JSC::WASMFunctionParser::parseExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseConstantPoolIndexExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseImmediateExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseUnaryExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseBinaryExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseRelationalI32ExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseRelationalF32ExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseRelationalF64ExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseMinOrMaxExpressionI32): Deleted.
(JSC::WASMFunctionParser::parseExpressionF32): Deleted.
(JSC::WASMFunctionParser::parseConstantPoolIndexExpressionF32): Deleted.
(JSC::WASMFunctionParser::parseImmediateExpressionF32): Deleted.
(JSC::WASMFunctionParser::parseUnaryExpressionF32): Deleted.
(JSC::WASMFunctionParser::parseBinaryExpressionF32): Deleted.
(JSC::WASMFunctionParser::parseExpressionF64): Deleted.
(JSC::WASMFunctionParser::parseConstantPoolIndexExpressionF64): Deleted.
(JSC::WASMFunctionParser::parseImmediateExpressionF64): Deleted.
(JSC::WASMFunctionParser::parseUnaryExpressionF64): Deleted.
(JSC::WASMFunctionParser::parseBinaryExpressionF64): Deleted.
(JSC::WASMFunctionParser::parseMinOrMaxExpressionF64): Deleted.
(JSC::WASMFunctionParser::parseExpressionVoid): Deleted.
(JSC::WASMFunctionParser::parseGetLocalExpression): Deleted.
(JSC::WASMFunctionParser::parseGetGlobalExpression): Deleted.
(JSC::WASMFunctionParser::parseSetLocal): Deleted.
(JSC::WASMFunctionParser::parseSetGlobal): Deleted.
(JSC::WASMFunctionParser::parseMemoryAddress): Deleted.
(JSC::WASMFunctionParser::parseLoad): Deleted.
(JSC::WASMFunctionParser::parseStore): Deleted.
(JSC::WASMFunctionParser::parseCallArguments): Deleted.
(JSC::WASMFunctionParser::parseCallInternal): Deleted.
(JSC::WASMFunctionParser::parseCallIndirect): Deleted.
(JSC::WASMFunctionParser::parseCallImport): Deleted.
(JSC::WASMFunctionParser::parseConditional): Deleted.
(JSC::WASMFunctionParser::parseComma): Deleted.
(JSC::WASMFunctionParser::parseConvertType): Deleted.

  • wasm/WASMFunctionParser.h: Removed.

(JSC::WASMFunctionParser::WASMFunctionParser): Deleted.

  • wasm/WASMFunctionSyntaxChecker.h: Removed.

(JSC::WASMFunctionSyntaxChecker::MemoryAddress::MemoryAddress): Deleted.
(JSC::WASMFunctionSyntaxChecker::startFunction): Deleted.
(JSC::WASMFunctionSyntaxChecker::endFunction): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildSetLocal): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildSetGlobal): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildReturn): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildImmediateI32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildImmediateF32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildImmediateF64): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildGetLocal): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildGetGlobal): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildConvertType): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildLoad): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildStore): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildUnaryI32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildUnaryF32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildUnaryF64): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildBinaryI32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildBinaryF32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildBinaryF64): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildRelationalI32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildRelationalF32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildRelationalF64): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildMinOrMaxI32): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildMinOrMaxF64): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildCallInternal): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildCallImport): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildCallIndirect): Deleted.
(JSC::WASMFunctionSyntaxChecker::appendExpressionList): Deleted.
(JSC::WASMFunctionSyntaxChecker::discard): Deleted.
(JSC::WASMFunctionSyntaxChecker::linkTarget): Deleted.
(JSC::WASMFunctionSyntaxChecker::jumpToTarget): Deleted.
(JSC::WASMFunctionSyntaxChecker::jumpToTargetIf): Deleted.
(JSC::WASMFunctionSyntaxChecker::startLoop): Deleted.
(JSC::WASMFunctionSyntaxChecker::endLoop): Deleted.
(JSC::WASMFunctionSyntaxChecker::startSwitch): Deleted.
(JSC::WASMFunctionSyntaxChecker::endSwitch): Deleted.
(JSC::WASMFunctionSyntaxChecker::startLabel): Deleted.
(JSC::WASMFunctionSyntaxChecker::endLabel): Deleted.
(JSC::WASMFunctionSyntaxChecker::breakTarget): Deleted.
(JSC::WASMFunctionSyntaxChecker::continueTarget): Deleted.
(JSC::WASMFunctionSyntaxChecker::breakLabelTarget): Deleted.
(JSC::WASMFunctionSyntaxChecker::continueLabelTarget): Deleted.
(JSC::WASMFunctionSyntaxChecker::buildSwitch): Deleted.
(JSC::WASMFunctionSyntaxChecker::stackHeight): Deleted.
(JSC::WASMFunctionSyntaxChecker::updateTempStackHeight): Deleted.
(JSC::WASMFunctionSyntaxChecker::updateTempStackHeightForCall): Deleted.

  • wasm/WASMModuleParser.cpp: Removed.

(JSC::WASMModuleParser::WASMModuleParser): Deleted.
(JSC::WASMModuleParser::parse): Deleted.
(JSC::WASMModuleParser::parseModule): Deleted.
(JSC::WASMModuleParser::parseConstantPoolSection): Deleted.
(JSC::WASMModuleParser::parseSignatureSection): Deleted.
(JSC::WASMModuleParser::parseFunctionImportSection): Deleted.
(JSC::WASMModuleParser::parseGlobalSection): Deleted.
(JSC::WASMModuleParser::parseFunctionDeclarationSection): Deleted.
(JSC::WASMModuleParser::parseFunctionPointerTableSection): Deleted.
(JSC::WASMModuleParser::parseFunctionDefinitionSection): Deleted.
(JSC::WASMModuleParser::parseFunctionDefinition): Deleted.
(JSC::WASMModuleParser::parseExportSection): Deleted.
(JSC::WASMModuleParser::getImportedValue): Deleted.
(JSC::parseWebAssembly): Deleted.

  • wasm/WASMModuleParser.h: Removed.
  • wasm/WASMReader.cpp: Removed.

(JSC::WASMReader::readUInt32): Deleted.
(JSC::WASMReader::readFloat): Deleted.
(JSC::WASMReader::readDouble): Deleted.
(JSC::WASMReader::readCompactInt32): Deleted.
(JSC::WASMReader::readCompactUInt32): Deleted.
(JSC::WASMReader::readString): Deleted.
(JSC::WASMReader::readType): Deleted.
(JSC::WASMReader::readExpressionType): Deleted.
(JSC::WASMReader::readExportFormat): Deleted.
(JSC::WASMReader::readByte): Deleted.
(JSC::WASMReader::readOpStatement): Deleted.
(JSC::WASMReader::readOpExpressionI32): Deleted.
(JSC::WASMReader::readOpExpressionF32): Deleted.
(JSC::WASMReader::readOpExpressionF64): Deleted.
(JSC::WASMReader::readOpExpressionVoid): Deleted.
(JSC::WASMReader::readVariableTypes): Deleted.
(JSC::WASMReader::readOp): Deleted.
(JSC::WASMReader::readSwitchCase): Deleted.

  • wasm/WASMReader.h: Removed.

(JSC::WASMReader::WASMReader): Deleted.
(JSC::WASMReader::offset): Deleted.
(JSC::WASMReader::setOffset): Deleted.

Source/WTF:

Add Feature define for WebAssembly on mac.

  • wtf/FeatureDefines.h:
11:36 AM Changeset in webkit [204179] by Chris Dumez
  • 15 edits
    2 adds in trunk

Window's named properties should be exposed on a WindowProperties object in its prototype
https://bugs.webkit.org/show_bug.cgi?id=160354

Reviewed by Gavin Barraclough.

LayoutTests/imported/w3c:

Rebaseline W3C test now that one more check is passing.

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

Source/WebCore:

Window's named properties should be exposed on a WindowProperties object
in its prototype:

Firefox and Chrome both comply with the specification. However, WebKit
had no "WindowProperties" object in the Window prototype chain and the
named properties are exposed on the Window object itself.

No new tests, rebaselined existing tests.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): Deleted.
(WebCore::JSDOMWindow::put): Deleted.
(WebCore::JSDOMWindow::putByIndex): Deleted.
(WebCore::JSDOMWindow::getEnumerableLength): Deleted.

  • bindings/js/JSDOMWindowProperties.cpp: Added.

(WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter):
(WebCore::JSDOMWindowProperties::getOwnPropertySlot):
(WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex):

  • bindings/js/JSDOMWindowProperties.h: Added.

(WebCore::JSDOMWindowProperties::create):
(WebCore::JSDOMWindowProperties::createStructure):
(WebCore::JSDOMWindowProperties::JSDOMWindowProperties):

  • bindings/js/JSDOMWindowShell.cpp:

(WebCore::JSDOMWindowShell::setWindow):

LayoutTests:

  • fast/dom/Window/es52-globals-expected.txt:

Update / Rebaseline test now that named properties are no longer reported as "own"
properties on the Window object. I have verified that the test gives the
same result in Firefox and Chrome.

  • fast/loader/window-clearing-expected.txt:

Rebaseline test that prints one more line because there is one more
object in Window's prototype chain.

  • http/tests/security/window-named-proto-expected.txt:
  • http/tests/security/window-named-valueOf-expected.txt:

Rebaseline 2 security tests that give slightly different output. The new
output is identical to the one in Firefox and Chrome. The tests are not
failing since they are not alert'ing content from the other frame.
The reason those tests were logging a security error is because we would
previously prevent named property access if the frame name conflicts with
a property name in the Window prototype, and we now no longer
differentiate this case.

11:27 AM Changeset in webkit [204178] by beidson@apple.com
  • 6 edits
    2 copies
    13 moves
    6 adds in trunk/Source/WebCore

Create platform/gamepad directory, and make GamepadProvider pure virtual (with a default empty implementation).
https://bugs.webkit.org/show_bug.cgi?id=160599

Reviewed by Alex Christensen.

No new tests (No behavior change).

Except for the GamepadProvider/EmptyGamepadProvider split, this is just moving files around.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/Linux.cmake:
  • platform/gamepad.h: Removed.
  • platform/gamepad/EmptyGamepadProvider.cpp:

(WebCore::EmptyGamepadProvider::startMonitoringGamepads):
(WebCore::EmptyGamepadProvider::stopMonitoringGamepads):
(WebCore::EmptyGamepadProvider::platformGamepads):

  • platform/gamepad/EmptyGamepadProvider.h:
  • platform/gamepad/GamepadProvider.cpp: Renamed from Source/WebCore/platform/GamepadProvider.cpp.

(WebCore::GamepadProvider::singleton):
(WebCore::GamepadProvider::setSharedProvider):

  • platform/gamepad/GamepadProvider.h: Renamed from Source/WebCore/platform/GamepadProvider.h.

(WebCore::GamepadProvider::~GamepadProvider):

  • platform/gamepad/GamepadProviderClient.h: Renamed from Source/WebCore/platform/GamepadProviderClient.h.

(WebCore::GamepadProviderClient::~GamepadProviderClient):

  • platform/gamepad/PlatformGamepad.h: Renamed from Source/WebCore/platform/PlatformGamepad.h.

(WebCore::PlatformGamepad::~PlatformGamepad):
(WebCore::PlatformGamepad::id):
(WebCore::PlatformGamepad::index):
(WebCore::PlatformGamepad::lastUpdateTime):
(WebCore::PlatformGamepad::connectTime):
(WebCore::PlatformGamepad::PlatformGamepad):

  • platform/gamepad/deprecated/Gamepads.h: Renamed from Source/WebCore/platform/Gamepads.h.
  • platform/gamepad/efl/GamepadsEfl.cpp: Renamed from Source/WebCore/platform/efl/GamepadsEfl.cpp.

(WebCore::GamepadDeviceEfl::resetFdHandler):
(WebCore::GamepadDeviceEfl::deviceFile):
(WebCore::GamepadDeviceEfl::GamepadDeviceEfl):
(WebCore::GamepadDeviceEfl::~GamepadDeviceEfl):
(WebCore::GamepadDeviceEfl::readCallback):
(WebCore::GamepadsEfl::onGamePadChange):
(WebCore::GamepadsEfl::GamepadsEfl):
(WebCore::GamepadsEfl::~GamepadsEfl):
(WebCore::GamepadsEfl::registerDevice):
(WebCore::GamepadsEfl::unregisterDevice):
(WebCore::GamepadsEfl::updateGamepadList):
(WebCore::sampleGamepads):

  • platform/gamepad/glib/GamepadsGlib.cpp: Renamed from Source/WebCore/platform/glib/GamepadsGlib.cpp.

(WebCore::GamepadDeviceGlib::GamepadDeviceGlib):
(WebCore::GamepadDeviceGlib::~GamepadDeviceGlib):
(WebCore::GamepadDeviceGlib::readCallback):
(WebCore::GamepadsGlib::GamepadsGlib):
(WebCore::GamepadsGlib::~GamepadsGlib):
(WebCore::GamepadsGlib::registerDevice):
(WebCore::GamepadsGlib::unregisterDevice):
(WebCore::GamepadsGlib::updateGamepadList):
(WebCore::GamepadsGlib::onUEventCallback):
(WebCore::GamepadsGlib::isGamepadDevice):
(WebCore::sampleGamepads):

  • platform/gamepad/linux/GamepadDeviceLinux.cpp: Renamed from Source/WebCore/platform/linux/GamepadDeviceLinux.cpp.

(WebCore::GamepadDeviceLinux::GamepadDeviceLinux):
(WebCore::GamepadDeviceLinux::~GamepadDeviceLinux):
(WebCore::GamepadDeviceLinux::updateForEvent):
(WebCore::GamepadDeviceLinux::normalizeAxisValue):
(WebCore::GamepadDeviceLinux::normalizeButtonValue):

  • platform/gamepad/linux/GamepadDeviceLinux.h: Renamed from Source/WebCore/platform/linux/GamepadDeviceLinux.h.

(WebCore::GamepadDeviceLinux::connected):
(WebCore::GamepadDeviceLinux::id):
(WebCore::GamepadDeviceLinux::timestamp):
(WebCore::GamepadDeviceLinux::axesCount):
(WebCore::GamepadDeviceLinux::axesData):
(WebCore::GamepadDeviceLinux::buttonsCount):
(WebCore::GamepadDeviceLinux::buttonsData):

  • platform/gamepad/mac/HIDGamepad.cpp: Renamed from Source/WebCore/platform/mac/HIDGamepad.cpp.

(WebCore::HIDGamepad::HIDGamepad):
(WebCore::HIDGamepad::getCurrentValueForElement):
(WebCore::HIDGamepad::initElements):
(WebCore::HIDGamepad::initElementsFromArray):
(WebCore::HIDGamepad::maybeAddButton):
(WebCore::HIDGamepad::maybeAddAxis):
(WebCore::HIDGamepad::valueChanged):

  • platform/gamepad/mac/HIDGamepad.h: Renamed from Source/WebCore/platform/mac/HIDGamepad.h.

(WebCore::HIDGamepadElement::HIDGamepadElement):
(WebCore::HIDGamepadElement::~HIDGamepadElement):
(WebCore::HIDGamepadElement::isButton):
(WebCore::HIDGamepadElement::isAxis):
(WebCore::HIDGamepadButton::HIDGamepadButton):
(WebCore::HIDGamepadAxis::HIDGamepadAxis):
(WebCore::HIDGamepad::hidDevice):

  • platform/gamepad/mac/HIDGamepadProvider.cpp: Renamed from Source/WebCore/platform/mac/HIDGamepadProvider.cpp.

(WebCore::deviceMatchingDictionary):
(WebCore::deviceAddedCallback):
(WebCore::deviceRemovedCallback):
(WebCore::deviceValuesChangedCallback):
(WebCore::HIDGamepadProvider::singleton):
(WebCore::HIDGamepadProvider::HIDGamepadProvider):
(WebCore::HIDGamepadProvider::indexForNewlyConnectedDevice):
(WebCore::HIDGamepadProvider::connectionDelayTimerFired):
(WebCore::HIDGamepadProvider::openAndScheduleManager):
(WebCore::HIDGamepadProvider::closeAndUnscheduleManager):
(WebCore::HIDGamepadProvider::startMonitoringGamepads):
(WebCore::HIDGamepadProvider::stopMonitoringGamepads):
(WebCore::HIDGamepadProvider::deviceAdded):
(WebCore::HIDGamepadProvider::deviceRemoved):
(WebCore::HIDGamepadProvider::valuesChanged):
(WebCore::HIDGamepadProvider::inputNotificationTimerFired):
(WebCore::HIDGamepadProvider::removeGamepadForDevice):

  • platform/gamepad/mac/HIDGamepadProvider.h: Renamed from Source/WebCore/platform/mac/HIDGamepadProvider.h.

(WebCore::HIDGamepadProvider::platformGamepads):

10:43 AM Changeset in webkit [204177] by commit-queue@webkit.org
  • 3 edits
    1 delete in trunk/Source/WebCore

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

Considering another implementation (Requested by eric_carlson
on #webkit).

Reverted changeset:

"Add long, boolean, double, and String Media Constraint
classes"
https://bugs.webkit.org/show_bug.cgi?id=160524
http://trac.webkit.org/changeset/204147

10:08 AM Changeset in webkit [204176] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix 32-bit OverridesHasInstance in the DFG.
https://bugs.webkit.org/show_bug.cgi?id=160600

Reviewed by Mark Lam.

In https://trac.webkit.org/changeset/204140, we fixed an issue where the DFG might
do the wrong thing if it proved that the Symbol.hasInstance value for a constructor
was a constant late in compilation. That fix was ommited from the 32-bit version,
causing the new test to fail.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

9:57 AM Changeset in webkit [204175] by enrica@apple.com
  • 3 edits in trunk/Tools

Build fix after 204053.

Unreviewed.

  • TestWebKitAPI/Configurations/Base.xcconfig:
  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm:

(-[MockContentFilterEnabler initWithCoder:]):
(-[MockContentFilterEnabler dealloc]):

9:51 AM Changeset in webkit [204174] by wilander@apple.com
  • 3 edits
    4 adds in trunk

Popups opened from a sandboxed iframe should themselves be sandboxed
https://bugs.webkit.org/show_bug.cgi?id=134850
<rdar://problem/27375388>

Reviewed by Brent Fulgham.

Source/WebCore:

This replicates the behavior in Chrome, Firefox, and according to the reporter
also in Internet Explorer. See the Mozilla bug report:
https://bugzilla.mozilla.org/show_bug.cgi?id=1037381#c1

Test: http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html

  • page/Chrome.cpp:

(WebCore::Chrome::createWindow):

Now copies the opener's frame loader effective sandbox flags to the new
frame loader.

LayoutTests:

  • http/tests/security/resources/anchor-tag-with-blank-target.html: Added.
  • http/tests/security/resources/page-executing-javascript.html: Added.
  • http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox-expected.txt: Added.
  • http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html: Added.
9:42 AM Changeset in webkit [204173] by Darin Adler
  • 2 edits in trunk/Source/WebCore
  • DerivedSources.make: Fix all places that were using tabs instead of spaces outside

the actual make rules, where tabs are required as part of make syntax.

9:26 AM Changeset in webkit [204172] by commit-queue@webkit.org
  • 6 edits in trunk

[Fetch API] SubresourceLoader::checkRedirectionCrossOriginAccessControl should not always assert in SameOrigin mode
https://bugs.webkit.org/show_bug.cgi?id=160594

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-05
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt:
  • web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt:
  • web-platform-tests/fetch/api/basic/mode-same-origin.js: Adding redirection tests for same origin mode.

Source/WebCore:

Covered by rebased tests.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):
It should not throw is mode is SameOrigin and resource is same origin.

9:22 AM Changeset in webkit [204171] by commit-queue@webkit.org
  • 5 edits in trunk

[Fetch API] Response.blob should not assert in case the created blob is empty
https://bugs.webkit.org/show_bug.cgi?id=160592

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-05
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/request/request-consume-expected.txt:
  • web-platform-tests/fetch/api/request/request-consume.html: Adding response with empty blob test.

Source/WebCore:

Covered bu updated test.

  • Modules/fetch/FetchBodyConsumer.cpp:

(WebCore::FetchBodyConsumer::takeAsBlob): Removing assertion as a response may have a body but with no data in it.

9:20 AM Changeset in webkit [204170] by bshafiei@apple.com
  • 2 edits in branches/safari-602-branch/Source/WebCore

Merge r204159. rdar://problem/27669831

9:20 AM Changeset in webkit [204169] by bshafiei@apple.com
  • 5 edits
    2 adds in branches/safari-602-branch

Merge r204128. rdar://problem/27592694

8:39 AM Changeset in webkit [204168] by Konstantin Tokarev
  • 3 edits in trunk/Tools

Print test name in "Last character read from DRT..." error message.
https://bugs.webkit.org/show_bug.cgi?id=160559

Reviewed by Michael Catanzaro.

  • Scripts/webkitpy/port/driver.py:

(Driver.run_test):
(Driver._read_first_block):
(Driver._read_optional_image_block):
(Driver._read_block):

  • Scripts/webkitpy/port/driver_unittest.py:

(DriverTest.test_read_block):
(DriverTest.test_read_binary_block):
(DriverTest.test_read_base64_block):

6:43 AM Changeset in webkit [204167] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

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

Caused layout test timeouts on Windows. (Requested by perarne
on #webkit).

Reverted changeset:

"[Win] Unable to reliably run tests in parallel"
https://bugs.webkit.org/show_bug.cgi?id=140914
http://trac.webkit.org/changeset/204123

4:25 AM Changeset in webkit [204166] by commit-queue@webkit.org
  • 15 edits
    2 deletes in trunk

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

looks like a 1-2% PLUM regression on iPhone 6s (Requested by
kling_ on #webkit).

Reverted changeset:

"Window's named properties should be exposed on a
WindowProperties object in its prototype"
https://bugs.webkit.org/show_bug.cgi?id=160354
http://trac.webkit.org/changeset/203935

2:19 AM Changeset in webkit [204165] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker.html is failing on iOS-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=160591

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-05

  • platform/ios-simulator-wk2/TestExpectations:
12:39 AM Changeset in webkit [204164] by commit-queue@webkit.org
  • 10 edits
    5 adds in trunk

[Fetch API] Activate CSP checks
https://bugs.webkit.org/show_bug.cgi?id=160445

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-05
Reviewed by Daniel Bates.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/policies/csp-blocked-expected.txt:
  • web-platform-tests/fetch/api/policies/csp-blocked-worker-expected.txt:

Source/WebCore:

Tests: http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame.html

http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker.html

  • Modules/fetch/FetchLoader.cpp:

(WebCore::FetchLoader::start): Adding CSP and URL upgrade checks.

LayoutTests:

  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/insecure-fetch-in-main-frame-window.html: Added.
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/insecure-xhr-in-main-frame-window.html:
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame.html: Added.
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker.html: Added.
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-xhr-in-main-frame-expected.txt:
  • platform/mac-wk2/TestExpectations: Marking new worker test as failing at loading https resource from loader.

It gets a "The certificate for this server is invalid" error.

  • platform/wk2/TestExpectations: Marking new frame test as timing out for WK2 as fetch is not activated in the pop-up window.
12:25 AM Changeset in webkit [204163] by commit-queue@webkit.org
  • 16 edits in trunk

DocumentThreadableLoader should report an error when getting a null CachedResource
https://bugs.webkit.org/show_bug.cgi?id=160444

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-05
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/XMLHttpRequest/event-error-expected.txt:
  • web-platform-tests/XMLHttpRequest/getresponseheader-error-state-expected.txt:
  • web-platform-tests/XMLHttpRequest/timeout-cors-async-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-cookies-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt:

Source/WebCore:

Covered by existing and rebased tests.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::loadRequest): Calling didFail with an AccessControl error if unable to have a CachedResource.
The resource error type AccessControl is important as it indicates to some clients that they should not retry loading the same resource (EventSource notably).

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest): Removed handling of ThreadableLoader::create returning null.
This should be handled in didFail callback. This allows aligning behavior of
WorkerThreadableLoaderi::MainThreadBridge and XMLHttpRequest as ThreadableLoader clients.
(WebCore::XMLHttpRequest::didFail): Handle the case of didFail being called synchronously from ThreadableLoader::create.
In that case, use a timer to dispatch network events asynchronously.

LayoutTests:

  • fast/frames/frame-unload-crash.html:
  • http/tests/contentextensions/async-xhr-onerror-expected.txt:
  • http/tests/eventsource/eventsource-reconnect-during-navigate-crash-expected.txt:
  • http/tests/navigation/subframe-pagehide-handler-starts-load-expected.txt:
  • http/tests/navigation/subframe-pagehide-handler-starts-load2-expected.txt:
  • http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt:

Aug 4, 2016:

11:46 PM Changeset in webkit [204162] by sbarati@apple.com
  • 11 edits in trunk

Restore CodeBlock jettison code to jettison when a CodeBlock has been alive for a long time
https://bugs.webkit.org/show_bug.cgi?id=151241

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

This patch rolls back in the jettisoning policy from https://bugs.webkit.org/show_bug.cgi?id=149727.
We can now jettison a CodeBlock when it has been alive for a long time
and is only pointed to by its owner executable. I haven't been able to get this
patch to crash on anything it used to crash on, so I suspect we've fixed the bugs that
were causing this before. I've also added some stress options for this feature that
will cause us to either eagerly old-age jettison or to old-age jettison whenever it's legal.
These options helped me find a bug where we would ask an Executable to create a CodeBlock,
and then the Executable would do some other allocations, causing a GC, immediately causing
the CodeBlock to jettison. There is a small chance that this was the bug we were seeing before,
however, it's unlikely given that the previous timing metrics require at least 5 second between
compiling to jettisoning.

This patch also enables the stress options for various modes
of JSC stress tests.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::shouldJettisonDueToWeakReference):
(JSC::timeToLive):
(JSC::CodeBlock::shouldJettisonDueToOldAge):

  • interpreter/CallFrame.h:

(JSC::ExecState::callee):
(JSC::ExecState::unsafeCallee):
(JSC::ExecState::codeBlock):
(JSC::ExecState::addressOfCodeBlock):
(JSC::ExecState::unsafeCodeBlock):
(JSC::ExecState::scope):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::setUpCall):

  • runtime/Executable.cpp:

(JSC::ScriptExecutable::installCode):
(JSC::setupJIT):
(JSC::ScriptExecutable::prepareForExecutionImpl):

  • runtime/Executable.h:

(JSC::ScriptExecutable::prepareForExecution):

  • runtime/Options.h:

Tools:

  • Scripts/run-jsc-stress-tests:
8:29 PM WikiStart edited by aakash_jain@apple.com
(diff)
7:59 PM Changeset in webkit [204161] by Chris Dumez
  • 7 edits in trunk

Add support for DOMTokenList.replace()
https://bugs.webkit.org/show_bug.cgi?id=160573

Reviewed by Alex Christensen.

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/Element-classlist-expected.txt:

Source/WebCore:

Add support for DOMTokenList.replace():
https://dom.spec.whatwg.org/#dom-domtokenlist-replace

No new tests, rebaselined existing tests.

  • html/DOMTokenList.cpp:

(WebCore::tokenContainsHTMLSpace):
(WebCore::DOMTokenList::validateToken):
(WebCore::DOMTokenList::replace):

  • html/DOMTokenList.h:
  • html/DOMTokenList.idl:
7:50 PM Changeset in webkit [204160] by Yusuke Suzuki
  • 4 edits
    1 add in trunk

[ES6] JSModuleNamespaceObject's Symbol.iterator function should have name
https://bugs.webkit.org/show_bug.cgi?id=160549

Reviewed by Saam Barati.

JSTests:

  • modules/namespace-object-symbol-iterator-name.js: Added.
  • test262.yaml:

Source/JavaScriptCore:

ES6 Module's namespace[Symbol.iterator] function should have the name, "[Symbol.iterator]".

  • runtime/JSModuleNamespaceObject.cpp:

(JSC::JSModuleNamespaceObject::finishCreation):

7:35 PM Changeset in webkit [204159] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Some videos in iBooks erroneously go fullscreen
https://bugs.webkit.org/show_bug.cgi?id=160582
<rdar://problem/27669831>

Reviewed by Jon Lee.

No new tests because we can't currently mock the iBooks application bundle ID.

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::requiresFullscreenForVideoPlayback):

7:09 PM Changeset in webkit [204158] by dbates@webkit.org
  • 1 edit
    4 adds in trunk/Websites/webkit.org

Add some files for a Content Security Policy blog post

  • blog-files/content-security-policy/compass-base.css: Added.

(.compass):

  • blog-files/content-security-policy/csp-style-hash.html: Added.
  • blog-files/content-security-policy/icons.svg: Added; derived from file

Websites/webkit.org/wp-content/themes/webkit/images/icons.svg. I am explicitly
not referencing file Websites/webkit.org/wp-content/themes/webkit/images/icons.svg
so that csp-style-hash.html is not affected by changes to this file.

6:51 PM Changeset in webkit [204157] by bshafiei@apple.com
  • 5 edits in branches/safari-602-branch/Source

Versioning.

5:46 PM Changeset in webkit [204156] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

UI improvements to Flakiness Dashboard.
https://bugs.webkit.org/show_bug.cgi?id=153295

Patch by Dean Johnson <dean_johnson@apple.com> on 2016-08-04
Reviewed by Alexey Proskuryakov.

  • TestResultServer/static-dashboards/flakiness_dashboard.css:

(td.options-container): Center text in most fields.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(createBugHTML): Text/Grammar updates.
(tableHeaders): Ditto.
(htmlForSingleTestRow): Ditto.
(headerForTestTableHtml): Ditto.

  • TestResultServer/static-dashboards/ui.js: Removed the "Group: " and "Test type: " headings.

(ui.html.testTypeSwitcher): Deleted. Removes the "Group:" heading.

5:23 PM Changeset in webkit [204155] by clopez@igalia.com
  • 3 edits in trunk/Tools

[GTK] install-dependencies script misses libxslt as build-dependency and some python libs for the run-benchmark script
https://bugs.webkit.org/show_bug.cgi?id=160518

Reviewed by Michael Catanzaro.

  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook._install_twisted): Twisted requires zope.interface.

  • gtk/install-dependencies:
5:20 PM Changeset in webkit [204154] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

[Fontconfig] Segmentation fault in WebCore::FontCache::lastResortFallbackFont
https://bugs.webkit.org/show_bug.cgi?id=141432

Reviewed by Myles C. Maxfield.

Crash more cleanly when we can't find any last resort fallback font.

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::FontCache::lastResortFallbackFont):

4:49 PM Changeset in webkit [204153] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.48

New tag.

4:46 PM Changeset in webkit [204152] by Matt Baker
  • 4 edits
    2 deletes in trunk/Source/WebInspectorUI

Web Inspector: UI polish for Edit Breakpoint dialog
https://bugs.webkit.org/show_bug.cgi?id=160566
<rdar://problem/27706378>

Reviewed by Timothy Hatcher.

  • UserInterface/Images/BreakpointActionAdd.svg: Removed.
  • UserInterface/Images/BreakpointActionRemove.svg: Removed.

Use Plus13.svg and Minus.svg instead.

  • UserInterface/Views/BreakpointActionView.css:

(.breakpoint-action-button-container):
(.breakpoint-action-append-button,):
(.breakpoint-action-append-button):
(.breakpoint-action-remove-button):
Button styles should match Xcode.
(.breakpoint-action-append-button:active,): Deleted.
Brightness on activation no longer needed.

  • UserInterface/Views/BreakpointActionView.js:

(WebInspector.BreakpointActionView):
Add a button container so buttons can float together.

  • UserInterface/Views/BreakpointPopoverController.css:

(.wide .edit-breakpoint-popover-condition > .CodeMirror):
Increase condition field width by the same amount as the popover.

4:24 PM Changeset in webkit [204151] by rniwa@webkit.org
  • 4 edits in trunk/Websites/perf.webkit.org

Syncing script's configuration duplicates a lot of boilerplate
https://bugs.webkit.org/show_bug.cgi?id=160574

Rubber-stamped by Chris Dumez.

This patch makes each configuration accept an array of platforms and types so that we can write:

{"type": "speedometer", "builder": "mba", "platform": "Trunk El Capitan MacBookAir"},
{"type": "speedometer", "builder": "mbp", "platform": "Trunk El Capitan MacBookPro"},
{"type": "speedometer", "builder": "mba", "platform": "Trunk Sierra MacBookAir"},
{"type": "speedometer", "builder": "mbp", "platform": "Trunk Sierra MacBookPro"},
{"type": "jetstream", "builder": "mba", "platform": "Trunk El Capitan MacBookAir"},
{"type": "jetstream", "builder": "mbp", "platform": "Trunk El Capitan MacBookPro"},
{"type": "jetstream", "builder": "mba", "platform": "Trunk Sierra MacBookAir"},
{"type": "jetstream", "builder": "mbp", "platform": "Trunk Sierra MacBookPro"},

more concisely as:

{"builder": "mba", "types": ["speedometer", "jetstream"],

"platforms": ["Trunk El Capitan MacBookAir", "Trunk Sierra MacBookAir"]},

{"builder": "mbp", "types": ["speedometer", "jetstream"],

"platforms": ["Trunk El Capitan MacBookPro", "Trunk Sierra MacBookPro"]},

  • tools/js/buildbot-syncer.js:

(BuildbotSyncer._loadConfig):
(BuildbotSyncer._expandTypesAndPlatforms): Added. Clones a new configuration entry for each type
and platform.
(BuildbotSyncer._createTestConfiguration): Extracted from _loadConfig.
(BuildbotSyncer._validateAndMergeConfig): Added a new argument that specifies a property that
shouldn't be merged into the configuration. Also added the support for 'types' and 'platforms',
and merged the code for verify an array of strings. Finally, allow the appearance of 'properties'
since this function can now be called on a cloned configuration in which 'arguments' had already
been renamed to 'properties'.

  • unit-tests/buildbot-syncer-tests.js: Added a test case to parse a consolidated configuration.

(sampleiOSConfigWithExpansions): Added.

  • unit-tests/resources/mock-v3-models.js:

(MockModels.inject): Added a few more mock models for the newly added test.

3:43 PM Changeset in webkit [204150] by Chris Dumez
  • 14 edits in trunk

Move insertAdjacent*() API from HTMLElement to Element
https://bugs.webkit.org/show_bug.cgi?id=160567

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

  • web-platform-tests/dom/interfaces-expected.txt:
  • web-platform-tests/domparsing/insert_adjacent_html-expected.txt:

Source/WebCore:

Move insertAdjacent*() API from HTMLElement to Element:

Firefox and Chrome both have insertAdjacentHTML() on Element.
Chrome has insertAdjacentText() / insertAdjacentElement() on Element as
well. Firefox does not have this API at all.

Also align insertAdjacentHTML() with the specification so that we
now throw a NO_MODIFICATION_ALLOWED_ERR if called with "beforebegin" /
"afterend" on a parent-less element. This is as per:

Previously, WebKit would just silently ignore such calls. The new
behavior with consistent with both Firefox and Chrome.

No new tests, rebaselined existing tests.

  • dom/Element.cpp:

(WebCore::Element::insertAdjacent):
(WebCore::Element::insertAdjacentElement):
(WebCore::contextElementForInsertion):
(WebCore::Element::insertAdjacentHTML):
(WebCore::Element::insertAdjacentText):

  • dom/Element.h:
  • dom/Element.idl:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::insertAdjacent): Deleted.
(WebCore::HTMLElement::insertAdjacentElement): Deleted.
(WebCore::contextElementForInsertion): Deleted.
(WebCore::HTMLElement::insertAdjacentHTML): Deleted.
(WebCore::HTMLElement::insertAdjacentText): Deleted.

  • html/HTMLElement.h:
  • html/HTMLElement.idl:

LayoutTests:

Rebaseline several tests to reflect behavior change.

  • fast/dom/HTMLElement/insertAdjacentHTML-errors-expected.txt:
  • fast/dom/HTMLElement/script-tests/insertAdjacentHTML-errors.js:
  • fast/dynamic/insertAdjacentElement-expected.txt:
3:38 PM Changeset in webkit [204149] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Another build fix attempt.

  • bindings/gobject/WebKitDOMDeprecated.cpp:
3:37 PM Changeset in webkit [204148] by benjamin@webkit.org
  • 1 edit
    8 adds in trunk/LayoutTests

Add some extra test coverage for active touch event handler on subdocuments
https://bugs.webkit.org/show_bug.cgi?id=160276

Reviewed by Alex Christensen.

I wrote some tests while chasing a bug.
Documents are handled differently than other EventTarget. We had no test coverage
for that.

  • fast/events/touch/ios/touch-event-listeners-on-detached-document-expected.txt: Added.
  • fast/events/touch/ios/touch-event-listeners-on-detached-document.html: Added.
  • fast/events/touch/ios/touch-event-listeners-on-subdocument-then-detach-from-frame-expected.txt: Added.
  • fast/events/touch/ios/touch-event-listeners-on-subdocument-then-detach-from-frame.html: Added.
  • fast/events/touch/ios/touch-event-listeners-on-subdocuments-expected.txt: Added.
  • fast/events/touch/ios/touch-event-listeners-on-subdocuments.html: Added.
  • fast/events/touch/ios/touch-event-listeners-on-template-document-expected.txt: Added.
  • fast/events/touch/ios/touch-event-listeners-on-template-document.html: Added.
3:34 PM Changeset in webkit [204147] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source/WebCore

Add long, boolean, double, and String Media Constraint classes
https://bugs.webkit.org/show_bug.cgi?id=160524
<rdar://problem/27685132>

Patch by George Ruan <gruan@apple.com> on 2016-08-04
Reviewed by Eric Carlson.

No new tests. The current patch is untestable, but functionality
will be tested in a future patch.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/MediaConstraints.cpp: Added.

(WebCore::BaseConstraint::create): Initializes min, max, exact, ideal
value of constraint with dictionary.
(WebCore::BaseConstraint::createEmptyDerivedConstraint): Factory
for all derived constraints.
(WebCore::LongConstraint::create): Creates LongConstraint with name.
(WebCore::LongConstraint::setMin): Sets mandatory min constraint value.
(WebCore::LongConstraint::setMax): Sets mandatory max constraint value.
(WebCore::LongConstraint::setExact): Sets mandatory exact constraint
value.
(WebCore::LongConstraint::setIdeal): Sets optional ideal constraint
value.
(WebCore::LongConstraint::initializeWithDictionary): Parses user input
and sets min, max, exact, ideal values.
(WebCore::DoubleConstraint::create): Ditto.
(WebCore::DoubleConstraint::setMin): Ditto.
(WebCore::DoubleConstraint::setMax): Ditto.
(WebCore::DoubleConstraint::setExact): Ditto.
(WebCore::DoubleConstraint::setIdeal): Ditto.
(WebCore::DoubleConstraint::initializeWithDictionary): Ditto.
(WebCore::BooleanConstraint::create): Ditto.
(WebCore::BooleanConstraint::setExact): Ditto.
(WebCore::BooleanConstraint::setIdeal): Ditto.
(WebCore::BooleanConstraint::initializeWithDictionary): Ditto.
(WebCore::StringConstraint::create): Ditto.
(WebCore::StringConstraint::setExact): Ditto.
(WebCore::StringConstraint::setIdeal): Ditto.
(WebCore::StringConstraint::initializeWithDictionary): Ditto.

  • platform/mediastream/MediaConstraints.h: Add abstract classes

BaseConstraint and NumericConstraint, and final classes
DoubleConstraint, LongConstraint, BooleanConstraint, and
StringConstraint.
(WebCore::BaseConstraint::~BaseConstraint):
(WebCore::BaseConstraint::name): Name of constraint associated with.
(WebCore::BaseConstraint::BaseConstraint):
(WebCore::NumericConstraint::setHasMin): Sets min constraint value.
(WebCore::NumericConstraint::setHasMax): Sets max constraint value.
(WebCore::NumericConstraint::setHasExact): Sets exact constraint
value.
(WebCore::NumericConstraint::setHasIdeal): Sets ideal constraint
value.
(WebCore::NumericConstraint::hasMin): Determines whether constraint
has a minimum value.
(WebCore::NumericConstraint::hasMax): Determines whether constraint
has a maximum value.
(WebCore::NumericConstraint::hasExact): Determines whether constraint
has an exact value.
(WebCore::NumericConstraint::NumericConstraint):

3:11 PM Changeset in webkit [204146] by bshafiei@apple.com
  • 2 edits in branches/safari-602-branch/Source/WebKit2

Merge r204135. rdar://problem/19814215

3:05 PM Changeset in webkit [204145] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the GTK+ build.

  • bindings/gobject/WebKitDOMDeprecated.cpp:

(webkit_dom_document_get_elements_by_tag_name):
(webkit_dom_document_get_elements_by_tag_name_ns):
(webkit_dom_document_get_elements_by_class_name):
(webkit_dom_element_get_elements_by_tag_name):
(webkit_dom_element_get_elements_by_tag_name_ns):
(webkit_dom_element_get_elements_by_class_name):

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

Rebaseline http/tests/security/cross-frame-access-put.html after r204126.

Unreviewed test gardening.

  • http/tests/security/cross-frame-access-put-expected.txt:
3:02 PM Changeset in webkit [204143] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Add support for wrapper types in dictionaries
https://bugs.webkit.org/show_bug.cgi?id=160487

Reviewed by Sam Weinig.

Add support for nullable wrapper types in dictionaries.
A TypeError is thrown if the conversion fails.

No new tests, updated bindings tests.

  • bindings/js/JSDOMConvert.h:

(WebCore::convertWrapperType):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateDictionaryImplementationContent):

  • bindings/scripts/IDLParser.pm:

(parseDictionaryMember):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::convert<TestObj::Dictionary>):

  • bindings/scripts/test/TestObj.idl:
2:45 PM Changeset in webkit [204142] by Csaba Osztrogonác
  • 7 edits in trunk

[Mac][cmake] Fix the build after Objective-C bindings generator removal
https://bugs.webkit.org/show_bug.cgi?id=160545

.:

Reviewed by Alex Christensen.

  • Source/cmake/WebKitMacros.cmake:

Source/WebCore:

Reviewed by Alex Christensen.

  • CMakeLists.txt:
  • PlatformMac.cmake:

Source/WebKit:

Reviewed by Alex Christensen.

  • PlatformMac.cmake:
2:34 PM Changeset in webkit [204141] by Ryan Haddad
  • 2 edits in trunk/Source/WebCore

Attempt to fix Windows build after r204134.

Unreviewed build fix.

  • dom/DOMAllInOne.cpp:
2:11 PM Changeset in webkit [204140] by keith_miller@apple.com
  • 4 edits
    1 add in trunk
ASSERTION FAILED: !hasInstanceValueNode->isCellConstant()
defaultHasInstanceFunction == hasInstanceValueNode->asCell()

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

Reviewed by Mark Lam.

  • stress/instanceof-late-constant-folding.js: Added.

(Constructor):
(value):
(body):

Source/JavaScriptCore:

<rdar://problem/27704825>

Reviewed by Mark Lam.

This patch fixes an issue where we would emit incorrect code in the DFG when constant folding would
convert a GetByOffset into a constant late in compilation. Additionally, it removes invalid assertions
associated with the assumption that this could not happen.

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileOverridesHasInstance): Deleted.

2:07 PM Changeset in webkit [204139] by ap@apple.com
  • 3 edits in trunk/Tools

Optimize bot watcher's dashboard a little
https://bugs.webkit.org/show_bug.cgi?id=160515
rdar://problem/26096900

Reviewed by Lucas Forschler.

Made re-sorting after loading an iteration more efficient.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype._updateWithData):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue.prototype.updateIterationPosition):

2:05 PM Changeset in webkit [204138] by bshafiei@apple.com
  • 5 edits
    1 delete in branches/safari-602-branch

Roll out r204107 via r204132. rdar://problem/27685273

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

Remove unused intrinsic member of NativeExecutable
https://bugs.webkit.org/show_bug.cgi?id=160560

Reviewed by Saam Barati.

NativeExecutable has an Intrinsic member. It appears that this member is never
used. Instead we use the Intrinsic member NativeExecutable's super class,
ExecutableBase.

  • runtime/Executable.h:
1:51 PM Changeset in webkit [204136] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Popover's arrow is misplaced
https://bugs.webkit.org/show_bug.cgi?id=151236
<rdar://problem/23527296>

Reviewed by Brian Burg.

  • UserInterface/Views/Popover.js:

(WebInspector.Popover.prototype._setAnchorPoint):
Drive-by style fix.
(WebInspector.Popover.prototype._drawFrame):
Position the arrow so that the arrow head doesn't overlap the
rounded corners of its edge.

1:33 PM Changeset in webkit [204135] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Crash under NavigationState::NavigationClient::processDidCrash()
https://bugs.webkit.org/show_bug.cgi?id=160563
<rdar://problem/19814215>

Reviewed by Sam Weinig.

When WebPageProxy::close() gets called, make sure we destroy the page's
navigationClient. If we don't then the navigationClient can outlive the
navigationState, causing crashes when navigationClient tries to use its
stale navigationState member reference later on. This happens when the
WebPageProxy outlives its WKWebView because:

  1. WebPageProxy owns the navigationClient
  2. WKWebView owns the navigationState
  3. navigationClient has a reference to the navigationState as member.

WebPageProxy can outlive the WKWebView because it is refCounted. It
can happen for example when the client application uses the
RelatedPage API as this extend the lifetime of the related WebPage's
proxy but the application may not keep the related WKWebView alive.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::close):
Note that it is safe to null out m_navigationClient here instead of
creating a fresh one because there is a null check before every use
of m_navigationClient in WebPageProxy.

1:27 PM Changeset in webkit [204134] by andersca@apple.com
  • 15 edits
    6 deletes in trunk/Source/WebCore

Remove more Objective-C specific bindings code
https://bugs.webkit.org/show_bug.cgi?id=160564

Reviewed by Sam Weinig.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSNodeCustom.cpp:
  • bindings/objc/DOMDocument.mm:
  • bindings/objc/DOMEntity.mm:

(-[DOMEntity publicId]):
(-[DOMEntity systemId]):
(-[DOMEntity notationName]):

  • bindings/objc/DOMEntityReference.mm:

(kit): Deleted.

  • bindings/objc/DOMEntityReferenceInternal.h: Removed.
  • bindings/objc/DOMNodeIterator.mm:

(-[DOMNodeIterator expandEntityReferences]):

  • bindings/objc/DOMTreeWalker.mm:

(-[DOMTreeWalker expandEntityReferences]):

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

(WebCore::Entity::publicId): Deleted.
(WebCore::Entity::systemId): Deleted.
(WebCore::Entity::notationName): Deleted.
(WebCore::Entity::Entity): Deleted.

  • dom/Entity.idl: Removed.
  • dom/EntityReference.cpp: Removed.

(WebCore::EntityReference::EntityReference): Deleted.

  • dom/EntityReference.h: Removed.
  • dom/EntityReference.idl: Removed.
  • dom/NodeIterator.idl:
  • dom/Traversal.h:

(WebCore::NodeIteratorBase::expandEntityReferences): Deleted.

  • dom/TreeWalker.idl:
1:12 PM Changeset in webkit [204133] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Simplify overloads for HTMLSelectElement.add() / HTMLOptionsCollection.add()
https://bugs.webkit.org/show_bug.cgi?id=160527

Reviewed by Ryosuke Niwa.

Simplify overloads for HTMLSelectElement.add() / HTMLOptionsCollection.add().
We now have 2 overloads instead of 3 while achieving the same web-facing
behavior.

  • html/HTMLOptionsCollection.h:
  • html/HTMLOptionsCollection.idl:
  • html/HTMLSelectElement.h:

(WebCore::HTMLSelectElement::add): Deleted.

  • html/HTMLSelectElement.idl:
1:02 PM Changeset in webkit [204132] by bshafiei@apple.com
  • 5 edits
    1 add in branches/safari-602-branch

Merge r204107. rdar://problem/27685273

12:33 PM Changeset in webkit [204131] by andersca@apple.com
  • 10 edits in trunk/Source/WebCore

Move Objective-C bindings specific code into the bindings
https://bugs.webkit.org/show_bug.cgi?id=160561

Reviewed by Tim Horton.

  • bindings/objc/DOMDocument.mm:

(-[DOMDocument createEntityReference:]):
(-[DOMDocument getElementsByTagName:]):
(-[DOMDocument getElementsByTagNameNS:localName:]):
(-[DOMDocument getElementsByClassName:]):

  • bindings/objc/DOMElement.mm:

(-[DOMElement getElementsByTagName:]):
(-[DOMElement getElementsByTagNameNS:localName:]):
(-[DOMElement getElementsByClassName:]):

  • css/CSSCharsetRule.idl:
  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::getElementsByTagNameForObjC): Deleted.
(WebCore::ContainerNode::getElementsByTagNameNSForObjC): Deleted.
(WebCore::ContainerNode::getElementsByClassNameForObjC): Deleted.

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

(WebCore::Document::createEntityReference): Deleted.

  • dom/Document.h:
  • dom/Document.idl:
  • dom/Element.idl:
12:33 PM Changeset in webkit [204130] by commit-queue@webkit.org
  • 9 edits in trunk/Source/JavaScriptCore

[JSC] Speed up InPlaceAbstractState::endBasicBlock()
https://bugs.webkit.org/show_bug.cgi?id=160539

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

This patch does small improvements to our handling
of value propagation to the successors.

One key insight is that using HashMap to map Nodes
to Value in valuesAtTail is too inefficient at the scale
we use it. Instead, I reuse our existing mapping
from every Node to its value, abstracted by forNode().

Since we are not going to use the mapping after endBasicBlock()
I can replace whatever we had there. The next beginBasicBlock()
will setup the new value as needed.

In endBasicBlock(), valuesAtTail is now a vector of all values live
at tail. For each node, I merge the previous live at tail with
the new value, then replace the value in the mapping.
Liveness Analysis guarantees we won't have duplicates there which
make the replacement sound.

Next, when propagating, I take the vector of values lives at head
and use the global node->value mapping to find its new abstract value.
Again, Liveness Analysis guarantees I won't find a value live at head
that was not replaced by the merging at tail of the predecessor.

All our live lists have become vectors instead of HashTable.
The mapping from Node to Value is always done by array indexing.
Same big-O, much smaller constant.

  • dfg/DFGAtTailAbstractState.cpp:

(JSC::DFG::AtTailAbstractState::AtTailAbstractState):
(JSC::DFG::AtTailAbstractState::createValueForNode):
(JSC::DFG::AtTailAbstractState::forNode):

  • dfg/DFGAtTailAbstractState.h:

I did not look much into this state, I just made it equivalent
to the previous mapping.

  • dfg/DFGBasicBlock.h:
  • dfg/DFGCFAPhase.cpp:

(JSC::DFG::CFAPhase::performBlockCFA):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::endBasicBlock):

(JSC::DFG::InPlaceAbstractState::mergeStateAtTail):
AbstractValue is big enough that we really don't want to copy it twice.

(JSC::DFG::InPlaceAbstractState::merge):
(JSC::DFG::setLiveValues): Deleted.

  • dfg/DFGInPlaceAbstractState.h:
  • dfg/DFGPhiChildren.h:

This is heap allocated by AbstractInterpreter. It should use fastMalloc().

12:13 PM Changeset in webkit [204129] by andersca@apple.com
  • 17 edits in trunk/Source/WebCore

Clean up the deprecated Objective-C binding methods
https://bugs.webkit.org/show_bug.cgi?id=160558

Reviewed by Tim Horton.

Put the deprecated methods in their respective category @implementation, and
simply have them call their non-deprecated counterparts.

  • bindings/objc/DOMCSSMediaRule.mm:

(-[DOMCSSMediaRule deleteRule:]):
(-[DOMCSSMediaRule insertRule::]):

  • bindings/objc/DOMCSSPrimitiveValue.mm:

(-[DOMCSSPrimitiveValue setFloatValue::]):
(-[DOMCSSPrimitiveValue setStringValue::]):

  • bindings/objc/DOMCSSStyleDeclaration.mm:

(-[DOMCSSStyleDeclaration setProperty:::]):

  • bindings/objc/DOMCSSStyleSheet.mm:

(-[DOMCSSStyleSheet insertRule::]):

  • bindings/objc/DOMCharacterData.mm:

(-[DOMCharacterData deleteData:length:]):
(-[DOMCharacterData replaceData:length:data:]):
(-[DOMCharacterData remove]):
(-[DOMCharacterData substringData::]):
(-[DOMCharacterData insertData::]):
(-[DOMCharacterData deleteData::]):
(-[DOMCharacterData replaceData:::]):

  • bindings/objc/DOMDocument.mm:

(-[DOMDocument createProcessingInstruction::]):
(-[DOMDocument importNode::]):
(-[DOMDocument createElementNS::]):
(-[DOMDocument createAttributeNS::]):
(-[DOMDocument getElementsByTagNameNS::]):
(-[DOMDocument createNodeIterator::::]):
(-[DOMDocument createTreeWalker::::]):
(-[DOMDocument getOverrideStyle::]):
(-[DOMDocument createExpression::]):
(-[DOMDocument evaluate:::::]):
(-[DOMDocument getComputedStyle::]):

  • bindings/objc/DOMElement.mm:

(-[DOMElement setAttribute::]):
(-[DOMElement getAttributeNS::]):
(-[DOMElement setAttributeNS:::]):
(-[DOMElement removeAttributeNS::]):
(-[DOMElement getElementsByTagNameNS::]):
(-[DOMElement getAttributeNodeNS::]):
(-[DOMElement hasAttributeNS::]):

  • bindings/objc/DOMEvent.mm:

(-[DOMEvent stopImmediatePropagation]):
(-[DOMEvent initEvent:::]):

  • bindings/objc/DOMHTMLSelectElement.mm:

(-[DOMHTMLSelectElement remove:]):
(-[DOMHTMLSelectElement add::]):

  • bindings/objc/DOMMouseEvent.mm:

(-[DOMMouseEvent initMouseEvent:::::::::::::::]):

  • bindings/objc/DOMMutationEvent.mm:

(-[DOMMutationEvent initMutationEvent::::::::]):

  • bindings/objc/DOMNamedNodeMap.mm:

(-[DOMNamedNodeMap getNamedItemNS::]):
(-[DOMNamedNodeMap removeNamedItemNS::]):

  • bindings/objc/DOMNode.mm:

(-[DOMNode insertBefore::]):
(-[DOMNode replaceChild::]):
(-[DOMNode isSupported::]):

  • bindings/objc/DOMRange.mm:

(-[DOMRange setStart::]):
(-[DOMRange setEnd::]):
(-[DOMRange compareBoundaryPoints::]):

  • bindings/objc/DOMUIEvent.mm:

(-[DOMUIEvent initUIEvent:::::]):

  • bindings/objc/DOMXPathExpression.mm:

(-[DOMXPathExpression evaluate:::]):

11:48 AM Changeset in webkit [204128] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Temporary redirected m3u8 streaming stopped working.
https://bugs.webkit.org/show_bug.cgi?id=160472
rdar://problem/27592694

Patch by Jeremy Jones <jeremyj@apple.com> on 2016-08-04
Reviewed by Alex Christensen.

Source/WebCore:

Test: http/tests/media/hls/hls-redirect.html

The change for https://trac.webkit.org/changeset/202466 hides knowledge of the temporary redirected URL from
WebCoreNSURLSession clients. MPEG playlists (e.g. .m3u8) can contain paths relative to the redirected URL.

This change exposes the redirected URL for MPEG playlists.

  • platform/MIMETypeRegistry.cpp:

(WebCore::initializeMPEGPlaylistMIMETypes): Added.
(WebCore::initializeMIMETypeRegistry):
(WebCore::MIMETypeRegistry::isMPEGPlaylistMIMEType): Added.

  • platform/MIMETypeRegistry.h:
  • platform/network/cocoa/WebCoreNSURLSession.mm:

(-[WebCoreNSURLSessionDataTask resource:receivedResponse:]): Add MPEG playlist condition.
(-[WebCoreNSURLSessionDataTask resource:receivedRedirect:request:]): Add MPEG playlist condition.

LayoutTests:

This tests that m3u8 files can be loaded when going through a temporary redirect.

  • http/tests/media/hls/hls-redirect-expected.txt: Added.
  • http/tests/media/hls/hls-redirect.html: Added.
11:07 AM Changeset in webkit [204127] by commit-queue@webkit.org
  • 25 edits
    32 adds in trunk

Content Blocker cannot block WebSocket connections
https://bugs.webkit.org/show_bug.cgi?id=160159

Patch by Alex Christensen <achristensen@webkit.org> on 2016-08-04
Reviewed by Brady Eidson.

Source/WebCore:

Tests: http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker.php

http/tests/websocket/tests/hybi/contentextensions/block-cookies.php
http/tests/websocket/tests/hybi/contentextensions/block-worker.html
http/tests/websocket/tests/hybi/contentextensions/block.html
http/tests/websocket/tests/hybi/contentextensions/display-none-worker.html
http/tests/websocket/tests/hybi/contentextensions/display-none.html
http/tests/websocket/tests/hybi/contentextensions/upgrade-worker.html
http/tests/websocket/tests/hybi/contentextensions/upgrade.html

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:

(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpgradeURL):
(WebCore::ThreadableWebSocketChannelClientWrapper::suspend):

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::didClose):
(WebCore::WebSocket::didUpgradeURL):
(WebCore::WebSocket::getFramingOverhead):

  • Modules/websockets/WebSocket.h:

Added didUpgradeURL to WebSocketChannelClient so the WebSocketChannel can tell the WebSocket
that it has upgraded a ws: url to a wss: url.

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::~WebSocketChannel):
(WebCore::WebSocketChannel::connect):

If content extensions are being used, run the URL through the content extension and apply its actions
before connecting the WebSocket. This is done in WebSocketChannel instead of WebSocket like the CSP checks
because we need access to the Document in order to get access to the main document's URL for if-domain and
unless-domain rules, and to apply any display:none css to the Document.

(WebCore::WebSocketChannel::disconnect):

  • Modules/websockets/WebSocketChannelClient.h:

(WebCore::WebSocketChannelClient::~WebSocketChannelClient):
(WebCore::WebSocketChannelClient::WebSocketChannelClient):
(WebCore::WebSocketChannelClient::didConnect):
(WebCore::WebSocketChannelClient::didReceiveMessage):
(WebCore::WebSocketChannelClient::didReceiveBinaryData):
(WebCore::WebSocketChannelClient::didReceiveMessageError):
(WebCore::WebSocketChannelClient::didUpdateBufferedAmount):
(WebCore::WebSocketChannelClient::didStartClosingHandshake):
(WebCore::WebSocketChannelClient::didClose):

Made WebSocketChannelClient purely virtual to avoid accidentally making an implementation that is missing functionality.

(WebCore::WebSocketChannelClient::didUpgradeURL): Added.

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
(WebCore::WebSocketHandshake::WebSocketHandshake):
(WebCore::WebSocketHandshake::clientOrigin):
(WebCore::WebSocketHandshake::clientLocation):
(WebCore::WebSocketHandshake::clientHandshakeMessage):

Only put cookies on the WebSocket's handshake if we are allowed to use cookies.

(WebCore::WebSocketHandshake::clientHandshakeRequest):

A WebSocketHandshake always has a Document* for its ScriptExecutionContext, so I replaced m_context with
m_document and removed a suspicious-looking check for is<Document> that turned out to not be suspicious at all.

(WebCore::WebSocketHandshake::reset):
(WebCore::WebSocketHandshake::clearDocument):
(WebCore::WebSocketHandshake::readServerHandshake):
(WebCore::WebSocketHandshake::clearScriptExecutionContext): Deleted.

  • Modules/websockets/WebSocketHandshake.h:
  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didUpgradeURL):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):

  • Modules/websockets/WorkerThreadableWebSocketChannel.h:
  • contentextensions/ContentExtensionActions.h:

Before this change we would pass a ResourceRequest as a parameter to the content extension engine.
The ResourceRequest would be used to get the URL, and it would be modified by possibly disabling cookies
or making the URL https. Any display:none CSS rules added were put into the Document through the DocumentLoader.
The only information it needed to return was whether the load was blocked.
To make content extensions work with WebSockets, we need to pass a URL as a parameter instead of a ResourceRequest
because there is no ResourceRequest with WebSockets, only a URL. We can still put CSS rules in through the DocumentLoader,
but the rest of the actions need to be returned through the return value, which is then processed by the callers.
BlockedStatus is now a struct containing a set of actions to apply, and applyBlockedStatusToRequest is a helper function
that applies the actions to the ResourceRequests we have at all previously existing call sites of processContentExtensionRulesForLoad.

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::globalDisplayNoneStyleSheet):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::displayNoneCSSRule):
(WebCore::ContentExtensions::applyBlockedStatusToRequest):

  • contentextensions/ContentExtensionsBackend.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadResource):

Here, we also only had a URL. Before, we were making a ResourceRequest from the URL just for the content extension engine,
but now we can just pass the URL.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadResourceSynchronously):

  • loader/PingLoader.cpp:

(WebCore::processContentExtensionRulesForLoad):
(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::sendViolationReport):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequestInternal):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • page/UserContentProvider.cpp:

(WebCore::contentExtensionsEnabled):
(WebCore::UserContentProvider::processContentExtensionRulesForLoad):
(WebCore::UserContentProvider::actionsForResourceLoad):

  • page/UserContentProvider.h:

LayoutTests:

  • http/tests/contentextensions/make-https-expected.txt:

Rebased to reflect slight change in console logged messages which contain the same information.

  • http/tests/websocket/tests/hybi/contentextensions: Added.
  • http/tests/websocket/tests/hybi/contentextensions/block-cookies-expected.txt: Added.
  • http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker-expected.txt: Added.
  • http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker.php: Added.
  • http/tests/websocket/tests/hybi/contentextensions/block-cookies-worker.php.json: Added.
  • http/tests/websocket/tests/hybi/contentextensions/block-cookies.php: Copied from LayoutTests/http/tests/websocket/tests/hybi/httponly-cookie.pl.
  • http/tests/websocket/tests/hybi/contentextensions/block-cookies.php.json: Added.
  • http/tests/websocket/tests/hybi/contentextensions/block-expected.txt: Added.
  • http/tests/websocket/tests/hybi/contentextensions/block-worker-expected.txt: Added.
  • http/tests/websocket/tests/hybi/contentextensions/block-worker.html: Added.
  • http/tests/websocket/tests/hybi/contentextensions/block-worker.html.json: Added.
  • http/tests/websocket/tests/hybi/contentextensions/block.html: Added.
  • http/tests/websocket/tests/hybi/contentextensions/block.html.json: Added.
  • http/tests/websocket/tests/hybi/contentextensions/display-none-expected.txt: Added.
  • http/tests/websocket/tests/hybi/contentextensions/display-none-worker-expected.txt: Added.
  • http/tests/websocket/tests/hybi/contentextensions/display-none-worker.html: Added.
  • http/tests/websocket/tests/hybi/contentextensions/display-none-worker.html.json: Added.
  • http/tests/websocket/tests/hybi/contentextensions/display-none.html: Added.
  • http/tests/websocket/tests/hybi/contentextensions/display-none.html.json: Added.
  • http/tests/websocket/tests/hybi/contentextensions/resources: Added.
  • http/tests/websocket/tests/hybi/contentextensions/resources/block-cookies-worker.js: Added.
  • http/tests/websocket/tests/hybi/contentextensions/resources/block-worker.js: Added.
  • http/tests/websocket/tests/hybi/contentextensions/resources/display-none-worker.js: Added.
  • http/tests/websocket/tests/hybi/contentextensions/resources/echo-cookie_wsh.py: Copied from LayoutTests/http/tests/websocket/tests/hybi/echo-cookie_wsh.py.
  • http/tests/websocket/tests/hybi/contentextensions/resources/echo_wsh.py: Added.
  • http/tests/websocket/tests/hybi/contentextensions/resources/upgrade-worker.js: Added.
  • http/tests/websocket/tests/hybi/contentextensions/upgrade-expected.txt: Added.
  • http/tests/websocket/tests/hybi/contentextensions/upgrade-worker-expected.txt: Added.
  • http/tests/websocket/tests/hybi/contentextensions/upgrade-worker.html: Added.
  • http/tests/websocket/tests/hybi/contentextensions/upgrade-worker.html.json: Added.
  • http/tests/websocket/tests/hybi/contentextensions/upgrade.html: Added.
  • http/tests/websocket/tests/hybi/contentextensions/upgrade.html.json: Added.
11:03 AM Changeset in webkit [204126] by Chris Dumez
  • 7 edits in trunk

Prototype? property of an interface object for a callback interface must be the Object.prototype object
https://bugs.webkit.org/show_bug.cgi?id=160555

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline W3C trst now that one more check is passing.

  • web-platform-tests/dom/interfaces-expected.txt:

Source/WebCore:

Prototype? property of an interface object for a callback interface
must be the Object.prototype object:

This impacts NodeFilter, which is a callback interface.

No new tests, rebaselined existing test.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorHelperMethods):

LayoutTests:

Rebaseline existing test.

  • platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
10:48 AM Changeset in webkit [204125] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Add placeholder graphs to TimelineOverview while editing
https://bugs.webkit.org/show_bug.cgi?id=160485
<rdar://problem/27670755>

Reviewed by Brian Burg.

Insert placeholder elements in TimelineOverview's graph container
when editing instruments. This allows alternating overview graph styles
to be shown for disabled instruments, and ensures that every tree element
has a corresponding element in the overview during dragging/reordering
of instruments (see https://webkit.org/b/157957).

  • UserInterface/Views/TimelineOverview.js:

(WebInspector.TimelineOverview.prototype._startEditingInstruments):
(WebInspector.TimelineOverview.prototype._stopEditingInstruments):

10:47 AM Changeset in webkit [204124] by Matt Baker
  • 4 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: UI polish for Open Quickly and Goto Line dialogs
https://bugs.webkit.org/show_bug.cgi?id=159849
<rdar://problem/27383068>

Reviewed by Brian Burg.

  • UserInterface/Images/Search.svg: Added.

Magnifying glass icon.

  • UserInterface/Views/GoToLineDialog.css:

(.go-to-line-dialog):
(.go-to-line-dialog > div):
(.go-to-line-dialog > div::before):

  • UserInterface/Views/OpenResourceDialog.css:

(.open-resource-dialog > .field):
(.open-resource-dialog > .field::before):
(.open-resource-dialog.has-results > .tree-outline):
(.open-resource-dialog > .tree-outline .item):
Add search icon to left of the input field in both dialogs,
and adjust styles to better match Xcode 8.

  • UserInterface/Views/OpenResourceDialog.js:

(WebInspector.OpenResourceDialog):
Remove "input" event listener, as styles are now toggled in _updateFilter.
(WebInspector.OpenResourceDialog.prototype._updateFilter):
Toggle "has-results" and "non-empty" class names.
(WebInspector.OpenResourceDialog.prototype._handleInputEvent): Deleted.
(WebInspector.OpenResourceDialog.prototype._clear): Deleted.
Moved class toggle to _updateFilter.

10:02 AM Changeset in webkit [204123] by pvollan@apple.com
  • 3 edits in trunk/Tools

[Win] Unable to reliably run tests in parallel
https://bugs.webkit.org/show_bug.cgi?id=140914

Reviewed by Brent Fulgham.

The cygpath utility function can fail badly when running with multiple DumpRenderTree
processes. We can use string replacement to convert the Cygwin path to a Windows path
instead.

  • Scripts/webkitpy/common/system/path.py:

(cygpathFast):

  • Scripts/webkitpy/port/driver.py:

(Driver._command_from_driver_input):

9:28 AM Changeset in webkit [204122] by Chris Dumez
  • 9 edits in trunk

Element.insertAdjacent*() should throw a SYNTAX_ERR for invalid "where" parameter
https://bugs.webkit.org/show_bug.cgi?id=160514

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

  • web-platform-tests/dom/nodes/Element-insertAdjacentElement-expected.txt:
  • web-platform-tests/dom/nodes/Element-insertAdjacentText-expected.txt:
  • web-platform-tests/dom/nodes/insert-adjacent-expected.txt:

Source/WebCore:

Element.insertAdjacent*() should throw a SYNTAX_ERR for invalid "where" parameter:

We were throwing a NOT_SUPPORTED_ERR instead.

No new tests, rebaselined existing tests.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::insertAdjacent):

LayoutTests:

Rebaseline existing test now that a different exception is thrown.

  • fast/dynamic/insertAdjacentElement-expected.txt:
  • fast/dynamic/insertAdjacentText-expected.txt:
9:10 AM Changeset in webkit [204121] by bshafiei@apple.com
  • 2 edits in branches/safari-602-branch/Source/WebCore

Merge r204100. rdar://problem/27310475

8:59 AM Changeset in webkit [204120] by caitp@igalia.com
  • 2 edits in trunk/JSTests

[JSC] fix generator-syntax.js JSTest again after yield grammar fix
https://bugs.webkit.org/show_bug.cgi?id=160550

Reviewed by Yusuke Suzuki.

  • stress/generator-syntax.js:

(testYieldBindingIdentifier):

7:46 AM Changeset in webkit [204119] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

[ES7] Update features.json for exponentiation expression
https://bugs.webkit.org/show_bug.cgi?id=160541

Reviewed by Mark Lam.

  • features.json:
2:26 AM Changeset in webkit [204118] by alex
  • 3 edits in trunk/Source/WebCore

WebRTC: OWR: Add support for the muted state in the mediaplayer
https://bugs.webkit.org/show_bug.cgi?id=160502

Modified the load, play and stop methods to handle the new
situation where the mediaSource could be empty, until the remote
side sends the information to create the receiver.

Reviewed by Philippe Normand.

No new tests, we need to upstream the owr endpoint to check this
situation.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:

(WebCore::MediaPlayerPrivateGStreamerOwr::play): Check the muted
state of the tracks if required, we do it using the new
maybeHandleChangeMutedState function.
(WebCore::MediaPlayerPrivateGStreamerOwr::load): Add always the
observer of the track to check when it is unmuted, and we delay
enabling/setting the source until the play or the unmute.
(WebCore::MediaPlayerPrivateGStreamerOwr::internalLoad): Removed,
we now do all in the load method.
(WebCore::MediaPlayerPrivateGStreamerOwr::stop): Remove the
mediasource when disabling. Removed the m_stopped state, it was
there because the internalLoad was called multiple times.
(WebCore::MediaPlayerPrivateGStreamerOwr::trackMutedChanged):
Check the muted state and handle it, we use the new method
maybeHandleChangeMutedState.
(WebCore::MediaPlayerPrivateGStreamerOwr::maybeHandleChangeMutedState):
Check if the track is muted or not, in case it is muted disable
the the renderer and remove its mediasource. If it is not muted
enable the renderer and set the mediasource.
(WebCore::MediaPlayerPrivateGStreamerOwr::createVideoSink): Move
the workaround for the renderer to this method when it is created.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.h:

Removed internalLoad method and the m_stopped attribute used to
call internalLoad multiple times.

12:56 AM Changeset in webkit [204117] by commit-queue@webkit.org
  • 25 edits
    5 adds in trunk

DocumentThreadableLoader should pass the fetch mode to underlying loader code
https://bugs.webkit.org/show_bug.cgi?id=160399

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-04
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Updated expectations.
Added new tests to check specifically for Origin header in case of redirections.
Updated server-side redirect.py python script to generate valid Location URLs.

  • web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-origin-expected.txt: Added.
  • web-platform-tests/fetch/api/redirect/redirect-origin-worker-expected.txt: Added.
  • web-platform-tests/fetch/api/redirect/redirect-origin-worker.html: Added.
  • web-platform-tests/fetch/api/redirect/redirect-origin.html: Added.
  • web-platform-tests/fetch/api/redirect/redirect-origin.js: Added.

(testOriginAfterRedirection):

  • web-platform-tests/fetch/api/redirect/redirect-schemes-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-schemes.html: Updated test so that fetches are done in a deterministic order, one after the other is finished.
  • web-platform-tests/fetch/api/resources/redirect.py:

(main):

Source/WebCore:

Tests: imported/w3c/web-platform-tests/fetch/api/redirect/redirect-origin-worker.html

imported/w3c/web-platform-tests/fetch/api/redirect/redirect-origin.html

Covered by existing and rebased tests.

DocumentThredableLoader was previously loading resources in NoCors mode and doing the cors checks on it own.
This was duplicating code and increasing the risk of being not consistent.
DocumentThreadableLoader is now passing the fetch mode given by client to underlying loader code.
This allows removing some CORS checks in DocumentThreadableLoader code for redirections.

Updated SubresourceLoader redirection CORS checks to be on par with DocumentThreadableLoader.
In particular, aligning the code with https://fetch.spec.whatwg.org/#http-redirect-fetch.

The error logging situation is not perfect as some errors are properly logged in the console while some others are not.
For instance blockedError (due to forbidden port for instance) reason is not logged on the console.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::redirectReceived): Updating redirection checking as SubresourceLoader is already doing most of the checks.
(WebCore::DocumentThreadableLoader::didReceiveResponse): Removing temp hack as tainting is now computed by underlying loader code.
(WebCore::DocumentThreadableLoader::loadRequest): Removing fetch mode change.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::willSendRequestInternal): Updating cancellation error and improve error logging.
(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl): Improved the checks and error reporting.
Tried to align as much as possible to https://fetch.spec.whatwg.org/#http-redirect-fetch.

  • loader/SubresourceLoader.h:
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::didFail): Added an error message to the console in case of access control error.

LayoutTests:

  • TestExpectations:
  • http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
  • http/tests/security/isolatedWorld/bypass-main-world-csp-worker-redirect-expected.txt:
  • http/tests/workers/worker-redirect-expected.txt:
  • http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
  • http/tests/xmlhttprequest/access-control-and-redirects-async.html: Fixed bugs in the test and updated comments.
  • http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
  • http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt:
  • http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt:

Aug 3, 2016:

11:53 PM Changeset in webkit [204116] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

LayoutTest imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-post-upload.htm failing
https://bugs.webkit.org/show_bug.cgi?id=159724

Unreviewed..

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-04

  • TestExpectations: Removing Crash expectation since it is only occuring on Debug Mac bots.
  • platform/mac/TestExpectations: Skipping test in Debug for Mac bots.
10:26 PM Changeset in webkit [204115] by Chris Dumez
  • 6 edits in trunk

Object.getOwnPropertyNames() on NamedNodeMap fails to return named properties
https://bugs.webkit.org/show_bug.cgi?id=160517

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

  • web-platform-tests/dom/collections/namednodemap-supported-property-names-expected.txt:
  • web-platform-tests/dom/nodes/attributes-expected.txt:

Source/WebCore:

Object.getOwnPropertyNames() on NamedNodeMap should return named
properties' names as per:

No new tests, rebaselined existing tests.

  • dom/NamedNodeMap.cpp:

(WebCore::NamedNodeMap::supportedPropertyNames):

  • dom/NamedNodeMap.h:
10:11 PM Changeset in webkit [204114] by Chris Dumez
  • 15 edits in trunk

Drop DocumentType.internalSubset attribute
https://bugs.webkit.org/show_bug.cgi?id=160530

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline W3C test now that one more check is passing.

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

Source/JavaScriptCore:

Drop DocumentType.internalSubset attribute.

  • inspector/protocol/DOM.json:

Source/WebCore:

Drop DocumentType.internalSubset attribute.

It is no longer in the DOM specification:

Other browsers have already dropped it. In WebKit, it was always null
anyway.

No new tests, rebaselined existing test.

  • bindings/objc/DOMDocumentType.mm:

(-[DOMDocumentType internalSubset]):

  • dom/DocumentType.h:
  • dom/DocumentType.idl:
  • dom/Node.cpp:

(WebCore::Node::isEqualNode): Deleted.

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendDocumentType): Deleted.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode): Deleted.

Source/WebInspectorUI:

Drop DocumentType.internalSubset attribute.

  • UserInterface/Models/DOMNode.js:

(WebInspector.DOMNode): Deleted.

  • UserInterface/Models/DOMSearchMatchObject.js:

(WebInspector.DOMSearchMatchObject.titleForDOMNode): Deleted.

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype._nodeTitleInfo): Deleted.

10:09 PM Changeset in webkit [204113] by Chris Dumez
  • 10 edits
    2 deletes in trunk

Drop legacy Document.defaultCharset attribute
https://bugs.webkit.org/show_bug.cgi?id=160536

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline W3C test now that one more check is passing.

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

Source/WebCore:

Drop legacy Document.defaultCharset attribute.

It is no longer in the specification:

Firefox and Chrome have already dropped it.

No new tests, rebaselined existing test.

  • bindings/objc/DOMDocument.mm:

(-[DOMDocument defaultCharset]):

  • dom/Document.cpp:

(WebCore::Document::defaultCharsetForBindings):

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

LayoutTests:

  • fast/dom/Document/document-charset-expected.txt:
  • fast/dom/Document/document-charset.html:

Drop defaultCharset checks.

  • fast/frames/detached-frame-document-defaultCharset-expected.txt: Removed.
  • fast/frames/detached-frame-document-defaultCharset.html: Removed.

Drop test that is no longer useful now that we dropped defaultCharset.

8:43 PM Changeset in webkit [204112] by commit-queue@webkit.org
  • 8 edits in trunk/Source/JavaScriptCore

[JSC] Improve the memory locality of DFG Node's AbstractValues
https://bugs.webkit.org/show_bug.cgi?id=160443

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

The AbstractInterpreter spends a lot of time on memory operations
for AbstractValues. This patch attempts to improve the situation
by putting the values closer together in memory.

First, AbstractValue is moved out of DFG::Node and it kept in
a vector addressed by node indices.

I initially moved them to InPlaceAbstractState but I quickly discovered
initializing the values in the vector was costly.
I moved the vector to Graph as a cache shared by every instantiation of
InPlaceAbstractState. It is mainly there to avoid constructors and destructors
of AbstractValue. The patch of https://bugs.webkit.org/show_bug.cgi?id=160370
should also help eventually.

I instrumented CFA to find how packed is SparseCollection.
The answer is it can be very sparse, which is bad for CFA.
I added packIndices() to repack the collection before running
liveness since that's where we start using the memory intensively.
This is a measurable improvement but it implies we can no longer
keep indices on a side channel between phases since they may change.

  • b3/B3SparseCollection.h:

(JSC::B3::SparseCollection::packIndices):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::packNodeIndices):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::abstractValuesCache):

  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::InPlaceAbstractState):

  • dfg/DFGInPlaceAbstractState.h:

(JSC::DFG::InPlaceAbstractState::forNode):

  • dfg/DFGLivenessAnalysisPhase.cpp:

(JSC::DFG::performLivenessAnalysis):

  • dfg/DFGNode.h:
7:36 PM Changeset in webkit [204111] by caitp@igalia.com
  • 7 edits in trunk

Clarify SyntaxErrors around yield and unskip tests
https://bugs.webkit.org/show_bug.cgi?id=158460

Reviewed by Saam Barati.

Fix and unskip tests which erroneously asserted that yield is not a
valid BindingIdentifier, and improve error message for YieldExpressions
occuring in Arrow formal parameters.

JSTests:

  • stress/generator-syntax.js:
  • stress/yield-out-of-generator.js:

Source/JavaScriptCore:

  • parser/Parser.cpp:

(JSC::Scope::MaybeParseAsGeneratorForScope::MaybeParseAsGeneratorForScope):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseYieldExpression):

  • parser/Parser.h:
6:38 PM Changeset in webkit [204110] by bshafiei@apple.com
  • 5 edits in branches/safari-602-branch/Source

Versioning.

6:27 PM Changeset in webkit [204109] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking media/track/track-in-band-cues-added-once.html as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=142152

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
5:00 PM Changeset in webkit [204108] by andersca@apple.com
  • 21 edits
    2 deletes in trunk/Source/WebCore

Remove some unneeded #ifs now that the Objective-C bindings are frozen
https://bugs.webkit.org/show_bug.cgi?id=160532

Reviewed by Tim Horton.

  • DerivedSources.make:
  • Modules/mediasession/HTMLMediaElementMediaSession.idl:
  • Modules/mediastream/HTMLMediaElementMediaStream.idl:
  • WebCore.xcodeproj/project.pbxproj:
  • animation/DocumentAnimation.idl:
  • dom/ChildNode.idl:
  • dom/Document.idl:
  • dom/Element.idl:
  • dom/Event.idl:
  • dom/ParentNode.idl:
  • fileapi/Blob.idl:
  • fileapi/FileError.idl:
  • html/DOMSettableTokenList.h: Removed.
  • html/DOMSettableTokenList.idl: Removed.
  • html/HTMLCanvasElement.idl:
  • html/HTMLEmbedElement.idl:
  • html/HTMLFrameElement.idl:
  • html/HTMLIFrameElement.idl:
  • html/HTMLMediaElement.idl:
  • html/HTMLObjectElement.idl:
  • html/HTMLOptionsCollection.idl:
  • html/HTMLVideoElement.idl:
4:50 PM Changeset in webkit [204107] by mmaxfield@apple.com
  • 5 edits
    1 add in trunk

[iOS] SF-Heavy is not accessible from web content
https://bugs.webkit.org/show_bug.cgi?id=160522
<rdar://problem/27685273>

Reviewed by Simon Fraser.

Source/WebCore:

The mappings we were using from CSS font-weight to CoreText font weight were inaccurate.
Instead, these new mappings should be used.

Test: fast/text/system-font-weight.html

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::systemFontModificationAttributes):

LayoutTests:

  • platform/ios-simulator/fast/text/system-font-weight-expected.txt: iOS 9 is not

expected to pass this test, but there is no way to specify that currently using
TestExpectations. Instead, we can create an iOS 9 specific result.

  • fast/text/system-font-weight-expected.txt:
  • fast/text/system-font-weight.html:
4:44 PM LayoutTestDashboards edited by aakash_jain@apple.com
(diff)
4:41 PM Changeset in webkit [204106] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.47

New tag.

4:25 PM Changeset in webkit [204105] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Document instructions for increasing process and file limits
https://bugs.webkit.org/show_bug.cgi?id=160528
rdar://problem/24777576

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.default_child_processes):

3:53 PM Changeset in webkit [204104] by andersca@apple.com
  • 5 edits
    3 deletes in trunk

Remove the Objective-C bindings generator
https://bugs.webkit.org/show_bug.cgi?id=160526

Reviewed by Sam Weinig.

Source/WebCore:

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/PublicDOMInterfaces.h: Removed.
  • bindings/scripts/CodeGeneratorObjC.pm: Removed.
  • bindings/scripts/test/ObjC/DOMFloat64Array.h: Removed.
  • bindings/scripts/test/ObjC/DOMFloat64Array.mm: Removed.
  • bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMInterfaceName.h: Removed.
  • bindings/scripts/test/ObjC/DOMInterfaceName.mm: Removed.
  • bindings/scripts/test/ObjC/DOMInterfaceNameInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestCallback.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestCallback.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestCallbackFunction.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestCallbackFunction.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestCallbackFunctionInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestClassWithJSBuiltinConstructor.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestClassWithJSBuiltinConstructor.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestClassWithJSBuiltinConstructorInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObject.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestCustomConstructorWithNoInterfaceObjectInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestEventConstructor.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestEventConstructor.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestEventTarget.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestEventTarget.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestException.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestException.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestExceptionInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestGlobalObject.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestGlobalObject.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestGlobalObjectInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestImplements.cpp: Removed.
  • bindings/scripts/test/ObjC/DOMTestImplements.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestInterface.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestInterface.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestIterable.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestIterable.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestIterableInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructorInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestNamedConstructor.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestNode.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestNode.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestNodeInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestNondeterministic.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestNondeterministic.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestNondeterministicInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestObj.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestObj.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestObjInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestOverrideBuiltins.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestOverrideBuiltins.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestOverrideBuiltinsInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestSupplemental.cpp: Removed.
  • bindings/scripts/test/ObjC/DOMTestSupplemental.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestTypedefs.h: Removed.
  • bindings/scripts/test/ObjC/DOMTestTypedefs.mm: Removed.
  • bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMattribute.h: Removed.
  • bindings/scripts/test/ObjC/DOMattribute.mm: Removed.
  • bindings/scripts/test/ObjC/DOMattributeInternal.h: Removed.
  • bindings/scripts/test/ObjC/DOMreadonly.h: Removed.
  • bindings/scripts/test/ObjC/DOMreadonly.mm: Removed.
  • bindings/scripts/test/ObjC/DOMreadonlyInternal.h: Removed.
  • bindings/scripts/test/ObjC/ObjCTestSupplemental.cpp: Removed.
  • bindings/scripts/test/ObjC/ObjCTestSupplemental.h: Removed.

Tools:

  • Scripts/run-bindings-tests:

Update test.

3:46 PM IncreasingKernelLimits edited by aakash_jain@apple.com
(diff)
2:59 PM limit.maxproc.plist attached to IncreasingKernelLimits by aakash_jain@apple.com
2:59 PM limit.maxfiles.plist attached to IncreasingKernelLimits by aakash_jain@apple.com
2:55 PM IncreasingKernelLimits created by aakash_jain@apple.com
2:31 PM Changeset in webkit [204103] by andersca@apple.com
  • 136 edits
    58 deletes in trunk/Source/WebCore

Remove dead bindings code
https://bugs.webkit.org/show_bug.cgi?id=160521

Reviewed by Tim Horton.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMBlob.mm:

(core): Deleted.

  • bindings/objc/DOMBlobInternal.h:
  • bindings/objc/DOMCDATASection.mm:

(core): Deleted.

  • bindings/objc/DOMCDATASectionInternal.h:
  • bindings/objc/DOMCSSCharsetRule.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMCSSCharsetRuleInternal.h: Removed.
  • bindings/objc/DOMCSSFontFaceRule.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMCSSFontFaceRuleInternal.h: Removed.
  • bindings/objc/DOMCSSImportRule.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMCSSImportRuleInternal.h: Removed.
  • bindings/objc/DOMCSSMediaRule.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMCSSMediaRuleInternal.h: Removed.
  • bindings/objc/DOMCSSPageRule.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMCSSPageRuleInternal.h: Removed.
  • bindings/objc/DOMCSSPrimitiveValue.mm:

(core): Deleted.

  • bindings/objc/DOMCSSPrimitiveValueInternal.h:
  • bindings/objc/DOMCSSRule.mm:

(core): Deleted.

  • bindings/objc/DOMCSSRuleInternal.h:
  • bindings/objc/DOMCSSRuleList.mm:

(core): Deleted.

  • bindings/objc/DOMCSSRuleListInternal.h:
  • bindings/objc/DOMCSSStyleRule.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMCSSStyleRuleInternal.h: Removed.
  • bindings/objc/DOMCSSStyleSheet.mm:

(core): Deleted.

  • bindings/objc/DOMCSSStyleSheetInternal.h:
  • bindings/objc/DOMCSSUnknownRule.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMCSSUnknownRuleInternal.h: Removed.
  • bindings/objc/DOMCSSValue.mm:

(core): Deleted.

  • bindings/objc/DOMCSSValueInternal.h:
  • bindings/objc/DOMCSSValueList.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMCSSValueListInternal.h: Removed.
  • bindings/objc/DOMCharacterData.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMCharacterDataInternal.h: Removed.
  • bindings/objc/DOMComment.mm:

(core): Deleted.

  • bindings/objc/DOMCommentInternal.h:
  • bindings/objc/DOMCounter.mm:

(core): Deleted.

  • bindings/objc/DOMCounterInternal.h:
  • bindings/objc/DOMDOMImplementation.mm:

(core): Deleted.

  • bindings/objc/DOMDOMImplementationInternal.h:
  • bindings/objc/DOMDOMTokenList.mm:

(core): Deleted.

  • bindings/objc/DOMDOMTokenListInternal.h:
  • bindings/objc/DOMEntity.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMEntityInternal.h: Removed.
  • bindings/objc/DOMEntityReference.mm:

(core): Deleted.

  • bindings/objc/DOMEntityReferenceInternal.h:
  • bindings/objc/DOMFile.mm:

(core): Deleted.

  • bindings/objc/DOMFileInternal.h:
  • bindings/objc/DOMHTMLAnchorElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLAnchorElementInternal.h: Removed.
  • bindings/objc/DOMHTMLAppletElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLAppletElementInternal.h: Removed.
  • bindings/objc/DOMHTMLAreaElement.mm:

(kit): Deleted.

  • bindings/objc/DOMHTMLAreaElementInternal.h:
  • bindings/objc/DOMHTMLBRElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLBRElementInternal.h: Removed.
  • bindings/objc/DOMHTMLBaseElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLBaseElementInternal.h: Removed.
  • bindings/objc/DOMHTMLBaseFontElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLBaseFontElementInternal.h: Removed.
  • bindings/objc/DOMHTMLBodyElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLBodyElementInternal.h: Removed.
  • bindings/objc/DOMHTMLButtonElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLButtonElementInternal.h: Removed.
  • bindings/objc/DOMHTMLCanvasElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLCanvasElementInternal.h: Removed.
  • bindings/objc/DOMHTMLCollection.mm:

(core): Deleted.

  • bindings/objc/DOMHTMLCollectionInternal.h:
  • bindings/objc/DOMHTMLDListElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLDListElementInternal.h: Removed.
  • bindings/objc/DOMHTMLDirectoryElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLDirectoryElementInternal.h: Removed.
  • bindings/objc/DOMHTMLDivElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLDivElementInternal.h: Removed.
  • bindings/objc/DOMHTMLEmbedElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLEmbedElementInternal.h: Removed.
  • bindings/objc/DOMHTMLFieldSetElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLFieldSetElementInternal.h: Removed.
  • bindings/objc/DOMHTMLFontElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLFontElementInternal.h: Removed.
  • bindings/objc/DOMHTMLFormElement.mm:

(core): Deleted.

  • bindings/objc/DOMHTMLFormElementInternal.h:
  • bindings/objc/DOMHTMLFrameElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLFrameElementInternal.h: Removed.
  • bindings/objc/DOMHTMLFrameSetElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLFrameSetElementInternal.h: Removed.
  • bindings/objc/DOMHTMLHRElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLHRElementInternal.h: Removed.
  • bindings/objc/DOMHTMLHeadElement.mm:

(core): Deleted.

  • bindings/objc/DOMHTMLHeadElementInternal.h:
  • bindings/objc/DOMHTMLHeadingElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLHeadingElementInternal.h: Removed.
  • bindings/objc/DOMHTMLHtmlElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLHtmlElementInternal.h: Removed.
  • bindings/objc/DOMHTMLIFrameElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLIFrameElementInternal.h: Removed.
  • bindings/objc/DOMHTMLImageElement.mm:

(kit): Deleted.

  • bindings/objc/DOMHTMLImageElementInternal.h:
  • bindings/objc/DOMHTMLLIElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLLIElementInternal.h: Removed.
  • bindings/objc/DOMHTMLLabelElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLLabelElementInternal.h: Removed.
  • bindings/objc/DOMHTMLLegendElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLLegendElementInternal.h: Removed.
  • bindings/objc/DOMHTMLLinkElement.mm:

(kit): Deleted.

  • bindings/objc/DOMHTMLLinkElementInternal.h:
  • bindings/objc/DOMHTMLMapElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLMapElementInternal.h: Removed.
  • bindings/objc/DOMHTMLMarqueeElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLMarqueeElementInternal.h: Removed.
  • bindings/objc/DOMHTMLMediaElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLMediaElementInternal.h: Removed.
  • bindings/objc/DOMHTMLMenuElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLMenuElementInternal.h: Removed.
  • bindings/objc/DOMHTMLMetaElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLMetaElementInternal.h: Removed.
  • bindings/objc/DOMHTMLModElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLModElementInternal.h: Removed.
  • bindings/objc/DOMHTMLOListElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLOListElementInternal.h: Removed.
  • bindings/objc/DOMHTMLObjectElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLObjectElementInternal.h: Removed.
  • bindings/objc/DOMHTMLOptGroupElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLOptGroupElementInternal.h: Removed.
  • bindings/objc/DOMHTMLOptionsCollection.mm:

(core): Deleted.

  • bindings/objc/DOMHTMLOptionsCollectionInternal.h:
  • bindings/objc/DOMHTMLParagraphElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLParagraphElementInternal.h: Removed.
  • bindings/objc/DOMHTMLParamElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLParamElementInternal.h: Removed.
  • bindings/objc/DOMHTMLPreElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLPreElementInternal.h: Removed.
  • bindings/objc/DOMHTMLQuoteElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLQuoteElementInternal.h: Removed.
  • bindings/objc/DOMHTMLScriptElement.mm:

(core): Deleted.

  • bindings/objc/DOMHTMLScriptElementInternal.h:
  • bindings/objc/DOMHTMLSelectElement.mm:

(kit): Deleted.

  • bindings/objc/DOMHTMLSelectElementInternal.h:
  • bindings/objc/DOMHTMLStyleElement.mm:

(kit): Deleted.

  • bindings/objc/DOMHTMLStyleElementInternal.h:
  • bindings/objc/DOMHTMLTableColElement.mm:

(kit): Deleted.

  • bindings/objc/DOMHTMLTableColElementInternal.h:
  • bindings/objc/DOMHTMLTableElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLTableElementInternal.h: Removed.
  • bindings/objc/DOMHTMLTableRowElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLTableRowElementInternal.h: Removed.
  • bindings/objc/DOMHTMLTitleElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLTitleElementInternal.h: Removed.
  • bindings/objc/DOMHTMLUListElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLUListElementInternal.h: Removed.
  • bindings/objc/DOMHTMLVideoElement.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMHTMLVideoElementInternal.h: Removed.
  • bindings/objc/DOMKeyboardEvent.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMKeyboardEventInternal.h: Removed.
  • bindings/objc/DOMMediaError.mm:

(core): Deleted.

  • bindings/objc/DOMMediaErrorInternal.h:
  • bindings/objc/DOMMediaList.mm:

(core): Deleted.

  • bindings/objc/DOMMediaListInternal.h:
  • bindings/objc/DOMMouseEvent.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMMouseEventInternal.h: Removed.
  • bindings/objc/DOMMutationEvent.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMMutationEventInternal.h: Removed.
  • bindings/objc/DOMNamedNodeMap.mm:

(core): Deleted.

  • bindings/objc/DOMNamedNodeMapInternal.h:
  • bindings/objc/DOMNodeIterator.mm:

(core): Deleted.

  • bindings/objc/DOMNodeIteratorInternal.h:
  • bindings/objc/DOMNodeList.mm:

(core): Deleted.

  • bindings/objc/DOMNodeListInternal.h:
  • bindings/objc/DOMOverflowEvent.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMOverflowEventInternal.h: Removed.
  • bindings/objc/DOMProgressEvent.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMProgressEventInternal.h: Removed.
  • bindings/objc/DOMRGBColor.mm:

(core): Deleted.

  • bindings/objc/DOMRGBColorInternal.h:
  • bindings/objc/DOMRect.mm:

(core): Deleted.

  • bindings/objc/DOMRectInternal.h:
  • bindings/objc/DOMStyleSheet.mm:

(core): Deleted.

  • bindings/objc/DOMStyleSheetInternal.h:
  • bindings/objc/DOMStyleSheetList.mm:

(core): Deleted.

  • bindings/objc/DOMStyleSheetListInternal.h:
  • bindings/objc/DOMText.mm:

(core): Deleted.

  • bindings/objc/DOMTextEvent.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMTextEventInternal.h: Removed.
  • bindings/objc/DOMTextInternal.h:
  • bindings/objc/DOMTimeRanges.mm:

(core): Deleted.

  • bindings/objc/DOMTimeRangesInternal.h:
  • bindings/objc/DOMTreeWalker.mm:

(core): Deleted.

  • bindings/objc/DOMTreeWalkerInternal.h:
  • bindings/objc/DOMUIEvent.mm:

(core): Deleted.
(kit): Deleted.

  • bindings/objc/DOMUIEventInternal.h: Removed.
  • bindings/objc/DOMWheelEvent.mm:

(kit): Deleted.

  • bindings/objc/DOMWheelEventInternal.h:
  • bindings/objc/DOMXPathExpression.mm:

(core): Deleted.

  • bindings/objc/DOMXPathExpressionInternal.h:
2:08 PM Changeset in webkit [204102] by bshafiei@apple.com
  • 19 edits
    2 deletes in branches/safari-602-branch

Roll out r203982 via r204068. rdar://problem/27547583

2:08 PM Changeset in webkit [204101] by bshafiei@apple.com
  • 2 edits in branches/safari-602-branch/Source/WebCore

Roll out r204082 via r204086. rdar://problem/27547583

1:57 PM Changeset in webkit [204100] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Work around AVPlayer setMuted bug
https://bugs.webkit.org/show_bug.cgi?id=160519
<rdar://problem/27310475>

Reviewed by Dean Jackson.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: Only override

supportsMuting on iOS.

1:49 PM Changeset in webkit [204099] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Cmd-L shortcut for Jump to Line conflicts with selecting URL of inspected page
https://bugs.webkit.org/show_bug.cgi?id=158028
<rdar://problem/26516663>

Reviewed by Timothy Hatcher.

Remove Command-L shortcut for opening the Line Number dialog, since
we already support Control-G.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor): Deleted.

1:23 PM Changeset in webkit [204098] by mitz@apple.com
  • 8 copies
    1 add in releases/Apple/Safari Technology Preview 10

Added a tag for Safari Technology Preview release 10.

1:06 PM Changeset in webkit [204097] by Michael Catanzaro
  • 4 edits in trunk/Source/WebKit2

[SOUP] Deduplicate WebProcessPool::setIgnoreTLSErrors
https://bugs.webkit.org/show_bug.cgi?id=160489

Reviewed by Alex Christensen.

WebProcessPool::setIgnoreTLSErrors has identical implementation in WebProcessPoolEfl.cpp
and WebProcessPoolGtk.cpp. We have WebProcessPoolSoup.cpp and this function is specific to
the soup network backend, so move it there.

  • UIProcess/efl/WebProcessPoolEfl.cpp:

(WebKit::WebProcessPool::setIgnoreTLSErrors): Deleted.

  • UIProcess/gtk/WebProcessPoolGtk.cpp:

(WebKit::WebProcessPool::setIgnoreTLSErrors): Deleted.

  • UIProcess/soup/WebProcessPoolSoup.cpp:

(WebKit::WebProcessPool::setIgnoreTLSErrors):

12:40 PM Changeset in webkit [204096] by Ryan Haddad
  • 11 edits
    1 copy
    1 delete in trunk/LayoutTests

Unreviewed test gardening.

  • platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
  • 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-reportValidity-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-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/constraints/form-validation-willValidate-expected.txt: Renamed from LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt.
  • platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:
12:10 PM Changeset in webkit [204095] by bshafiei@apple.com
  • 4 edits
    2 adds in branches/safari-602-branch

Merge r204074. rdar://problem/25856238

12:10 PM Changeset in webkit [204094] by bshafiei@apple.com
  • 3 edits in branches/safari-602-branch/Source/WebCore

Merge r204089. rdar://problem/27313234

11:50 AM Changeset in webkit [204093] by fpizlo@apple.com
  • 4 edits
    1 add in trunk

REGRESSION(r203368): broke some test262 tests
https://bugs.webkit.org/show_bug.cgi?id=160479

Reviewed by Mark Lam.

JSTests:

Added a stress test for this case, since we don't always run test262.

  • stress/freeze-setter.js: Added.

(let.o.set foo):

Source/JavaScriptCore:

The optimization in r203368 overlooked a subtle detail: freezing should not set ReadOnly on
Accessor properties.

  • runtime/Structure.cpp:

(JSC::Structure::nonPropertyTransition):

  • runtime/StructureTransitionTable.h:

(JSC::setsDontDeleteOnAllProperties):
(JSC::setsReadOnlyOnNonAccessorProperties):
(JSC::setsReadOnlyOnAllProperties): Deleted.

11:44 AM Changeset in webkit [204092] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Revise a TestWebKitAPI comment to mention the actual underlying problem

  • TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:

Note that this is because of https://bugs.webkit.org/show_bug.cgi?id=160516

11:43 AM Changeset in webkit [204091] by ggaren@apple.com
  • 4 edits in trunk/Source/bmalloc

[bmalloc] Merging of XLargeRanges can leak the upper range
https://bugs.webkit.org/show_bug.cgi?id=160403

Reviewed by Michael Saboff.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::scavengeLargeObjects): Don't use removePhysical().
Recorded physical size is a performance optimization. It is not the
truth. So it might be zero even if a range contains physical pages.

Instead, iterate each range in the map unconditionally.

The map can shrink when we release the lock, so we must clamp our
iterator each time through the loop.

The map can grow when we release the lock, but we don't care because
growth restarts the scavenger from the beginning.

  • bmalloc/XLargeMap.cpp:

(bmalloc::XLargeMap::removePhysical): Deleted. Not used anymore.

  • bmalloc/XLargeMap.h:

(bmalloc::XLargeMap::ranges): Added direct access for the sake of
scavengeLargeObjects. (This violates our naming conventions -- I'll do
a rename in a follow-up patch.)

11:35 AM Changeset in webkit [204090] by Chris Dumez
  • 230 edits in trunk/LayoutTests

Fix logging in W3C tests
https://bugs.webkit.org/show_bug.cgi?id=160513

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline W3C tests.

  • web-platform-tests/XMLHttpRequest/open-url-about-blank-window-expected.txt:
  • web-platform-tests/XMLHttpRequest/open-url-javascript-window-2-expected.txt:
  • web-platform-tests/XMLHttpRequest/open-url-javascript-window-expected.txt:
  • web-platform-tests/XMLHttpRequest/open-url-multi-window-4-expected.txt:
  • web-platform-tests/XMLHttpRequest/open-url-multi-window-5-expected.txt:
  • web-platform-tests/XMLHttpRequest/open-url-multi-window-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-content-type-string-expected.txt:
  • web-platform-tests/dom/collections/domstringmap-supported-property-names-expected.txt:
  • web-platform-tests/dom/collections/namednodemap-supported-property-names-expected.txt:
  • web-platform-tests/dom/nodes/Comment-constructor-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_bmp-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_css-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_gif-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_html-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_javascripturi-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_jpg-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_01-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_02-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_png-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_txt-expected.txt:
  • web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_xml-expected.txt:
  • web-platform-tests/dom/nodes/Document-createElement-namespace-expected.txt:
  • web-platform-tests/dom/nodes/Element-childElement-null-expected.txt:
  • web-platform-tests/dom/nodes/Element-childElement-null-xhtml-expected.txt:
  • web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-expected.txt:
  • web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-xhtml-expected.txt:
  • web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-expected.txt:
  • web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-xhtml-expected.txt:
  • web-platform-tests/dom/nodes/Element-childElementCount-expected.txt:
  • web-platform-tests/dom/nodes/Element-childElementCount-nochild-expected.txt:
  • web-platform-tests/dom/nodes/Element-childElementCount-nochild-xhtml-expected.txt:
  • web-platform-tests/dom/nodes/Element-childElementCount-xhtml-expected.txt:
  • web-platform-tests/dom/nodes/Element-children-expected.txt:
  • web-platform-tests/dom/nodes/Element-firstElementChild-entity-xhtml-expected.txt:
  • web-platform-tests/dom/nodes/Element-firstElementChild-expected.txt:
  • web-platform-tests/dom/nodes/Element-firstElementChild-namespace-expected.txt:
  • web-platform-tests/dom/nodes/Element-firstElementChild-namespace-xhtml-expected.txt:
  • web-platform-tests/dom/nodes/Element-firstElementChild-xhtml-expected.txt:
  • web-platform-tests/dom/nodes/Element-insertAdjacentElement-expected.txt:
  • web-platform-tests/dom/nodes/Element-insertAdjacentText-expected.txt:
  • web-platform-tests/dom/nodes/Element-lastElementChild-expected.txt:
  • web-platform-tests/dom/nodes/Element-lastElementChild-xhtml-expected.txt:
  • web-platform-tests/dom/nodes/Element-nextElementSibling-expected.txt:
  • web-platform-tests/dom/nodes/Element-nextElementSibling-xhtml-expected.txt:
  • web-platform-tests/dom/nodes/Element-previousElementSibling-expected.txt:
  • web-platform-tests/dom/nodes/Element-previousElementSibling-xhtml-expected.txt:
  • web-platform-tests/dom/nodes/Element-siblingElement-null-expected.txt:
  • web-platform-tests/dom/nodes/Element-siblingElement-null-xhtml-expected.txt:
  • web-platform-tests/dom/nodes/Node-appendChild-expected.txt:
  • web-platform-tests/dom/nodes/Node-contains-xml-expected.txt:
  • web-platform-tests/dom/nodes/Node-isEqualNode-xhtml-expected.txt:
  • web-platform-tests/dom/nodes/Node-removeChild-expected.txt:
  • web-platform-tests/dom/nodes/Text-constructor-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-19-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-20-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-21-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-22-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-23-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-24-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-25-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-26-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-27-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-28-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-29-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-30-expected.txt:
  • web-platform-tests/dom/nodes/getElementsByClassName-31-expected.txt:
  • web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter-expected.txt:
  • web-platform-tests/dom/traversal/TreeWalker-basic-expected.txt:
  • web-platform-tests/dom/traversal/TreeWalker-currentNode-expected.txt:
  • web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject-expected.txt:
  • web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip-expected.txt:
  • web-platform-tests/dom/traversal/TreeWalker-traversal-reject-expected.txt:
  • web-platform-tests/dom/traversal/TreeWalker-traversal-skip-expected.txt:
  • web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most-expected.txt:
  • web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree-expected.txt:
  • web-platform-tests/domparsing/innerhtml-05-expected.txt:
  • web-platform-tests/fetch/nosniff/image-expected.txt:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/document.forms-expected.txt:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-expected.txt:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml-expected.txt:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-expected.txt:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml-expected.txt:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/document.images-expected.txt:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-01-expected.txt:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-02-expected.txt:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-06-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/document-write/049-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/document-write/050-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/document-write/051-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/document-write/document.write-02-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-02-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-03-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/001-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/004-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/005-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/006-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/007-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/008-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/009-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/016-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-expected.txt:
  • web-platform-tests/html/dom/reflection-embedded-expected.txt:
  • web-platform-tests/html/dom/reflection-forms-expected.txt:
  • web-platform-tests/html/dom/reflection-grouping-expected.txt:
  • web-platform-tests/html/dom/reflection-metadata-expected.txt:
  • web-platform-tests/html/dom/reflection-misc-expected.txt:
  • web-platform-tests/html/dom/reflection-obsolete-expected.txt:
  • web-platform-tests/html/dom/reflection-sections-expected.txt:
  • web-platform-tests/html/dom/reflection-tabular-expected.txt:
  • web-platform-tests/html/dom/reflection-text-expected.txt:
  • web-platform-tests/html/semantics/disabled-elements/disabledElement-expected.txt:
  • web-platform-tests/html/semantics/document-metadata/the-base-element/base_multiple-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/activeCues-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/addCue-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/removeCue-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/endTime-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/id-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/pauseOnExit-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/startTime-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/track-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/getCueById-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/getter-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/length-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/video_008-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/video_volume_check-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-dimension-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/basic-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/error-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/select-an-image-source-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/update-media-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-source-set-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-object-element/object-attributes-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-object-element/object-handler-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-video-element/video-tabindex-expected.txt:
  • web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/dirname-ltr-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-customError-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooLong-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooShort-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-typeMismatch-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
  • web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:
  • web-platform-tests/html/semantics/forms/textfieldselection/selection-expected.txt:
  • web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt:
  • web-platform-tests/html/semantics/forms/the-button-element/button-validation-expected.txt:
  • web-platform-tests/html/semantics/forms/the-datalist-element/datalistoptions-expected.txt:
  • web-platform-tests/html/semantics/forms/the-fieldset-element/disabled-001-expected.txt:
  • web-platform-tests/html/semantics/forms/the-fieldset-element/disabled-002-expected.txt:
  • web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete-expected.txt:
  • web-platform-tests/html/semantics/forms/the-form-element/form-elements-matches-expected.txt:
  • web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-01-expected.txt:
  • web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-02-expected.txt:
  • web-platform-tests/html/semantics/forms/the-form-element/form-elements-sameobject-expected.txt:
  • web-platform-tests/html/semantics/forms/the-form-element/form-indexed-element-expected.txt:
  • web-platform-tests/html/semantics/forms/the-form-element/form-nameditem-expected.txt:
  • web-platform-tests/html/semantics/forms/the-input-element/button-expected.txt:
  • web-platform-tests/html/semantics/forms/the-input-element/checkbox-expected.txt:
  • web-platform-tests/html/semantics/forms/the-input-element/radio-expected.txt:
  • web-platform-tests/html/semantics/forms/the-input-element/radio-groupname-case-expected.txt:
  • web-platform-tests/html/semantics/forms/the-input-element/reset-expected.txt:
  • web-platform-tests/html/semantics/forms/the-option-element/option-text-backslash-expected.txt:
  • web-platform-tests/html/semantics/forms/the-output-element/output-expected.txt:
  • web-platform-tests/html/semantics/forms/the-progress-element/progress-expected.txt:
  • web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection-expected.txt:
  • web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection-namedItem-expected.txt:
  • web-platform-tests/html/semantics/forms/the-select-element/select-named-getter-expected.txt:
  • web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-expected.txt:
  • web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/async_003-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/async_004-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/async_005-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/async_006-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/async_007-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/async_008-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/async_010-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/script-noembed-noframes-iframe-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/checked-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/default-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/dir-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/dir01-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/disabled-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/enabled-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/focus-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/required-optional-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid-expected.txt:
  • web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods-expected.txt:
  • web-platform-tests/html/semantics/tabular-data/the-table-element/tBodies-expected.txt:
  • web-platform-tests/html/semantics/tabular-data/the-tbody-element/insertRow-expected.txt:
  • web-platform-tests/html/semantics/tabular-data/the-tr-element/cells-expected.txt:
  • web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-getter-01-expected.txt:
  • web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-setter-01-expected.txt:

LayoutTests:

Fix logging in W3C tests. Some W3C tests have no visible output or
output in the wrong order because we fail to use the test's "log"
<div> and always append the log lines to the body.

  • resources/testharnessreport.js:

(self.testRunner.add_completion_callback):

11:17 AM Changeset in webkit [204089] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

Cleanup HTMLMediaElement track lists.
https://bugs.webkit.org/show_bug.cgi?id=160470

Reviewed by Brent Fulgham.

  • html/track/AudioTrack.cpp:

(WebCore::AudioTrack::willRemove): Remove unnecessary ASSERT and NULL check.

  • html/track/TextTrackList.cpp:

(TextTrackList::~TextTrackList): Call clearElement so media element and client pointers are
cleared.

11:11 AM Changeset in webkit [204088] by adachan@apple.com
  • 11 edits in trunk

[Mac] media/pip-video-going-into-fullscreen.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=160469

Reviewed by Eric Carlson.

Source/WebCore:

When going from picture-in-picture directly to fullscreen, fix the issue where the
presentation mode unexpectedly changes back to inline after changing to fullscreen.

On Mac, standard fullscreen is not handled by WebVideoFullscreenManager.
When going from picture-in-picture directly to fullscreen, we call
WebVideoFullscreenInterfaceMac::exitFullscreenWithoutAnimationToMode().
We should update m_mode to VideoFullscreenModeStandard there to keep it in sync
with the fullscreen mode in HTMLMediaElement. Otherwise, we'll inadvertently
update the mode to inline when we clear the VideoFullscreenModePictureInPicture mode
in -[WebVideoFullscreenInterfaceMacObjC pipDidClose:].

Since standard fullscreen on Mac doesn't make use of the video fullscreen layer,
we need to make sure we return the video layer back to inline when the presentation
mode changes to "fullscreen". We only do this on Mac because iOS does use
the video fullscreen layer for standard fullscreen.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::setPreparedToReturnVideoLayerToInline):
Renamed from MediaControlsHost::setPreparedForInline to make it clear this is about
whether the video layer should be inline.
(WebCore::MediaControlsHost::setPreparedForInline): Deleted.

  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediacontrols/MediaControlsHost.idl:
  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.shouldReturnVideoLayerToInline):
On Mac, the video layer is inline when the presentation mode is "inline" or "fullscreen".
(Controller.prototype.handlePresentationModeChange):
Call shouldReturnVideoLayerToInline() to determine whether the video layer should be inline.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.shouldReturnVideoLayerToInline):
Override this method since on iOS, the video layer is only inline when the presentation
mode is "inline".

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer):
(WebCore::HTMLMediaElement::setPreparedToReturnVideoLayerToInline):
(WebCore::HTMLMediaElement::setPreparedForInline): Deleted.

  • html/HTMLMediaElement.h:
  • platform/mac/WebVideoFullscreenInterfaceMac.mm:

(WebCore::WebVideoFullscreenInterfaceMac::enterFullscreen):
Remove the assertion that the mode must be "picture-in-picture". I've run into this
assertion in layout tests. Since the EnterFullscreen message is sent in a dispatch_async
block in WebVideoFullscreenManager::didSetupFullscreen(), there's a chance that the
fullscreen mode tracked in WebVideoFullscreenInterfaceMac has already changed to
something else when WebVideoFullscreenInterfaceMac::enterFullscreen() is called.
(WebCore::WebVideoFullscreenInterfaceMac::exitFullscreenWithoutAnimationToMode):
If exiting to standard fullscreen, update m_mode to VideoFullscreenModeStandard.

LayoutTests:

Re-enable media/pip-video-going-into-fullscreen.html on Sierra.

  • platform/mac-wk2/TestExpectations:
11:05 AM Changeset in webkit [204087] by clopez@igalia.com
  • 2 edits
    1 add in trunk/Tools

Benchmark test content-animation timeouts always
https://bugs.webkit.org/show_bug.cgi?id=160057

Reviewed by Simon Fraser.

  • Scripts/webkitpy/benchmark_runner/data/plans/Skipped: Added.
  • Scripts/webkitpy/benchmark_runner/run_benchmark.py:

(start):

10:22 AM Changeset in webkit [204086] by bshafiei@apple.com
  • 2 edits in branches/safari-602-branch/Source/WebCore

Merge r204082. rdar://problem/27547583

10:15 AM Changeset in webkit [204085] by commit-queue@webkit.org
  • 4 edits in trunk

http/tests/fetch/fetch-in-worker-crash.html is sometimes crashing
https://bugs.webkit.org/show_bug.cgi?id=160498

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-03
Reviewed by Chris Dumez.

Source/WebCore:

Covered by http/tests/fetch/fetch-in-worker-crash.html.

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): Taking a reference of the client wrapper to ensure it can be cleaned-up successfully.

LayoutTests:

  • http/tests/fetch/fetch-in-worker.js:

(onmessage): Reducing flakiness risk by making fetch http load being delayed.

10:12 AM Changeset in webkit [204084] by Csaba Osztrogonác
  • 6 edits
    2 adds in trunk

Lacking support on a arm-traditional disassembler.
https://bugs.webkit.org/show_bug.cgi?id=123717

Reviewed by Mark Lam.

.:

  • Source/cmake/FindLLVM.cmake: Added back the r196749 state.
  • Source/cmake/OptionsCommon.cmake: Added back the r196749 state.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • disassembler/ARMLLVMDisassembler.cpp: Added, based on pre r196729 LLVMDisassembler, but it is ARM traditional only now.

(JSC::tryToDisassemble):

Source/WTF:

  • wtf/Platform.h:
9:53 AM Changeset in webkit [204083] by andersca@apple.com
  • 4 edits
    40 copies
    11 adds in trunk/Source/WebCore

Freeze the last of the Objective-C bindings
https://bugs.webkit.org/show_bug.cgi?id=160482

Reviewed by Darin Adler.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMAttr.h: Added.
  • bindings/objc/DOMAttr.mm: Added.
  • bindings/objc/DOMAttrInternal.h: Added.
  • bindings/objc/DOMCDATASection.h: Added.
  • bindings/objc/DOMCDATASection.mm: Added.
  • bindings/objc/DOMCDATASectionInternal.h: Added.
  • bindings/objc/DOMCharacterData.h
  • bindings/objc/DOMCharacterData.mm: Added.
  • bindings/objc/DOMCharacterDataInternal.h: Added.
  • bindings/objc/DOMComment.h: Added.
  • bindings/objc/DOMComment.mm: Added.
  • bindings/objc/DOMCommentInternal.h: Added.
  • bindings/objc/DOMDOMImplementation.h: Added.
  • bindings/objc/DOMDOMImplementation.mm: Added.
  • bindings/objc/DOMDOMImplementationInternal.h: Added.
  • bindings/objc/DOMDocument.h: Added.
  • bindings/objc/DOMDocument.mm: Added.
  • bindings/objc/DOMDocumentFragment.h: Added.
  • bindings/objc/DOMDocumentFragment.mm: Added.
  • bindings/objc/DOMDocumentFragmentInternal.h: Added.
  • bindings/objc/DOMDocumentFragmentPrivate.h: Added.
  • bindings/objc/DOMDocumentInternal.h: Added.
  • bindings/objc/DOMDocumentPrivate.h: Added.
  • bindings/objc/DOMDocumentType.h: Added.
  • bindings/objc/DOMDocumentType.mm: Added.
  • bindings/objc/DOMDocumentTypeInternal.h: Added.
  • bindings/objc/DOMElement.h: Added.
  • bindings/objc/DOMElement.mm: Added.
  • bindings/objc/DOMElementInternal.h: Added.
  • bindings/objc/DOMEntity.h: Added.
  • bindings/objc/DOMEntity.mm: Added.
  • bindings/objc/DOMEntityInternal.h: Added.
  • bindings/objc/DOMEntityReference.h: Added.
  • bindings/objc/DOMEntityReference.mm: Added.
  • bindings/objc/DOMEntityReferenceInternal.h: Added.
  • bindings/objc/DOMNamedNodeMap.h: Added.
  • bindings/objc/DOMNamedNodeMap.mm: Added.
  • bindings/objc/DOMNamedNodeMapInternal.h: Added.
  • bindings/objc/DOMNode.h: Added.
  • bindings/objc/DOMNode.mm: Added.
  • bindings/objc/DOMNodeInternal.h: Added.
  • bindings/objc/DOMNodeList.h: Added.
  • bindings/objc/DOMNodeList.mm: Added.
  • bindings/objc/DOMNodeListInternal.h: Added.
  • bindings/objc/DOMNodePrivate.h: Added.
  • bindings/objc/DOMProcessingInstruction.h: Added.
  • bindings/objc/DOMProcessingInstruction.mm: Added.
  • bindings/objc/DOMProcessingInstructionInternal.h: Added.
  • bindings/objc/DOMText.h: Added.
  • bindings/objc/DOMText.mm: Added.
  • bindings/objc/DOMTextEvent.mm:
  • bindings/objc/DOMTextEventInternal.h:
  • bindings/objc/DOMTextInternal.h: Added.
9:33 AM Changeset in webkit [204082] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac][iOS] Adopt MediaRemote "seek to playback position"
https://bugs.webkit.org/show_bug.cgi?id=160405
<rdar://problem/27547583>

Reviewed by Dean Jackson.

  • platform/ios/RemoteCommandListenerIOS.mm:

(WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS): Fix a typo.

9:12 AM Changeset in webkit [204081] by Chris Dumez
  • 1 edit
    2 moves in trunk/LayoutTests

Unreviewed, move LayoutTest out of platform/ios-simulator/ios.

  • fast/events/touch/ios/Touch-attributes-prototype-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/touch/Touch-attributes-prototype-expected.txt.
  • fast/events/touch/ios/Touch-attributes-prototype.html: Renamed from LayoutTests/platform/ios-simulator/ios/touch/Touch-attributes-prototype.html.
7:35 AM Changeset in webkit [204080] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit2

[GTK] Document how to initialize WebKitFaviconDatabase
https://bugs.webkit.org/show_bug.cgi?id=160391

Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
3:41 AM Changeset in webkit [204079] by commit-queue@webkit.org
  • 61 edits
    2 copies
    22 adds
    4 deletes in trunk/LayoutTests/imported/w3c

Refresh wpt tests up to d686014
https://bugs.webkit.org/show_bug.cgi?id=160446

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-03
Reviewed by Alex Christensen.

  • resources/ImportExpectations:
  • resources/TestRepositories:
  • resources/web-platform-tests-modules.json:
  • web-platform-tests/XMLHttpRequest/FormData-append.html:
  • web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.any.js: Added.

(test):
(string_appeared_here.test):
(string_appeared_here.async_test):

  • web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.html: Removed.
  • web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.js: Removed.
  • web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.worker.js: Removed.
  • web-platform-tests/XMLHttpRequest/headers-normalize-response-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/headers-normalize-response.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-multi-window.htm:
  • web-platform-tests/XMLHttpRequest/resources/last-modified.py:

(main):

  • web-platform-tests/XMLHttpRequest/resources/parse-headers.py: Added.

(main):

  • web-platform-tests/XMLHttpRequest/resources/w3c-import.log:
  • web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
  • web-platform-tests/XMLHttpRequest/responsexml-document-properties.htm:
  • web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-entity-body-empty-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-entity-body-empty.htm:
  • web-platform-tests/XMLHttpRequest/send-entity-body-get-head-async-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-entity-body-get-head-async.htm:
  • web-platform-tests/XMLHttpRequest/send-entity-body-get-head-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-entity-body-get-head.htm:
  • web-platform-tests/XMLHttpRequest/send-entity-body-none-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-entity-body-none.htm:
  • web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:
  • web-platform-tests/XMLHttpRequest/setrequestheader-content-type.htm:
  • web-platform-tests/XMLHttpRequest/w3c-import.log:
  • web-platform-tests/dom/events/AddEventListenerOptions-once-expected.txt: Added.
  • web-platform-tests/dom/events/AddEventListenerOptions-once.html: Added.
  • web-platform-tests/dom/events/w3c-import.log:
  • web-platform-tests/dom/lists/DOMTokenList-iteration-expected.txt: Added.
  • web-platform-tests/dom/lists/DOMTokenList-iteration.html: Added.
  • web-platform-tests/dom/lists/w3c-import.log:
  • web-platform-tests/dom/nodes/Node-childNodes-expected.txt:
  • web-platform-tests/dom/nodes/Node-childNodes.html:
  • web-platform-tests/domparsing/insert_adjacent_html-expected.txt:
  • web-platform-tests/fetch/api/basic/request-headers-expected.txt:
  • web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt:
  • web-platform-tests/fetch/api/basic/request-headers.js:
  • web-platform-tests/fetch/api/basic/request-referrer-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/request-referrer.html: Added.
  • web-platform-tests/fetch/api/basic/request-referrer.js: Added.

(testReferrer):

  • web-platform-tests/fetch/api/basic/w3c-import.log:
  • web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt:
  • web-platform-tests/fetch/api/policies/referrer-no-referrer-expected.txt:
  • web-platform-tests/fetch/api/policies/referrer-no-referrer-worker-expected.txt:
  • web-platform-tests/fetch/api/policies/referrer-no-referrer.html.headers:
  • web-platform-tests/fetch/api/policies/referrer-no-referrer.js.headers:
  • web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:
  • web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-expected.txt.
  • web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-expected.txt.
  • web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-worker.html: Added.
  • web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.html: Added.
  • web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.html.headers: Added.
  • web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.js: Added.

(promise_test):

  • web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.js.headers: Added.
  • web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt:
  • web-platform-tests/fetch/api/policies/referrer-origin.html.headers:
  • web-platform-tests/fetch/api/policies/referrer-origin.js.headers:
  • web-platform-tests/fetch/api/policies/referrer-unsafe-url-expected.txt:
  • web-platform-tests/fetch/api/policies/referrer-unsafe-url-worker-expected.txt:
  • web-platform-tests/fetch/api/policies/referrer-unsafe-url.html.headers:
  • web-platform-tests/fetch/api/policies/referrer-unsafe-url.js.headers:
  • web-platform-tests/fetch/api/policies/w3c-import.log:
  • web-platform-tests/fetch/api/request/request-cache-expected.txt:
  • web-platform-tests/fetch/api/request/resources/get-host-info.sub.js: Removed.
  • web-platform-tests/fetch/nosniff/resources/image.py:

(main):

  • web-platform-tests/fetch/nosniff/stylesheet-expected.txt:
  • web-platform-tests/fetch/nosniff/stylesheet.html:
  • web-platform-tests/html/dom/interfaces-expected.txt:
  • web-platform-tests/html/dom/interfaces.html:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
  • web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-expected.txt:
  • web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li.html:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-open-expected.txt: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-open.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-03-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-03.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
  • web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods-expected.txt:
  • web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods.html:
  • web-platform-tests/html/semantics/tabular-data/the-table-element/remove-row-expected.txt: Added.
  • web-platform-tests/html/semantics/tabular-data/the-table-element/remove-row.html: Added.
  • web-platform-tests/html/semantics/tabular-data/the-table-element/w3c-import.log:
  • web-platform-tests/lint.whitelist:
  • web-platform-tests/service-workers/tools/blink-import.py:

(main):

12:50 AM Changeset in webkit [204078] by sbarati@apple.com
  • 13 edits
    2 adds in trunk

Implement nested rest destructuring w.r.t the ES7 spec
https://bugs.webkit.org/show_bug.cgi?id=160423

Reviewed by Filip Pizlo.

JSTests:

  • stress/destructuring-rest-element.js: Added.

(assert):
(test):
(arr):
(eq):
(gen):
(fakeGen.return.Symbol.iterator):
(fakeGen):

  • stress/rest-elements.js:

(testSyntaxError.String.raw):

  • stress/rest-parameter-is-destructuring.js: Added.

(assert):
(test):
(foo):
(bar):

  • test262.yaml:

Source/JavaScriptCore:

The spec has updated the BindingRestElement grammar production to be:
BindingRestElement:

BindingIdentifier
BindingingPattern.

It used to only allow BindingIdentifier in the grammar production.
I've updated our engine to account for this. The semantics are exactly
what you'd expect. For example:
let [a, ...[b, ...c]] = expr();
means that we create an array for the first rest element ...[b, ...c]
and then perform the binding of [b, ...c] to that array. And so on,
applied recursively through the pattern.

  • bytecompiler/NodesCodegen.cpp:

(JSC::RestParameterNode::collectBoundIdentifiers):
(JSC::RestParameterNode::toString):
(JSC::RestParameterNode::bindValue):
(JSC::RestParameterNode::emit):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createBindingLocation):
(JSC::ASTBuilder::createRestParameter):
(JSC::ASTBuilder::createAssignmentElement):

  • parser/NodeConstructors.h:

(JSC::AssignmentElementNode::AssignmentElementNode):
(JSC::RestParameterNode::RestParameterNode):
(JSC::DestructuringAssignmentNode::DestructuringAssignmentNode):

  • parser/Nodes.h:

(JSC::RestParameterNode::name): Deleted.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseFormalParameters):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::operatorStackPop):

LayoutTests:

  • js/parser-syntax-check-expected.txt:
  • js/script-tests/parser-syntax-check.js:
12:38 AM Changeset in webkit [204077] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Fix Windows build after r204065

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::observeTransitions):
AbstractValue is bigger on Windows for an unknown reason.

12:07 AM MathML/Early_2016_Refactoring edited by fred.wang@free.fr
(diff)
12:06 AM Changeset in webkit [204076] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Activate directory index generation for Apache test server
https://bugs.webkit.org/show_bug.cgi?id=160451

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-03
Reviewed by Alexey Proskuryakov.

  • http/conf/apache2.4-httpd.conf:
12:00 AM Changeset in webkit [204075] by fred.wang@free.fr
  • 10 edits in trunk/Source/WebCore

Move determination of operator direction into DOM class and reduce relayout
https://bugs.webkit.org/show_bug.cgi?id=160339

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-02
Reviewed by Darin Adler.

We move the determination of operator direction into MathMLOperatorElement. We also simplify
a bit RenderMathMLFencedOperator so that the update of operator properties are done
immediately in updateOperatorContent and the resolution of to LayoutUnit is implemented
in leadingSpace, trailingSpace, minSize and maxSize. After that, setOperatorProperties is no
longer necessary and we can remove many calls that used to update operator properties and
force relayout.

No new tests, already covered by existing tests.

  • mathml/MathMLInlineContainerElement.cpp:

(WebCore::MathMLInlineContainerElement::childrenChanged): No need to call updateOperatorProperties.

  • mathml/MathMLOperatorElement.cpp: Change names from "text" to "char".

(WebCore::MathMLOperatorElement::parseOperatorChar): Parse character and isVertical in this function.
(WebCore::MathMLOperatorElement::operatorChar):
(WebCore::MathMLOperatorElement::childrenChanged):
(WebCore::MathMLOperatorElement::computeDictionaryProperty): Call operatorChar().character.
(WebCore::MathMLOperatorElement::parseOperatorText): Deleted.
(WebCore::MathMLOperatorElement::operatorText): Deleted.

  • mathml/MathMLOperatorElement.h: Use a new structure to hold both the character and direction

and change names from "text" to "char".

  • rendering/mathml/RenderMathMLFencedOperator.cpp:

(WebCore::RenderMathMLFencedOperator::updateOperatorContent): Update both the character and
direction using MathMLOperatorElement::parseOperatorChar. Then set the boolean properties
and leading/trailing space using the operator dictionary. minsize and maxsize are constant
so we do not need to set them any more.
(WebCore::RenderMathMLFencedOperator::leadingSpace): Resolve the spacing read from the
dictionary to LayoutUnit. Note that it can never be negative.
(WebCore::RenderMathMLFencedOperator::trailingSpace): Ditto.
(WebCore::RenderMathMLFencedOperator::RenderMathMLFencedOperator): Deleted.
(WebCore::RenderMathMLFencedOperator::setOperatorProperties): Deleted.

  • rendering/mathml/RenderMathMLFencedOperator.h: We use the new OperatorChar structure for

accessors and members. We make minSize and maxSize just return the default values and delete
the corresponding members. Finally, leading and trailing space are now stored as unsigned
short in MathUnit.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::textContent): Use the new OperatorChar structure.
(WebCore::RenderMathMLOperator::isVertical): Helper function forwarding to MathMLOperatorElement.
(WebCore::RenderMathMLOperator::stretchTo): Use isVertical() and remove setOperatorProperties().
(WebCore::RenderMathMLOperator::resetStretchSize): Ditto.
(WebCore::RenderMathMLOperator::updateMathOperator): Rename rebuildTokenContent as this is
now really only used to update MathOperator and hence replace the condition on
useMathOperator() with an ASSERT.
(WebCore::RenderMathMLOperator::updateTokenContent): Call updateMathOperator instead of
rebuildTokenContent.
(WebCore::RenderMathMLOperator::verticalStretchedOperatorShift): We use isVertical().
(WebCore::RenderMathMLOperator::paint): Ditto.
(WebCore::RenderMathMLOperator::setOperatorProperties): Deleted. This is no longer needed.
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Deleted.
(WebCore::RenderMathMLOperator::rebuildTokenContent): Deleted. Renamed updateMathOperator.
(WebCore::RenderMathMLOperator::styleDidChange): No need to call updateOperatorProperties.
(WebCore::RenderMathMLOperator::updateOperatorProperties): Ditto..

  • rendering/mathml/RenderMathMLOperator.h: Update some declaration and remove m_isVertical.

(WebCore::RenderMathMLOperator::isVertical): Deleted.

  • rendering/mathml/RenderMathMLRow.cpp:

(WebCore::RenderMathMLRow::updateOperatorProperties): Deleted. This is no longer needed.

  • rendering/mathml/RenderMathMLRow.h: Ditto.

Aug 2, 2016:

11:35 PM Changeset in webkit [204074] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

Update breaking rules to match ICU 57
https://bugs.webkit.org/show_bug.cgi?id=160488
<rdar://problem/25856238>

Reviewed by Darin Adler.

Source/WTF:

This patch fixes a typo in the uax14AssignmentsAfter rules which
was causing flag emoji to have line breaking opportunities in their
middles. It also fixes significant language issues for languages
such as Hebrew, and adds correct breaking opportunities around
hyphens.

  • wtf/text/TextBreakIterator.cpp:

(WTF::cursorMovementIterator):
(WTF::uax14AssignmentsAfter):
(WTF::uax14Forward):
(WTF::uax14Reverse):

LayoutTests:

  • fast/text/flag-emoji-line-break-expected.html: Added.
  • fast/text/flag-emoji-line-break.html: Added.
  • platform/mac/TestExpectations: Mark the test as failing on Yosemite.
11:16 PM Changeset in webkit [204073] by bshafiei@apple.com
  • 8 edits
    2 adds in branches/safari-602-branch

Merge r204050. rdar://problem/27313234

11:16 PM Changeset in webkit [204072] by bshafiei@apple.com
  • 8 edits
    2 moves in branches/safari-602-branch

Merge r204062. rdar://problem/27592936

11:16 PM Changeset in webkit [204071] by bshafiei@apple.com
  • 9 edits
    2 adds in branches/safari-602-branch

Merge r203955. rdar://problem/27629346

11:15 PM Changeset in webkit [204070] by bshafiei@apple.com
  • 3 edits in branches/safari-602-branch/Source/WebKit2

Merge r204057. rdar://problem/27534205

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

Merge r203984. rdar://problem/27409854

11:15 PM Changeset in webkit [204068] by bshafiei@apple.com
  • 19 edits
    2 adds in branches/safari-602-branch

Merge r203982. rdar://problem/27547583

10:38 PM Changeset in webkit [204067] by bshafiei@apple.com
  • 5 edits in branches/safari-602-branch/Source

Versioning.

10:33 PM Changeset in webkit [204066] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Fix 32bits jsc after r204065

Default constructed JSValue() are not equal to zero in 32bits.

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::AbstractValue):

8:45 PM Changeset in webkit [204065] by benjamin@webkit.org
  • 7 edits in trunk/Source

[JSC] Simplify the initialization of AbstractValue in the AbstractInterpreter
https://bugs.webkit.org/show_bug.cgi?id=160370

Reviewed by Saam Barati.

Source/JavaScriptCore:

We use a ton of AbstractValue to run the Abstract Interpreter.

When we set up the initial values, the compiler sets
a zero on a first word, a one on a second word, and a zero
again on a third word.
Since no vector or double-store can deal with 3 words, unrolling
is done by repeating those instructions.

The reason for the one was TinyPtrSet. It needed a flag for
empty value to identify the set as thin. I flipped the flag to "fat"
to make sure TinyPtrSet is initialized to zero.

With that done, I just had to clean some places to make
the initialization shorter.
It makes the binary easier to follow but this does not help with
the bigger problem: the time spent per block on Abstract Interpreter.

  • bytecode/Operands.h:

The traits were useless, no client code defines it.

(JSC::Operands::Operands):
(JSC::Operands::ensureLocals):
Because of the size of the function, llvm is not inlining it.
We were literally loading 3 registers from memory and storing
them in the vector.
Now that AbstractValue has a VectorTraits, we should just rely
on the memset of Vector when possible.

(JSC::Operands::getLocal):
(JSC::Operands::setArgumentFirstTime):
(JSC::Operands::setLocalFirstTime):
(JSC::Operands::clear):
(JSC::OperandValueTraits::defaultValue): Deleted.
(JSC::OperandValueTraits::isEmptyForDump): Deleted.

  • bytecode/OperandsInlines.h:

(JSC::Operands<T>::dumpInContext):
(JSC::Operands<T>::dump):
(JSC::Traits>::dumpInContext): Deleted.
(JSC::Traits>::dump): Deleted.

  • dfg/DFGAbstractValue.cpp:
  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::AbstractValue):

Source/WTF:

  • wtf/TinyPtrSet.h:

(WTF::TinyPtrSet::isThin):
(WTF::TinyPtrSet::set):

7:56 PM Changeset in webkit [204064] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Drop custom bindings code for HTMLSelectElement.remove()
https://bugs.webkit.org/show_bug.cgi?id=160477

Reviewed by Darin Adler.

Drop custom bindings code for HTMLSelectElement.remove() and use
overloading instead.

  • bindings/js/JSHTMLSelectElementCustom.cpp:

(WebCore::JSHTMLSelectElement::remove): Deleted.

  • html/HTMLSelectElement.idl:
7:56 PM Changeset in webkit [204063] by Chris Dumez
  • 10 edits in trunk

Drop custom bindings code for HTMLOptionsCollection.remove()
https://bugs.webkit.org/show_bug.cgi?id=160475

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

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

Source/WebCore:

Drop custom bindings code for HTMLOptionsCollection.remove() and use
overloading instead. The overload that take an HTMLOptionElement is
WebKit-specific and should probably be dropped at some point:

This patch also fixes several bugs:

  • The parameter is now mandatory. This is consistent with the specification, Firefox and Chrome.
  • HTMLOptionsCollection.prototype.remove.length is now 1 instead of 0.

No new tests, rebaselined existing tests.

  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:

(WebCore::JSHTMLOptionsCollection::remove): Deleted.

  • html/HTMLOptionsCollection.idl:

LayoutTests:

Update existing tests to reflect behavior change.

  • fast/dom/non-numeric-values-numeric-parameters-expected.txt:
  • fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
  • js/dom/select-options-remove-expected.txt:
  • js/resources/select-options-remove.js:
7:38 PM Changeset in webkit [204062] by n_wang@apple.com
  • 8 edits
    2 moves in trunk

AX: Simulated touch events are not working on iOS
https://bugs.webkit.org/show_bug.cgi?id=160395
<rdar://problem/27633597>

Reviewed by Chris Fleizach.

Source/WebCore:

We should mark the simulated touch as a potential tap otherwise it won't
be handled on iOS. Also, we need to dispatch both touch start and touch end
to mimic the real touch events. Last, added a has event listeners check,
because iOS is dispatching mouse click events for elements without touch event
listeners.

Test: accessibility/ios-simulator/press-fires-touch-events.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::press):
(WebCore::AccessibilityObject::dispatchTouchEvent):

  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::dispatchSimulatedTouchEvent):

  • platform/ios/PlatformEventFactoryIOS.mm:

(WebCore::PlatformTouchEventBuilder::PlatformTouchEventBuilder):

Tools:

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::press):
(WTR::AccessibilityUIElement::setSelectedChild):

LayoutTests:

  • accessibility/ios-simulator/press-fires-touch-events-expected.txt: Added.
  • accessibility/ios-simulator/press-fires-touch-events.html: Added.
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/ios/accessibility/press-fires-touch-events-expected.txt: Removed.
  • platform/ios-simulator/ios/accessibility/press-fires-touch-events.html: Removed.
7:20 PM Changeset in webkit [204061] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Clean up some useless AtomicString atoms
https://bugs.webkit.org/show_bug.cgi?id=160471

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

Source/WebCore:

The only uses of "commentAtom" and "textAtom" where for their
respective overload of Node::nodeName().
Those methods return a string, we should not keep them in the atomic
string table just to hold a small String alive. They were also the only
two nodes to behave that way.

The atom xlinkAtom was only used by createForeignAttributesMap(), which
is itself only invoked once. There is no need for the symbol xlinkAtom.

  • dom/CDATASection.cpp:

(WebCore::CDATASection::nodeName):

  • dom/Comment.cpp:

(WebCore::Comment::nodeName):

  • dom/Document.cpp:

(WebCore::Document::nodeName):

  • dom/Text.cpp:

(WebCore::Text::nodeName):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::createForeignAttributesMap):

Source/WTF:

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

(WTF::AtomicString::init): Deleted.

6:57 PM Changeset in webkit [204060] by fpizlo@apple.com
  • 2 edits in trunk/Tools

run-javascriptcore-tests should accept multiple --extra-tests
https://bugs.webkit.org/show_bug.cgi?id=160486

Reviewed by Saam Barati.

We want to be able to pass --extra-tests multiple times, to supply an arbitrary number of extra
test suites. This does it by using GetOpt::Long's array support.

  • Scripts/run-javascriptcore-tests:

(runJSCStressTests):

6:46 PM Changeset in webkit [204059] by sbarati@apple.com
  • 1 add
    1 delete in trunk/JSTests

Rename Changelog to ChangeLog

Rubber stamped by Keith Miller.

  • Changelog: Removed.
6:28 PM Changeset in webkit [204058] by sbarati@apple.com
  • 15 edits
    1 add in trunk

update a class extending null w.r.t the ES7 spec
https://bugs.webkit.org/show_bug.cgi?id=160417

Reviewed by Keith Miller.

Source/JavaScriptCore:

When a class extends null, it should not be marked as a derived class.
This was changed in the ES2016 spec, and this patch makes the needed
changes in JSC to follow the spec. This allows classes to extend
null and have their default constructor invoked without throwing an exception.
This also prevents |this| from being under TDZ at the start of the constructor.
Because ES6 allows arbitrary expressions in the class <ident> extends <expr>
syntax, we don't know statically if a constructor is extending null or not.
Therefore, we don't always know statically if it's a base or derived constructor.
I solved this by putting a boolean on the constructor function under a private
symbol named isDerivedConstructor when doing class construction. We only need
to put this boolean on constructors that may extend null. Constructors that are
declared in a class with no extends syntax can tell statically that they are a base constructor.

I've also renamed the ConstructorKind::Derived enum value to be
ConstructorKind::Extends to better indicate that we can't answer
the "am I a derived constructor?" question statically.

  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::createDefaultConstructor):

  • builtins/BuiltinNames.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::initializeArrowFunctionContextScopeIfNeeded):
(JSC::BytecodeGenerator::emitReturn):
(JSC::BytecodeGenerator::emitLoadArrowFunctionLexicalEnvironment):
(JSC::BytecodeGenerator::ensureThis):
(JSC::BytecodeGenerator::emitPutDerivedConstructorToArrowFunctionContextScope):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::makeFunction):

  • bytecompiler/NodesCodegen.cpp:

(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionNode::emitBytecode):
(JSC::ClassExprNode::emitBytecode):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseMemberExpression):

  • parser/ParserModes.h:

LayoutTests:

  • js/class-syntax-extends-expected.txt:
  • js/class-syntax-super-expected.txt:
  • js/script-tests/class-syntax-extends.js:
  • js/script-tests/class-syntax-super.js:
6:22 PM Changeset in webkit [204057] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r203385): Frequent RELEASE_ASSERT in WebKit::RemoteLayerTreeDrawingArea::flushLayers()
https://bugs.webkit.org/show_bug.cgi?id=160481
<rdar://problem/27534205>

Reviewed by Simon Fraser.

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

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::didRefreshDisplay):
(WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState):
If the UI process sends a didUpdate message while the Web process is in
the middle of flushing on a background thread, the drawing area will
allow another commit to start on the main thread, which then (rightfully)
causes the RELEASE_ASSERT.

This is normally not a problem, because didRefreshDisplay (which sends the didUpdate)
bails if m_didUpdateMessageState is anything other than NotSent, and m_didUpdateMessageState
is only NotSent if the Web process has sent a commit (and thus will not commit again until
it gets a didUpdate). This is the fundamental mechanism that avoids multiple commits being
in flight at once.

In r203385, I added a path where didRefreshDisplay could be called
before the first commit arrived (by way of
_applicationWillEnterForeground -> viewStateDidChange -> waitForDidUpdateViewState).

This caused trouble because m_didUpdateMessageState is initialized to NotSent,
which means that we could end up sending a didUpdate immediately, before the first
commit arrives - even worse, while the first commit is being flushed on a background thread,
leading the aforementioned RELEASE_ASSERT to fire.

Instead, initialize it to Sent (which I've renamed to DoesNotNeedDidUpdate), so that
we won't send a didUpdate until after the first commit arrives (at which point
the two processes are in agreement about the order of things).

It's not currently possible to API test this for multiple reasons, though it is fairly
easy to write a test app that reproduces reliably (by simulating suspend/resume notifications
inside the didFinishNavigation: callback).

6:14 PM Changeset in webkit [204056] by Ryan Haddad
  • 2 edits
    1 copy
    1 add in branches/safari-602-branch/LayoutTests

Merge r203992. rdar://problem/27611932

5:43 PM Changeset in webkit [204055] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip media/track/track-remove-crash.html on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=160367

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
5:31 PM Changeset in webkit [204054] by andersca@apple.com
  • 3 edits
    80 adds in trunk/Source/WebCore

Freeze the Objective-C DOM Event and CSS bindings
https://bugs.webkit.org/show_bug.cgi?id=160476

Reviewed by Tim Horton.

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMCSSCharsetRule.h: Added.
  • bindings/objc/DOMCSSCharsetRule.mm: Added.
  • bindings/objc/DOMCSSCharsetRuleInternal.h: Added.
  • bindings/objc/DOMCSSFontFaceRule.h: Added.
  • bindings/objc/DOMCSSFontFaceRule.mm: Added.
  • bindings/objc/DOMCSSFontFaceRuleInternal.h: Added.
  • bindings/objc/DOMCSSImportRule.h: Added.
  • bindings/objc/DOMCSSImportRule.mm: Added.
  • bindings/objc/DOMCSSImportRuleInternal.h: Added.
  • bindings/objc/DOMCSSMediaRule.h: Added.
  • bindings/objc/DOMCSSMediaRule.mm: Added.
  • bindings/objc/DOMCSSMediaRuleInternal.h: Added.
  • bindings/objc/DOMCSSPageRule.h: Added.
  • bindings/objc/DOMCSSPageRule.mm: Added.
  • bindings/objc/DOMCSSPageRuleInternal.h: Added.
  • bindings/objc/DOMCSSPrimitiveValue.h: Added.
  • bindings/objc/DOMCSSPrimitiveValue.mm: Added.
  • bindings/objc/DOMCSSPrimitiveValueInternal.h: Added.
  • bindings/objc/DOMCSSRule.h: Added.
  • bindings/objc/DOMCSSRule.mm: Added.
  • bindings/objc/DOMCSSRuleInternal.h: Added.
  • bindings/objc/DOMCSSRuleList.h: Added.
  • bindings/objc/DOMCSSRuleList.mm: Added.
  • bindings/objc/DOMCSSRuleListInternal.h: Added.
  • bindings/objc/DOMCSSStyleDeclaration.h: Added.
  • bindings/objc/DOMCSSStyleDeclaration.mm: Added.
  • bindings/objc/DOMCSSStyleDeclarationInternal.h: Added.
  • bindings/objc/DOMCSSStyleRule.h: Added.
  • bindings/objc/DOMCSSStyleRule.mm: Added.
  • bindings/objc/DOMCSSStyleRuleInternal.h: Added.
  • bindings/objc/DOMCSSStyleSheet.h: Added.
  • bindings/objc/DOMCSSStyleSheet.mm: Added.
  • bindings/objc/DOMCSSStyleSheetInternal.h: Added.
  • bindings/objc/DOMCSSUnknownRule.h: Added.
  • bindings/objc/DOMCSSUnknownRule.mm: Added.
  • bindings/objc/DOMCSSUnknownRuleInternal.h: Added.
  • bindings/objc/DOMCSSValue.h: Added.
  • bindings/objc/DOMCSSValue.mm: Added.
  • bindings/objc/DOMCSSValueInternal.h: Added.
  • bindings/objc/DOMCSSValueList.h: Added.
  • bindings/objc/DOMCSSValueList.mm: Added.
  • bindings/objc/DOMCSSValueListInternal.h: Added.
  • bindings/objc/DOMCounter.h: Added.
  • bindings/objc/DOMCounter.mm: Added.
  • bindings/objc/DOMCounterInternal.h: Added.
  • bindings/objc/DOMEvent.h: Added.
  • bindings/objc/DOMEvent.mm: Added.
  • bindings/objc/DOMEventInternal.h: Added.
  • bindings/objc/DOMEventListener.h: Added.
  • bindings/objc/DOMEventTarget.h: Added.
  • bindings/objc/DOMKeyboardEvent.h: Added.
  • bindings/objc/DOMKeyboardEvent.mm: Added.
  • bindings/objc/DOMKeyboardEventInternal.h: Added.
  • bindings/objc/DOMMouseEvent.h: Added.
  • bindings/objc/DOMMouseEvent.mm: Added.
  • bindings/objc/DOMMouseEventInternal.h: Added.
  • bindings/objc/DOMMutationEvent.h: Added.
  • bindings/objc/DOMMutationEvent.mm: Added.
  • bindings/objc/DOMMutationEventInternal.h: Added.
  • bindings/objc/DOMOverflowEvent.h: Added.
  • bindings/objc/DOMOverflowEvent.mm: Added.
  • bindings/objc/DOMOverflowEventInternal.h: Added.
  • bindings/objc/DOMProgressEvent.h: Added.
  • bindings/objc/DOMProgressEvent.mm: Added.
  • bindings/objc/DOMProgressEventInternal.h: Added.
  • bindings/objc/DOMRGBColor.h: Added.
  • bindings/objc/DOMRGBColor.mm: Added.
  • bindings/objc/DOMRGBColorInternal.h: Added.
  • bindings/objc/DOMRect.h: Added.
  • bindings/objc/DOMRect.mm: Added.
  • bindings/objc/DOMRectInternal.h: Added.
  • bindings/objc/DOMTextEvent.h: Added.
  • bindings/objc/DOMTextEvent.mm: Added.

(-[DOMTextEvent data]):
(-[DOMTextEvent initTextEvent:canBubbleArg:cancelableArg:viewArg:dataArg:]):

  • bindings/objc/DOMTextEventInternal.h: Added.
  • bindings/objc/DOMUIEvent.h: Added.
  • bindings/objc/DOMUIEvent.mm: Added.
  • bindings/objc/DOMUIEventInternal.h: Added.
  • bindings/objc/DOMWheelEvent.h: Added.
  • bindings/objc/DOMWheelEvent.mm: Added.
  • bindings/objc/DOMWheelEventInternal.h: Added.
5:00 PM Changeset in webkit [204053] by enrica@apple.com
  • 20 edits in trunk

Allow building with content filtering disabled.
https://bugs.webkit.org/show_bug.cgi?id=160454

Reviewed by Simon Fraser.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • platform/PlatformContentFilter.h:

(WebCore::PlatformContentFilter::unblockRequestDeniedScript):

  • platform/cocoa/NetworkExtensionContentFilter.h:
  • platform/cocoa/NetworkExtensionContentFilter.mm:

(WebCore::NetworkExtensionContentFilter::unblockHandler):

  • platform/cocoa/ParentalControlsContentFilter.h:
  • testing/MockContentFilter.h:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::blockedByContentFilterError):

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<KeypressCommand>::decode):
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::encode):
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::decode):

  • WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:

(WebKit::blockedByContentFilterError):

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4:43 PM Changeset in webkit [204052] by dino@apple.com
  • 15 edits in trunk

Reapply fixes for webkit.org/b/159450 and webkit.org/b/157569
https://bugs.webkit.org/show_bug.cgi?id=160474
<rdar://problem/27668170>

Reviewed by Simon Fraser.

The fixes are behaviour we want. They just caused a regression
on medium.com (reverted in http://trac.webkit.org/r203380).

Now that we've branched, revert the reversion (which itself
was a reversion), so we can fix the actual bug:
https://bugs.webkit.org/show_bug.cgi?id=160478

Source/WebCore:

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseAnimationShorthand):
(WebCore::CSSParser::addPropertyWithPrefixingVariant):
(WebCore::CSSParser::parseTransitionShorthand):

  • css/CSSPropertyNames.in:
  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):

  • css/StyleProperties.cpp:

(WebCore::MutableStyleProperties::removeShorthandProperty):
(WebCore::StyleProperties::asText):
(WebCore::MutableStyleProperties::removeProperty): Deleted.
(WebCore::MutableStyleProperties::removePrefixedOrUnprefixedProperty): Deleted.
(WebCore::MutableStyleProperties::setProperty): Deleted.
(WebCore::getIndexInShorthandVectorForPrefixingVariant): Deleted.
(WebCore::MutableStyleProperties::appendPrefixingVariantProperty): Deleted.
(WebCore::MutableStyleProperties::setPrefixingVariantProperty): Deleted.

  • css/StyleProperties.h:

LayoutTests:

  • animations/fill-mode-forwards-zero-duration.html:
  • animations/play-state-start-paused.html:
  • animations/script-tests/spring-parsing.js:

(testSpring):

  • animations/spring-parsing-expected.txt:
  • animations/unprefixed-properties-expected.txt:
  • animations/unprefixed-properties.html:
  • fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt:
  • fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt:
4:29 PM Changeset in webkit [204051] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.46

New tag.

4:03 PM Changeset in webkit [204050] by eric.carlson@apple.com
  • 8 edits
    2 adds in trunk

Cleanup HTMLMediaElement track lists.
https://bugs.webkit.org/show_bug.cgi?id=160470

Reviewed by David Kilzer.

Source/WebCore:

Test: media/range-extract-contents-crash.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::~HTMLMediaElement):

  • html/track/AudioTrack.cpp:

(WebCore::AudioTrack::willRemove): ASSERT if media element is NULL.

  • html/track/TextTrackList.cpp:

(TextTrackList::clearElement): Clear track media element pointers and client.

  • html/track/TextTrackList.h:
  • html/track/TrackListBase.cpp:

(TrackListBase::~TrackListBase): Call clearElement.
(TrackListBase::clearElement): Clear track media element pointers and client.

  • html/track/TrackListBase.h:

LayoutTests:

  • media/range-extract-contents-crash-expected.txt: Added.
  • media/range-extract-contents-crash.html: Added.
3:59 PM Changeset in webkit [204049] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Remove more Objective-C bindings that are not used
https://bugs.webkit.org/show_bug.cgi?id=160473

Reviewed by Sam Weinig.

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMCSS.mm:

(kitClass):

  • dom/Document.idl:
3:55 PM Changeset in webkit [204048] by Chris Dumez
  • 10 edits in trunk

Drop custom bindings for FormData.append()
https://bugs.webkit.org/show_bug.cgi?id=160466

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

  • web-platform-tests/XMLHttpRequest/interfaces-expected.txt:

Source/WebCore:

Drop custom bindings for FormData.append(). We no longer need them now
that we have proper support for overloads after r204028.

This patch also fixes the fact that FormData.prototype.append.length
was 0 instead of 2.

No new tests, rebaselined existing test.

  • bindings/js/JSDOMFormDataCustom.cpp:

(WebCore::JSDOMFormData::append): Deleted.

  • html/DOMFormData.cpp:

(WebCore::DOMFormData::append):

  • html/DOMFormData.h:
  • html/DOMFormData.idl:
  • html/FileInputType.cpp:

(WebCore::FileInputType::appendFormData):

  • html/FormDataList.cpp:

(WebCore::FormDataList::appendBlob):

  • html/FormDataList.h:

(WebCore::FormDataList::Item::Item):
(WebCore::FormDataList::appendBlob):

3:42 PM Changeset in webkit [204047] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

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

Decided on a different solution (Requested by jonlee_ on
#webkit).

Reverted changeset:

"Captions do not render in PiP window when element is hidden"
https://bugs.webkit.org/show_bug.cgi?id=160265
http://trac.webkit.org/changeset/203799

3:23 PM Changeset in webkit [204046] by achristensen@apple.com
  • 4 edits in trunk/Source/WebCore

Remove unused functions in URL
https://bugs.webkit.org/show_bug.cgi?id=160468

Reviewed by Geoffrey Garen.

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::extractInnerURL):

  • platform/URL.cpp:

(WebCore::mimeTypeFromURL):
(WebCore::URL::stringCenterEllipsizedToLength):
(WebCore::URL::isSafeToSendToAnotherThread): Deleted.

  • platform/URL.h:

(WebCore::URL::operator NSString*):
(WebCore::URL::innerURL): Deleted.

3:23 PM Changeset in webkit [204045] by Chris Dumez
  • 14 edits in trunk

Named / Indexed properties should be configurable
https://bugs.webkit.org/show_bug.cgi?id=160457

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

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

Source/WebCore:

Report Named / Indexed properties as being configurable to comply with
the Web IDL specification:

Firefox and Chrome also report them as being configurable.

No new tests, rebaselined existing tests.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):

LayoutTests:

Update / rebaseline existing tests to reflect behavior change.

  • fast/dom/NodeList/nodelist-name-getter-properties-expected.txt:
  • fast/dom/NodeList/nodelist-name-getter-properties.html:
  • js/dom/getOwnPropertyDescriptor-expected.txt:
  • js/resources/getOwnPropertyDescriptor.js:
3:16 PM Changeset in webkit [204044] by andersca@apple.com
  • 13 edits in trunk

Remove more unused/uninstalled Objective-C DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=160464

Reviewed by Darin Adler.

Source/WebCore:

  • Configurations/WebCore.xcconfig:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMCSS.mm:

(kitClass):

  • bindings/objc/DOMEvents.h:
  • bindings/objc/DOMEvents.mm:

(kitClass): Deleted.

  • dom/Document.idl:

Source/WebKit/mac:

Stop installing unused headers.

  • MigrateHeaders.make:

LayoutTests:

Update test results.

  • platform/mac/fast/dom/wrapper-classes-objc-expected.txt:
  • platform/mac/fast/dom/wrapper-classes-objc.html:
2:44 PM Changeset in webkit [204043] by Chris Dumez
  • 9 edits in trunk

[WebIDL] Extend new overload resolution algorithm support to constructors
https://bugs.webkit.org/show_bug.cgi?id=160455

Reviewed by Ryosuke Niwa.

Source/WebCore:

Extend new overload resolution algorithm support (added in r204028) to
constructors as well. It was only used for operations. Remove code that
is now dead from the bindings generator.

We now share the same code of generating the overload resolution code
for operations and constructors.

No new tests, rebaselined existing tests.

  • bindings/scripts/CodeGenerator.pm:

(LinkOverloadedFunctions):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateOverloadedFunctionOrConstructor):
(GenerateImplementation):
(GenerateConstructorDefinitions):
(GenerateConstructorDefinition):
(GetFunctionLength): Deleted.
(LengthOfLongestFunctionParameterList): Deleted.
(GetNativeTypeForConversions): Deleted.
(GetGnuVTableNameForInterface): Deleted.
(GetGnuMangledNameForInterface): Deleted.
(GetGnuVTableOffsetForType): Deleted.
(GenerateConstructorHelperMethods): Deleted.

  • bindings/scripts/IDLParser.pm:

(applyExtendedAttributeList): Deleted.

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructorsConstructor::construct):

  • bindings/scripts/test/TestOverloadedConstructors.idl:

LayoutTests:

Update / rebaseline existing test as we now provide slightly different
exception messages when given bad overloaded constructor parameters.

  • fast/canvas/canvas-imageData-expected.txt:
  • fast/canvas/script-tests/canvas-imageData.js:
2:33 PM Changeset in webkit [204042] by Ryan Haddad
  • 2 edits in branches/safari-602-branch/LayoutTests

Merge r203917. rdar://problem/27430381

2:28 PM Changeset in webkit [204041] by beidson@apple.com
  • 5 edits in trunk

Removing IndexedDB WebsiteData can fail for some users.
https://bugs.webkit.org/show_bug.cgi?id=160463

Reviewed by Alex Christensen.

Source/WebCore:

Covered by changes to API test IndexedDB.StoreBlobThenDelete.

For a few months in trunk WebKit, deleting an IndexedDB using WebsiteDataStore API would only
delete the "IndexedDB.sqlite3" file, but would leave the "-wal" and "-shm" files behind.

We'd then fail to delete the directory itself, tricking API clients to think there are still
databases in the given origin.

Furthermore, the code to delete a database first checks for the existence of "IndexedDB.sqlite3"
then refuses to do any further cleanup if it doesn't exist.

We should just always run the entire delete procedure even if IndexedDB.sqlite does not exist.

  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::removeAllDatabasesForOriginPath):

  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::deleteDatabaseFile):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/StoreBlobThenDelete.mm:
2:17 PM Changeset in webkit [204040] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Fix Mac CMake build.

  • PlatformMac.cmake:

Some ObjC bindings have been frozen.

2:15 PM Changeset in webkit [204039] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking two media tests as flaky crashes on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=160367

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
1:26 PM Changeset in webkit [204038] by fred.wang@free.fr
  • 6 edits in trunk/Source/WebCore

More cleanup of MathML operator parsing
https://bugs.webkit.org/show_bug.cgi?id=160336

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-02
Reviewed by Darin Adler.

No new tests, behavior is unchanged.

  • rendering/mathml/RenderMathMLBlock.cpp:

(WebCore::parseMathMLLength): Deleted. This function is no longer used.

  • rendering/mathml/RenderMathMLBlock.h: Ditto.
  • rendering/mathml/RenderMathMLFencedOperator.h: Move some length members from

RenderMathMLOperator and override the accessors. Also override useMathOperator() since it is
always true for anonymous mfenced operators.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::textContent): No need to ASSERT !isAnonymous since this
function is overriden by RenderMathMLFencedOperator.
(WebCore::RenderMathMLOperator::isInvisibleOperator): Use a temporary variable to call
textContent only once.
(WebCore::RenderMathMLOperator::leadingSpace): Helper function to determine the leading space.
(WebCore::RenderMathMLOperator::trailingSpace): Helper function to determine the trailing space.
(WebCore::RenderMathMLOperator::minSize): Helper function to determine the min space.
(WebCore::RenderMathMLOperator::maxSize): Helper function to determine the max space.
(WebCore::RenderMathMLOperator::setOperatorProperties): This is now only used to set m_isVertical.
(WebCore::RenderMathMLOperator::stretchTo): Call maxSize and minSize when necessary.
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Call leadingSpace and trailingSpace.
(WebCore::RenderMathMLOperator::layoutBlock): Ditto.
(WebCore::RenderMathMLOperator::useMathOperator): Remove the case for anonymous operators as
this is now handled in the derived class.
(WebCore::RenderMathMLOperator::paint): Call leadingSpace.

  • rendering/mathml/RenderMathMLOperator.h: Remove length members and declare helper functions

to get these lengths from MathMLOperatorElement.
(WebCore::RenderMathMLOperator::setLeadingSpace): Deleted. This is no longer used.
(WebCore::RenderMathMLOperator::setTrailingSpace): Deleted. This is no longer used.

12:53 PM Changeset in webkit [204037] by fred.wang@free.fr
  • 9 edits in trunk

Move parsing of operator length attributes to MathMLOperatorElement
https://bugs.webkit.org/show_bug.cgi?id=160301

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-02
Reviewed by Darin Adler.

Source/WebCore:

We move parsing of operator attributes lspace, rspace minsize, maxsize into the class
MathMLOperatorElement. We rely on the existing MathMLElement::Length structure and expand
it to handle the "infinity" case of maxsize that we always resolve as intMaxForLayoutUnit.
We also improve the resolution of a negative value for minsize and maxsize since the MathML
recommendation says it should be rounded up to the nearest valid value (which is zero)
instead of ignoring the attribute and using the default value. This is similar to r203285
for mfrac@linethickness. We also update the existing test for minsize/maxsize to take into
account that change.

No new tests, already covered by existing tests.

  • mathml/MathMLElement.h: Add an "Infinity" type for MathML Length.
  • mathml/MathMLOperatorElement.cpp:

(WebCore::MathMLOperatorElement::leadingSpace): Helper function to retrieve the cached value
for the lspace attribute, parse it if necessary.
(WebCore::MathMLOperatorElement::trailingSpace): Ditto for rspace.
(WebCore::MathMLOperatorElement::minSize): Ditto for minsize.
(WebCore::MathMLOperatorElement::maxSize): Ditto for maxsize. This attribute also accepts the
"infinity" value.
(WebCore::MathMLOperatorElement::parseAttribute): Mark attributes dirty.

  • mathml/MathMLOperatorElement.h: Declare Length members and accessors.
  • rendering/mathml/RenderMathMLBlock.cpp:

(WebCore::toUserUnits): Resolve Infinity as intMaxForLayoutUnit.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::setOperatorProperties): We use toUserUnits to resolve the
lengths. Negative maxsize and minsize values now fallback to 0 instead of their default
values. We also remove the !isAnonymous() check since setOperatorProperties is overriden
in the RenderMathMLFencedOperator class.

LayoutTests:

  • mathml/presentation/stretchy-minsize-maxsize-expected.html: Update the test for negative

minsize and maxsize to align on the behavior suggested in the MathML recommendation.

  • mathml/presentation/stretchy-minsize-maxsize.html: Ditto.
12:23 PM Changeset in webkit [204036] by fred.wang@free.fr
  • 2 edits in trunk/Source/WebCore

Unreviewed build error fix.

  • mathml/MathMLOperatorElement.cpp:

(WebCore::propertyFlagToAttributeName): Return a nullQName to avoid warnings on some platforms.

12:16 PM Changeset in webkit [204035] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Stop building Objective-C bindings that aren't exposed anywhere
https://bugs.webkit.org/show_bug.cgi?id=160458

Reviewed by Darin Adler.

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
12:13 PM Changeset in webkit [204034] by Chris Dumez
  • 5 edits in trunk

HTMLCollection's named getter should only do 'name' attribute matching for HTMLElements
https://bugs.webkit.org/show_bug.cgi?id=160456

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

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

Rebaseline. We are still failing but on the next check.

  • web-platform-tests/dom/nodes/Element-children-expected.txt:

Rebaseline now that one more check is passing.

Source/WebCore:

HTMLCollection's named getter should only do 'name' attribute matching for HTMLElements:

Our slow path which relies on HTMLCollection::updateNamedElementCache() does the right
thing. However, we have a fast path in
CachedHTMLCollection<HTMLCollectionClass, traversalType>::namedItem() that was missing a
check.

Firefox and Chrome both behave correctly here.

No new tests, rebaselined existing tests.

  • html/CachedHTMLCollection.h:

(WebCore::traversalType>::namedItem):

12:12 PM WebKitIDL edited by Chris Dumez
StrictTypeChecking no longer exists as of r204033 (diff)
12:11 PM Changeset in webkit [204033] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Kill [StrictTypeChecking] IDL extended attribute
https://bugs.webkit.org/show_bug.cgi?id=160382

Reviewed by Darin Adler.

Kill [StrictTypeChecking] IDL extended attribute. Its only remaining
use was on DOMString parameters for a few CanvasRenderingContext2D
operations in order to work around a bug in our overload resolution.

However, as of r204028, we implement the Web IDL overload resolution
algorithm and [StrictTypeChecking] is now a no-op and is no longer
needed.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateParametersCheckExpression):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/TestTypedefs.idl:
  • html/canvas/CanvasRenderingContext2D.idl:
11:47 AM Changeset in webkit [204032] by fred.wang@free.fr
  • 8 edits in trunk/Source/WebCore

Move parsing of boolean operator properties into MathMLOperatorElement
https://bugs.webkit.org/show_bug.cgi?id=160190

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-02
Reviewed by Darin Adler.

No new tests, already covered by existing tests.

  • mathml/MathMLOperatorDictionary.h: Add a bit mask with all the property flags set.
  • mathml/MathMLOperatorElement.cpp:

(WebCore::attributeNameToPropertyFlag): helper function to map from attribute name to flag.
(WebCore::MathMLOperatorElement::computeOperatorFlag): Helper function to update one
bit of m_properties.flags from the corresponding boolean attribute. The default value is
taken from the operator dictionary data stored in m_dictionaryProperty.flags.
(WebCore::MathMLOperatorElement::hasProperty): Returns whether the operator has a property,
parsing it again if the corresponding attribute is dirty.
(WebCore::MathMLOperatorElement::childrenChanged): Make all properties dirty.
(WebCore::propertyFlagToAttributeName): helper function to map from flag to attribute name.
(WebCore::MathMLOperatorElement::parseAttribute): Make all properties dirty if the form
attribute changed. Make each property dirty when the corresponding attribute changed.
(WebCore::MathMLOperatorElement::flags): Deleted. Replaced with the finer hasProperty function.

  • mathml/MathMLOperatorElement.h: Define new structure, member and functions to handle

operator properties.

  • rendering/mathml/RenderMathMLFencedOperator.cpp:

(WebCore::RenderMathMLFencedOperator::RenderMathMLFencedOperator): Move m_operatorFlags from
the base class to the derived class.

  • rendering/mathml/RenderMathMLFencedOperator.h: Ditto.
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::RenderMathMLOperator): Ditto.
(WebCore::RenderMathMLOperator::hasOperatorFlag): Just call hasOperatorFlag from the
MathMLOperatorElement class.
(WebCore::RenderMathMLOperator::setOperatorProperties): We do not initialize m_operatorFlags
since it has been removed from the base class. We also do not parse attributes since this
has been moved to the MathMLOperatorElement class.
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute): Deleted.
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttributeValue): Deleted.

  • rendering/mathml/RenderMathMLOperator.h: Move m_operatorFlags from the base class to the

derived class, remove some parsing helper functions and update hasOperatorFlag to make it
overridable.

10:42 AM Changeset in webkit [204031] by andersca@apple.com
  • 4 edits
    28 adds in trunk/Source/WebCore

Freeze another bunch of Objective-C binding files
https://bugs.webkit.org/show_bug.cgi?id=160435

Reviewed by Alex Christensen.

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMAbstractView.h: Added.
  • bindings/objc/DOMAbstractView.mm:
  • bindings/objc/DOMAbstractViewInternal.h: Added.
  • bindings/objc/DOMMediaList.h: Added.
  • bindings/objc/DOMMediaList.mm: Added.
  • bindings/objc/DOMMediaListInternal.h: Added.
  • bindings/objc/DOMNodeFilter.h: Added.
  • bindings/objc/DOMNodeIterator.h: Added.
  • bindings/objc/DOMNodeIterator.mm: Added.
  • bindings/objc/DOMNodeIteratorInternal.h: Added.
  • bindings/objc/DOMRange.h: Added.
  • bindings/objc/DOMRange.mm: Added.
  • bindings/objc/DOMRangeInternal.h: Added.
  • bindings/objc/DOMStyleSheet.h: Added.
  • bindings/objc/DOMStyleSheet.mm: Added.
  • bindings/objc/DOMStyleSheetInternal.h: Added.
  • bindings/objc/DOMStyleSheetList.h: Added.
  • bindings/objc/DOMStyleSheetList.mm: Added.
  • bindings/objc/DOMStyleSheetListInternal.h: Added.
  • bindings/objc/DOMTreeWalker.h: Added.
  • bindings/objc/DOMTreeWalker.mm: Added.
  • bindings/objc/DOMTreeWalkerInternal.h: Added.
  • bindings/objc/DOMXPathExpression.h: Added.
  • bindings/objc/DOMXPathExpression.mm: Added.
  • bindings/objc/DOMXPathExpressionInternal.h: Added.
  • bindings/objc/DOMXPathNSResolver.h: Added.
  • bindings/objc/DOMXPathResult.h: Added.
  • bindings/objc/DOMXPathResult.mm: Added.
  • bindings/objc/DOMXPathResultInternal.h: Added.
10:27 AM Changeset in webkit [204030] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[MathML] Use more auto for local variables
https://bugs.webkit.org/show_bug.cgi?id=160453

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-02
Reviewed by Darin Adler.

No new tests, behavior is unchanged.

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::colSpan):
(WebCore::MathMLElement::rowSpan):
(WebCore::MathMLElement::childShouldCreateRenderer):
(WebCore::MathMLElement::defaultEventHandler):

  • mathml/MathMLSelectElement.cpp:

(WebCore::MathMLSelectElement::getSelectedActionChild):
(WebCore::MathMLSelectElement::getSelectedSemanticsChild):

  • rendering/mathml/RenderMathMLFenced.cpp:

(WebCore::RenderMathMLFenced::updateFromElement):

10:03 AM Changeset in webkit [204029] by Ryan Haddad
  • 2 edits in trunk/Source/WebCore

Attempt to fix build after r204014.

Unreviewed build fix.

  • loader/mac/ResourceLoaderMac.mm:

(WebCore::ResourceLoader::willCacheResponse):

10:02 AM Changeset in webkit [204028] by Chris Dumez
  • 32 edits in trunk

[WebIDL] Implement overload resolution algorithm
https://bugs.webkit.org/show_bug.cgi?id=160394

Reviewed by Darin Adler.

Source/WebCore:

Implement overload resolution algorithm:

This means that our support for operation overloading in our IDL is
now a lot more extensive than it used to be and is now compliant with
the Web IDL specification.

In particular, overloading should now work for a lot more parameter
types which means that:

  • We should be able to drop some custom bindings code in a follow-up patch.
  • We will be able to drop the [StrictTypeChecking] attribute which was a hack used to make overloading work for parameters of type DOMString.

Also, the order of the overloads in the IDL no longer impacts the
generated bindings code. It used to be that you needed to put the
overloads with the more specific parameter types first in order for the
generated bindings code to be somewhat correct.

No new tests, rebaselined bindings tests.

  • bindings/scripts/CodeGenerator.pm:

(IsStringOrEnumType):

  • bindings/scripts/CodeGeneratorJS.pm:

(IsNullableType):
(StripNullable):
(ComputeEffectiveOverloadSet):
(AreTypesDistinguishableForOverloadResolution):
(GetDistinguishingArgumentIndex):
(GetOverloadThatMatches):
(GenerateOverloadedFunction):

  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:

(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12): Deleted.
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise): Deleted.

  • bindings/scripts/test/TestObj.idl:
  • dom/EventTarget.h:
  • dom/EventTarget.idl:
  • html/HTMLOptionsCollection.h:
  • html/HTMLOptionsCollection.idl:
  • html/HTMLSelectElement.h:

(WebCore::HTMLSelectElement::add):

  • html/HTMLSelectElement.idl:

LayoutTests:

Update / Rebaseline existing test. There is no major behavior change.
We sometimes get a different exception message than we used to.

  • fast/canvas/canvas-clip-path-expected.txt:
  • fast/canvas/canvas-fill-path-expected.txt:
  • fast/canvas/canvas-path-addPath-expected.txt:
  • fast/canvas/canvas-path-isPointInPath-expected.txt:
  • fast/canvas/canvas-path-isPointInStroke-expected.txt:
  • fast/canvas/canvas-putImageData-expected.txt:
  • fast/canvas/canvas-putImageData.js:
  • fast/canvas/canvas-stroke-path-expected.txt:
  • fast/canvas/webgl/script-tests/texImageTest.js:
  • fast/canvas/webgl/texImageTest-expected.txt:
  • fast/dom/HTMLSelectElement/add-expected.txt:
  • fast/dom/HTMLSelectElement/add.html:
  • fast/dom/HTMLSelectElement/options-collection-add-expected.txt:
  • fast/dom/HTMLSelectElement/options-collection-add.html:
  • fast/dom/incompatible-operations-expected.txt:
  • js/dom/select-options-add-expected.txt:
  • webaudio/audiobuffer-expected.txt:
  • webaudio/audiobuffer.html:
  • webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-with-invalid-data.html:
9:57 AM Changeset in webkit [204027] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[macOS] Guard workaround in r203314 for only OSes which need it
https://bugs.webkit.org/show_bug.cgi?id=160440

Reviewed by Simon Fraser.

The workarond introduced in r203314 only needs to be applied on
certain OSes.

No new tests because there is no behavior change.

  • platform/text/mac/TextBoundaries.mm:

(WebCore::findNextWordFromIndex):

8:46 AM Changeset in webkit [204026] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Remove CachedResourceRequest initiatingDocumentLoader
https://bugs.webkit.org/show_bug.cgi?id=160449

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-02
Reviewed by Alex Christensen.

No change of behavior.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::startLoadingMainResource): Removing call to setInitiator.

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::setInitiator): Deleted.

  • loader/cache/CachedResourceRequest.h:

(WebCore::CachedResourceRequest::initiatingDocumentLoader): Deleted.

8:37 AM Changeset in webkit [204025] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Disable Inline Caching on ARMv7 traditional until proper fix
https://bugs.webkit.org/show_bug.cgi?id=159759

Reviewed by Saam Barati.

  • jit/JITMathIC.h:

(JSC::JITMathIC::generateInline):

8:15 AM EnvironmentVariables edited by clopez@igalia.com
(diff)
6:22 AM Changeset in webkit [204024] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed test gardening.

Update test expectations on Windows for many failing tests. These failures are tracked in
https://bugs.webkit.org/show_bug.cgi?id=160447.

  • platform/win/TestExpectations:
5:45 AM Changeset in webkit [204023] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

Skip fetch API worker tests in Debug mode
https://bugs.webkit.org/show_bug.cgi?id=160448

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-02

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt: Rebasing

LayoutTests:

4:28 AM MathML/Early_2016_Refactoring edited by fred.wang@free.fr
(diff)
4:27 AM Changeset in webkit [204022] by fred.wang@free.fr
  • 10 edits in trunk/Source/WebCore

Move parsing of the form attribute to MathMLOperatorElement
https://bugs.webkit.org/show_bug.cgi?id=160239

Patch by Frederic Wang <fwang@igalia.com> on 2016-07-28
Reviewed by Darin Adler.

We move the parsing of the mo@form attribute to the MathMLOperatorElement class. Note that
when the attribute is not explicit, the form may also be guessed by searching into the
operator dictionary. Hence we also start moving the determination of the default dictionary
properties. Moving the actual parsing of the corresponding attributes will be done in
follow-up commits.

No new tests, already covered by existing tests.

  • mathml/MathMLInlineContainerElement.cpp:

(WebCore::MathMLInlineContainerElement::childrenChanged): Make the form of operators dirty
if its siblings have changed.

  • mathml/MathMLOperatorDictionary.cpp:

(WebCore::MathMLOperatorDictionary::search): Merge old getEntry functions into one helper
function that returns an Optional<Entry>.
(WebCore::MathMLOperatorDictionary::getEntry): Deleted

  • mathml/MathMLOperatorDictionary.h: Declare MathMLOperatorDictionary::find.
  • mathml/MathMLOperatorElement.cpp:

(WebCore::MathMLOperatorElement::dictionaryProperty): We determine the operator form by
parsing the corresponding attribute or by using heuristics if that attribute is not
specified. We also read dictionary the corresponding dictionary properties.
(WebCore::MathMLOperatorElement::flags): Return the flags read from the dictionary.
(WebCore::MathMLOperatorElement::defaultLeadingSpace): Return the space read from the dictionary.
(WebCore::MathMLOperatorElement::defaultTrailingSpace): Return the space read from the dictionary.
(WebCore::MathMLOperatorElement::childrenChanged): Make the dictionary properties dirty.
(WebCore::MathMLOperatorElement::parseAttribute): Make the dictionary properties dirty when
the form changes.

  • mathml/MathMLOperatorElement.h: New member to store dictionary properties and expose them.
  • rendering/mathml/RenderMathMLFencedOperator.cpp:

(WebCore::RenderMathMLFencedOperator::setOperatorProperties): We implement the case specific
to anonymous mfenced operators here.

  • rendering/mathml/RenderMathMLFencedOperator.h: Move the m_operatorForm member here and

declare the overriden function setOperatorProperties.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::setOperatorProperties): Simplify this code since the logic
has been moved to the element classes.
(WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry): Deleted.

  • rendering/mathml/RenderMathMLOperator.h: Remove setOperatorPropertiesFromOpDictEntry, make

members accessible to RenderMathMLFencedOperator and remove m_operatorForm.

2:43 AM Changeset in webkit [204021] by fred.wang@free.fr
  • 17 edits in trunk/Source/WebCore

Use Optional members to store parsed MathML attributes.
https://bugs.webkit.org/show_bug.cgi?id=160400

Patch by Frederic Wang <fwang.igalia.com> on 2016-08-02
Reviewed by Darin Adler.

Parsed MathML attributes are stored on the element classes using the memoize pattern to
minimize the number of parsing updates. Currently, a dirty flag for each member
indicate when it must be parsed again. We change this to wrap these members into an
Optional<T> container instead, where a null value indicates that the member is dirty.

No new tests, behavior is unchanged.

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::cachedMathMLLength):
(WebCore::MathMLElement::cachedBooleanAttribute):
(WebCore::MathMLElement::parseMathVariantAttribute):
(WebCore::MathMLElement::specifiedDisplayStyle):
(WebCore::MathMLElement::specifiedMathVariant):

  • mathml/MathMLElement.h:
  • mathml/MathMLFractionElement.cpp:

(WebCore::MathMLFractionElement::lineThickness):
(WebCore::MathMLFractionElement::cachedFractionAlignment):
(WebCore::MathMLFractionElement::parseAttribute):

  • mathml/MathMLFractionElement.h:
  • mathml/MathMLInlineContainerElement.cpp:

(WebCore::MathMLInlineContainerElement::parseAttribute):

  • mathml/MathMLMathElement.cpp:

(WebCore::MathMLMathElement::specifiedDisplayStyle):
(WebCore::MathMLMathElement::parseAttribute):

  • mathml/MathMLOperatorElement.cpp:

(WebCore::MathMLOperatorElement::operatorText):

  • mathml/MathMLPaddedElement.cpp:

(WebCore::MathMLPaddedElement::parseAttribute):

  • mathml/MathMLPaddedElement.h:
  • mathml/MathMLScriptsElement.cpp:

(WebCore::MathMLScriptsElement::parseAttribute):

  • mathml/MathMLScriptsElement.h:
  • mathml/MathMLSpaceElement.cpp:

(WebCore::MathMLSpaceElement::parseAttribute):

  • mathml/MathMLSpaceElement.h:
  • mathml/MathMLTextElement.cpp:

(WebCore::MathMLTextElement::parseAttribute):

  • mathml/MathMLUnderOverElement.cpp:

(WebCore::MathMLUnderOverElement::parseAttribute):

  • mathml/MathMLUnderOverElement.h:
  • rendering/mathml/MathMLStyle.cpp:

(WebCore::MathMLStyle::resolveMathMLStyle):

  • rendering/mathml/MathMLStyle.h:
  • rendering/mathml/RenderMathMLToken.cpp:

(WebCore::mathVariant):
(WebCore::RenderMathMLToken::updateMathVariantGlyph):

1:07 AM Changeset in webkit [204020] by commit-queue@webkit.org
  • 8 edits
    5 adds in trunk

[Fetch API] Fetch promises should not reject or resolve when ActiveDOMObjects are being stopped
https://bugs.webkit.org/show_bug.cgi?id=160420

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-02
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker-expected.txt: Added.
  • web-platform-tests/fetch/nosniff/worker-expected.txt: Added.

Source/WebCore:

Test: http/tests/fetch/fetch-in-worker-crash.html

Promises should not be rejected when FetchResponse/FetchRequest are stopped as ActiveDOMObject.

  • Modules/fetch/FetchBody.h:

(WebCore::FetchBody::cleanConsumePromise): Allowing to nullify the promise used to consume body.

  • Modules/fetch/FetchBodyOwner.cpp:

(WebCore::FetchBodyOwner::stop): Nullifying the body consume promise if any.

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::BodyLoader::stop): Nullifying the fetch promise if any.

LayoutTests:

  • TestExpectations:
  • http/tests/fetch/fetch-in-worker-crash-expected.txt: Added.
  • http/tests/fetch/fetch-in-worker-crash.html: Added.
  • http/tests/fetch/fetch-in-worker.js: Added.

(onmessage):

  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
12:20 AM Changeset in webkit [204019] by commit-queue@webkit.org
  • 23 edits
    5 adds in trunk

[Fetch API] Add support to ReferrerPolicy
https://bugs.webkit.org/show_bug.cgi?id=160404

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-02
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/basic/referrer-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/referrer-worker-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/referrer-worker.html: Added.
  • web-platform-tests/fetch/api/basic/referrer.html: Added.
  • web-platform-tests/fetch/api/basic/referrer.js: Added.

(runTest):

  • web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-preflight-referrer.js:

(corsPreflightReferrer): fix infrastructure bug in test and fix expected referrer policy in default case.

  • web-platform-tests/fetch/api/cors/cors-preflight-worker-expected.txt:

Source/WebCore:

Tests: imported/w3c/web-platform-tests/fetch/api/basic/referrer-worker.html

imported/w3c/web-platform-tests/fetch/api/basic/referrer.html

Refactored ThreadableLoader API to take more references.

Updated loading code in CachedResource to take into account referrer policy, that can be set by fetch API.
To enable correct handling of OriginWhenCrossOrigin policy, the computation of the cross-origin status of a request is
moved from ResourceLoader to CachedResource.

Referrer is passed to the loading code through HTTP headers.
This was triggering preflighting for Workers request as WorkerThreadableLoader was setting the referrer.
It is now done in DocumentThreadableLoader::loadRequest so that preflighting is done before setting the referrer.
Note that this referrer setting is only a way to pass a specific referrer value to the loading code.
CachedResource code will compute the actual referer value based on the referrer policy.
It might be good in the future to have a different way of conveying this information to CachedResource, maybe
through CachedResourceRequest.

  • Modules/fetch/FetchLoader.cpp:

(WebCore::FetchLoader::start): Refactoring of ThreadableLoader API.

  • Modules/fetch/FetchRequest.cpp:

(WebCore::FetchRequest::internalRequest): Setting referrer if it has a specific value.

  • fileapi/FileReaderLoader.cpp:

(WebCore::FileReaderLoader::start): Ractoring of ThreadableLoader API.

  • loader/CrossOriginPreflightChecker.cpp:

(WebCore::CrossOriginPreflightChecker::startPreflight): Set referrer in the preflight request if any.
(WebCore::CrossOriginPreflightChecker::doPreflight): Ditto.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::loadResourceSynchronously): Refactoring of ThreadableLoader API.
(WebCore::DocumentThreadableLoader::create): Ditto.
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
(WebCore::DocumentThreadableLoader::loadRequest): Ditto.

  • loader/DocumentThreadableLoader.h:

(WebCore::DocumentThreadableLoader::referrer): Storing referrer in case one is defined.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::init): Removing of cross origin computation since it is done earlier in CachedResource.

  • loader/ThreadableLoader.cpp:

(WebCore::ThreadableLoader::create): Refactoring of ThreadableLoader API.
(WebCore::ThreadableLoader::loadResourceSynchronously): Ditto.

  • loader/ThreadableLoader.h:
  • loader/ThreadableLoaderClientWrapper.h:

(WebCore::ThreadableLoaderClientWrapper::create): Ditto.
(WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper): Ditto.

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::WorkerThreadableLoader): Ditto.
(WebCore::WorkerThreadableLoader::loadResourceSynchronously): Removing setting of referrer in header and passing
it as a parameter.
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Ditto.

  • loader/WorkerThreadableLoader.h:

(WebCore::WorkerThreadableLoader::create): Refactoring of ThreadableLoader API.

  • loader/cache/CachedResource.cpp:

(WebCore::addAdditionalRequestHeadersToRequest): Computation of referrer based on referrer policy.
(WebCore::CachedResource::addAdditionalRequestHeaders): Ditto.
(WebCore::CachedResource::load): Computation of cross origin status.
(WebCore::CachedResource::varyHeaderValuesMatch):

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::options):

  • page/EventSource.cpp:

(WebCore::EventSource::connect): Refactoring of ThreadableLoader API.

  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::loadSynchronously): Ditto.
(WebCore::WorkerScriptLoader::loadAsynchronously): Ditto.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest): Ditto.

12:19 AM Changeset in webkit [204018] by beidson@apple.com
  • 25 edits
    2 adds in trunk/Source

Refactor data passed along for a "GetRecord" request.
https://bugs.webkit.org/show_bug.cgi?id=160352

Reviewed by Tim Horton.

Source/WebCore:

No new tests (No behavior change).

Adding this new object lets us easily add new data passed along for GetRecord
requests going forward.

  • WebCore.xcodeproj/project.pbxproj:
  • CMakeLists.txt:
  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::get):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::requestGetRecord):
(WebCore::IDBTransaction::requestIndexRecord):
(WebCore::IDBTransaction::getRecordOnServer):

  • Modules/indexeddb/IDBTransaction.h:
  • Modules/indexeddb/client/IDBConnectionProxy.cpp:

(WebCore::IDBClient::IDBConnectionProxy::getRecord):

  • Modules/indexeddb/client/IDBConnectionProxy.h:
  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::getRecord):

  • Modules/indexeddb/client/IDBConnectionToServer.h:
  • Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::getRecord):

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

(WebCore::IDBServer::UniqueIDBDatabase::getRecord):

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

(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):

  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
  • Modules/indexeddb/shared/IDBGetRecordData.cpp: Added.

(WebCore::IDBGetRecordData::isolatedCopy):

  • Modules/indexeddb/shared/IDBGetRecordData.h: Added.

(WebCore::IDBGetRecordData::encode):
(WebCore::IDBGetRecordData::decode):

  • Modules/indexeddb/shared/InProcessIDBServer.cpp:

(WebCore::InProcessIDBServer::getRecord):

  • Modules/indexeddb/shared/InProcessIDBServer.h:

Source/WebKit2:

  • DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:

(WebKit::WebIDBConnectionToClient::getRecord):

  • DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
  • DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:

(WebKit::WebIDBConnectionToServer::getRecord):

  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
Note: See TracTimeline for information about the timeline view.