⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Aug 30, 2016:

11:45 PM Changeset in webkit [205224] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, update iOS simulator WK1 flaky tests.

  • platform/ios-simulator-wk1/TestExpectations:
11:21 PM Changeset in webkit [205223] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove largest common indentation spacing in debugger popover
https://bugs.webkit.org/show_bug.cgi?id=161417

Patch by Devin Rousso <Devin Rousso> on 2016-08-30
Reviewed by Joseph Pecoraro.

  • UserInterface/Views/SourceCodeTextEditor.css:

(.popover .debugger-popover-content.function > .body):
(.popover .debugger-popover-content.function > .body .CodeMirror):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
Use CodeMirror and FormatterWorker to display a non-editable popover.

  • UserInterface/Workers/Formatter/FormatterWorker.js:

(FormatterWorker.prototype.formatJavaScript):
Reworked logic to always attempt to format by wrapping content in "(...)". This is
necessary for unnamed functions, since they are not valid programs by themselves.

10:59 PM Changeset in webkit [205222] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore

Unreviewed. Remove incorrect assert causing crashes in debug builds.

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::AbstractValue):

10:54 PM Changeset in webkit [205221] by bshafiei@apple.com
  • 5 edits in branches/safari-602-branch/Source

Versioning.

10:18 PM Changeset in webkit [205220] by rniwa@webkit.org
  • 7 edits in trunk

Add "get" to CustomElementsRegistry
https://bugs.webkit.org/show_bug.cgi?id=161421

Reviewed by Yusuke Suzuki.

Source/WebCore:

Add the support for "get" method on CustomElementsRegistry, which returns the constructor
of the custom element with the given name:
https://html.spec.whatwg.org/multipage/scripting.html#dom-customelementregistry-get

Tests: fast/custom-elements/CustomElementRegistry.html

  • dom/CustomElementRegistry.cpp:

(WebCore::CustomElementRegistry::get): Added.

  • dom/CustomElementRegistry.h:
  • dom/CustomElementRegistry.idl:

LayoutTests:

Added test cases for "get" method on CustomElementsRegistry.

  • fast/custom-elements/CustomElementRegistry-expected.txt:
  • fast/custom-elements/CustomElementRegistry.html:
10:03 PM Changeset in webkit [205219] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, update iOS simulator WK1 flaky tests.

  • platform/ios-simulator-wk1/TestExpectations:
7:37 PM Changeset in webkit [205218] by Yusuke Suzuki
  • 11 edits
    1 copy in trunk/Source/WebCore

Make PendingScript as ref-counted
https://bugs.webkit.org/show_bug.cgi?id=161350

Reviewed by Ryosuke Niwa.

Currently, while PendingScript is copyable, PendingScript is also CachedResourceClient.
So when copying this, the client registration is done in PendingScript's operator= etc.
However, this copying functionality is not effectively used.
In this patch, we change this PendingScript to ref-counted class and make it noncopyable.
This change makes things simple (dropping this copying functionality), and drops unnecessary
addClient / removeClient calls. And we also simplify PendingScript class. Since we can offer
all the members at the construction time, we do not need any setters like setCachedScript,
setElement etc. This prevents us from accidentally generating the half-baked pending script.

Furthermore, by changing PendingScript noncopyable & ref-counted, we easily make it
observable. In this patch, we add PendingScriptClient to receive the notification from
PendingScript. Previously, we directly used CachedScript in PendingScript to receive the
notification. When introducing ScriptModuleGraph and making this PendingScript the container
of the both CachedScript and ScriptModuleGraph, hiding the raw CachedScript operations is
useful.

No behavior changes.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/PendingScript.cpp:

(WebCore::PendingScript::create): These factory functions take all the information needed
to construct the PendingScript. So the setters of PendingScript are dropped. This is better
since we now do not expose any half-baked pending script accidentally.
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::~PendingScript):
(WebCore::PendingScript::notifyClientFinished):
(WebCore::PendingScript::notifyFinished):
(WebCore::PendingScript::isLoaded): When introducing ScriptModuleGraph, this will query to
either CachedScript or ScriptModuleGraph. PendingScript will become the container for the
both types.
(WebCore::PendingScript::setClient):
(WebCore::PendingScript::clearClient): PendingScript is now observable by PendingScriptClient.
This avoids touching CachedScript in PendingScript directly. That is good when we introduce
ScriptModuleGraph and make PendingScript the container of the both CachedScript and ScriptModuleGraph.
(WebCore::PendingScript::releaseElementAndClear): Deleted. Previously, PendingScript is not ref-counted.
So when we would like to say "this pending script is empty", we used the pending script with
m_element = nullptr. This releaseElementAndClear cleared this m_element and made the pending
script empty. Now, we use RefPtr<PendingScript> and empty one is just represented by the nullptr.
This function is no longer necessary. Dropped.
(WebCore::PendingScript::setCachedScript): Deleted. The fields are set in the constructor.
So this setter is no longer necessary. Dropped.

  • dom/PendingScript.h:
  • dom/PendingScriptClient.h: Copied from Source/WebCore/html/parser/HTMLScriptRunnerHost.h.

(WebCore::PendingScriptClient::~PendingScriptClient):

  • dom/ScriptRunner.cpp:

(WebCore::ScriptRunner::queueScriptForExecution):
(WebCore::ScriptRunner::notifyScriptReady):
(WebCore::ScriptRunner::timerFired): We use std::exchange to retrieve the RefPtr<PendingScript>
and make the original vector element nullptr. Without this, all the PendingScript is held until
the iteration finishes. We keep the original semantics here that the pending script can be
released per iteration.

  • dom/ScriptRunner.h:
  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::watchForLoad):
(WebCore::HTMLDocumentParser::stopWatchingForLoad): Use PendingScript instead of touching
CachedScript directly.
(WebCore::HTMLDocumentParser::notifyFinished):

  • html/parser/HTMLDocumentParser.h:
  • html/parser/HTMLScriptRunner.cpp:

(WebCore::HTMLScriptRunner::~HTMLScriptRunner):
(WebCore::HTMLScriptRunner::sourceFromPendingScript):
(WebCore::HTMLScriptRunner::isPendingScriptReady):
(WebCore::HTMLScriptRunner::executeParsingBlockingScript):
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): As the previous comment describes,
we used releaseElementAndClear to make the current pending script empty. Instead of doing so, we now
explicitly clear executeParsingBlockingScript (by assigning nullptr to m_parserBlockingScript).
(WebCore::HTMLScriptRunner::watchForLoad):
(WebCore::HTMLScriptRunner::stopWatchingForLoad): Previously, we used CachedScript::addClient directly
in the m_host.watchForLoad. This means that we did not have a quick way to query whether the pending
script is watched. In the old implementation, we have the m_watchingForLoad : bool flag in PendingScript
to hold the watching status for the given pending script. This pendingScript.setWatchingForLoad(true)
just made this flag true. But now, we do not use CachedScript::addClient directly. Instead, we have
the PendingScriptClient and PendingScript::{setClient,clearClient}. We can know whether this pending
script is watched by checking m_client != nullptr. This makes m_watchingForLoad unnecessary.
So this patch drops m_watchingForLoad and pendingScript.setWatchingForLoad(true) call.
(WebCore::HTMLScriptRunner::hasParserBlockingScript):
(WebCore::HTMLScriptRunner::executeParsingBlockingScripts): We clear the m_parserBlockingScript here
instead of the middle of the executePendingScriptAndDispatchEvent.
(WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::requestPendingScript):
(WebCore::HTMLScriptRunner::requestParsingBlockingScript): Setting m_parsingBlockingScript is now done
in this caller side.
(WebCore::HTMLScriptRunner::requestDeferredScript):
(WebCore::HTMLScriptRunner::runScript):
(WebCore::HTMLScriptRunner::requestPendingScript): Instead of configuring the passed PendingScript&,
we return the pending script and the caller sets it to m_parserBlockingScript or holds it. And we now
change this function to static location one and drop the member function. Previously, we always make
PendingScript& valid by always calling setElement(...). I think this is the bug since we accidentally
exposed the half-baked pending script. But this bug is not shown since !cachedScript path is dead code!
This requestPendingScript is called from two places, requestDeferredScript and requestParsingBlockingScript.
And these functions are called if the script has willBeParserExecuted flag. In the case of the script
tag having "src" attribute, this flag is only set if cachedScript is correctly instantiated. So when
these functions are called, we can ensure that cachedScript is correctly instantiated for the given script.
In the case of the script tag not having "src" attribute, these functions are won't be called. This is
because if such a script tag has willBeParserExecuted flag, it also has m_readyToBeParserExecuted
and it does not have m_willExecuteWhenDocumentFinishedParsing flag, and in that case the both
functions are never called. So we drop that path and insert the assertion to ensure the above conditions.

  • html/parser/HTMLScriptRunner.h:
  • html/parser/HTMLScriptRunnerHost.h:
7:01 PM Changeset in webkit [205217] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking inspector/debugger/breakpoint-action-with-exception.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=161387

Unreviewed test gardening.

  • platform/mac/TestExpectations:
6:48 PM Changeset in webkit [205216] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Some arith nodes are too pessimistic with the types supported on the fast path
https://bugs.webkit.org/show_bug.cgi?id=161410

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

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
DoubleRep is able to convert numbers, undefined, booleans and null.
I was too pessimistic when I gated the double implementations
on number-or-boolean speculation. We can just let DoubleRep convert
the other cases as long as it is not a Cell.

6:34 PM Changeset in webkit [205215] by Yusuke Suzuki
  • 2 edits in trunk/Source/bmalloc

Unreviewed, build fix for GCC ports

std::forward is declared in <utility> header.

  • bmalloc/ScopeExit.h:
6:28 PM Changeset in webkit [205214] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebCore

"pluginReplacementEnabled" should be a Setting, not a RuntimeEnabledFeature
https://bugs.webkit.org/show_bug.cgi?id=161416
<rdar://problem/28050847>

Patch by Ricky Mondello <Ricky Mondello> on 2016-08-30
Reviewed by Simon Fraser.

Mostly mechanical. Tested by running LayoutTests/plugins/quicktime-plugin-replacement.html and manually toggling
defaultPluginReplacementEnabled and observing a behavior change.

  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore::RuntimeEnabledFeatures::reset): Purged of the pluginReplacementEnabled setting.

  • bindings/generic/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setPluginReplacementEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::pluginReplacementEnabled): Deleted.

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::requestObject): Use the setting.

  • page/Settings.cpp: Supply different values for iOS and other platforms, matching the RuntimeEnabledFeature values,

enabled for iOS and disabled otherwise.

  • page/Settings.in: Declare the setting.
  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup): Use the setting.
(WebCore::InternalSettings::Backup::restoreTo): Ditto.
(WebCore::InternalSettings::setPluginReplacementEnabled): Ditto.

  • testing/InternalSettings.h: Can now throw an exception, like other Settings-backed members.
  • testing/InternalSettings.idl: Declare this as possibly throwing an exception.
5:37 PM Changeset in webkit [205213] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Try to fix the 32-bit build.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):

  • UIProcess/WebProcessProxy.h:
5:34 PM Changeset in webkit [205212] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk

YouTubePluginReplacementTest's URL transformation logic should have tests
https://bugs.webkit.org/show_bug.cgi?id=161406
<rdar://problem/28050847>

Patch by Ricky Mondello <Ricky Mondello> on 2016-08-30
Reviewed by Eric Carlson.

Source/WebCore:

Refactor most of YouTubePluginReplacement::youTubeURL into a static method that can be used by TestWebKitAPI.

  • Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::YouTubePluginReplacement::youTubeURL): Now implemented in terms of youTubeURLFromAbsoluteURL.
(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL): Absorbs most of youTubeURL.

  • Modules/plugins/YouTubePluginReplacement.h: Declare a public method, for the benefit of testing.
  • WebCore.xcodeproj/project.pbxproj: Make some heads private for TestWebKitAPI's benefit.

Tools:

Add some very basic tests. Future patches should expand on these to find and fix bugs.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add YouTubePluginReplacement.cpp.
  • TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp: Added.

(TestWebKitAPI::test): Added.
(TestWebKitAPI::TEST_F): Added.

5:27 PM Changeset in webkit [205211] by commit-queue@webkit.org
  • 7 edits
    3 adds in trunk

Web Inspector: Add resource timing model with timing information
https://bugs.webkit.org/show_bug.cgi?id=161314

Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-08-30
Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

Add a resource timing data model and populate it with info from the
response from the backend.

  • UserInterface/Controllers/FrameResourceManager.js:

(WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse):
Forward timing data from response to Resource.js.

  • UserInterface/Main.html: Add new ResourceTimingData.js.
  • UserInterface/Test.html: Add new ResourceTimingData.js.
  • UserInterface/Models/Resource.js:

(WebInspector.Resource): Instantiate ResourceTimingData object.

(WebInspector.Resource.prototype.get timing):
(WebInspector.Resource.prototype.get firstTimestamp):
(WebInspector.Resource.prototype.get lastTimestamp):
(WebInspector.Resource.prototype.get duration):
(WebInspector.Resource.prototype.get latency):
(WebInspector.Resource.prototype.get receiveDuration):
Update getters to use new timing model.

(WebInspector.Resource.prototype.updateForResponse):
Update timing object with info from response.

(WebInspector.Resource.prototype.markAsFinished):
Log response end time.

  • UserInterface/Models/ResourceTimelineRecord.js:

(WebInspector.ResourceTimelineRecord.prototype.get startTime):
(WebInspector.ResourceTimelineRecord.prototype.get activeStartTime):
(WebInspector.ResourceTimelineRecord.prototype.get endTime):
Update getters to use new timing model.

  • UserInterface/Models/ResourceTimingData.js: Added.

(WebInspector.ResourceTimingData):
(WebInspector.ResourceTimingData.fromPayload):
(WebInspector.ResourceTimingData.prototype.get startTime):
(WebInspector.ResourceTimingData.prototype.get domainLookupStart):
(WebInspector.ResourceTimingData.prototype.get domainLookupEnd):
(WebInspector.ResourceTimingData.prototype.get connectStart):
(WebInspector.ResourceTimingData.prototype.get connectEnd):
(WebInspector.ResourceTimingData.prototype.get secureConnectionStart):
(WebInspector.ResourceTimingData.prototype.get requestStart):
(WebInspector.ResourceTimingData.prototype.get responseStart):
(WebInspector.ResourceTimingData.prototype.get responseEnd):
(WebInspector.ResourceTimingData.prototype.markResponseEndTime):
Add new ResourceTimingData model and fall back on old timestamps
for when data is unavailable.

LayoutTests:

Add tests for the Resource Timing Data model.

  • http/tests/inspector/network/resource-timing-expected.txt: Added.
  • http/tests/inspector/network/resource-timing.html: Added.
5:15 PM Changeset in webkit [205210] by ggaren@apple.com
  • 4 edits
    1 add in trunk/Source/bmalloc

bmalloc: speed up the lock slow path
https://bugs.webkit.org/show_bug.cgi?id=161058

Unreviewed roll-in - with regression fixed.

Revert to using yield() instead of swtch() because very low priority
background tasks can cause priority inversion and deadlock. In the
network process, that happened with com.apple.WebKit.Cache.Storage.serialBackground.

Still a big speedup on MallocBench.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/ScopeExit.h: Added.

(bmalloc::ScopeExit::ScopeExit):
(bmalloc::ScopeExit::~ScopeExit):
(bmalloc::makeScopeExit):

  • bmalloc/StaticMutex.cpp:

(bmalloc::StaticMutex::lockSlowCase):

  • bmalloc/StaticMutex.h:

(bmalloc::StaticMutex::init):

5:11 PM Changeset in webkit [205209] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Switch more messages over to Connection::sendWithReply
https://bugs.webkit.org/show_bug.cgi?id=161415

Reviewed by Tim Horton.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::processWillShutDown):
(WebKit::WebProcessProxy::canTerminateChildProcess):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::generateCallbackID): Deleted.
(WebKit::WebProcessProxy::didDeleteWebsiteData): Deleted.
(WebKit::WebProcessProxy::didDeleteWebsiteDataForOrigins): Deleted.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::deleteWebsiteData):
(WebKit::WebProcess::deleteWebsiteDataForOrigins):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
4:01 PM Changeset in webkit [205208] by Chris Dumez
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix build after r205205.

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorSetPrototypeOf):

3:59 PM Changeset in webkit [205207] by andersca@apple.com
  • 12 edits in trunk/Source/WebKit2

Add Connection::sendWithReply
https://bugs.webkit.org/show_bug.cgi?id=161399

Reviewed by Tim Horton.

Connection::sendWithReply makes it easy to send a message and process its reply asynchronously on a given WorkQueue or RunLoop.
The reply handler is guaranteed to be called. If the reply is successfully received, it will consist of an std::tuple with the arguments,
otherwise it will be called with Nullopt.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::invalidate):
Go through all reply handlers and dispatch them with a null Decoder.

(IPC::Connection::sendMessageWithReply):
Add the reply handler to the m_replyHandlers hash map, and send the message.

(IPC::Connection::processIncomingSyncReply):
Check if the incoming reply has an entry in m_replyHandlers. If it does, dispatch its handler using the given dispatcher.

(IPC::Connection::connectionDidClose):
Go through all reply handlers and dispatch them with a null Decoder.

  • Platform/IPC/Connection.h:

(IPC::Connection::sendWithReply):
Encode the message (we use the sync message ID infrastructure for this), then call sendMessageWithReply with a reply handler that
decodes the reply and calls the real reply handler.

  • Platform/IPC/HandleMessage.h:

Forward declare Connection.

  • UIProcess/Databases/DatabaseProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.h:

Forward declare WebsiteData.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::processWillShutDown):
Remove m_pendingFetchWebsiteDataCallbacks.

(WebKit::WebProcessProxy::fetchWebsiteData):
Use Connection::sendWithReply.

(WebKit::WebProcessProxy::didFetchWebsiteData): Deleted.

  • UIProcess/WebProcessProxy.h:

Remove members.

  • UIProcess/WebProcessProxy.messages.in:

Remove DidFetchWebsiteData.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::fetchWebsiteData):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:

Update the FetchWebsiteData message to have a reply parameter.

3:54 PM Changeset in webkit [205206] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Move some code from MathMLElement to MathMLPresentationElement
https://bugs.webkit.org/show_bug.cgi?id=161377

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-30
Reviewed by Darin Adler.

The following code is only used in presentation MathML classes. We then move it from
MathMLElement to MathMLPresentationElement:

  • testing whether a child is a phrasing/flow element.
  • parsing of length attributes.
  • parsing of boolean attributes.
  • parsing of mathvariant attributes.

No new tests, already covered by existing tests.

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::isPhrasingContent): Deleted.
(WebCore::MathMLElement::isFlowContent): Deleted.
(WebCore::MathMLElement::parseNumberAndUnit): Deleted.
(WebCore::MathMLElement::parseNamedSpace): Deleted.
(WebCore::MathMLElement::parseMathMLLength): Deleted.
(WebCore::MathMLElement::cachedMathMLLength): Deleted.
(WebCore::MathMLElement::cachedBooleanAttribute): Deleted.
(WebCore::MathMLElement::parseMathVariantAttribute): Deleted.
(WebCore::MathMLElement::specifiedDisplayStyle): Deleted.
(WebCore::MathMLElement::specifiedMathVariant): Deleted.

  • mathml/MathMLElement.h:

(WebCore::MathMLElement::specifiedDisplayStyle):
(WebCore::MathMLElement::specifiedMathVariant):
(WebCore::MathMLElement::acceptsDisplayStyleAttribute): Deleted.
(WebCore::MathMLElement::acceptsMathVariantAttribute): Deleted.
(WebCore::MathMLElement::toOptionalBool): Deleted.

  • mathml/MathMLPresentationElement.cpp:

(WebCore::MathMLPresentationElement::isPhrasingContent):
(WebCore::MathMLPresentationElement::isFlowContent):
(WebCore::MathMLPresentationElement::cachedBooleanAttribute):
(WebCore::MathMLPresentationElement::parseNumberAndUnit):
(WebCore::MathMLPresentationElement::parseNamedSpace):
(WebCore::MathMLPresentationElement::parseMathMLLength):
(WebCore::MathMLPresentationElement::cachedMathMLLength):
(WebCore::MathMLPresentationElement::specifiedDisplayStyle):
(WebCore::MathMLPresentationElement::parseMathVariantAttribute):
(WebCore::MathMLPresentationElement::specifiedMathVariant):

  • mathml/MathMLPresentationElement.h:

(WebCore::MathMLPresentationElement::toOptionalBool):
(WebCore::MathMLPresentationElement::acceptsMathVariantAttribute):

3:49 PM Changeset in webkit [205205] by Chris Dumez
  • 5 edits in trunk

Object.setPrototypeOf() should throw when used on a cross-origin Window / Location object
https://bugs.webkit.org/show_bug.cgi?id=161396

Reviewed by Ryosuke Niwa.

Source/JavaScriptCore:

Object.setPrototypeOf() should throw when used on a cross-origin Window / Location object:

Firefox and Chrome already throw. However, WebKit merely ignores the call and logs an error message.

Note that technically, we should also throw in the same origin case.
However, not all browsers agree on this yet so I haven't not changed
the behavior for the same origin case.

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorSetPrototypeOf):

LayoutTests:

Update / rebaseline existing test to reflect behavior change.

  • http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
  • http/tests/security/cross-frame-access-object-setPrototypeOf.html:
3:43 PM Changeset in webkit [205204] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Clean up the remaining compare nodes in FTLCapabilities
https://bugs.webkit.org/show_bug.cgi?id=161400

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

It looks like we implemented all the cases without realizing it.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compare):

3:42 PM Changeset in webkit [205203] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, update iOS simulator WK1 flaky tests.

  • platform/ios-simulator-wk1/TestExpectations:
3:29 PM Changeset in webkit [205202] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

Introduce a MathMLUnknownElement class
https://bugs.webkit.org/show_bug.cgi?id=161298

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-30
Reviewed by Darin Adler.

Source/WebCore:

For consistency with SVG and HTML, we make MathML elements use a
fallback MathMLUnknownElement class. Like SVG, we ensure that unknown
MathML elements do not create any renderer.

Test: mathml/mathml-unknown.xhtml

  • mathml/MathMLUnknownElement.h: Added. This is a simple class for

unknown MathML elements, preventing the creation of renderers.

  • mathml/mathtags.in: Map fallbackInterfaceName to MathMLUnknownElement.

LayoutTests:

We add a test to check that non-standard or content MathML elements
are handled by MathMLUnknownElement and so do not create renderers.

  • mathml/mathml-unknown-expected.txt: Added.
  • mathml/mathml-unknown.xhtml: Added.
3:28 PM Changeset in webkit [205201] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix runtime error caused by missing export after https://bugs.webkit.org/show_bug.cgi?id=160846

Rubberstamped by Dan Bernstein.

  • UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm:
3:24 PM Changeset in webkit [205200] by Chris Dumez
  • 7 edits in trunk

Delete should throw for cross-origin Window / Location objects
https://bugs.webkit.org/show_bug.cgi?id=161397

Reviewed by Ryosuke Niwa.

Source/WebCore:

Delete should throw for cross-origin Window / Location objects:

Firefox and Chrome already throw. Previously, WebKit was merely
ignoring the call and logging an error message.

No new tests, updated existing test.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::deleteProperty):
(WebCore::JSDOMWindow::deletePropertyByIndex):

  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::deleteProperty):
(WebCore::JSLocation::deletePropertyByIndex):

LayoutTests:

Update / rebaseline existing test to reflect behavior change.

  • http/tests/security/cross-frame-access-delete-expected.txt:
  • http/tests/security/cross-frame-access-delete.html:
  • http/tests/security/resources/cross-frame-iframe-for-delete-test.html:
3:23 PM Changeset in webkit [205199] by beidson@apple.com
  • 13 edits
    1 copy
    1 move
    5 adds in trunk

GameController.framework backend for gamepad API.
https://bugs.webkit.org/show_bug.cgi?id=161086

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Native framework backends not directly testable)

  • WebCore.xcodeproj/project.pbxproj:
  • platform/gamepad/cocoa/GameControllerGamepad.h: Copied from Source/WebKit2/UIProcess/Gamepad/mac/UIGamepadProviderHID.cpp.
  • platform/gamepad/cocoa/GameControllerGamepad.mm: Added.

(WebCore::GameControllerGamepad::GameControllerGamepad):
(WebCore::GameControllerGamepad::setupAsExtendedGamepad):
(WebCore::GameControllerGamepad::setupAsGamepad):

  • platform/gamepad/cocoa/GameControllerGamepadProvider.h: Added.
  • platform/gamepad/cocoa/GameControllerGamepadProvider.mm: Added.

(WebCore::GameControllerGamepadProvider::singleton):
(WebCore::GameControllerGamepadProvider::GameControllerGamepadProvider):
(WebCore::GameControllerGamepadProvider::controllerDidConnect):
(WebCore::GameControllerGamepadProvider::controllerDidDisconnect):
(WebCore::GameControllerGamepadProvider::startMonitoringGamepads):
(WebCore::GameControllerGamepadProvider::stopMonitoringGamepads):
(WebCore::GameControllerGamepadProvider::indexForNewlyConnectedDevice):
(WebCore::GameControllerGamepadProvider::gamepadHadInput):
(WebCore::GameControllerGamepadProvider::makeInvisibileGamepadsVisible):
(WebCore::GameControllerGamepadProvider::inputNotificationTimerFired):

Source/WebKit2:

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(+[WKProcessPool _forceGameControllerFramework]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/Gamepad/UIGamepadProvider.h:
  • UIProcess/Gamepad/cocoa/UIGamepadProviderCocoa.mm: Renamed from Source/WebKit2/UIProcess/Gamepad/mac/UIGamepadProviderHID.cpp.

(WebKit::UIGamepadProvider::setUsesGameControllerFramework):
(WebKit::UIGamepadProvider::platformSetDefaultGamepadProvider):
(WebKit::UIGamepadProvider::platformStopMonitoringInput):
(WebKit::UIGamepadProvider::platformStartMonitoringInput):

  • WebKit2.xcodeproj/project.pbxproj:

Source/WTF:

  • wtf/RunLoop.h:

(WTF::RunLoop::TimerBase::startOneShot):

Tools:

  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate awakeFromNib]):

  • MiniBrowser/mac/SettingsController.h:
  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController usesGameControllerFramework]):
(-[SettingsController toggleUsesGameControllerFramework:]):

1:54 PM Changeset in webkit [205198] by mark.lam@apple.com
  • 204 edits
    3 adds in trunk/Source

Introduce the ThrowScope and force every throw site to instantiate a ThrowScope.
https://bugs.webkit.org/show_bug.cgi?id=161171

Reviewed by Filip Pizlo and Geoffrey Garen.

Source/JavaScriptCore:

This is the first step towards having a mechanism (using the ThrowScope) to
verify that we're properly checking for exceptions in all the needed places.
See comments at the top of ThrowScope.cpp for details on how the ThrowScope works.

This patch only introduces the ThrowScope, and changes all throw sites to throw
using a ThrowScope instance. VM::throwException() functions are now private, and
cannot be accessed directly. All throws must now go through a ThrowScope.

Verification is disabled for the moment until we can fix all the verification
failures that will show up.

I also did a smoke test of the ThrowScope mechanisms by running verification on
the JSTests/stress/op-add-exceptions.js test with a local build with verification
turned on.

Performance is neutral on aggregate with this patch.

Misc other changes:

  • deleted the unused CALL_THROW() macro from LLIntSlowPaths.cpp.
  • moved createListFromArrayLike() from JSObject.h to JSObjectInlines.h.
  • API/APICallbackFunction.h:

(JSC::APICallbackFunction::call):
(JSC::APICallbackFunction::construct):

  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
(JSC::JSCallbackObject<Parent>::defaultValue):
(JSC::JSCallbackObject<Parent>::put):
(JSC::JSCallbackObject<Parent>::putByIndex):
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::construct):
(JSC::JSCallbackObject<Parent>::customHasInstance):
(JSC::JSCallbackObject<Parent>::call):
(JSC::JSCallbackObject<Parent>::getStaticValue):
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):

  • API/JSTypedArray.cpp:

(createTypedArray):

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGOperations.cpp:

(JSC::DFG::newTypedArrayWithSize):

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::evaluateWithScopeExtension):

  • inspector/JSInjectedScriptHostPrototype.cpp:

(Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate):
(Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName):
(Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries):
(Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries):
(Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension):
(Inspector::jsInjectedScriptHostPrototypeFunctionSubtype):
(Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails):
(Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties):

  • inspector/JSJavaScriptCallFrame.cpp:

(Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension):

  • inspector/JSJavaScriptCallFramePrototype.cpp:

(Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension):
(Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions):
(Inspector::jsJavaScriptCallFrameAttributeCaller):
(Inspector::jsJavaScriptCallFrameAttributeSourceID):
(Inspector::jsJavaScriptCallFrameAttributeLine):
(Inspector::jsJavaScriptCallFrameAttributeColumn):
(Inspector::jsJavaScriptCallFrameAttributeFunctionName):
(Inspector::jsJavaScriptCallFrameAttributeScopeChain):
(Inspector::jsJavaScriptCallFrameAttributeThisObject):
(Inspector::jsJavaScriptCallFrameAttributeType):
(Inspector::jsJavaScriptCallFrameIsTailDeleted):

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):

  • interpreter/Interpreter.cpp:

(JSC::eval):
(JSC::sizeOfVarargs):
(JSC::sizeFrameForForwardArguments):
(JSC::sizeFrameForVarargs):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):

  • jit/JITOperations.cpp:
  • jsc.cpp:

(WTF::CustomGetter::customGetter):
(WTF::RuntimeArray::lengthGetter):
(functionCreateElement):
(functionRun):
(functionRunString):
(functionLoad):
(functionLoadString):
(functionReadFile):
(functionCheckSyntax):
(functionTransferArrayBuffer):
(functionLoadModule):
(functionCheckModuleSyntax):
(functionSamplingProfilerStackTraces):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::getByVal):
(JSC::LLInt::handleHostCall):
(JSC::LLInt::setUpCall):
(JSC::LLInt::llint_throw_stack_overflow_error):

  • runtime/ArrayConstructor.cpp:

(JSC::constructArrayWithSizeQuirk):

  • runtime/ArrayConstructor.h:

(JSC::isArray):

  • runtime/ArrayPrototype.cpp:

(JSC::shift):
(JSC::unshift):
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncSplice):
(JSC::concatAppendOne):
(JSC::arrayProtoPrivateFuncConcatMemcpy):

  • runtime/BooleanPrototype.cpp:

(JSC::booleanProtoFuncToString):
(JSC::booleanProtoFuncValueOf):

  • runtime/CommonSlowPaths.cpp:
  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::opIn):

  • runtime/CommonSlowPathsExceptions.cpp:

(JSC::CommonSlowPaths::interpreterThrowInCaller):

  • runtime/ConstructData.cpp:

(JSC::construct):

  • runtime/DatePrototype.cpp:

(JSC::formateDateInstance):
(JSC::dateProtoFuncToISOString):
(JSC::dateProtoFuncToLocaleString):
(JSC::dateProtoFuncToLocaleDateString):
(JSC::dateProtoFuncToLocaleTimeString):
(JSC::dateProtoFuncToPrimitiveSymbol):
(JSC::dateProtoFuncGetTime):
(JSC::dateProtoFuncGetFullYear):
(JSC::dateProtoFuncGetUTCFullYear):
(JSC::dateProtoFuncGetMonth):
(JSC::dateProtoFuncGetUTCMonth):
(JSC::dateProtoFuncGetDate):
(JSC::dateProtoFuncGetUTCDate):
(JSC::dateProtoFuncGetDay):
(JSC::dateProtoFuncGetUTCDay):
(JSC::dateProtoFuncGetHours):
(JSC::dateProtoFuncGetUTCHours):
(JSC::dateProtoFuncGetMinutes):
(JSC::dateProtoFuncGetUTCMinutes):
(JSC::dateProtoFuncGetSeconds):
(JSC::dateProtoFuncGetUTCSeconds):
(JSC::dateProtoFuncGetMilliSeconds):
(JSC::dateProtoFuncGetUTCMilliseconds):
(JSC::dateProtoFuncGetTimezoneOffset):
(JSC::dateProtoFuncSetTime):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetYear):
(JSC::dateProtoFuncGetYear):
(JSC::dateProtoFuncToJSON):

  • runtime/Error.cpp:

(JSC::throwConstructorCannotBeCalledAsFunctionTypeError):
(JSC::throwTypeError):
(JSC::throwSyntaxError):

  • runtime/Error.h:

(JSC::throwRangeError):
(JSC::throwVMError):
(JSC::throwVMTypeError):
(JSC::throwVMRangeError):
(JSC::StrictModeTypeErrorFunction::constructThrowTypeError):
(JSC::StrictModeTypeErrorFunction::callThrowTypeError):

  • runtime/ErrorPrototype.cpp:

(JSC::errorProtoFuncToString):

  • runtime/ExceptionFuzz.cpp:

(JSC::doExceptionFuzzing):

  • runtime/ExceptionHelpers.cpp:

(JSC::throwOutOfMemoryError):
(JSC::throwStackOverflowError):
(JSC::throwTerminatedExecutionException):

  • runtime/ExceptionHelpers.h:
  • runtime/Executable.cpp:

(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::EvalExecutable::create):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunction):
(JSC::constructFunctionSkippingEvalEnabledCheck):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncToString):
(JSC::functionProtoFuncBind):

  • runtime/GetterSetter.cpp:

(JSC::callSetter):

  • runtime/IntlCollator.cpp:

(JSC::IntlCollator::compareStrings):

  • runtime/IntlCollatorPrototype.cpp:

(JSC::IntlCollatorPrototypeGetterCompare):
(JSC::IntlCollatorPrototypeFuncResolvedOptions):

  • runtime/IntlDateTimeFormat.cpp:

(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
(JSC::IntlDateTimeFormat::format):

  • runtime/IntlDateTimeFormatPrototype.cpp:

(JSC::IntlDateTimeFormatPrototypeGetterFormat):
(JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions):

  • runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::initializeNumberFormat):
(JSC::IntlNumberFormat::formatNumber):

  • runtime/IntlNumberFormatPrototype.cpp:

(JSC::IntlNumberFormatPrototypeGetterFormat):
(JSC::IntlNumberFormatPrototypeFuncResolvedOptions):

  • runtime/IntlObject.cpp:

(JSC::intlStringOption):
(JSC::intlNumberOption):
(JSC::canonicalizeLocaleList):
(JSC::lookupSupportedLocales):

  • runtime/IteratorOperations.cpp:

(JSC::iteratorNext):
(JSC::iteratorClose):
(JSC::createIteratorResultObject):
(JSC::iteratorForIterable):

  • runtime/JSArray.cpp:

(JSC::JSArray::defineOwnProperty):
(JSC::JSArray::put):
(JSC::JSArray::appendMemcpy):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::unshiftCountWithArrayStorage):
(JSC::JSArray::unshiftCountWithAnyIndexingType):

  • runtime/JSArrayBufferConstructor.cpp:

(JSC::constructArrayBuffer):
(JSC::callArrayBuffer):

  • runtime/JSArrayBufferPrototype.cpp:

(JSC::arrayBufferProtoFuncSlice):

  • runtime/JSCInlines.h:
  • runtime/JSCJSValue.cpp:

(JSC::JSValue::toObjectSlowCase):
(JSC::JSValue::synthesizePrototype):
(JSC::JSValue::putToPrimitive):
(JSC::JSValue::putToPrimitiveByIndex):
(JSC::JSValue::toStringSlowCase):

  • runtime/JSCJSValueInlines.h:

(JSC::toPreferredPrimitiveType):
(JSC::JSValue::requireObjectCoercible):

  • runtime/JSDataView.cpp:

(JSC::JSDataView::create):

  • runtime/JSDataViewPrototype.cpp:

(JSC::getData):
(JSC::setData):
(JSC::dataViewProtoGetterBuffer):
(JSC::dataViewProtoGetterByteLength):
(JSC::dataViewProtoGetterByteOffset):

  • runtime/JSFunction.cpp:

(JSC::callHostFunctionAsConstructor):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):

  • runtime/JSGenericTypedArrayView.h:

(JSC::JSGenericTypedArrayView::setIndex):

  • runtime/JSGenericTypedArrayViewConstructorInlines.h:

(JSC::constructGenericTypedArrayViewFromIterator):
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayView):
(JSC::callGenericTypedArrayView):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::create):
(JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized):
(JSC::JSGenericTypedArrayView<Adaptor>::validateRange):
(JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError):

  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:

(JSC::speciesConstruct):
(JSC::genericTypedArrayViewProtoFuncSet):
(JSC::genericTypedArrayViewProtoFuncCopyWithin):
(JSC::genericTypedArrayViewProtoFuncIncludes):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
(JSC::genericTypedArrayViewProtoGetterFuncBuffer):
(JSC::genericTypedArrayViewProtoGetterFuncLength):
(JSC::genericTypedArrayViewProtoGetterFuncByteLength):
(JSC::genericTypedArrayViewProtoGetterFuncByteOffset):
(JSC::genericTypedArrayViewProtoFuncReverse):
(JSC::genericTypedArrayViewPrivateFuncSort):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::createEvalCodeBlock):
(JSC::JSGlobalObject::createModuleProgramCodeBlock):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::encode):
(JSC::decode):
(JSC::globalFuncEval):
(JSC::globalFuncThrowTypeError):
(JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller):
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):

  • runtime/JSModuleEnvironment.cpp:

(JSC::JSModuleEnvironment::put):

  • runtime/JSModuleNamespaceObject.cpp:

(JSC::JSModuleNamespaceObject::getOwnPropertySlot):
(JSC::JSModuleNamespaceObject::put):
(JSC::JSModuleNamespaceObject::putByIndex):
(JSC::JSModuleNamespaceObject::defineOwnProperty):
(JSC::moduleNamespaceObjectSymbolIterator):

  • runtime/JSModuleRecord.cpp:

(JSC::JSModuleRecord::getModuleNamespace):
(JSC::JSModuleRecord::link):
(JSC::JSModuleRecord::instantiateDeclarations):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::appendStringifiedValue):
(JSC::Walker::walk):
(JSC::JSONProtoFuncParse):
(JSC::JSONProtoFuncStringify):

  • runtime/JSObject.cpp:

(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::callToPrimitiveFunction):
(JSC::JSObject::ordinaryToPrimitive):
(JSC::JSObject::hasInstance):
(JSC::JSObject::defaultHasInstance):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::validateAndApplyPropertyDescriptor):
(JSC::JSObject::getMethod):

  • runtime/JSObject.h:

(JSC::createListFromArrayLike): Deleted.

  • runtime/JSObjectInlines.h:

(JSC::createListFromArrayLike):
(JSC::JSObject::putInline):

  • runtime/JSPromiseConstructor.cpp:

(JSC::constructPromise):
(JSC::callPromise):

  • runtime/JSPropertyNameIterator.cpp:

(JSC::propertyNameIteratorFuncNext):

  • runtime/JSString.cpp:

(JSC::JSRopeString::outOfMemory):

  • runtime/JSStringBuilder.h:

(JSC::JSStringBuilder::build):
(JSC::jsMakeNontrivialString):

  • runtime/JSStringJoiner.cpp:

(JSC::JSStringJoiner::joinedLength):
(JSC::JSStringJoiner::join):

  • runtime/JSStringJoiner.h:

(JSC::JSStringJoiner::JSStringJoiner):

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTablePut):

  • runtime/JSTypedArrayViewConstructor.cpp:

(JSC::constructTypedArrayView):

  • runtime/JSTypedArrayViewPrototype.cpp:

(JSC::typedArrayViewPrivateFuncLength):
(JSC::typedArrayViewPrivateFuncSort):
(JSC::typedArrayViewProtoFuncSet):
(JSC::typedArrayViewProtoFuncCopyWithin):
(JSC::typedArrayViewProtoFuncIncludes):
(JSC::typedArrayViewProtoFuncLastIndexOf):
(JSC::typedArrayViewProtoFuncIndexOf):
(JSC::typedArrayViewProtoFuncJoin):
(JSC::typedArrayViewProtoGetterFuncBuffer):
(JSC::typedArrayViewProtoGetterFuncLength):
(JSC::typedArrayViewProtoGetterFuncByteLength):
(JSC::typedArrayViewProtoGetterFuncByteOffset):
(JSC::typedArrayViewProtoFuncReverse):
(JSC::typedArrayViewPrivateFuncSubarrayCreate):
(JSC::typedArrayViewProtoFuncSlice):

  • runtime/MapConstructor.cpp:

(JSC::callMap):
(JSC::constructMap):

  • runtime/MapDataInlines.h:

(JSC::JSIterator>::ensureSpaceForAppend):

  • runtime/MapIteratorPrototype.cpp:

(JSC::MapIteratorPrototypeFuncNext):

  • runtime/MapPrototype.cpp:

(JSC::getMap):
(JSC::mapProtoFuncValues):
(JSC::mapProtoFuncEntries):
(JSC::mapProtoFuncKeys):

  • runtime/ModuleLoaderPrototype.cpp:

(JSC::moduleLoaderPrototypeParseModule):

  • runtime/NullSetterFunction.cpp:

(JSC::callReturnUndefined):

  • runtime/NumberPrototype.cpp:

(JSC::numberProtoFuncToExponential):
(JSC::numberProtoFuncToFixed):
(JSC::numberProtoFuncToPrecision):
(JSC::numberProtoFuncToString):
(JSC::numberProtoFuncToLocaleString):
(JSC::numberProtoFuncValueOf):

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorSetPrototypeOf):
(JSC::toPropertyDescriptor):
(JSC::objectConstructorDefineProperty):
(JSC::objectConstructorDefineProperties):
(JSC::objectConstructorCreate):

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncToString):

  • runtime/Operations.h:

(JSC::jsString):
(JSC::jsStringFromRegisterArray):
(JSC::jsStringFromArguments):

  • runtime/ProxyConstructor.cpp:

(JSC::makeRevocableProxy):
(JSC::proxyRevocableConstructorThrowError):
(JSC::constructProxyObject):
(JSC::callProxy):

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::finishCreation):
(JSC::performProxyGet):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::getOwnPropertySlotCommon):
(JSC::ProxyObject::performPut):
(JSC::performProxyCall):
(JSC::performProxyConstruct):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):
(JSC::ProxyObject::performDefineOwnProperty):
(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performSetPrototype):
(JSC::ProxyObject::performGetPrototype):

  • runtime/ReflectObject.cpp:

(JSC::reflectObjectConstruct):
(JSC::reflectObjectDefineProperty):
(JSC::reflectObjectEnumerate):
(JSC::reflectObjectGet):
(JSC::reflectObjectGetOwnPropertyDescriptor):
(JSC::reflectObjectGetPrototypeOf):
(JSC::reflectObjectIsExtensible):
(JSC::reflectObjectOwnKeys):
(JSC::reflectObjectPreventExtensions):
(JSC::reflectObjectSet):
(JSC::reflectObjectSetPrototypeOf):

  • runtime/RegExpConstructor.cpp:

(JSC::toFlags):
(JSC::regExpCreate):

  • runtime/RegExpObject.cpp:

(JSC::collectMatches):

  • runtime/RegExpObject.h:

(JSC::RegExpObject::setLastIndex):

  • runtime/RegExpPrototype.cpp:

(JSC::regExpProtoFuncTestFast):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncMatchFast):
(JSC::regExpProtoFuncCompile):
(JSC::regExpProtoFuncToString):
(JSC::regExpProtoGetterGlobal):
(JSC::regExpProtoGetterIgnoreCase):
(JSC::regExpProtoGetterMultiline):
(JSC::regExpProtoGetterSticky):
(JSC::regExpProtoGetterUnicode):
(JSC::regExpProtoGetterFlags):
(JSC::regExpProtoGetterSource):
(JSC::regExpProtoFuncSplitFast):

  • runtime/Reject.h:

(JSC::reject):

  • runtime/SetConstructor.cpp:

(JSC::callSet):
(JSC::constructSet):

  • runtime/SetIteratorPrototype.cpp:

(JSC::SetIteratorPrototypeFuncNext):

  • runtime/SetPrototype.cpp:

(JSC::getSet):
(JSC::setProtoFuncValues):
(JSC::setProtoFuncEntries):

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayValueMap::putEntry):
(JSC::SparseArrayEntry::put):

  • runtime/StringConstructor.cpp:

(JSC::stringFromCodePoint):

  • runtime/StringObject.cpp:

(JSC::StringObject::put):
(JSC::StringObject::putByIndex):

  • runtime/StringPrototype.cpp:

(JSC::jsSpliceSubstrings):
(JSC::jsSpliceSubstringsWithSeparators):
(JSC::repeatCharacter):
(JSC::replace):
(JSC::stringProtoFuncToString):
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):
(JSC::stringProtoFuncCodePointAt):
(JSC::stringProtoFuncConcat):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncLastIndexOf):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
(JSC::stringProtoFuncLocaleCompare):
(JSC::toLocaleCase):
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):
(JSC::trimString):
(JSC::stringProtoFuncStartsWith):
(JSC::stringProtoFuncEndsWith):
(JSC::stringProtoFuncIncludes):
(JSC::stringProtoFuncIterator):
(JSC::normalize):
(JSC::stringProtoFuncNormalize):

  • runtime/StringRecursionChecker.cpp:

(JSC::StringRecursionChecker::throwStackOverflowError):

  • runtime/Symbol.cpp:

(JSC::Symbol::toNumber):

  • runtime/SymbolConstructor.cpp:

(JSC::symbolConstructorKeyFor):

  • runtime/SymbolPrototype.cpp:

(JSC::symbolProtoFuncToString):
(JSC::symbolProtoFuncValueOf):

  • runtime/ThrowScope.cpp: Added.

(JSC::ThrowScope::ThrowScope):
(JSC::ThrowScope::~ThrowScope):
(JSC::ThrowScope::throwException):
(JSC::ThrowScope::printIfNeedCheck):
(JSC::ThrowScope::simulateThrow):
(JSC::ThrowScope::verifyExceptionCheckNeedIsSatisfied):

  • runtime/ThrowScope.h: Added.

(JSC::ThrowScope::vm):
(JSC::ThrowScope::exception):
(JSC::ThrowScope::release):
(JSC::ThrowScope::ThrowScope):
(JSC::ThrowScope::throwException):
(JSC::throwException):

  • runtime/ThrowScopeLocation.h: Added.

(JSC::ThrowScopeLocation::ThrowScopeLocation):

  • runtime/VM.h:
  • runtime/VMEntryScope.h:

(JSC::VMEntryScope::vm):

  • runtime/WeakMapConstructor.cpp:

(JSC::callWeakMap):
(JSC::constructWeakMap):

  • runtime/WeakMapPrototype.cpp:

(JSC::getWeakMapData):
(JSC::protoFuncWeakMapSet):

  • runtime/WeakSetConstructor.cpp:

(JSC::callWeakSet):
(JSC::constructWeakSet):

  • runtime/WeakSetPrototype.cpp:

(JSC::getWeakMapData):
(JSC::protoFuncWeakSetAdd):

Source/WebCore:

No new tests because this is only an internal API change. If it builds, it should be good.

  • bindings/js/JSApplePaySessionCustom.cpp:

(WebCore::JSApplePaySession::completeShippingMethodSelection):
(WebCore::JSApplePaySession::completeShippingContactSelection):
(WebCore::JSApplePaySession::completePaymentMethodSelection):

  • bindings/js/JSBlobCustom.cpp:

(WebCore::constructJSBlob):

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):

  • bindings/js/JSCryptoAlgorithmDictionary.cpp:

(WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier):
(WebCore::createAesCbcParams):
(WebCore::createAesKeyGenParams):
(WebCore::createHmacParams):
(WebCore::createHmacKeyParams):
(WebCore::createRsaKeyGenParams):
(WebCore::createRsaOaepParams):
(WebCore::createRsaSsaParams):

  • bindings/js/JSCryptoCustom.cpp:

(WebCore::JSCrypto::getRandomValues):

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::getJSArrayFromJSON):
(WebCore::getStringFromJSON):
(WebCore::getBooleanFromJSON):
(WebCore::getBigIntegerVectorFromJSON):
(WebCore::JSCryptoKeySerializationJWK::JSCryptoKeySerializationJWK):
(WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
(WebCore::tryJWKKeyOpsValue):
(WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
(WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence):
(WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents):
(WebCore::JSCryptoKeySerializationJWK::keyData):
(WebCore::addJWKAlgorithmToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):

  • bindings/js/JSCryptoOperationData.cpp:

(WebCore::cryptoOperationDataFromJSValue):

  • bindings/js/JSCustomElementInterface.cpp:

(WebCore::JSCustomElementInterface::upgradeElement):

  • bindings/js/JSCustomElementRegistryCustom.cpp:

(WebCore::getCustomElementCallback):
(WebCore::JSCustomElementRegistry::define):

  • bindings/js/JSDOMBinding.cpp:

(WebCore::setDOMException):
(WebCore::enforceRange):
(WebCore::toSmallerInt):
(WebCore::toSmallerUInt):
(WebCore::canAccessDocument):
(WebCore::throwTypeError):
(WebCore::throwNotSupportedError):
(WebCore::throwInvalidStateError):
(WebCore::throwSecurityError):
(WebCore::throwArgumentMustBeEnumError):
(WebCore::throwArgumentMustBeFunctionError):
(WebCore::throwArgumentTypeError):
(WebCore::throwArrayElementTypeError):
(WebCore::throwAttributeTypeError):
(WebCore::throwConstructorScriptExecutionContextUnavailableError):
(WebCore::throwSequenceTypeError):
(WebCore::throwNonFiniteTypeError):
(WebCore::throwGetterTypeError):
(WebCore::throwSetterTypeError):
(WebCore::throwThisTypeError):
(WebCore::callThrowTypeError):

  • bindings/js/JSDOMBinding.h:

(WebCore::toJSSequence):
(WebCore::toRefPtrNativeArray):
(WebCore::toNativeArray):

  • bindings/js/JSDOMConstructor.h:

(WebCore::JSDOMConstructorNotConstructable::callThrowTypeError):
(WebCore::JSBuiltinConstructor<JSClass>::callConstructor):

  • bindings/js/JSDOMConvert.h:

(WebCore::convertWrapperType):

  • bindings/js/JSDOMIterator.h:

(WebCore::iteratorCreate):
(WebCore::iteratorForEach):
(WebCore::JSDOMIteratorPrototype<JSWrapper>::next):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::JSDOMWindow::put):
(WebCore::JSDOMWindow::showModalDialog):
(WebCore::handlePostMessage):
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):

  • bindings/js/JSDataCueCustom.cpp:

(WebCore::constructJSDataCue):

  • bindings/js/JSDictionary.cpp:

(WebCore::JSDictionary::convertValue):

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::JSDocument::createTouchList):
(WebCore::JSDocument::getCSSCanvasContext):

  • bindings/js/JSFileCustom.cpp:

(WebCore::constructJSFile):

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::JSHTMLAllCollection::item):

  • bindings/js/JSHTMLCanvasElementCustom.cpp:

(WebCore::JSHTMLCanvasElement::getContext):
(WebCore::JSHTMLCanvasElement::probablySupportsContext):

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::open):

  • bindings/js/JSHTMLElementCustom.cpp:

(WebCore::constructJSHTMLElement):

  • bindings/js/JSHTMLFormControlsCollectionCustom.cpp:

(WebCore::JSHTMLFormControlsCollection::namedItem):

  • bindings/js/JSHTMLInputElementCustom.cpp:

(WebCore::JSHTMLInputElement::selectionStart):
(WebCore::JSHTMLInputElement::setSelectionStart):
(WebCore::JSHTMLInputElement::selectionEnd):
(WebCore::JSHTMLInputElement::setSelectionEnd):
(WebCore::JSHTMLInputElement::selectionDirection):
(WebCore::JSHTMLInputElement::setSelectionDirection):
(WebCore::JSHTMLInputElement::setSelectionRange):

  • bindings/js/JSHistoryCustom.cpp:

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

  • bindings/js/JSIDBDatabaseCustom.cpp:

(WebCore::JSIDBDatabase::createObjectStore):

  • bindings/js/JSImageConstructor.cpp:

(WebCore::JSImageConstructor::construct):

  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::getOwnPropertySlotDelegate):

  • bindings/js/JSMediaDevicesCustom.cpp:

(WebCore::JSMediaDevices::getUserMedia):

  • bindings/js/JSMediaStreamTrackCustom.cpp:

(WebCore::JSMediaStreamTrack::getSettings):
(WebCore::JSMediaStreamTrack::getCapabilities):

  • bindings/js/JSMessagePortCustom.cpp:

(WebCore::fillMessagePortArray):

  • bindings/js/JSMessagePortCustom.h:

(WebCore::handlePostMessage):

  • bindings/js/JSMockContentFilterSettingsCustom.cpp:

(WebCore::JSMockContentFilterSettings::setDecisionPoint):
(WebCore::toDecision):

  • bindings/js/JSModuleLoader.cpp:

(WebCore::JSModuleLoader::evaluate):

  • bindings/js/JSMutationObserverCustom.cpp:

(WebCore::constructJSMutationObserver):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::removeChild):
(WebCore::JSNode::appendChild):

  • bindings/js/JSNodeFilterCustom.cpp:

(WebCore::JSNodeFilter::acceptNode):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginElementPropertyGetter):

  • bindings/js/JSReadableStreamPrivateConstructors.cpp:

(WebCore::constructJSReadableStreamDefaultController):
(WebCore::constructJSReadableStreamDefaultReader):

  • bindings/js/JSSVGLengthCustom.cpp:

(WebCore::JSSVGLength::setValue):
(WebCore::JSSVGLength::convertToSpecifiedUnits):

  • bindings/js/JSWebGL2RenderingContextCustom.cpp:

(WebCore::JSWebGL2RenderingContext::getIndexedParameter):

  • bindings/js/JSWebGLRenderingContextBaseCustom.cpp:

(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContextBase::getAttachedShaders):
(WebCore::JSWebGLRenderingContextBase::getExtension):
(WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContextBase::getParameter):
(WebCore::JSWebGLRenderingContextBase::getProgramParameter):
(WebCore::JSWebGLRenderingContextBase::getShaderParameter):
(WebCore::JSWebGLRenderingContextBase::getUniform):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):

  • bindings/js/JSWebKitSubtleCryptoCustom.cpp:

(WebCore::cryptoKeyFormatFromJSValue):
(WebCore::cryptoKeyUsagesFromJSValue):
(WebCore::JSWebKitSubtleCrypto::encrypt):
(WebCore::JSWebKitSubtleCrypto::decrypt):
(WebCore::JSWebKitSubtleCrypto::sign):
(WebCore::JSWebKitSubtleCrypto::verify):
(WebCore::JSWebKitSubtleCrypto::digest):
(WebCore::JSWebKitSubtleCrypto::generateKey):
(WebCore::importKey):
(WebCore::JSWebKitSubtleCrypto::importKey):
(WebCore::exportKey):
(WebCore::JSWebKitSubtleCrypto::exportKey):
(WebCore::JSWebKitSubtleCrypto::wrapKey):
(WebCore::JSWebKitSubtleCrypto::unwrapKey):

  • bindings/js/JSWorkerCustom.cpp:

(WebCore::constructJSWorker):

  • bindings/js/JSWorkerGlobalScopeCustom.cpp:

(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):

  • bindings/js/ReadableStreamDefaultController.cpp:

(WebCore::ReadableStreamDefaultController::invoke):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneBase::throwStackOverflow):
(WebCore::CloneDeserializer::throwValidationError):
(WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::setException):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateEnumerationImplementationContent):
(GenerateDictionaryImplementationContent):
(GenerateOverloadedFunctionOrConstructor):
(GenerateImplementation):
(GenerateFunctionCastedThis):
(GenerateArgumentsCountCheck):
(GenerateParametersCheck):
(GenerateConstructorDefinition):

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

(WebCore::jsInterfaceNameConstructor):
(WebCore::setJSInterfaceNameConstructor):

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

(WebCore::jsTestActiveDOMObjectExcitingAttr):
(WebCore::jsTestActiveDOMObjectConstructor):
(WebCore::setJSTestActiveDOMObjectConstructor):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):

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

(WebCore::jsTestClassWithJSBuiltinConstructorConstructor):
(WebCore::setJSTestClassWithJSBuiltinConstructorConstructor):

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

(WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
(WebCore::setJSTestCustomConstructorWithNoInterfaceObjectConstructor):

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

(WebCore::jsTestCustomNamedGetterConstructor):
(WebCore::setJSTestCustomNamedGetterConstructor):
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):

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

(WebCore::JSTestEventConstructorConstructor::construct):
(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
(WebCore::jsTestEventConstructorAttr3):
(WebCore::jsTestEventConstructorConstructor):
(WebCore::setJSTestEventConstructorConstructor):

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

(WebCore::jsTestEventTargetConstructor):
(WebCore::setJSTestEventTargetConstructor):
(WebCore::jsTestEventTargetPrototypeFunctionItem):

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

(WebCore::jsTestExceptionName):
(WebCore::jsTestExceptionConstructor):
(WebCore::setJSTestExceptionConstructor):

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

(WebCore::jsTestGenerateIsReachableConstructor):
(WebCore::setJSTestGenerateIsReachableConstructor):

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

(WebCore::jsTestGlobalObjectRegularAttribute):
(WebCore::jsTestGlobalObjectPublicAndPrivateAttribute):
(WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute):
(WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute):
(WebCore::jsTestGlobalObjectConstructor):
(WebCore::setJSTestGlobalObjectConstructor):
(WebCore::setJSTestGlobalObjectRegularAttribute):
(WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute):
(WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute):
(WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute):
(WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation):
(WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction):

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

(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr):
(WebCore::jsTestInterfaceConstructorImplementsStaticAttr):
(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
(WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::jsTestInterfaceSupplementalNode):
(WebCore::jsTestInterfaceConstructor):
(WebCore::setJSTestInterfaceConstructor):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
(WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
(WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4):

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

(WebCore::jsTestIterableConstructor):
(WebCore::setJSTestIterableConstructor):

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

(WebCore::jsTestJSBuiltinConstructorTestAttributeCustom):
(WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom):
(WebCore::jsTestJSBuiltinConstructorConstructor):
(WebCore::setJSTestJSBuiltinConstructorConstructor):
(WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom):
(WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction):

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

(WebCore::jsTestMediaQueryListListenerConstructor):
(WebCore::setJSTestMediaQueryListListenerConstructor):
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):

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

(WebCore::JSTestNamedConstructorNamedConstructor::construct):
(WebCore::jsTestNamedConstructorConstructor):
(WebCore::setJSTestNamedConstructorConstructor):

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

(WebCore::JSTestNodeConstructor::construct):
(WebCore::jsTestNodeName):
(WebCore::jsTestNodeConstructor):
(WebCore::setJSTestNodeConstructor):
(WebCore::setJSTestNodeName):

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

(WebCore::jsTestNondeterministicNondeterministicReadonlyAttr):
(WebCore::jsTestNondeterministicNondeterministicWriteableAttr):
(WebCore::jsTestNondeterministicNondeterministicExceptionAttr):
(WebCore::jsTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::jsTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::jsTestNondeterministicConstructor):
(WebCore::setJSTestNondeterministicConstructor):
(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::jsTestNondeterministicPrototypeFunctionNondeterministicZeroArgFunction):

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

(WebCore::convert<TestObj::EnumType>):
(WebCore::convert<TestObj::Optional>):
(WebCore::convert<AlternateEnumName>):
(WebCore::convert<TestObj::EnumA>):
(WebCore::convert<TestObj::EnumB>):
(WebCore::convert<TestObj::EnumC>):
(WebCore::convert<TestObj::Kind>):
(WebCore::convert<TestObj::Size>):
(WebCore::convert<TestObj::Confidence>):
(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>):
(WebCore::convertDictionary<AlternateDictionaryName>):
(WebCore::JSTestObjConstructor::construct):
(WebCore::jsTestObjReadOnlyLongAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjConstructorStaticReadOnlyLongAttr):
(WebCore::jsTestObjConstructorStaticStringAttr):
(WebCore::jsTestObjConstructorTestSubObj):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjEnumAttr):
(WebCore::jsTestObjByteAttr):
(WebCore::jsTestObjOctetAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjClampedShortAttr):
(WebCore::jsTestObjEnforceRangeShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjLongAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjUsvstringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjTestNullableObjAttr):
(WebCore::jsTestObjLenientTestObjAttr):
(WebCore::jsTestObjUnforgeableAttr):
(WebCore::jsTestObjStringAttrTreatingNullAsEmptyString):
(WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString):
(WebCore::jsTestObjImplementationEnumAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedUSVStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedUSVURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjEnabledAtRuntimeAttribute):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithGetterExceptionWithMessage):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjAttrWithSetterExceptionWithMessage):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjCustomAttr):
(WebCore::jsTestObjOnfoo):
(WebCore::jsTestObjOnwebkitfoo):
(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjConditionalAttr4Constructor):
(WebCore::jsTestObjConditionalAttr5Constructor):
(WebCore::jsTestObjConditionalAttr6Constructor):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjAnyAttribute):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjStrawberry):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::jsTestObjReplaceableAttribute):
(WebCore::jsTestObjNullableDoubleAttribute):
(WebCore::jsTestObjNullableLongAttribute):
(WebCore::jsTestObjNullableBooleanAttribute):
(WebCore::jsTestObjNullableStringAttribute):
(WebCore::jsTestObjNullableLongSettableAttribute):
(WebCore::jsTestObjNullableStringSettableAttribute):
(WebCore::jsTestObjNullableUSVStringSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjAttribute):
(WebCore::jsTestObjAttributeWithReservedEnumType):
(WebCore::jsTestObjPutForwardsAttribute):
(WebCore::jsTestObjPutForwardsNullableAttribute):
(WebCore::jsTestObjStringifierAttribute):
(WebCore::jsTestObjConstructor):
(WebCore::setJSTestObjConstructor):
(WebCore::setJSTestObjConstructorStaticStringAttr):
(WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::setJSTestObjEnumAttr):
(WebCore::setJSTestObjByteAttr):
(WebCore::setJSTestObjOctetAttr):
(WebCore::setJSTestObjShortAttr):
(WebCore::setJSTestObjClampedShortAttr):
(WebCore::setJSTestObjEnforceRangeShortAttr):
(WebCore::setJSTestObjUnsignedShortAttr):
(WebCore::setJSTestObjLongAttr):
(WebCore::setJSTestObjLongLongAttr):
(WebCore::setJSTestObjUnsignedLongLongAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjUsvstringAttr):
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjTestNullableObjAttr):
(WebCore::setJSTestObjLenientTestObjAttr):
(WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString):
(WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString):
(WebCore::setJSTestObjImplementationEnumAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedUSVStringAttr):
(WebCore::setJSTestObjReflectedIntegralAttr):
(WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedUSVURLAttr):
(WebCore::setJSTestObjReflectedCustomIntegralAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjEnabledAtRuntimeAttribute):
(WebCore::setJSTestObjTypedArrayAttr):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithGetterExceptionWithMessage):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjAttrWithSetterExceptionWithMessage):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::setJSTestObjCustomAttr):
(WebCore::setJSTestObjOnfoo):
(WebCore::setJSTestObjOnwebkitfoo):
(WebCore::setJSTestObjWithScriptStateAttribute):
(WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
(WebCore::setJSTestObjConditionalAttr4Constructor):
(WebCore::setJSTestObjConditionalAttr5Constructor):
(WebCore::setJSTestObjConditionalAttr6Constructor):
(WebCore::setJSTestObjAnyAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::setJSTestObjStrawberry):
(WebCore::setJSTestObjId):
(WebCore::setJSTestObjReplaceableAttribute):
(WebCore::setJSTestObjNullableLongSettableAttribute):
(WebCore::setJSTestObjNullableStringSettableAttribute):
(WebCore::setJSTestObjNullableUSVStringSettableAttribute):
(WebCore::setJSTestObjNullableStringValue):
(WebCore::setJSTestObjAttributeWithReservedEnumType):
(WebCore::setJSTestObjPutForwardsAttribute):
(WebCore::setJSTestObjPutForwardsNullableAttribute):
(WebCore::setJSTestObjStringifierAttribute):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation):
(WebCore::jsTestObjPrototypeFunctionVoidMethod):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethod):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethod):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethod):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjInstanceFunctionUnforgeableMethod):
(WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter):
(WebCore::jsTestObjPrototypeFunctionNullableStringMethod):
(WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod):
(WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionMethodWithException):
(WebCore::jsTestObjPrototypeFunctionMethodWithExceptionWithMessage):
(WebCore::jsTestObjPrototypeFunctionCustomMethod):
(WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
(WebCore::jsTestObjPrototypeFunctionWithDocumentArgument):
(WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument):
(WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsNull):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter):
(WebCore::jsTestObjConstructorFunctionClassMethod):
(WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
(WebCore::jsTestObjConstructorFunctionClassMethod2):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
(WebCore::jsTestObjPrototypeFunctionGetElementById):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert3):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionOrange):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionPromise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionPromise):
(WebCore::jsTestObjPrototypeFunctionMethodWithNeedsCustomElementReactionStack):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload):
(WebCore::jsTestObjPrototypeFunctionAttachShadowRoot):
(WebCore::jsTestObjPrototypeFunctionToString):

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

(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors3):
(WebCore::constructJSTestOverloadedConstructors4):
(WebCore::constructJSTestOverloadedConstructors5):
(WebCore::JSTestOverloadedConstructorsConstructor::construct):
(WebCore::jsTestOverloadedConstructorsConstructor):
(WebCore::setJSTestOverloadedConstructorsConstructor):

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

(WebCore::constructJSTestOverloadedConstructorsWithSequence1):
(WebCore::constructJSTestOverloadedConstructorsWithSequence2):
(WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct):
(WebCore::jsTestOverloadedConstructorsWithSequenceConstructor):
(WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor):

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

(WebCore::jsTestOverrideBuiltinsConstructor):
(WebCore::setJSTestOverrideBuiltinsConstructor):
(WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):

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

(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfacePorts):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceConstructor):
(WebCore::setJSTestSerializedScriptValueInterfaceConstructor):
(WebCore::setJSTestSerializedScriptValueInterfaceValue):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):

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

(WebCore::JSTestTypedefsConstructor::construct):
(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsAttrWithSetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsConstructor):
(WebCore::setJSTestTypedefsConstructor):
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):

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

(WebCore::jsattributeReadonly):
(WebCore::jsattributeConstructor):
(WebCore::setJSattributeConstructor):

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

(WebCore::jsreadonlyConstructor):
(WebCore::setJSreadonlyConstructor):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
(JSC::Bindings::CInstance::toJSPrimitive):

  • bridge/objc/objc_instance.mm:

(ObjcInstance::moveGlobalExceptionToExecState):
(ObjcInstance::invokeMethod):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcField::valueFromInstance):
(JSC::Bindings::ObjcField::setValueToInstance):
(JSC::Bindings::ObjcArray::setValueAt):
(JSC::Bindings::ObjcArray::valueAt):
(JSC::Bindings::callObjCFallbackObject):

  • bridge/objc/objc_utility.h:
  • bridge/objc/objc_utility.mm:

(JSC::Bindings::throwError):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::lengthGetter):
(JSC::RuntimeArray::put):
(JSC::RuntimeArray::putByIndex):

  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::lengthGetter):
(JSC::callRuntimeMethod):

  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):
(JSC::Bindings::RuntimeObject::getOwnPropertySlot):
(JSC::Bindings::RuntimeObject::put):
(JSC::Bindings::RuntimeObject::defaultValue):
(JSC::Bindings::RuntimeObject::getOwnPropertyNames):
(JSC::Bindings::RuntimeObject::throwInvalidAccessError):

  • bridge/runtime_object.h:

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::invokeMethod):

Source/WebKit2:

  • WebProcess/Plugins/Netscape/JSNPMethod.cpp:

(WebKit::callMethod):

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::getOwnPropertySlot):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):
(WebKit::JSNPObject::throwInvalidAccessError):

  • WebProcess/Plugins/Netscape/JSNPObject.h:
  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):

Source/WTF:

  • wtf/Platform.h:
  • Introduced the ENABLE(THROW_SCOPE_VERIFICATION) flag.
12:54 PM Changeset in webkit [205197] by Brent Fulgham
  • 5 edits
    1 add in trunk

Use of uninitialised memory in TransformationMatrx::blend4()
https://bugs.webkit.org/show_bug.cgi?id=134621
<rdar://problem/27337539>

Reviewed by Dean Jackson.

Change is based on the Blink change (patch by <alancutter@chromium.org>):
<https://src.chromium.org/viewvc/blink?revision=177453&view=revision>

Source/WebCore:

TransformationMatrix::blend() was attempting to blend between non-invertable
matricies. This resulted in garbage stack variables being used.
This patch ensures that blend() will fall back to a 50% step interpolation
when one of the sides are not invertable.

Tested by new TransformationMatrix test in TestWebKitAPI.

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::blend2): Properly handle failure in the
decompose method calls.
(WebCore::TransformationMatrix::blend4): Ditto.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/TransformationMatrix.cpp: Added.

(TestWebKitAPI::TEST):

12:42 PM Changeset in webkit [205196] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5.html as flaky on mac.
https://bugs.webkit.org/show_bug.cgi?id=161156

Unreviewed test gardening.

  • platform/mac/TestExpectations:
12:37 PM Changeset in webkit [205195] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking svg/animations/reinserting-svg-into-document.html as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=161395

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
12:33 PM Changeset in webkit [205194] by achristensen@apple.com
  • 4 edits in trunk

URLParser should handle relative URLs that start with
https://bugs.webkit.org/show_bug.cgi?id=161364

Reviewed by Darin Adler.

Source/WebCore:

Covered by an API test.

  • platform/URLParser.cpp:

(WebCore::URLParser::parse):

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::TEST_F):

11:59 AM Changeset in webkit [205193] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

Fix a typo introduced in r205184.
https://bugs.webkit.org/show_bug.cgi?id=161380

Reviewed by Tim Horton.

Fixes a typo in an accessibility string: "Exit fullscreen" => "Exit Fullscreen"

  • platform/LocalizedStrings.cpp:

(WebCore::exitFullScreenButtonAccessibilityTitle):

11:59 AM Changeset in webkit [205192] by achristensen@apple.com
  • 5 edits in trunk/Source

Fix WebInspectorUI in internal Windows build
https://bugs.webkit.org/show_bug.cgi?id=161221
rdar://problem/28019023

Reviewed by Brent Fulgham and Joseph Pecoraro.

Source/JavaScriptCore:

Source/WebInspectorUI:

  • WebInspectorUI.vcxproj/WebInspectorUI.make:
  • WebInspectorUI.vcxproj/WebInspectorUI.proj:
11:24 AM Changeset in webkit [205191] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, update iOS simulator WK1 flaky tests.

  • platform/ios-simulator-wk1/TestExpectations:
11:22 AM Changeset in webkit [205190] by commit-queue@webkit.org
  • 14 edits in trunk

[Fetch API] Blob not found URL should result in a network error
https://bugs.webkit.org/show_bug.cgi?id=161381

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

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/basic/scheme-blob-expected.txt:
  • web-platform-tests/fetch/api/basic/scheme-blob-worker-expected.txt:
  • web-platform-tests/fetch/api/basic/scheme-blob-worker.html:
  • web-platform-tests/fetch/api/basic/scheme-blob.html:
  • web-platform-tests/fetch/api/basic/scheme-blob.js:

(invalidRequestMethods.forEach):

Source/WebCore:

Covered by rebased and updated tests.

Raising a network error if no blob can be found from the URL.
It is no longer notified by a 404 response.

Updated FileReaderLoader to generate the correct exception.

Made some clean-up in the code, in particular adding an enum class for BlobResourceHandle errors.

  • fileapi/FileReaderLoader.cpp:

(WebCore::FileReaderLoader::didFail):
(WebCore::FileReaderLoader::toErrorCode):
(WebCore::FileReaderLoader::httpStatusCodeToErrorCode):

  • fileapi/FileReaderLoader.h:
  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::loadResourceSynchronously):
(WebCore::BlobResourceHandle::doStart):
(WebCore::BlobResourceHandle::didGetSize):
(WebCore::BlobResourceHandle::readSync):
(WebCore::BlobResourceHandle::readFileSync):
(WebCore::BlobResourceHandle::readAsync):
(WebCore::BlobResourceHandle::didOpen):
(WebCore::BlobResourceHandle::didRead):
(WebCore::BlobResourceHandle::failed):
(WebCore::BlobResourceHandle::notifyResponse):
(WebCore::BlobResourceHandle::notifyResponseOnError):
(WebCore::BlobResourceHandle::notifyFail):

  • platform/network/BlobResourceHandle.h:

LayoutTests:

  • fast/files/apply-blob-url-to-xhr-expected.txt:
  • fast/files/workers/worker-apply-blob-url-to-xhr-expected.txt:
11:11 AM Changeset in webkit [205189] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking imported/w3c/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-top.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=161359

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
11:09 AM Changeset in webkit [205188] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

[Fetch API] Body mix-in text() should decode data as UTF-8
https://bugs.webkit.org/show_bug.cgi?id=161372

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

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/basic/text-utf8-expected.txt: Added.
  • web-platform-tests/fetch/api/basic/text-utf8.html: Added.
  • web-platform-tests/fetch/api/resources/status.py: Added.

(main):

Source/WebCore:

Test: imported/w3c/web-platform-tests/fetch/api/basic/text-utf8.html

UsingTextResourceDecoder to decode data as UTF-8.
Making sure to prepend BOM if there is none, as specified in https://encoding.spec.whatwg.org/#utf-8-decode.

  • Modules/fetch/FetchBodyConsumer.cpp:

(WebCore::shouldPrependBOM):
(WebCore::textFromUTF8):
(WebCore::FetchBodyConsumer::resolveWithData):
(WebCore::FetchBodyConsumer::takeAsText):

11:05 AM Changeset in webkit [205187] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking editing/pasteboard/5478250.html as flaky on mac-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=161366

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
10:57 AM Changeset in webkit [205186] by Alan Bujtas
  • 5 edits
    2 adds in trunk

ASSERTION FAILED: opportunitiesInRun <= expansionOpportunityCount in WebCore::computeExpansionForJustifiedText
https://bugs.webkit.org/show_bug.cgi?id=139393
<rdar://problem/27704243>

Reviewed by Myles C. Maxfield.

Source/WebCore:

This patch ensures that we always remove a valid 'after expansion' opportunity (even when the last entry
in the opportunities list is 0).

Test: fast/text/assert-on-expansion-opportunity.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):

LayoutTests:

  • fast/text/assert-on-expansion-opportunity-expected.txt: Added.
  • fast/text/assert-on-expansion-opportunity.html: Added.
10:55 AM Changeset in webkit [205185] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking inspector/unit-tests/yieldable-task.html as a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=161361

Unreviewed test gardening.

  • platform/mac/TestExpectations:
10:26 AM Changeset in webkit [205184] by Wenson Hsieh
  • 4 edits in trunk/Source/WebCore

Exit fullscreen button in fullscreen media playback needs an accessibility string
https://bugs.webkit.org/show_bug.cgi?id=161380

Reviewed by Beth Dakin.

Adds an accessibility string for the exit fullscreen button.

  • English.lproj/Localizable.strings:
  • platform/LocalizedStrings.cpp:

(WebCore::exitFullScreenButtonAccessibilityTitle):

  • platform/LocalizedStrings.h:
9:35 AM Changeset in webkit [205183] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Stop using m_client to indicate whether an IPC::Connection is valid
https://bugs.webkit.org/show_bug.cgi?id=161362

Reviewed by Andreas Kling.

Instead, add an std::atomic<bool> so we can reliably check the state from other threads.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::Connection):
(IPC::Connection::invalidate):
(IPC::Connection::connectionDidClose):
(IPC::Connection::dispatchSyncMessage):
(IPC::Connection::dispatchDidReceiveInvalidMessage):
(IPC::Connection::dispatchMessage):

  • Platform/IPC/Connection.h:

(IPC::Connection::client):
(IPC::Connection::isValid):
(IPC::Connection::waitForAndDispatchImmediately):

  • UIProcess/WebGeolocationManagerProxy.cpp:

(WebKit::WebGeolocationManagerProxy::startUpdating):
(WebKit::WebGeolocationManagerProxy::stopUpdating):
(WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):

9:34 AM Changeset in webkit [205182] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r194846): [GTK] UI process crash visiting sites protected with HTTP auth when using GTK+ < 3.14
https://bugs.webkit.org/show_bug.cgi?id=161385

Reviewed by Antonio Gomes.

Since r194846, we are chaining up webkitWebViewBaseMotionNotifyEvent, but before GTK+ 3.14
GtkWidget::motion_notify_event was nullptr, so it can't be used unconditionally.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseMotionNotifyEvent):

8:45 AM WebKitGTK edited by Michael Catanzaro
Add dependencies policy (diff)
8:43 AM WebKitGTK/DependenciesPolicy created by Michael Catanzaro
8:06 AM Changeset in webkit [205181] by Antti Koivisto
  • 25 edits
    1 delete in trunk/Source/WebCore

Remove StylePendingImage
https://bugs.webkit.org/show_bug.cgi?id=161245

Reviewed by Andreas Kling.

Instances of this confusing type are used as placeholders during style resolution.
We can get rid of it and make "pending" a state of StyleImage. This simplies the code and
will allow further improvements.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSCrossfadeValue.cpp:

(WebCore::CSSCrossfadeValue::isPending):
(WebCore::CSSCrossfadeValue::blend):

  • css/CSSCrossfadeValue.h:
  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::CSSCursorImageValue):
(WebCore::CSSCursorImageValue::~CSSCursorImageValue):

Save the original URL since the underlying CSSImageValue may change.

(WebCore::CSSCursorImageValue::updateCursorElement):
(WebCore::CSSCursorImageValue::cursorElementRemoved):
(WebCore::CSSCursorImageValue::cursorElementChanged):
(WebCore::CSSCursorImageValue::loadImage):
(WebCore::CSSCursorImageValue::styleImage):
(WebCore::CSSCursorImageValue::isSVGCursor):
(WebCore::CSSCursorImageValue::cachedImageURL):
(WebCore::CSSCursorImageValue::updateCachedImage):
(WebCore::CSSCursorImageValue::detachPendingImage): Deleted.
(WebCore::CSSCursorImageValue::cachedImage): Deleted.
(WebCore::CSSCursorImageValue::cachedOrPendingImage): Deleted.
(WebCore::CSSCursorImageValue::clearCachedImage): Deleted.

  • css/CSSCursorImageValue.h:
  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::isPending):

  • css/CSSFilterImageValue.h:
  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::isPending):
(WebCore::CSSImageGeneratorValue::subimageIsPending):
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):

  • css/CSSImageGeneratorValue.h:
  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::loadBestFitImage):
(WebCore::CSSImageSetValue::styleImage):
(WebCore::CSSImageSetValue::traverseSubresources):
(WebCore::CSSImageSetValue::detachPendingImage): Deleted.
(WebCore::CSSImageSetValue::bestFitImage): Deleted.
(WebCore::CSSImageSetValue::cachedOrPendingImageSet): Deleted.

  • css/CSSImageSetValue.h:
  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::CSSImageValue):
(WebCore::CSSImageValue::~CSSImageValue):
(WebCore::CSSImageValue::isPending):
(WebCore::CSSImageValue::styleImage):
(WebCore::CSSImageValue::loadImage):
(WebCore::CSSImageValue::traverseSubresources):
(WebCore::CSSImageValue::detachPendingImage): Deleted.
(WebCore::CSSImageValue::cachedOrPendingImage): Deleted.
(WebCore::CSSImageValue::cachedImage): Deleted.

  • css/CSSImageValue.h:

(WebCore::CSSImageValue::create):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::cachedOrPendingFromValue):
(WebCore::StyleResolver::generatedOrPendingFromValue):
(WebCore::StyleResolver::setOrPendingFromValue):
(WebCore::StyleResolver::cursorOrPendingFromValue):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::retrieveResourcesForProperties):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFilter):
(WebCore::crossfadeBlend):

  • rendering/RenderImageResourceStyleImage.cpp:

(WebCore::RenderImageResourceStyleImage::image):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::createShapeForImage):

  • rendering/style/StyleCachedImage.cpp:

(WebCore::StyleCachedImage::StyleCachedImage):
(WebCore::StyleCachedImage::~StyleCachedImage):
(WebCore::StyleCachedImage::setCachedImage):
(WebCore::StyleCachedImage::cssValue):
(WebCore::StyleCachedImage::canRender):
(WebCore::StyleCachedImage::isPending):
(WebCore::StyleCachedImage::isLoaded):
(WebCore::StyleCachedImage::errorOccurred):
(WebCore::StyleCachedImage::imageSize):
(WebCore::StyleCachedImage::imageHasRelativeWidth):
(WebCore::StyleCachedImage::imageHasRelativeHeight):
(WebCore::StyleCachedImage::computeIntrinsicDimensions):
(WebCore::StyleCachedImage::usesImageContainerSize):
(WebCore::StyleCachedImage::setContainerSizeForRenderer):
(WebCore::StyleCachedImage::addClient):
(WebCore::StyleCachedImage::removeClient):
(WebCore::StyleCachedImage::image):
(WebCore::StyleCachedImage::knownToBeOpaque):

  • rendering/style/StyleCachedImage.h:
  • rendering/style/StyleGeneratedImage.cpp:

(WebCore::StyleGeneratedImage::isPending):

  • rendering/style/StyleGeneratedImage.h:
  • rendering/style/StyleImage.h:

(WebCore::StyleImage::isCachedImage):
(WebCore::StyleImage::StyleImage):
(WebCore::StyleImage::canRender): Deleted.
(WebCore::StyleImage::isPendingImage): Deleted.

  • rendering/style/StylePendingImage.h: Removed.
  • style/StylePendingResources.cpp:

(WebCore::Style::loadPendingImage):
(WebCore::Style::loadPendingImages):

7:19 AM Changeset in webkit [205180] by Philippe Normand
  • 8 edits in trunk

[GStreamer] bump required version to 1.2.3
https://bugs.webkit.org/show_bug.cgi?id=159667

Reviewed by Xabier Rodriguez Calvar.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:

Source/WebCore:

GStreamer 1.0.3 was released almost 4 years ago. GStreamer 1.2.3
being the version shipped in the Ubuntu LTS (14.04) it
feels reasonable to bump our requirement. Other major
distributions like Debian Jessie and Fedora ship GStreamer 1.4.x
already.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Deleted.

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkProposeAllocation): Deleted.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcQueryWithParent): Deleted.

5:21 AM WebKitGTK/2.14.x edited by Carlos Garcia Campos
(diff)
5:20 AM WebKitGTK/2.14.x created by Carlos Garcia Campos
4:11 AM Changeset in webkit [205179] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

[EFL] Gardening on failure tests

Unreviewed EFL gardening.

media control and IndexedDB tests have been failed.
Mark them to failure.

Patch by Gyuyoung Kim <gyuyoung.kim@navercorp.com> on 2016-08-30

  • platform/efl/TestExpectations:
1:57 AM Changeset in webkit [205178] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.14

Branch WebKitGTK+ for 2.14

12:47 AM Changeset in webkit [205177] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, update iOS simulator WK1 flaky tests.

  • platform/ios-simulator-wk1/TestExpectations:
12:30 AM Changeset in webkit [205176] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ build after r205150.

  • UIProcess/API/gtk/WebKitUserContentManager.cpp:

Aug 29, 2016:

11:14 PM Changeset in webkit [205175] by bshafiei@apple.com
  • 279 edits
    1 copy
    19 deletes in tags/Safari-603.1.3.0.1

Merged r204912. rdar://problem/28062188

11:10 PM Changeset in webkit [205174] by bshafiei@apple.com
  • 5 edits in tags/Safari-603.1.3.0.1

Merged r204901. rdar://problem/28062188

11:07 PM Changeset in webkit [205173] by bshafiei@apple.com
  • 2 edits in tags/Safari-603.1.3.0.1/Source/JavaScriptCore

Merged r204897. rdar://problem/28062188

10:56 PM Changeset in webkit [205172] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Fix Windows build after r205161

  • bindings/js/JSPerformanceTimingCustom.cpp:
10:24 PM Changeset in webkit [205171] by Chris Dumez
  • 14 edits in trunk

We should throw a SecurityError when denying setting a cross-origin Location property
https://bugs.webkit.org/show_bug.cgi?id=161368

Reviewed by Ryosuke Niwa.

Source/WebCore:

We should throw a SecurityError when denying setting a cross-origin
Location property:

Firefox and Chrome already throw. We currently ignore and log an error
message.

No new tests, updated existing tests.

  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::putDelegate):

LayoutTests:

Update / Rebaseline existing tests to reflect behavior change.

  • http/tests/security/cross-frame-access-location-put-expected.txt:
  • http/tests/security/location-cross-origin-expected.txt:
  • http/tests/security/location-cross-origin.html:
  • http/tests/security/xss-DENIED-assign-location-hash-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-host-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-hostname-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-nonstandardProperty-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-pathname-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-protocol-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-reload-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-search-expected.txt:
10:18 PM Changeset in webkit [205170] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

[EFL] Gardening on Aug 30

Unreviewed gardening. Mark unexpecting passing tests to PASS.

  • platform/efl/TestExpectations:
9:53 PM Changeset in webkit [205169] by Chris Dumez
  • 7 edits in trunk/LayoutTests

Unskip several web-platform-tests that are now passing
https://bugs.webkit.org/show_bug.cgi?id=161367

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline those tests and update window-security.sub.html as per:
https://github.com/w3c/web-platform-tests/pull/3607

  • web-platform-tests/html/browsers/history/the-location-interface/security_location_0.sub-expected.txt:
  • web-platform-tests/html/browsers/the-window-object/security-window/window-security.sub-expected.txt:
  • web-platform-tests/html/browsers/the-window-object/security-window/window-security.sub.html:
  • web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub-expected.txt:

LayoutTests:

Unskip several web-platform-tests that are now passing.

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

REGRESSION(r202568): Web Inspector: Expanding Array Prototype in Console shows no properties
https://bugs.webkit.org/show_bug.cgi?id=161263
<rdar://problem/28035849>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-08-29
Reviewed by Matt Baker.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

(InjectedScript.prototype._propertyDescriptors):
Previously we only took the "numeric index fast path" if an object was
array like with length > 100. When we dropped the length check we
ended up breaking our display of Array prototype, because [].proto
is an array instance. Get it back by just doing a check of length > 0.
We may want to address this differently in the future by knowing if
we are getting properties for a prototype or not.

LayoutTests:

  • inspector/model/remote-object-get-properties-expected.txt:
  • inspector/model/remote-object-get-properties.html:

Include tests for an Array and an Array's proto (which is an Array).

6:56 PM Changeset in webkit [205167] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebKit2

Unreviewed EFL/GTK build fix since r205150

Patch by Gyuyoung Kim <gyuyoung.kim@navercorp.com> on 2016-08-29

  • CMakeLists.txt: Add Shared/FrameInfoData.cpp.
6:48 PM Changeset in webkit [205166] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Clean up FTL Capabilities for CompareEq
https://bugs.webkit.org/show_bug.cgi?id=161353

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

It looks like we already have code for every case.
This patch removes the tests from FTLCapabilities
and move the generic case last as usual.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareEq):

6:16 PM Changeset in webkit [205165] by bshafiei@apple.com
  • 5 edits in tags/Safari-603.1.3.0.1/Source

Versioning.

6:14 PM Changeset in webkit [205164] by bshafiei@apple.com
  • 1 copy in tags/Safari-603.1.3.0.1

New tag.

5:44 PM Changeset in webkit [205163] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

Avoid holding GlyphData in MathOperator
https://bugs.webkit.org/show_bug.cgi?id=161256
<rdar://problem/28033400>

Reviewed by Myles C. Maxfield.

Do not cache GlyphData in MathOperator elements, because the fonts referenced in the
GlyphData may be purged during low-memory conditions. Instead, we should store either
the relevant CodePoint, or the fallback Glyph (for the current system font).

Added an initialization function for GlyphAssemblyData, since unions containing structs
do not properly call constructors, resulting in garbage font/glyph content.

No new tests. Changes are covered by existing MathML test suite.

  • rendering/mathml/MathOperator.cpp:

(WebCore::MathOperator::GlyphAssemblyData::initialize): Added.
(WebCore::MathOperator::MathOperator): Initialize m_assembly/m_variant.
(WebCore::MathOperator::setSizeVariant): Only store the glyph, not the font.
(WebCore::glyphDataForCodePointOrFallbackGlyph): Added helper function.
(WebCore::MathOperator::setGlyphAssembly): Do not rely on stored GlyphData.
(WebCore::MathOperator::calculateGlyphAssemblyFallback): Remove unneeded argument. Check
if a fallback glyph is being used and remember for later.
(WebCore::MathOperator::calculateStretchyData): Do not rely on stored GlyphData.
(WebCore::MathOperator::fillWithVerticalExtensionGlyph): Ditto.
(WebCore::MathOperator::fillWithHorizontalExtensionGlyph): Ditto.
(WebCore::MathOperator::paintVerticalGlyphAssembly): Ditto.
(WebCore::MathOperator::paintHorizontalGlyphAssembly): Ditto.
(WebCore::MathOperator::paint): Ditto.

  • rendering/mathml/MathOperator.h:

(WebCore::MathOperator::GlyphAssemblyData::hasExtension): Added.
(WebCore::MathOperator::GlyphAssemblyData::hasMiddle): Added.
(WebCore::MathOperator::MathOperator): Deleted.

5:31 PM Changeset in webkit [205162] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.7.8

New tag.

5:15 PM Changeset in webkit [205161] by dino@apple.com
  • 12 edits
    3 adds in trunk

JSON.stringify returns empty when used with performance.timing.
https://bugs.webkit.org/show_bug.cgi?id=151813
<rdar://problem/28066067>

Reviewed by Sam Weinig.

Source/WebCore:

While we are waiting for our bindings generator to handle
"serializer", add a custom toJSON function that allows
performance.timing to be stringified.

Test: fast/dom/webtiming-performance-timing-stringify.html

  • CMakeLists.txt: New file added.
  • WebCore.xcodeproj/project.pbxproj: New file added.
  • bindings/js/JSPerformanceTimingCustom.cpp: Added. Implements toJSON.

(WebCore::JSPerformanceTiming::toJSON):

  • page/PerformanceTiming.idl: Add toJSON().

LayoutTests:

  • fast/dom/Window/window-properties-performance-expected.txt:
  • fast/dom/Window/window-properties-performance-resource-timing-expected.txt:
  • fast/dom/webtiming-document-open-expected.txt:
  • fast/dom/webtiming-navigate-within-document-expected.txt:
  • fast/dom/webtiming-performance-timing-stringify-expected.txt: Added.
  • fast/dom/webtiming-performance-timing-stringify.html: Added.
  • http/tests/misc/webtiming-cross-origin-and-back1-expected.txt:
  • http/tests/misc/webtiming-cross-origin-redirect-expected.txt:
  • http/tests/misc/webtiming-no-origin-expected.txt:
4:54 PM Changeset in webkit [205160] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

EWS patch status page should indicate bot corresponding to each status message
https://bugs.webkit.org/show_bug.cgi?id=161280

Reviewed by Alexey Proskuryakov.

  • QueueStatusServer/templates/patch.html: Formatting changes.
4:23 PM Changeset in webkit [205159] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Get rid of ChildProcessProxy::fromConnection
https://bugs.webkit.org/show_bug.cgi?id=161357

Reviewed by Tim Horton.

  • UIProcess/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::fromConnection): Deleted.

  • UIProcess/ChildProcessProxy.h:
  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::fromConnection): Deleted.

4:19 PM Changeset in webkit [205158] by bshafiei@apple.com
  • 3 edits in tags/Safari-600.8.7.1/Source/JavaScriptCore

Merge r204572. rdar://problem/28059311

4:18 PM Changeset in webkit [205157] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.8.7.1/Source

Versioning.

4:10 PM Changeset in webkit [205156] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove the last uses of WebProcessProxy::fromConnection
https://bugs.webkit.org/show_bug.cgi?id=161355

Reviewed by Tim Horton.

  • UIProcess/WebProcessPool.cpp:

(WebKit::webProcessProxyFromConnection):
(WebKit::WebProcessPool::handleMessage):
(WebKit::WebProcessPool::handleSynchronousMessage):
(WebKit::WebProcessPool::startedUsingGamepads):
(WebKit::WebProcessPool::stoppedUsingGamepads):

4:07 PM Changeset in webkit [205155] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.8.7.1

New tag.

4:04 PM Changeset in webkit [205154] by Chris Dumez
  • 8 edits in trunk

Regression(r204923): It should be possible to set 'Location.href' cross origin
https://bugs.webkit.org/show_bug.cgi?id=161343
<rdar://problem/28063361>

Reviewed by Ryosuke Niwa.

Source/WebCore:

It should be possible to set 'Location.href' cross origin:

Firefox and Chrome allow this but we throw a SecurityError.

We already allow setting crossOrigin.window.location which is equivalent.

No new tests, updated existing test.

  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::putDelegate):
Refactor the [Put] delegate so that it does not log a security error
when setting 'href' attribute, given that setting it works as expected.
This fixes a bug in shipping Safari where setting 'href' would work but
log an error message anyway.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
Add support for [DoNotCheckSecurityOnSetter] IDL extended attribute,
in addition to the already supported [DoNotCheckSecurity] and
[DoNotCheckSecurityOnGetter].

  • page/Location.idl:

Use [DoNotCheckSecurityOnSetter] on 'href' attribute as it can be
set cross-origin. This fixes the regression introduced in r204923.

LayoutTests:

Add layout test coverage.

  • http/tests/security/location-cross-origin-expected.txt:
  • http/tests/security/location-cross-origin.html:
  • http/tests/security/xss-DENIED-assign-location-href-javascript-expected.txt:
3:54 PM Changeset in webkit [205153] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, update iOS simulator WK1 flaky tests.

  • platform/ios-simulator-wk1/TestExpectations:
3:42 PM Changeset in webkit [205152] by bshafiei@apple.com
  • 3 edits in branches/safari-601-branch/Source/JavaScriptCore

Merge r204572. rdar://problem/28059311

3:10 PM Changeset in webkit [205151] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Unify Resource entry context menus
https://bugs.webkit.org/show_bug.cgi?id=161301

Patch by Devin Rousso <Devin Rousso> on 2016-08-29
Reviewed by Brian Burg.

  • UserInterface/Main.html:

Add ContextMenuUtilities.

  • UserInterface/Views/ContextMenuUtilities.js: Added.

(WebInspector.appendContextMenuItemsForResource):
Appends the following items to the given WebInspector.ContextMenu object with a WebInspector.Resource:

  • Open in New Tab
  • Copy Link Address
  • Copy as cURL (only if the resource is not from a data URL)
  • Save File
  • UserInterface/Views/ResourceTimelineDataGridNode.js:

(WebInspector.ResourceTimelineDataGridNode.prototype.appendContextMenuItems):
Make use of new WebInspector.appendContextMenuItemsForResource.

  • UserInterface/Views/ResourceTreeElement.js:

(WebInspector.ResourceTreeElement.prototype._handleContextMenuEvent):
Make use of new WebInspector.appendContextMenuItemsForResource.

3:00 PM Changeset in webkit [205150] by andersca@apple.com
  • 12 edits
    2 copies in trunk/Source/WebKit2

Get rid of another use of WebProcessProxy::fromConnection
https://bugs.webkit.org/show_bug.cgi?id=161331

Reviewed by Dan Bernstein.

WebUserContentControllerProxy::didPostMessage uses WebProcessProxy::fromConnection to be able to find a WebFrameProxy from
a given frame ID. Since the WebFrameProxy is only used to construct an API::FrameInfo object from, introduce a FrameInfoData object
and fill it in on the web process side and send it over to the UI process where an API::FrameInfo object can be created.

  • Shared/FrameInfoData.cpp: Added.

(WebKit::FrameInfoData::encode):
(WebKit::FrameInfoData::decode):

  • Shared/FrameInfoData.h: Added.
  • UIProcess/API/APIFrameInfo.cpp:

(API::FrameInfo::create):
(API::FrameInfo::FrameInfo):

  • UIProcess/API/APIFrameInfo.h:
  • UIProcess/API/Cocoa/WKUserContentController.mm:
  • UIProcess/UserContent/WebScriptMessageHandler.h:
  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::didPostMessage):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/UserContent/WebUserContentControllerProxy.messages.in:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/UserContent/WebUserContentController.cpp:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::info):

  • WebProcess/WebPage/WebFrame.h:
2:51 PM Changeset in webkit [205149] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

EWS should indicate which bot processed the patch
https://bugs.webkit.org/show_bug.cgi?id=161222

Reviewed by Alexey Proskuryakov.

  • QueueStatusServer/handlers/statusbubble.py:

(StatusBubble._build_bubble): Remove the bot id from bubbles as it is confusing.
bot ids are now displayed in patch status page.

2:35 PM Changeset in webkit [205148] by Chris Dumez
  • 7 edits in trunk

We should throw a SecurityError when denying setting a cross-origin Window property
https://bugs.webkit.org/show_bug.cgi?id=161339

Reviewed by Geoffrey Garen.

Source/WebCore:

We should throw a SecurityError when denying setting a cross-origin Window property:

e.g. crossOriginWindow.name = "" should throw.

Firefox and Chrome already throw but WebKit merely ignores the call and logs an
error message.

No new tests, updated existing tests.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::put):

LayoutTests:

Update existing tests to reflect behavior change.

  • http/tests/history/cross-origin-replace-history-object-expected.txt:
  • http/tests/history/resources/cross-origin-replaces-history-object-iframe.html:
  • http/tests/security/cross-frame-access-custom-expected.txt:
  • http/tests/security/cross-frame-access-put-expected.txt:
2:15 PM Changeset in webkit [205147] by achristensen@apple.com
  • 4 edits in trunk

URLParser should parse about:blank
https://bugs.webkit.org/show_bug.cgi?id=161324

Reviewed by Brady Eidson.

Source/WebCore:

Covered by new API tests.

  • platform/URLParser.cpp:

(WebCore::URLParser::parse):

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::TEST_F):

2:12 PM Changeset in webkit [205146] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Rebaseline imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent.html for ios-simulator after r205138.

Unreviewed test gardening.

  • platform/ios-simulator/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
2:08 PM Changeset in webkit [205145] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, mark editing tests of iOS simulator WK1 release build that have different delegate callback order than those of debug build as failure

  • platform/ios-simulator-wk1/TestExpectations:
2:06 PM Changeset in webkit [205144] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, rolling out r205143.

Needs better description

Reverted changeset:

"Unreviewed, mark editing tests of iOS simulator WK1 release
build that have different delegate callbacks than those of
debug build as failure"
http://trac.webkit.org/changeset/205143

1:46 PM Changeset in webkit [205143] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, mark editing tests of iOS simulator WK1 release build that have different delegate callbacks than those of debug build as failure

  • platform/ios-simulator-wk1/TestExpectations:
1:26 PM Changeset in webkit [205142] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, update iOS simulator WK1 flaky tests.

  • platform/ios-simulator-wk1/TestExpectations:
1:22 PM Changeset in webkit [205141] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Unreviewed, rolling out r205140.

The changelog entry for this commit is incorrect and
misattributed.

Reverted changeset:

"Marking media/track/text-track-cue-is-reachable.html as flaky
on ios-simulator-wk2."
https://bugs.webkit.org/show_bug.cgi?id=161323
http://trac.webkit.org/changeset/205140

1:18 PM Changeset in webkit [205140] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Marking media/track/text-track-cue-is-reachable.html as flaky on ios-simulator-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161323

Unreviewed test gardening.

Patch by Ryan Haddad <Ryan Haddad> on 2016-08-29

  • platform/ios-simulator-wk2/TestExpectations:
1:08 PM Changeset in webkit [205139] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking media/track/text-track-cue-is-reachable.html as flaky on ios-simulator-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161323

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
12:55 PM Changeset in webkit [205138] by Chris Dumez
  • 8 edits in trunk

document.createEvent("popstateevent") should create a PopStateEvent
https://bugs.webkit.org/show_bug.cgi?id=161321

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

  • web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
  • web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/history-traversal/PopStateEvent-expected.txt:

Source/WebCore:

document.createEvent("popstateevent") should create a PopStateEvent as per:

Firefox and Chrome match the specification but WebKit throws an exception,
which is risky compatibility-wise.

No new tests, rebaselined existing tests.

  • dom/Document.cpp:

(WebCore::Document::createEvent):

  • dom/PopStateEvent.cpp:

(WebCore::PopStateEvent::createForBindings):

  • dom/PopStateEvent.h:
12:44 PM Changeset in webkit [205137] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Stop using WebProcessProxy::fromConnection in WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=161322

Reviewed by Dan Bernstein.

The WebPageProxy already knows its WebProcessProxy - no need to look it up from the connection.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleMessage):
(WebKit::WebPageProxy::handleSynchronousMessage):

12:37 PM Changeset in webkit [205136] by Chris Dumez
  • 119 edits in trunk

We should throw a SecurityError when denying access to cross-origin Window properties
https://bugs.webkit.org/show_bug.cgi?id=161316

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline existing tests to reflect behavior change.

  • web-platform-tests/domparsing/innerhtml-05-expected.txt:
  • web-platform-tests/html/semantics/forms/form-submission-0/getactionurl-expected.txt:

Source/WebCore:

We should throw a SecurityError when denying access to cross-origin Window properties:

Firefox and Chrome already throw.

No new tests, updated existing tests.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):

LayoutTests:

Update / rebaselined existing tests to reflect behavior change.

  • fast/frames/sandboxed-iframe-history-denied-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-no-file-access.html:
  • http/tests/dom/window-open-about-webkit-org-and-access-document-expected.txt:
  • http/tests/dom/window-open-about-webkit-org-and-access-document.html:
  • http/tests/history/cross-origin-replace-history-object-child-expected.txt:
  • http/tests/history/cross-origin-replace-history-object-child.html:
  • http/tests/plugins/cross-frame-object-access-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header.html:
  • http/tests/security/cross-frame-access-call-expected.txt:
  • http/tests/security/cross-frame-access-call.html:
  • http/tests/security/cross-frame-access-child-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-custom-expected.txt:
  • http/tests/security/cross-frame-access-first-time-expected.txt:
  • http/tests/security/cross-frame-access-first-time.html:
  • http/tests/security/cross-frame-access-get-custom-property-cached-expected.txt:
  • http/tests/security/cross-frame-access-get-custom-property-cached.html:
  • http/tests/security/cross-frame-access-get-expected.txt:
  • http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
  • http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html:
  • http/tests/security/cross-frame-access-history-get-expected.txt:
  • http/tests/security/cross-frame-access-history-get-override-expected.txt:
  • http/tests/security/cross-frame-access-history-prototype-expected.txt:
  • http/tests/security/cross-frame-access-name-getter-expected.txt:
  • http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
  • http/tests/security/cross-frame-access-object-getPrototypeOf.html:
  • http/tests/security/cross-frame-access-object-prototype-expected.txt:
  • http/tests/security/cross-frame-access-object-prototype.html:
  • http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-port-expected.txt:
  • http/tests/security/cross-frame-access-protocol-expected.txt:
  • http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-selection-expected.txt:
  • http/tests/security/cross-frame-access-selection.html:
  • http/tests/security/cross-origin-reified-window-property-access-expected.txt:
  • http/tests/security/cross-origin-window-property-access-expected.txt:
  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-iframe.html:
  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-opened-frame.html:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level.html:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame.html:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame.html:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url.html:
  • http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-window-open.html:
  • http/tests/security/document-all-expected.txt:
  • http/tests/security/document-all.html:
  • http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessor-iframe.html:
  • http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessor-opened-frame.html:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe.html:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open.html:
  • http/tests/security/listener/resources/targetChild-JSTargetNode-onclick-addEventListener.html:
  • http/tests/security/listener/resources/targetChild-JSTargetNode-onclick-shortcut.html:
  • http/tests/security/listener/resources/targetChild-XMLHttpRequest-addEventListener.html:
  • http/tests/security/listener/resources/targetChild-XMLHttpRequest-shortcut.html:
  • http/tests/security/listener/resources/targetChild-window-onclick-addEventListener.html:
  • http/tests/security/listener/resources/targetChild-window-onclick-shortcut.html:
  • http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-JSTargetNode-onclick-shortcut-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-addEventListener-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-shortcut-expected.txt:
  • http/tests/security/listener/xss-window-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-window-onclick-shortcut-expected.txt:
  • http/tests/security/resources/cross-frame-access.js:

(test):
(cannotAccessFrame):

  • http/tests/security/resources/cross-frame-history-prototype-iframe.html:
  • http/tests/security/resources/iframe-for-synchronous-form.html:
  • http/tests/security/resources/sandboxed-iframe-origin-add-step1.html:
  • http/tests/security/resources/sandboxed-iframe-origin-remove-step2.html:
  • http/tests/security/sandboxed-iframe-modify-self-expected.txt:
  • http/tests/security/sandboxed-iframe-origin-add-expected.txt:
  • http/tests/security/sandboxed-iframe-origin-remove-expected.txt:
  • http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt:
  • http/tests/security/xss-DENIED-defineProperty-expected.txt:
  • http/tests/security/xss-DENIED-frame-name-expected.txt:
  • http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
  • http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto.html:
  • http/tests/security/xss-DENIED-invalid-domain-change-expected.txt:
  • http/tests/security/xss-DENIED-invalid-domain-change.html:
  • http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
  • http/tests/security/xss-DENIED-sandboxed-iframe-expected.txt:
  • http/tests/security/xss-DENIED-synchronous-form-expected.txt:
  • http/tests/security/xss-DENIED-window-name-navigator-expected.txt:
  • http/tests/security/xss-DENIED-xsl-document-securityOrigin-expected.txt:
  • http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml:
  • http/tests/security/xss-eval-expected.txt:
  • http/tests/security/xss-eval.html:
12:36 PM Changeset in webkit [205135] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Bug 161165 - check-webkit-style doesn't understand macros containing else or labels
https://bugs.webkit.org/show_bug.cgi?id=161165

Patch by JF Bastien <jfbastien@apple.com> on 2016-08-29
Reviewed by Geoffrey Garen.

Fix handling of else in a macro. Don't handle labels in a macro:
the checker is already pretty messy in that area and it should be
a rare thing.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_braces):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_else_clause_not_on_same_line_as_else):

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

Image Loader should use FetchOptions::mode according its crossOrigin attribute
https://bugs.webkit.org/show_bug.cgi?id=161309

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-29
Reviewed by Darin Adler.

Source/WebCore:

Test: http/tests/security/load-image-after-redirection.html

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement): Using CachedResourceRequest::setAsPotentiallyCrossOrigin to set fetch mode.

LayoutTests:

  • http/tests/security/load-image-after-redirection-expected.txt: Added.
  • http/tests/security/load-image-after-redirection.html: Added.
12:07 PM Changeset in webkit [205133] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Use MathMLPresentationElement for all MathML presentation tags
https://bugs.webkit.org/show_bug.cgi?id=161297

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-29
Reviewed by Darin Adler.

Some tabular MathML elements as well as unsupported presentation MathML markup currently
create a generic MathMLElement instance. We make them instead use the
MathMLPresentationElement class since they are presentation MathML elements. This also
allows to make MathMLElement::isPresentationMathML always return false.

No new tests, already covered by existing tests.

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::isPresentationMathML): Deleted. Moved into the header file.

  • mathml/MathMLElement.h:

(WebCore::MathMLElement::isPresentationMathML): Make this always return false now that all
presentation markup are handled by MathMLPresentationElement.

  • mathml/MathMLPresentationElement.cpp:

(WebCore::MathMLPresentationElement::createElementRenderer): Make the fallback always call
MathMLElement::createElementRenderer. This preserves the behavior for the new elements
handled here and does not affect the old ones (table is handled above while all the others
are already handled in the derived class).

  • mathml/mathtags.in: Use MathMLPresentationElement for all MathML presentation tags.
11:54 AM Changeset in webkit [205132] by Michael Catanzaro
  • 1 edit in trunk/Source/WebCore/platform/gtk/po/ChangeLog

[l10n] Updated Polish translation of WebKitGTK+ for 2.14
https://bugs.webkit.org/show_bug.cgi?id=161319

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2016-08-29
Rubber-stamped by Michael Catanzaro.

  • pl.po:
11:50 AM Changeset in webkit [205131] by keith_miller@apple.com
  • 21 edits in trunk/Source/JavaScriptCore

Fix toStringName for Proxies and add support for normal instances
https://bugs.webkit.org/show_bug.cgi?id=161275

Reviewed by Saam Barati.

toStringName on proxies needs to follow the chain of proxies until it finds a non-proxy target.
Additionally, there are a couple of other classes that need to return "Object" for their
toStringName. Since this isn't tested by test262 I will propose a new test there.

  • runtime/ClassInfo.h:
  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::toStringName):

  • runtime/JSArrayBufferView.h:
  • runtime/JSCell.cpp:

(JSC::JSCell::toStringName):

  • runtime/JSCell.h:
  • runtime/JSMap.cpp:

(JSC::JSMap::toStringName):

  • runtime/JSMap.h:
  • runtime/JSObject.cpp:

(JSC::JSObject::toStringName):

  • runtime/JSObject.h:
  • runtime/JSSet.cpp:

(JSC::JSSet::destroy):
(JSC::JSSet::toStringName):

  • runtime/JSSet.h:
  • runtime/JSWeakMap.cpp:

(JSC::JSWeakMap::toStringName):

  • runtime/JSWeakMap.h:
  • runtime/JSWeakSet.cpp:

(JSC::JSWeakSet::toStringName):

  • runtime/JSWeakSet.h:
  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncToString):

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::toStringName):

  • runtime/ProxyObject.h:
  • runtime/SymbolObject.cpp:

(JSC::SymbolObject::toStringName):

  • runtime/SymbolObject.h:

(JSC::SymbolObject::internalValue):

11:50 AM Changeset in webkit [205130] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[l10n] Updated Polish translation of WebKitGTK+ for 2.14
https://bugs.webkit.org/show_bug.cgi?id=161319

Rubber-stamped by Michael Catanzaro.

  • pl.po:
11:45 AM Changeset in webkit [205129] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Move some structs into Connection.cpp
https://bugs.webkit.org/show_bug.cgi?id=161320

Reviewed by Darin Adler.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::PendingSyncReply::PendingSyncReply):

  • Platform/IPC/Connection.h:

(IPC::Connection::PendingSyncReply::PendingSyncReply): Deleted.

11:26 AM Changeset in webkit [205128] by achristensen@apple.com
  • 4 edits in trunk

API test URLParserTest.ParserFailures failing ASSERT_NOT_REACHED
https://bugs.webkit.org/show_bug.cgi?id=161317

Reviewed by Brady Eidson.

Source/WebCore:

Added an API test.

  • platform/URLParser.cpp:

(WebCore::URLParser::parse):
Turns out, this state can be reached.

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::TEST_F):

11:09 AM Changeset in webkit [205127] by jer.noble@apple.com
  • 2 edits in trunk/Tools

Unreviewed gardening; only build MiniBrowser against iOS SDK targets.

  • Makefile:
11:06 AM Changeset in webkit [205126] by jiewen_tan@apple.com
  • 4 edits in trunk/LayoutTests

Unreviewed, update iOS simulator WK1 flaky tests.

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
10:49 AM Changeset in webkit [205125] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Remove sync message sending from secondary threads
https://bugs.webkit.org/show_bug.cgi?id=161277

Reviewed by Sam Weinig.

This codepath hasn't been used for some time, and removing it will make it easier to make IPC::Connection backed by libxpc.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::sendSyncMessage):
(IPC::Connection::processIncomingSyncReply):
(IPC::Connection::connectionDidClose):
(IPC::Connection::sendSyncMessageFromSecondaryThread): Deleted.

  • Platform/IPC/Connection.h:
10:26 AM Changeset in webkit [205124] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Skipping http/tests/media/hls/hls-accessiblity-describes-video-menu.html on mac
https://bugs.webkit.org/show_bug.cgi?id=161144

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
9:23 AM Changeset in webkit [205123] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Sample Process on notifyDone timed out
https://bugs.webkit.org/show_bug.cgi?id=161063

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

  • Scripts/webkitpy/port/driver.py:

(Driver._check_for_driver_timeout):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp: Call sample_process during notifyDone timeouts.

(WTR::TestRunner::waitToDumpWatchdogTimerFired):

  • WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm: Log pid and name for testing harness.
9:18 AM Changeset in webkit [205122] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Check-webkit-style does not work with Objective-C blocks
https://bugs.webkit.org/show_bug.cgi?id=161247

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

  • Scripts/webkitpy/style/checkers/cpp.py:

(regex_for_lambda_functions): Changed to regex_for_lambdas_and_blocks.
(regex_for_lambdas_and_blocks): Added check for Objective-C blocks.
(check_spacing_for_function_call): Pass file state for lambda check.
(check_spacing): Pass file state for lambda check.
(check_braces): Pass file state for lambda check.
(check_style): Pass file state for lambda check.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_cpp_lambda_functions): Changed from ‘test_lambda_functions’.
(CppStyleTest.test_objective_c_block): Tests Objective-C blocks.
(CppStyleTest.test_lambda_functions): Changed to ‘test_cpp_lambda_functions’.

9:18 AM Changeset in webkit [205121] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

EWS patch status page should indicate bot corresponding to each status message
https://bugs.webkit.org/show_bug.cgi?id=161280

Reviewed by Alexey Proskuryakov.

  • QueueStatusServer/templates/patch.html: Added bot_id in the template so that bot id is displayed

for each status message.

  • QueueStatusServer/stylesheets/common.css:

(.status-bot): Added corresponding stylesheet class.

9:12 AM Changeset in webkit [205120] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=161312

Unreviewed test gardening.

5:53 AM Changeset in webkit [205119] by pvollan@apple.com
  • 3 edits in trunk

Attempt to fix WinCairo build after r205090.

Unreviewed build fix.

  • Source/cmake/OptionsAppleWin.cmake:
  • Source/cmake/OptionsWin.cmake:
4:02 AM Changeset in webkit [205118] by pvollan@apple.com
  • 2 edits in trunk/Tools

Attempt to fix Windows build after r205090.

Unreviewed build fix.

  • DumpRenderTree/win/DRTDataObject.cpp:

(cfFileNameWFormat):
(cfUrlWFormat):

3:52 AM Changeset in webkit [205117] by commit-queue@webkit.org
  • 14 edits
    2 adds in trunk

[Fetch API] Response cloning should structureClone when teeing Response stream
https://bugs.webkit.org/show_bug.cgi?id=161147

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-29
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/response/response-clone-expected.txt:
  • web-platform-tests/fetch/api/response/response-clone.html:

Source/JavaScriptCore:

  • builtins/BuiltinNames.h: Adding ArrayBuffer and isView identifiers.
  • runtime/JSArrayBufferConstructor.cpp:

(JSC::JSArrayBufferConstructor::finishCreation): Adding @isView as private method.

  • runtime/JSDataView.h: Exporting create method.

Source/WebCore:

Covered by updated test.

Implementing structure cloning for ArrayBuffer and ArrayBufferView objects.
Using this structure cloning in ReadableStream to support structureClone in the case of Fetch API.

  • CMakeLists.txt: Adding StructureClone.cpp
  • Modules/fetch/FetchResponse.js:

(clone): Setting structureClone to true

  • Modules/streams/ReadableStreamInternals.js:

(doStructuredClone): Added to clone ArrayBuffer/ArrayBufferView chunks. Throwing exception otherwise.
(teeReadableStreamPullFunction): Using @doStructuredClone

  • WebCore.xcodeproj/project.pbxproj: Adding StructureClone.cpp/.h
  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::addBuiltinGlobals): Adding @ArrayBuffer and structuredCloneArrayBuffer and structuredCloneArrayBufferView private properties.

  • bindings/js/StructuredClone.cpp: Added.

(WebCore::structuredCloneArrayBuffer): Cloning of ArrayBuffer as per
http://w3c.github.io/html/infrastructure.html#section-structuredclone step 11.

(WebCore::structuredCloneArrayBufferView): Cloning of ArrayBufferView as
perhttp://w3c.github.io/html/infrastructure.html#section-structuredclone, step 12.

  • bindings/js/StructuredClone.h: Added.
  • bindings/js/WebCoreBuiltinNames.h:
2:33 AM Changeset in webkit [205116] by Carlos Garcia Campos
  • 34 edits
    4 copies
    6 moves
    6 adds
    3 deletes in trunk/Source

[GTK] Accelerated compositing does not work in Wayland
https://bugs.webkit.org/show_bug.cgi?id=115803

Reviewed by Michael Catanzaro.

Source/WebCore:

The Wayland implementation in WebKit2 uses a nested display running in the UI process so that GL contexts created
in the web process need to be created in the nested display. We currently have a shared platform display that
should represent the connection to the actual display all applications connect to. This patch refactors the
GLContext API to ensure that GL contexts are always attached to a particular platform display. The create
methods receive an optional PlatformDisplay that will be used as the display of all GL operations of the created
GL context. The sharing GL context should also share the same display, it can't be global to the process, but to
the display, so it's now created on demand by the PlatformDisplay. In addition to the global shared display,
it's now possible to set a shared display for compositing that can be used when creating GL contexts. This makes
it possible to use a different display for compositing, connected to the nested display in wayland, even in non
wayland environments.
The patch also adds support for surfaceless EGL contexts that can be used for offscreen contexts. It also adds
support for offscreen wayland contexts, as a fallback in wayland in case surfaceless is not supported.
Some wayland code that is specific to the WebKit2 implementation has been moved to the WebKit2 layer.

  • PlatformGTK.cmake:
  • platform/graphics/GLContext.cpp:

(WebCore::initializeOpenGLShimsIfNeeded):
(WebCore::GLContext::createContextForWindow):
(WebCore::GLContext::createOffscreenContext):
(WebCore::GLContext::createSharingContext):
(WebCore::GLContext::GLContext):
(WebCore::GLContext::~GLContext):
(WebCore::GLContext::current):
(WebCore::activeContextList): Deleted.

  • platform/graphics/GLContext.h:

(WebCore::GLContext::display):

  • platform/graphics/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::platformContext):
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

  • platform/graphics/PlatformDisplay.cpp:

(WebCore::PlatformDisplay::createPlatformDisplay): Always use the default wayland display created by GTK+ for
the global shared display.
(WebCore::PlatformDisplay::sharedDisplayForCompositing):
(WebCore::PlatformDisplay::setSharedDisplayForCompositing):
(WebCore::PlatformDisplay::sharingGLContext):
(WebCore::eglDisplays): Helper HashSet to keep track of all PlatformDisplays with an EGL display intialized to
properly termimate them at exit.
(WebCore::PlatformDisplay::initializeEGLDisplay): Remove eglBindAPI() from display initialization, since it's
not a display initialization and it's thread specific, so it needs to be called on every thread where EGL is used.
(WebCore::PlatformDisplay::terminateEGLDisplay):
(WebCore::PlatformDisplay::eglDisplay): Deleted.

  • platform/graphics/PlatformDisplay.h:
  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBufferData::~ImageBufferData):
(WebCore::ImageBufferData::createCompositorBuffer):
(WebCore::ImageBufferData::swapBuffersIfNeeded):
(WebCore::ImageBufferData::createCairoGLSurface):
(WebCore::ImageBufferData::paintToTextureMapper):
(WebCore::ImageBuffer::copyToPlatformTexture):

  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::GLContextEGL::getEGLConfig):
(WebCore::GLContextEGL::createWindowContext):
(WebCore::GLContextEGL::createPbufferContext):
(WebCore::GLContextEGL::createSurfacelessContext):
(WebCore::GLContextEGL::createPixmapContext):
(WebCore::GLContextEGL::createWaylandContext):
(WebCore::GLContextEGL::createContext):
(WebCore::GLContextEGL::createSharingContext):
(WebCore::GLContextEGL::GLContextEGL):
(WebCore::GLContextEGL::~GLContextEGL):
(WebCore::GLContextEGL::defaultFrameBufferSize):
(WebCore::GLContextEGL::makeContextCurrent):
(WebCore::GLContextEGL::swapBuffers):
(WebCore::GLContextEGL::cairoDevice):

  • platform/graphics/egl/GLContextEGL.h:
  • platform/graphics/glx/GLContextGLX.cpp:

(WebCore::GLContextGLX::createWindowContext):
(WebCore::GLContextGLX::createPbufferContext):
(WebCore::GLContextGLX::createPixmapContext):
(WebCore::GLContextGLX::createContext):
(WebCore::GLContextGLX::createSharingContext):
(WebCore::GLContextGLX::GLContextGLX):
(WebCore::GLContextGLX::~GLContextGLX):
(WebCore::GLContextGLX::defaultFrameBufferSize):
(WebCore::GLContextGLX::makeContextCurrent):
(WebCore::GLContextGLX::swapBuffers):
(WebCore::GLContextGLX::cairoDevice):
(WebCore::GLContextGLX::waitNative): Deleted.

  • platform/graphics/glx/GLContextGLX.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext):
(WebCore::MediaPlayerPrivateGStreamerBase::nativeImageForCurrentTime):

  • platform/graphics/wayland/PlatformDisplayWayland.cpp:

(WebCore::PlatformDisplayWayland::PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::~PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::initialize):
(WebCore::PlatformDisplayWayland::registryGlobal):
(WebCore::PlatformDisplayWayland::createSurface):

  • platform/graphics/wayland/PlatformDisplayWayland.h:

(WebCore::PlatformDisplayWayland::native): Deleted.

  • platform/graphics/wayland/WaylandEventSource.cpp: Removed.
  • platform/graphics/wayland/WaylandSurface.cpp: Removed.
  • platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml: Removed.
  • platform/graphics/wayland/WlUniquePtr.h: Make it possible to use std::unique_ptr with Wayland objects.

(WebCore::WlPtrDeleter::operator()):

Source/WebKit/win:

Update to the new GLContext API.

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::initialize):
(AcceleratedCompositingContext::acceleratedCompositingAvailable):

Source/WebKit2:

This is the initial implementation of accelerated compositing support in Wayland for the GTK+ port. It's based
on previous patches written by Iago Toral, Žan Doberšek, Emanuele Aina and Emilio Pozuelo Monfort.

The existing WebKitGTK+ Wayland interface previously added for this to WebCore has been moved to the WebKit2
layer, since it's actually specific to WebKit2, and it's now actually used. The UI process runs a nested Wayland
compositor that web processes connect to. Web processes create a Wayland surface in the nested compositor for
the web page, and using the WebKitGTK+ Wayland protocol interface they tell the nested compositor the web page
associated to the surface. A Wayland window is created for that surface that is then used as the native window
handle for compositing. To communicate with the nested compositor and to ensure all GL operations happen in the
nested compositor display, the web process creates a Wayland display that connects to the nested compositor,
uses the WebKitGTK+ Wayland interface and it's set as the global shared display for compositing.

The nested Wayland compositor creates a new display with a unique name that is sent to the web processes at
start up. It implements the Wayland surface interface to handle the Wayland buffers created for every surface
and scheduling redraws on the web pages when updates are available. It uses the WebKitGTK+ Wayland interface to
associate the surfaces to a particular web page. A texture is created for every surface and updated with the
Wayland buffer contents using an EGLImageKHR and eglImageTargetTexture2d API.

To abstract the platform differences and avoid ifdefs as much as possible, new abstract classes have been added
to represent the surfaces used in accelerated compositing. AcceleratedSurface is used by the web process and
represents the surface where contents are rendered into. The X11 implementation is the redirected XComposite
window, and the Wayland implementation is equivalent to the previous Wayland surface added to WebCore but never
used. In the UI process the web view creates an abstract AcceleratedBackingStore that is used to render the
AcceleratedSurface into the web view using cairo. The X11 implementation creates the cairo surface for the
redirected XComposite window pixmap and uses XDamage extension to schedule redraws. The Wayland implementation
asks the nested Wayland compositor for the texture associated to the web view page.

Accelerated compositing is now always enabled by default in both X11 and Wayland, unless it's explicitly
disabled by the user using the WEBKIT_DISABLE_COMPOSITING_MODE environment variable, or if any extension or
feature required by X11 or Wayland implementations are not available.

  • PlatformGTK.cmake:
  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::glContext): Pass the shared display for compositing to GLContext::createContextForWindow()

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode): Encode wayland compositor display name.
(WebKit::WebProcessCreationParameters::decode): Decode wayland compositor display name.

  • Shared/WebProcessCreationParameters.h: Add wayland compositor display name initial parameter.
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDispose):
(webkitWebViewBaseDraw):
(webkitWebViewBaseCreateWebPage):
(webkitWebViewBaseEnterAcceleratedCompositingMode):
(webkitWebViewBaseUpdateAcceleratedCompositingMode):
(webkitWebViewBaseExitAcceleratedCompositingMode):
(webkitWebViewBasePageClosed):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess): Initialize the wayland compositor display name initial parameter.

  • UIProcess/gtk/AcceleratedBackingStore.cpp: Added.

(WebKit::AcceleratedBackingStore::create):
(WebKit::AcceleratedBackingStore::AcceleratedBackingStore):
(WebKit::AcceleratedBackingStore::~AcceleratedBackingStore):
(WebKit::AcceleratedBackingStore::paint):

  • UIProcess/gtk/AcceleratedBackingStore.h: Added.

(WebKit::AcceleratedBackingStore::update):

  • UIProcess/gtk/AcceleratedBackingStoreWayland.cpp: Added.

(WebKit::AcceleratedBackingStoreWayland::create):
(WebKit::AcceleratedBackingStoreWayland::AcceleratedBackingStoreWayland):
(WebKit::AcceleratedBackingStoreWayland::~AcceleratedBackingStoreWayland):
(WebKit::AcceleratedBackingStoreWayland::paint):

  • UIProcess/gtk/AcceleratedBackingStoreWayland.h: Added.
  • UIProcess/gtk/AcceleratedBackingStoreX11.cpp: Added.

(WebKit::XDamageNotifier::singleton):
(WebKit::XDamageNotifier::add):
(WebKit::XDamageNotifier::remove):
(WebKit::XDamageNotifier::filterXDamageEvent):
(WebKit::XDamageNotifier::notify):
(WebKit::AcceleratedBackingStoreX11::create):
(WebKit::AcceleratedBackingStoreX11::AcceleratedBackingStoreX11):
(WebKit::AcceleratedBackingStoreX11::~AcceleratedBackingStoreX11):
(WebKit::AcceleratedBackingStoreX11::update):
(WebKit::AcceleratedBackingStoreX11::paint):

  • UIProcess/gtk/AcceleratedBackingStoreX11.h: Added.
  • UIProcess/gtk/WaylandCompositor.cpp: Added.

(WebKit::WaylandCompositor::singleton):
(WebKit::WaylandCompositor::Buffer::getOrCreate):
(WebKit::WaylandCompositor::Buffer::Buffer):
(WebKit::WaylandCompositor::Buffer::~Buffer):
(WebKit::WaylandCompositor::Buffer::destroyListenerCallback):
(WebKit::WaylandCompositor::Buffer::use):
(WebKit::WaylandCompositor::Buffer::unuse):
(WebKit::WaylandCompositor::Buffer::createImage):
(WebKit::WaylandCompositor::Buffer::size):
(WebKit::WaylandCompositor::Surface::Surface):
(WebKit::WaylandCompositor::Surface::~Surface):
(WebKit::WaylandCompositor::Surface::makePendingBufferCurrent):
(WebKit::WaylandCompositor::Surface::attachBuffer):
(WebKit::WaylandCompositor::Surface::requestFrame):
(WebKit::WaylandCompositor::Surface::prepareTextureForPainting):
(WebKit::WaylandCompositor::Surface::commit):
(WebKit::WaylandCompositor::initializeEGL):
(WebKit::createWaylandLoopSource):
(WebKit::WaylandCompositor::WaylandCompositor):
(WebKit::WaylandCompositor::getTexture):
(WebKit::WaylandCompositor::bindSurfaceToWebPage):
(WebKit::WaylandCompositor::registerWebPage):
(WebKit::WaylandCompositor::unregisterWebPage):

  • UIProcess/gtk/WaylandCompositor.h: Added.

(WebKit::WaylandCompositor::Buffer::createWeakPtr):
(WebKit::WaylandCompositor::Surface::setWebPage):
(WebKit::WaylandCompositor::isRunning):
(WebKit::WaylandCompositor::displayName):

  • UIProcess/gtk/WebPreferencesGtk.cpp:

(WebKit::WebPreferences::platformInitializeStore):

  • UIProcess/gtk/XDamageNotifier.cpp: Removed.
  • WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:

(WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost):
(WebKit::ThreadedCoordinatedLayerTreeHost::invalidate):
(WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
(WebKit::ThreadedCoordinatedLayerTreeHost::sizeDidChange):

  • WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
  • WebProcess/WebPage/gtk/AcceleratedSurface.cpp: Added.

(WebKit::AcceleratedSurface::create):
(WebKit::AcceleratedSurface::AcceleratedSurface):
(WebKit::AcceleratedSurface::~AcceleratedSurface):
(WebKit::AcceleratedSurface::resize):

  • WebProcess/WebPage/gtk/AcceleratedSurface.h: Added.

(WebKit::AcceleratedSurface::window):
(WebKit::AcceleratedSurface::surfaceID):

  • WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.cpp: Added.

(WebKit::waylandCompositorDisplay):
(WebKit::AcceleratedSurfaceWayland::create):
(WebKit::AcceleratedSurfaceWayland::AcceleratedSurfaceWayland):
(WebKit::AcceleratedSurfaceWayland::~AcceleratedSurfaceWayland):
(WebKit::AcceleratedSurfaceWayland::resize):

  • WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.h: Added.
  • WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/RedirectedXCompositeWindow.cpp.

(WebKit::AcceleratedSurfaceX11::create):
(WebKit::AcceleratedSurfaceX11::AcceleratedSurfaceX11):
(WebKit::AcceleratedSurfaceX11::~AcceleratedSurfaceX11):
(WebKit::AcceleratedSurfaceX11::resize):

  • WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/RedirectedXCompositeWindow.h.
  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
(WebKit::LayerTreeHostGtk::makeContextCurrent):
(WebKit::LayerTreeHostGtk::invalidate):
(WebKit::LayerTreeHostGtk::sizeDidChange):
(WebKit::LayerTreeHostGtk::deviceOrPageScaleFactorChanged):
(WebKit::LayerTreeHostGtk::RenderFrameScheduler::RenderFrameScheduler): Deleted.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Initialize the wayland compositor display name.

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::waylandCompositorDisplayName): Return the wayland compositor display name.

2:18 AM Changeset in webkit [205115] by commit-queue@webkit.org
  • 13 edits in trunk

[Fetch API] Add support for BufferSource bodies
https://bugs.webkit.org/show_bug.cgi?id=161087

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-29
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • 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): Change the order of the header checks so that passing headers are checked first.

  • web-platform-tests/fetch/api/request/request-consume-expected.txt:
  • web-platform-tests/fetch/api/request/request-consume.html:
  • web-platform-tests/fetch/api/response/response-consume-stream-expected.txt:
  • web-platform-tests/fetch/api/response/response-consume-stream.html:

Source/WebCore:

Covered by updated tests.

Added support for ArrayBuffer, ArrayBufferView and FormData upload.
Added support for consuming ArrayBufferView.

To support FormData upload, FetchBOdy is now storing a FormData computed from the DOMFormData passed to the constructor.
This allows setting the content-type for FormData correctly with the boundary parameter.

  • Modules/fetch/FetchBody.cpp:

(WebCore::FetchBody::bodyForInternalRequest): Adding support for FormData upload.
(WebCore::FetchBody::FetchBody): Adding ArrayBuffer and ArrayBufferView constructors.
(WebCore::FetchBody::extract): Extracting in case of BufferSource (i.e. ArrayBuffer or ArrayBufferView) and FormData.
(WebCore::FetchBody::consume): Adding support to consume ArrayBufferView.
(WebCore::FetchBody::consumeAsStream): Adding support to consume ArrayBufferView as a stream.
Cloned the ArrayBuffer before enqueuing it in the stream.
(WebCore::FetchBody::consumeArrayBuffer): Cleaning m_data after being consumed.
(WebCore::FetchBody::consumeArrayBufferView): Adding support to consume ArrayBufferView.
(WebCore::FetchBody::consumeText): Cleaning m_text after being consumed.
(WebCore::FetchBody::consumeBlob): Ditto for m_blob.
(WebCore::FetchBody::bodyForInternalRequest): Adding support for ArrayBuffer and ArrayBufferView upload.

  • Modules/fetch/FetchBody.h:
  • Modules/fetch/FetchRequest.cpp:

(WebCore::FetchRequest::internalRequest): Passing ScriptExecutionContext as this is needed for FormData upload.
(WebCore::FetchRequest::setBody): Ditto.

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::initializeWith): Ditto.
(WebCore::FetchResponse::fetch): Removing FormData upload rejection check.

1:50 AM Changeset in webkit [205114] by svillar@igalia.com
  • 5 edits
    2 adds in trunk

[css-grid] Do not recursively call layout during auto repeat computation
https://bugs.webkit.org/show_bug.cgi?id=161234

Reviewed by Manuel Rego Casasnovas.

Source/WebCore:

The computation of auto repeat tracks was incorrectly recursively triggering
a layout in order to compute the available size. That was happening whenever
the width was indefinite. In such cases we should treat the width always as
indefinite without having to run any extra code. During the layout phase
we'll have the actual width available.

This fix also unveiled a few errors in one of the imported mozilla tests which were
incorrectly passing when they should not.

Test: fast/css-grid-layout/grid-indefinite-size-auto-repeat-crash.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeAutoRepeatTracksCount):
(WebCore::RenderGrid::placeItemsOnGrid):

  • rendering/RenderGrid.h:

LayoutTests:

Added a new test case and fixed a few tests inside the imported
grid-repeat-auto-fill-fit-001.html which were wrong due to a bug in Firefox. The intrinsic
size computation was not considering the existence of definite minimum sizes for some of the
grids so the outcome was narrower than expected.

  • fast/css-grid-layout/grid-indefinite-size-auto-repeat-crash-expected.txt: Added.
  • fast/css-grid-layout/grid-indefinite-size-auto-repeat-crash.html: Added.
  • fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-001-expected.html:
1:06 AM Changeset in webkit [205113] by commit-queue@webkit.org
  • 19 edits in trunk

data:// URL behavior of XHR does not match spec
https://bugs.webkit.org/show_bug.cgi?id=109199

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-29
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/XMLHttpRequest/data-uri-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub-expected.txt:
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-block-defer-scripts-expected.txt:
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-block-scripts-expected.txt:
  • web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-not-hang-scriptloader-expected.txt:
  • web-platform-tests/fetch/api/basic/scheme-data.js: Adding setStatusText check.
  • web-platform-tests/fetch/api/basic/scheme-data-expected.txt:
  • web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt:

Source/WebCore:

Covered by rebased tests.

Making data URLs same origin for XHR and fetch API.
This is the behavior when https://fetch.spec.whatwg.org/#same-origin-data-url-flag is set.
As per the specs, this flag is set for fetch API and XMLHttpRequest.
Introducing this flag in ThreadableLoader options, default value being false.
Setting flag for XHR and fetch API.

Fixing accuracy of data URL loading by setting status code and content-type HTTP header as per fetch specification.

As can be seen from the rebased tests, no constraint is put on the method used as the fetch specification is about to allow all methods for data URLs.

  • Modules/fetch/FetchLoader.cpp:

(WebCore::FetchLoader::start): Setting same-origin-data-url-flag to true.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Making data URLs same origin if flag is set.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::loadDataURL): Setting status code and content-type header according specification.

  • loader/ThreadableLoader.cpp:

(WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Adding same-origin-data-url-flag option.

  • loader/ThreadableLoader.h:
  • loader/WorkerThreadableLoader.cpp:

(WebCore::LoaderTaskOptions::LoaderTaskOptions): Ensuring flag is preserved when going to the main thread.

  • platform/network/DataURLDecoder.cpp:

(WebCore::DataURLDecoder::parseMediaType): Setting mediaType value, used by ResourceLoader to set the content-type header.

  • platform/network/DataURLDecoder.h:
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest): Setting same-origin-data-url-flag to true.

12:21 AM Changeset in webkit [205112] by commit-queue@webkit.org
  • 20 edits
    1 add in trunk

[JSC] Improve ArithAbs with polymorphic input
https://bugs.webkit.org/show_bug.cgi?id=161286

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

JSTests:

  • stress/arith-abs-on-various-types.js: Added.

New tests.

  • stress/arith-cos-on-various-types.js:
  • stress/arith-fround-on-various-types.js:
  • stress/arith-log-on-various-types.js:
  • stress/arith-sin-on-various-types.js:
  • stress/arith-sqrt-on-various-types.js:

Extend the existing tests to cover the DCE case.

Source/JavaScriptCore:

This is similar to the previous patches: if we have polymorphic
input, do a function call.

I also discovered a few problems with the tests and fixed them:
-I forgot to add NodeMustGenerate to the previous nodes I changed.

They could have been eliminated by DCE.

-ArithAbs was always exiting if the input types do not include numbers.

The cause was the node was using isInt32OrBooleanSpeculationForArithmetic()
instead of isInt32OrBooleanSpeculation(). The test of
isInt32OrBooleanSpeculationForArithmetic() only verify the input does not
contains double or int52. If we were in that case, we were always speculating
Int32. That always fails and we were recompiling the same code over and over.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
Now that we have toNumberFromPrimitive(), we can improve constant folding here :)

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasResult):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasInt32Result): Deleted.
The accessor hasInt32Result() was unused.

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithAbs):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileArithAbs):

Note: See TracTimeline for information about the timeline view.