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

Aug 28, 2016:

11:55 PM Changeset in webkit [205111] by fred.wang@free.fr
  • 12 edits
    5 adds in trunk

Add support for non-BMP operators U+1EEF0 and U+1EEF1
https://bugs.webkit.org/show_bug.cgi?id=153984

Source/WebCore:

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

Tests: mathml/presentation/non-bmp-operators-spacing.html

mathml/presentation/non-bmp-operators-stretching.html

  • mathml/MathMLOperatorDictionary.cpp: We move the definition of operator dictionary Entry

here as it is not used by external code.
We now also accept non-BMP operators and add entries for U+1EEF0 and U+1EEF1.
(WebCore::extractProperty): Helper function to convert from Entry structure to a Property
structure.
(WebCore::MathMLOperatorDictionary::search): This function now accepts a non-BMP parameter
and returns a Property structure.
(WebCore::MathMLOperatorDictionary::isVertical): This function now accepts a non-BMP parameter.

  • mathml/MathMLOperatorDictionary.h: Replace the Entry structure with a Property structure

which was used by MathMLOperatorElement. Update the signatures of search and isVertical.

  • mathml/MathMLOperatorElement.cpp:

(WebCore::MathMLOperatorElement::parseOperatorChar): Remove the special case that excludes
non-BMP operators.
(WebCore::MathMLOperatorElement::computeDictionaryProperty): Rename the property structure
to use the one moved into MathMLOperatorDictionary.h. We no longer need to convert the result
of the search call.
(WebCore::MathMLOperatorElement::dictionaryProperty): Rename the property structure.

  • mathml/MathMLOperatorElement.h: Make OperatorChar accept non-BMP operators.

MathMLOperatorElement::DictionaryProperty is now moved into MathMLOperatorDictionary
and renamed Property.

  • rendering/mathml/MathOperator.cpp: Accept non-BMP operators.
  • rendering/mathml/MathOperator.h: Ditto.
  • rendering/mathml/RenderMathMLFencedOperator.cpp:

(WebCore::RenderMathMLFencedOperator::updateOperatorContent): Adjust code to use the new
return type of MathMLOperatorDictionary::search.

  • rendering/mathml/RenderMathMLFencedOperator.h: Accept non-BMP operators.
  • rendering/mathml/RenderMathMLOperator.cpp: Ditto.
  • rendering/mathml/RenderMathMLOperator.h: Ditto.

LayoutTests:

We add two reftests to check that the non-BMP operators are properly
handled by the MathML dictionary (form, properties, direction) as well
as the rendering code (spacing, stretching). We test the new horizontal
strechy operators U+1EEF0 and U+1EEF1 as well as the letter U+1D400
which is not a real mathematical operator. We add a minimal test
font which contains a black square for U+005F, U+1EEF0, U+1EEF1, U+1D400
and the data that can be used to stretch them horizontally.

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

  • mathml/presentation/non-bmp-operators-spacing-expected.html: Added.
  • mathml/presentation/non-bmp-operators-spacing.html: Added.
  • mathml/presentation/non-bmp-operators-stretching-expected.html: Added.
  • mathml/presentation/non-bmp-operators-stretching.html: Added.
  • mathml/presentation/non-bmp-operators.woff: Added.
11:49 PM Changeset in webkit [205110] by commit-queue@webkit.org
  • 11 edits
    2 adds in trunk

[Fetch API] Ensure response cloning works when data is loading
https://bugs.webkit.org/show_bug.cgi?id=161137

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-28
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: New tests highly inspired from Chromium similar tests.

Source/WebCore:

Test: http/tests/fetch/clone-after-load-is-finished.html and updated wpt test

FetchBody is only able to clone data when requested by Response in case the data is already there.
If data is loaded from FetchLoader, each received chunk should be given to each cloned response.
The simplest approach is to create a ReadableStream body for the cloned Response and use it for the teeing.

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::BodyLoader::didSucceed): Postpone stream closing if there is still data to enqueue in the FetchBody.

  • Modules/fetch/FetchResponse.h:
  • Modules/fetch/FetchResponse.idl:
  • Modules/fetch/FetchResponse.js:

(clone): If response is being loaded, create a ReadableStream body so that loaded data cloning is handled by ReadableStream tee.

  • Modules/streams/ReadableStreamInternals.js: Restrict firstReadCallback to the case of a readable ReadableStream.

If stream is errored or closed, FetchResponse will already have disposed of its source.
(readFromReadableStreamDefaultReader):

  • bindings/js/WebCoreBuiltinNames.h:

LayoutTests:

  • http/tests/fetch/clone-response-body-expected.txt: Added.
  • http/tests/fetch/clone-response-body.html: Added.
10:57 PM Changeset in webkit [205109] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, update iOS simulator WK1 flaky tests.

  • platform/ios-simulator-wk1/TestExpectations:
6:19 PM Changeset in webkit [205108] by Michael Catanzaro
  • 3 edits in trunk/LayoutTests

Remove flakiness expectations from switch to threaded compositor

This is completely hopeless, since there is a seemingly-unlimited number of tests that have
been broken. Suppressing an arbitrary subset of the failures is not helping anything. Keep
only records for tests that are really flaky.

Retain expectations for flaky timeouts and crashes.

4:31 PM Changeset in webkit [205107] by sbarati@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Make SpeculatedType a 64-bit integer
https://bugs.webkit.org/show_bug.cgi?id=161268

Reviewed by Filip Pizlo and Benjamin Poulain.

I'm going to introduce two new types into this and we only
have room for one in 32-bits. So, this patch widens SpeculatedType
to 64 bits. This also pulls this information through the DFG where
we needed to change DFGNode to support this.

  • bytecode/SpeculatedType.h:
  • dfg/DFGNode.cpp:

(JSC::DFG::Node::convertToPutHint):
(JSC::DFG::Node::promotedLocationDescriptor):

  • dfg/DFGNode.h:

(JSC::DFG::Node::Node):
(JSC::DFG::Node::convertToCheckStructure):
(JSC::DFG::Node::constant):
(JSC::DFG::Node::convertToConstant):
(JSC::DFG::Node::convertToConstantStoragePointer):
(JSC::DFG::Node::convertToPutStack):
(JSC::DFG::Node::convertToGetStack):
(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToMultiGetByOffset):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::convertToMultiPutByOffset):
(JSC::DFG::Node::convertToPhantomNewObject):
(JSC::DFG::Node::convertToPhantomNewFunction):
(JSC::DFG::Node::convertToPhantomNewGeneratorFunction):
(JSC::DFG::Node::convertToPhantomCreateActivation):
(JSC::DFG::Node::convertToGetLocal):
(JSC::DFG::Node::lazyJSValue):
(JSC::DFG::Node::initializationValueForActivation):
(JSC::DFG::Node::tryGetVariableAccessData):
(JSC::DFG::Node::variableAccessData):
(JSC::DFG::Node::unlinkedLocal):
(JSC::DFG::Node::unlinkedMachineLocal):
(JSC::DFG::Node::stackAccessData):
(JSC::DFG::Node::phi):
(JSC::DFG::Node::identifierNumber):
(JSC::DFG::Node::getPutInfo):
(JSC::DFG::Node::accessorAttributes):
(JSC::DFG::Node::newArrayBufferData):
(JSC::DFG::Node::indexingType):
(JSC::DFG::Node::typedArrayType):
(JSC::DFG::Node::inlineCapacity):
(JSC::DFG::Node::scopeOffset):
(JSC::DFG::Node::capturedArgumentsOffset):
(JSC::DFG::Node::variablePointer):
(JSC::DFG::Node::callVarargsData):
(JSC::DFG::Node::loadVarargsData):
(JSC::DFG::Node::targetBytecodeOffsetDuringParsing):
(JSC::DFG::Node::targetBlock):
(JSC::DFG::Node::branchData):
(JSC::DFG::Node::switchData):
(JSC::DFG::Node::getHeapPrediction):
(JSC::DFG::Node::cellOperand):
(JSC::DFG::Node::watchpointSet):
(JSC::DFG::Node::storagePointer):
(JSC::DFG::Node::uidOperand):
(JSC::DFG::Node::typeInfoOperand):
(JSC::DFG::Node::transition):
(JSC::DFG::Node::structureSet):
(JSC::DFG::Node::structure):
(JSC::DFG::Node::storageAccessData):
(JSC::DFG::Node::multiGetByOffsetData):
(JSC::DFG::Node::multiPutByOffsetData):
(JSC::DFG::Node::objectMaterializationData):
(JSC::DFG::Node::arrayMode):
(JSC::DFG::Node::arithMode):
(JSC::DFG::Node::arithRoundingMode):
(JSC::DFG::Node::setArithRoundingMode):
(JSC::DFG::Node::executionCounter):
(JSC::DFG::Node::typeLocation):
(JSC::DFG::Node::basicBlockLocation):
(JSC::DFG::Node::numberOfArgumentsToSkip):
(JSC::DFG::Node::OpInfoWrapper::OpInfoWrapper):
(JSC::DFG::Node::OpInfoWrapper::operator=):

  • dfg/DFGOpInfo.h:

(JSC::DFG::OpInfo::OpInfo):

  • dfg/DFGPromotedHeapLocation.h:

(JSC::DFG::PromotedLocationDescriptor::imm1):
(JSC::DFG::PromotedLocationDescriptor::imm2):

3:38 PM Changeset in webkit [205106] by akling@apple.com
  • 7 edits in trunk/Source

document.title setter can't throw.
<https://webkit.org/b/161302>

Reviewed by Antti Koivisto.

Source/WebCore:

Remove [SetterRaisesException] from document.title and replace
ExceptionCode propagation with ASSERT_NO_EXCEPTION.

Setting the .textContent of a SVGTitleElement or HTMLTitleElement
will never fail, so there's no exception to propagate.

  • dom/Document.cpp:

(WebCore::Document::setTitle):

  • dom/Document.h:
  • dom/Document.idl:
  • html/ImageDocument.cpp:

(WebCore::ImageDocument::finishedParsing):

Source/WebKit/mac:

  • DOM/DOMDocument.mm:

(-[DOMDocument setTitle:]):

10:36 AM Changeset in webkit [205105] by fred.wang@free.fr
  • 9 edits in trunk/Source/WebCore

MathML renderers should use struct to pass long list of LayoutUnits
https://bugs.webkit.org/show_bug.cgi?id=161084

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

RenderMathMLFraction, RenderMathMLMenclose, RenderMathMLScripts and RenderMathMLUnderOver
have helper functions to retrieve a list of LayoutUnit parameters. We gather them in a single
struct instead of using a long list of LayoutUnit& parameters.

No new tests, behavior is unchanged.

  • rendering/mathml/RenderMathMLFraction.cpp:

(WebCore::RenderMathMLFraction::getFractionParameters):
(WebCore::RenderMathMLFraction::getStackParameters):
(WebCore::RenderMathMLFraction::layoutBlock):

  • rendering/mathml/RenderMathMLFraction.h:
  • rendering/mathml/RenderMathMLMenclose.cpp:

(WebCore::RenderMathMLMenclose::getSpaceAroundContent):
(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::layoutBlock):

  • rendering/mathml/RenderMathMLMenclose.h:
  • rendering/mathml/RenderMathMLScripts.cpp:

(WebCore::RenderMathMLScripts::getScriptMetricsAndLayoutIfNeeded):
(WebCore::RenderMathMLScripts::layoutBlock):

  • rendering/mathml/RenderMathMLScripts.h:
  • rendering/mathml/RenderMathMLUnderOver.cpp:

(WebCore::RenderMathMLUnderOver::getVerticalParameters):
(WebCore::RenderMathMLUnderOver::layoutBlock):

  • rendering/mathml/RenderMathMLUnderOver.h:
9:54 AM Changeset in webkit [205104] by akling@apple.com
  • 17 edits in trunk/Source

Clean up some .text attribute setters that don't throw.
<https://webkit.org/b/161292>

Reviewed by Darin Adler.

Source/WebCore:

Remove [SetterRaisesException] for three .text attributes
and replace them with ASSERT_NO_EXCEPTION.

These setters behave like .textContent, which can't throw as
it's always okay to replace an Element's children with a Text.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::setText):

  • html/HTMLAnchorElement.h:
  • html/HTMLAnchorElement.idl:
  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::setText):

  • html/HTMLOptionElement.h:
  • html/HTMLOptionElement.idl:
  • html/HTMLTitleElement.cpp:

(WebCore::HTMLTitleElement::setText):

  • html/HTMLTitleElement.h:
  • html/HTMLTitleElement.idl:

Source/WebKit/mac:

  • DOM/DOMHTMLTitleElement.mm:

(-[DOMHTMLTitleElement setText:]):

8:46 AM Changeset in webkit [205103] by hyatt@apple.com
  • 8 edits
    20 adds
    2 deletes in trunk/Source/WebCore

Initial landing of CSS Parser Tokenization (and files to support that). Not used yet.
https://bugs.webkit.org/show_bug.cgi?id=161174

This code is imported from Blink and is their CSS parser (modified to work in WebKit).
It is from commit e4bb90df7f2ed8a63975b5ed27a1b488cb9b146f, Mon Aug 22 2016.

Reviewed by Simon Fraser.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSMarkup.cpp: Added.

(WebCore::isCSSTokenizerIdentifier):
(WebCore::serializeCharacter):
(WebCore::serializeCharacterAsCodePoint):
(WebCore::serializeIdentifier):
(WebCore::serializeString):
(WebCore::serializeURI):
(WebCore::serializeFontFamily):

  • css/CSSMarkup.h: Added.
  • css/CSSOMUtils.cpp: Removed.
  • css/CSSOMUtils.h: Removed.
  • css/CSSSelector.cpp:
  • css/parser/CSSParserFastPaths.cpp: Added.
  • css/parser/CSSParserFastPaths.h: Added.
  • css/parser/CSSParserIdioms.h: Added.

(WebCore::isCSSSpace):
(WebCore::isNameStartCodePoint):
(WebCore::isNameCodePoint):

  • css/parser/CSSParserObserver.h: Added.

(WebCore::CSSParserObserver::~CSSParserObserver):

  • css/parser/CSSParserObserverWrapper.cpp: Added.

(WebCore::CSSParserObserverWrapper::startOffset):
(WebCore::CSSParserObserverWrapper::previousTokenStartOffset):
(WebCore::CSSParserObserverWrapper::endOffset):
(WebCore::CSSParserObserverWrapper::skipCommentsBefore):
(WebCore::CSSParserObserverWrapper::yieldCommentsBefore):

  • css/parser/CSSParserObserverWrapper.h: Added.

(WebCore::CSSParserObserverWrapper::CSSParserObserverWrapper):
(WebCore::CSSParserObserverWrapper::observer):
(WebCore::CSSParserObserverWrapper::addComment):
(WebCore::CSSParserObserverWrapper::addToken):
(WebCore::CSSParserObserverWrapper::finalizeConstruction):

  • css/parser/CSSParserToken.cpp: Added.

(WebCore::cssPrimitiveValueUnitFromTrie):
(WebCore::stringToUnitType):
(WebCore::CSSParserToken::CSSParserToken):
(WebCore::CSSParserToken::convertToDimensionWithUnit):
(WebCore::CSSParserToken::convertToPercentage):
(WebCore::CSSParserToken::delimiter):
(WebCore::CSSParserToken::numericSign):
(WebCore::CSSParserToken::numericValueType):
(WebCore::CSSParserToken::numericValue):
(WebCore::CSSParserToken::parseAsUnresolvedCSSPropertyID):
(WebCore::CSSParserToken::id):
(WebCore::CSSParserToken::functionId):
(WebCore::CSSParserToken::hasStringBacking):
(WebCore::CSSParserToken::copyWithUpdatedString):
(WebCore::CSSParserToken::valueDataCharRawEqual):
(WebCore::CSSParserToken::operator==):
(WebCore::CSSParserToken::serialize):

  • css/parser/CSSParserToken.h: Added.

(WebCore::CSSParserToken::operator!=):
(WebCore::CSSParserToken::type):
(WebCore::CSSParserToken::value):
(WebCore::CSSParserToken::getHashTokenType):
(WebCore::CSSParserToken::getBlockType):
(WebCore::CSSParserToken::unitType):
(WebCore::CSSParserToken::unicodeRangeStart):
(WebCore::CSSParserToken::unicodeRangeEnd):
(WebCore::CSSParserToken::initValueFromStringView):

  • css/parser/CSSParserTokenRange.cpp: Added.

(WebCore::CSSParserTokenRange::eofToken):
(WebCore::CSSParserTokenRange::makeSubRange):
(WebCore::CSSParserTokenRange::consumeBlock):
(WebCore::CSSParserTokenRange::consumeComponentValue):
(WebCore::CSSParserTokenRange::serialize):

  • css/parser/CSSParserTokenRange.h: Added.

(WebCore::CSSParserTokenRange::CSSParserTokenRange):
(WebCore::CSSParserTokenRange::atEnd):
(WebCore::CSSParserTokenRange::end):
(WebCore::CSSParserTokenRange::peek):
(WebCore::CSSParserTokenRange::consume):
(WebCore::CSSParserTokenRange::consumeIncludingWhitespace):
(WebCore::CSSParserTokenRange::consumeWhitespace):
(WebCore::CSSParserTokenRange::begin):

  • css/parser/CSSPropertyParser.cpp: Added.

(WebCore::hasPrefix):
(WebCore::cssPropertyID):
(WebCore::cssPropertyNameIOSAliasing):
(WebCore::isAppleLegacyCssValueKeyword):
(WebCore::cssValueKeywordID):
(WebCore::unresolvedCSSPropertyID):

  • css/parser/CSSPropertyParser.h: Added.

(WebCore::CSSPropertyParser::inQuirksMode):

  • css/parser/CSSPropertyParserHelpers.cpp: Added.
  • css/parser/CSSPropertyParserHelpers.h: Added.

(WebCore::CSSPropertyParserHelpers::identMatches):
(WebCore::CSSPropertyParserHelpers::consumeIdent):
(WebCore::CSSPropertyParserHelpers::isCSSWideKeyword):

  • css/parser/CSSTokenizer.cpp: Added.

(WebCore::CSSTokenizer::Scope::Scope):
(WebCore::CSSTokenizer::Scope::tokenRange):
(WebCore::CSSTokenizer::Scope::tokenCount):
(WebCore::isNewLine):
(WebCore::twoCharsAreValidEscape):
(WebCore::CSSTokenizer::CSSTokenizer):
(WebCore::CSSTokenizer::reconsume):
(WebCore::CSSTokenizer::consume):
(WebCore::CSSTokenizer::whiteSpace):
(WebCore::CSSTokenizer::blockStart):
(WebCore::CSSTokenizer::blockEnd):
(WebCore::CSSTokenizer::leftParenthesis):
(WebCore::CSSTokenizer::rightParenthesis):
(WebCore::CSSTokenizer::leftBracket):
(WebCore::CSSTokenizer::rightBracket):
(WebCore::CSSTokenizer::leftBrace):
(WebCore::CSSTokenizer::rightBrace):
(WebCore::CSSTokenizer::plusOrFullStop):
(WebCore::CSSTokenizer::asterisk):
(WebCore::CSSTokenizer::lessThan):
(WebCore::CSSTokenizer::comma):
(WebCore::CSSTokenizer::hyphenMinus):
(WebCore::CSSTokenizer::solidus):
(WebCore::CSSTokenizer::colon):
(WebCore::CSSTokenizer::semiColon):
(WebCore::CSSTokenizer::hash):
(WebCore::CSSTokenizer::circumflexAccent):
(WebCore::CSSTokenizer::dollarSign):
(WebCore::CSSTokenizer::verticalLine):
(WebCore::CSSTokenizer::tilde):
(WebCore::CSSTokenizer::commercialAt):
(WebCore::CSSTokenizer::reverseSolidus):
(WebCore::CSSTokenizer::asciiDigit):
(WebCore::CSSTokenizer::letterU):
(WebCore::CSSTokenizer::nameStart):
(WebCore::CSSTokenizer::stringStart):
(WebCore::CSSTokenizer::endOfFile):
(WebCore::CSSTokenizer::nextToken):
(WebCore::CSSTokenizer::consumeNumber):
(WebCore::CSSTokenizer::consumeNumericToken):
(WebCore::CSSTokenizer::consumeIdentLikeToken):
(WebCore::CSSTokenizer::consumeStringTokenUntil):
(WebCore::CSSTokenizer::consumeUnicodeRange):
(WebCore::isNonPrintableCodePoint):
(WebCore::CSSTokenizer::consumeUrlToken):
(WebCore::CSSTokenizer::consumeBadUrlRemnants):
(WebCore::CSSTokenizer::consumeSingleWhitespaceIfNext):
(WebCore::CSSTokenizer::consumeUntilCommentEndFound):
(WebCore::CSSTokenizer::consumeIfNext):
(WebCore::CSSTokenizer::consumeName):
(WebCore::CSSTokenizer::consumeEscape):
(WebCore::CSSTokenizer::nextTwoCharsAreValidEscape):
(WebCore::CSSTokenizer::nextCharsAreNumber):
(WebCore::CSSTokenizer::nextCharsAreIdentifier):
(WebCore::CSSTokenizer::registerString):

  • css/parser/CSSTokenizer.h: Added.

(WebCore::CSSTokenizer::Scope::storeString):

  • css/parser/CSSTokenizerInputStream.cpp: Added.

(WebCore::CSSTokenizerInputStream::CSSTokenizerInputStream):
(WebCore::CSSTokenizerInputStream::advanceUntilNonWhitespace):
(WebCore::CSSTokenizerInputStream::getDouble):

  • css/parser/CSSTokenizerInputStream.h: Added.

(WebCore::CSSTokenizerInputStream::nextInputChar):
(WebCore::CSSTokenizerInputStream::peekWithoutReplacement):
(WebCore::CSSTokenizerInputStream::advance):
(WebCore::CSSTokenizerInputStream::pushBack):
(WebCore::CSSTokenizerInputStream::skipWhilePredicate):
(WebCore::CSSTokenizerInputStream::length):
(WebCore::CSSTokenizerInputStream::offset):
(WebCore::CSSTokenizerInputStream::rangeAt):

  • platform/Length.h:
7:45 AM Changeset in webkit [205102] by jfernandez@igalia.com
  • 4 edits
    2 adds in trunk

Should never be reached failure in WebCore::RenderFlexibleBox::alignChildren
https://bugs.webkit.org/show_bug.cgi?id=151591
<rdar://problem/27711829>

Reviewed by Darin Adler.

Source/WebCore:

The align-self and align-items CSS properties were originally defined in the
Flexbible Box specification. The new CSS Box Alignment specification tries
to generalize them so they can be used by other layout models, as it's the
case of the GridLayout spec.

Since we have implemented the Grid Layout spec behind a runtime flag, we should
do the same with the new syntax of these properties.

Test: css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled.html

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::alignChildren):

LayoutTests:

Test to verify that align-self and align-items CSS properties use the old
syntax when the Grid Layout feature is not enabled.

  • css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled-expected.txt: Added.
  • css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled.html: Added.
2:35 AM Changeset in webkit [205101] by fred.wang@free.fr
  • 6 edits in trunk

Improve parsing of the menclose notation attribute value
https://bugs.webkit.org/show_bug.cgi?id=161045

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

Source/WebCore:

We improve the way the list of menclose notations is parsed to avoid allocating a vector and
accept any whitespace as separators.

New test cases in mathml/presentation/menclose-notation-equivalence.html

  • mathml/MathMLMencloseElement.cpp: Include HTMLParserIdioms.h to use isHTMLSpace.

(WebCore::MathMLMencloseElement::addNotationFlags): Helper function to perform the relevant
addNotation calls from a notation name.
(WebCore::MathMLMencloseElement::parseNotationAttribute): Use only simple string operations
to determine the list of notations.

  • mathml/MathMLMencloseElement.h: Declare the new helper function.

LayoutTests:

We add some cases in menclose-notation-equivalence to verify that one can use any sequence of
whitespace to separate notation values. We try with 0, 1, 2 or 3 notation values.

  • mathml/presentation/menclose-notation-equivalence-expected.html:
  • mathml/presentation/menclose-notation-equivalence.html:
1:50 AM Changeset in webkit [205100] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Make MathMLSpaceElement and MathMLTokenElement inherit from MathMLPresentationElement
https://bugs.webkit.org/show_bug.cgi?id=161232

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

The mrow-like features of MathMLPresentationElement are now moved into RenderMathMLRow.
Hence we make MathMLSpaceElement and MathMLTokenElement inherit from the generic class
MathMLPresentationElement for presentation MathML elements.

No new tests, already covered by existing tests.

  • mathml/MathMLSpaceElement.cpp:

(WebCore::MathMLSpaceElement::MathMLSpaceElement): Derive from MathMLPresentationElement.
(WebCore::MathMLSpaceElement::parseAttribute): Ditto.

  • mathml/MathMLSpaceElement.h: Ditto. Override acceptsDisplayStyleAttribute as a small

optimization. isPresentationMathML is no longer needed.

  • mathml/MathMLTokenElement.cpp:

(WebCore::MathMLTokenElement::MathMLTokenElement): Derive from MathMLPresentationElement.
(WebCore::MathMLTokenElement::didAttachRenderers): Ditto.
(WebCore::MathMLTokenElement::childrenChanged): Ditto.
(WebCore::MathMLTokenElement::parseAttribute): Deleted. No need to override this function
any more since it's already implemented in MathMLPresentationElement.

  • mathml/MathMLTokenElement.h: Derive from MathMLPresentationElement. Override

acceptsDisplayStyleAttribute as a small optimization. isPresentationMathML is no longer
needed.

1:41 AM Changeset in webkit [205099] by fred.wang@free.fr
  • 3 edits in trunk/Source/WebCore

RenderMathMLRow::firstLineBaseline does not need to be overridden in RenderMathMLMenclose
https://bugs.webkit.org/show_bug.cgi?id=161127

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

RenderMathMLRow::firstLineBaseline already provides the correct calculation of ascent for
non-empty menclose elements. Empty menclose elements are not used in practice so the
calculated value is irrelevant. Aligning on mrow (i.e. leaving firstLineBaseline to 0)
is fine. This change allows to get rid of the m_ascent member and helps to keep good baseline
alignment when the zoom level changes (bug 161126).

No new tests, already covered by existing tests.

  • rendering/mathml/RenderMathMLMenclose.cpp:

(WebCore::RenderMathMLMenclose::RenderMathMLMenclose): Remove initialization of m_ascent.
(WebCore::RenderMathMLMenclose::layoutBlock): No need to calculate m_ascent. The height and
content location can be determined without introducing local variables ascent or descent.
(WebCore::RenderMathMLMenclose::firstLineBaseline): Deleted. We just use the implementation
from RenderMathMLRow.

  • rendering/mathml/RenderMathMLMenclose.h: Delete m_ascent and do not override

firstLineBaseline.

1:26 AM Changeset in webkit [205098] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

More cleanup for the mpadded implementation
https://bugs.webkit.org/show_bug.cgi?id=161136

Source/WebCore:

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

We perform the following cleanup for the mpadded renderer class:
1) We do not store the ascent on the class. This may make update more reliable and will
help for general improvement of MathML ascents (bug 155879).
2) We split resolveWidth/resolveAttributes into smaller functions and improve the coding
style. This helps to calculate firstLineBaseline in 1).
3) We do not override updateFromElement and styleDidChange to perform setNeedsLayout calls.
These calls already seem unnecessary and can be removed even more safely after 1).

We add a test for style change. Change of attributes as well as metrics calcuation of empty
and non-empty mpadded elements are already covered by other tests.

Test: mathml/presentation/mpadded-style-change.html

  • rendering/mathml/RenderMathMLPadded.cpp:

(WebCore::RenderMathMLPadded::voffset): New helper function to resolve voffset.
(WebCore::RenderMathMLPadded::lspace): Ditto for lspace.
(WebCore::RenderMathMLPadded::mpaddedWidth): Ditto for width.
(WebCore::RenderMathMLPadded::mpaddedHeight): Ditto for height.
(WebCore::RenderMathMLPadded::mpaddedDepth): Ditto for detph.
(WebCore::RenderMathMLPadded::computePreferredLogicalWidths): Use mpaddedWidth().
(WebCore::RenderMathMLPadded::layoutBlock): Use the new helper functions.
(WebCore::RenderMathMLPadded::firstLineBaseline): Use voffset or mpaddedHeight for baseline
calculation instead of m_padded.
(WebCore::RenderMathMLPadded::resolveWidth): Deleted. Renamed mpaddedWidth.
(WebCore::RenderMathMLPadded::resolveAttributes): Deleted. Split into smaller functions.
(WebCore::RenderMathMLPadded::updateFromElement): Deleted. We do not need to call
setNeedsLayout.
(WebCore::RenderMathMLPadded::styleDidChange): Deleted. Ditto.

  • rendering/mathml/RenderMathMLPadded.h: Update function declaration and remove m_ascent.

LayoutTests:

We add a test for style change in mpadded.

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

  • mathml/presentation/mpadded-style-change-expected.html: Added.
  • mathml/presentation/mpadded-style-change.html: Added.

Aug 27, 2016:

10:55 PM Changeset in webkit [205097] by commit-queue@webkit.org
  • 8 edits in trunk

URLParser should parse relative URLs
https://bugs.webkit.org/show_bug.cgi?id=161282

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

Source/WebCore:

Partially covered by new API tests, but once the parser is complete enough we can
use the url web platform tests to more fully test this. It's still a work in
progress only used by tests.

  • platform/URLParser.cpp:

(WebCore::URLParser::urlLengthUntilPart):
(WebCore::URLParser::copyURLPartsUntil):
Added some helper functions to reduce redundant code. When parsing relative URLs,
we often want to copy large parts of the base URL, but the stopping point differs.
(WebCore::URLParser::parse):
The parser now returns a URL instead of an Optional<URL> because a URL has a m_isValid which behaves like Optional.

  • platform/URLParser.h:

(WebCore::URLParser::parse):

Source/WTF:

  • wtf/text/StringView.h:

Use a std::reference_wrapper for the StringView& to make it reassignable so we can add an operator=.

Tools:

  • TestWebKitAPI/Tests/WTF/StringView.cpp:

(TestWebKitAPI::TEST):
Added some tests for the new operator=.
Test saving iterators, restoring iterators, and even assigning iterators to new CodePoints objects.
Using the same iterator to iterate multiple objects is bad practice, but it's possible and now tested.

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::checkURL):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::shouldFail):
Add some relative URL tests.

10:29 PM Changeset in webkit [205096] by Chris Dumez
  • 15 edits in trunk

Update generated bindings to throw a SecurityError when denying cross-origin access to properties
https://bugs.webkit.org/show_bug.cgi?id=161270

Reviewed by Darin Adler.

Source/WebCore:

Update generated bindings to throw a SecurityError when denying cross-origin
access to properties, as per the HTML specification:

Firefox and Chrome already throw but Webkit was logging an error message and
returning undefined instead.

No new tests, updated existing tests.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::canAccessDocument):
(WebCore::BindingSecurity::shouldAllowAccessToNode):

  • bindings/js/JSDOMBinding.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

LayoutTests:

Update / rebaseline existing tests to reflect behavior change.

  • http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:
  • http/tests/security/cross-frame-access-call-expected.txt:
  • http/tests/security/cross-frame-access-call.html:
  • http/tests/security/cross-origin-window-property-access-expected.txt:
  • 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:
  • http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
  • http/tests/security/xss-DENIED-method-with-iframe-proto.html:
10:24 PM Changeset in webkit [205095] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Follow-up fixes after r205030.
https://bugs.webkit.org/show_bug.cgi?id=161216

Reviewed by Darin Adler.

  • html/parser/HTMLParserIdioms.cpp:

(WebCore::isHTMLSpaceOrDelimiter):
(WebCore::isNumberStart):
(WebCore::parseHTMLListOfOfFloatingPointNumberValues):

  • html/parser/HTMLParserIdioms.h:
6:27 PM Changeset in webkit [205094] by commit-queue@webkit.org
  • 13 edits in trunk

WTR needs an implementation of setAutomaticLinkDetectionEnabled
https://bugs.webkit.org/show_bug.cgi?id=87162

Patch by Jonathan Bedard <Jonathan Bedard> on 2016-08-27
Source/WebKit2:

Reviewed by Darin Adler

  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleSetAutomaticLinkDetectionEnabled): Added WKBundleSetAutomaticLinkDetectionEnabled definition.

  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added WKBundleSetAutomaticLinkDetectionEnabled declaration.
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setAutomaticLinkDetectionEnabled): Added setAutomaticLinkDetectionEnabled definition.

  • WebProcess/InjectedBundle/InjectedBundle.h: Added setAutomaticLinkDetectionEnabled declaration.
  • WebProcess/WebProcess.h: Declared setTextCheckerState public.

Tools:

Reviewed by Darin Adler.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Added setAutomaticLinkDetectionEnabled binding.
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting): Set automatic link detection to false by default.

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setAutomaticLinkDetectionEnabled): Added setAutomaticLinkDetectionEnabled definition.

  • WebKitTestRunner/InjectedBundle/TestRunner.h: Added setAutomaticLinkDetectionEnabled declaration.

LayoutTests:

Reviewed by Darin Adler.

  • platform/wk2/TestExpectations: Removed 2 now passing tests.
5:40 PM Changeset in webkit [205093] by commit-queue@webkit.org
  • 71 edits in trunk/Source/WebCore

Add final keyword to final classes and overriden methods in WebCore/css
https://bugs.webkit.org/show_bug.cgi?id=161182

Patch by Rawinder Singh <rawinder.singh-webkit@cisra.canon.com.au> on 2016-08-27
Reviewed by Darin Adler.

  • Mark classes in the WebCore/css directory final as appropriate.
  • Update WebCore/css classes so that overriden methods in final classes are marked final.
  • css/CSSAnimationTriggerScrollValue.h:
  • css/CSSAspectRatioValue.h:
  • css/CSSBasicShapes.h:
  • css/CSSBorderImageSliceValue.h:
  • css/CSSCalculationValue.cpp:

(WebCore::determineCategory):

  • css/CSSCalculationValue.h:
  • css/CSSCanvasValue.h:
  • css/CSSCharsetRule.h:
  • css/CSSComputedStyleDeclaration.h:
  • css/CSSContentDistributionValue.h:
  • css/CSSCrossfadeValue.h:
  • css/CSSCursorImageValue.h:
  • css/CSSCustomPropertyValue.h:
  • css/CSSFilterImageValue.h:
  • css/CSSFontFaceLoadEvent.h:
  • css/CSSFontFaceSrcValue.h:
  • css/CSSFontFeatureValue.h:
  • css/CSSFontSelector.h:
  • css/CSSFontValue.h:
  • css/CSSFunctionValue.h:
  • css/CSSGradientValue.h:
  • css/CSSGridAutoRepeatValue.h:
  • css/CSSGridLineNamesValue.h:
  • css/CSSGridTemplateAreasValue.h:
  • css/CSSImageSetValue.h:
  • css/CSSImageValue.h:
  • css/CSSInheritedValue.h:
  • css/CSSInitialValue.h:
  • css/CSSKeyframeRule.h:
  • css/CSSKeyframesRule.h:
  • css/CSSLineBoxContainValue.h:
  • css/CSSNamedImageValue.h:
  • css/CSSPrimitiveValue.h:
  • css/CSSReflectValue.h:
  • css/CSSRevertValue.h:
  • css/CSSRuleList.h:
  • css/CSSSegmentedFontFace.h:
  • css/CSSShadowValue.h:
  • css/CSSStyleSheet.cpp:
  • css/CSSStyleSheet.h:
  • css/CSSSupportsRule.h:
  • css/CSSTimingFunctionValue.h:
  • css/CSSUnicodeRangeValue.h:
  • css/CSSUnknownRule.h:
  • css/CSSUnsetValue.h:
  • css/CSSValue.cpp:
  • css/CSSVariableDependentValue.h:
  • css/CSSVariableValue.h:
  • css/Counter.h:
  • css/DOMCSSNamespace.h:
  • css/DashboardRegion.h:
  • css/LengthRepeat.h:
  • css/MediaList.h:
  • css/MediaQueryList.h:
  • css/MediaQueryMatcher.h:
  • css/Pair.h:
  • css/PropertySetCSSStyleDeclaration.h:
  • css/RGBColor.h:
  • css/Rect.h:
  • css/StyleMedia.h:
  • css/StyleProperties.h:
  • css/StyleRule.h:
  • css/StyleRuleImport.h:
  • css/StyleSheetContents.h:
  • css/StyleSheetList.h:
  • css/ViewportStyleResolver.h:
  • css/WebKitCSSFilterValue.h:
  • css/WebKitCSSRegionRule.h:
  • css/WebKitCSSTransformValue.h:
  • css/WebKitCSSViewportRule.h:
5:36 PM Changeset in webkit [205092] by Simon Fraser
  • 6 edits in trunk/Source

Add more Editing logging
https://bugs.webkit.org/show_bug.cgi?id=161287

Reviewed by Darin Adler.

Add logging which tracks how key events get from the UI process to the
web process, and down to form fields.

  • editing/Editor.cpp:

(WebCore::Editor::handleTextEvent):
(WebCore::Editor::appliedEditing):

  • editing/TypingCommand.cpp:

(WebCore::TypingCommand::insertText):
(WebCore::TypingCommand::insertTextAndNotifyAccessibility):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::didEditInnerTextValue):

  • page/EventHandler.cpp:

(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTextInputEvent):

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

Unused cxxabi.h include in JSGlobalObjectInspectorController.cpp
https://bugs.webkit.org/show_bug.cgi?id=161120

Patch by Don Olmstead <don.olmstead@am.sony.com> on 2016-08-27
Reviewed by Darin Adler.

  • inspector/JSGlobalObjectInspectorController.cpp:
5:14 PM Changeset in webkit [205090] by pvollan@apple.com
  • 2 edits in trunk

[Win] Enable 'warning as error' compiler setting.
https://bugs.webkit.org/show_bug.cgi?id=161243

Reviewed by Darin Adler.

  • Source/cmake/OptionsWin.cmake:
5:13 PM Changeset in webkit [205089] by commit-queue@webkit.org
  • 6 edits in trunk

Web Inspector: Make localizedString.js diff and commit friendly (UTF16 -> UTF8)
https://bugs.webkit.org/show_bug.cgi?id=28685
<rdar://problem/16460975>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-08-27
Reviewed by Darin Adler.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • WebInspectorUI.xcodeproj/project.pbxproj:

Convert the file to UTF-8. Future diffs should display as text.

Tools:

  • Scripts/extract-localizable-js-strings:
  • Scripts/update-webkit-localizable-strings:

WebInspectorUI localizedStrings.js is now UTF-8. Other clients of
this script still use UTF-16, so keep that the default.

5:12 PM Changeset in webkit [205088] by commit-queue@webkit.org
  • 16 edits
    5 deletes in trunk

Remove more custom JavaScript bindings
https://bugs.webkit.org/show_bug.cgi?id=161293

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

Source/WebCore:

Remove custom bindings for AudioContext, DOMFormData, MediaSession and WebKitPoint.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::MediaSession):

  • Modules/mediasession/MediaSession.h:

Change to take Document explicitly, since that is what it
expecting.

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::create):

  • Modules/webaudio/AudioContext.h:

Remove unused ExceptionCode parameter.

  • Modules/webaudio/AudioContext.idl:
  • html/DOMFormData.idl:
  • html/HTMLFormElement.idl:
  • page/WebKitPoint.idl:

Switch to use the generated constructor.

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

Remove files.

  • bindings/js/JSAudioContextCustom.cpp: Removed.
  • bindings/js/JSDOMFormDataCustom.cpp: Removed.
  • bindings/js/JSMediaSessionCustom.cpp: Removed.
  • bindings/js/JSWebKitPointCustom.cpp: Removed.

Remove in favor of generated variants.

  • bindings/js/JSHTMLInputElementCustom.h: Removed.

Remove unused header.

  • page/WebKitPoint.h:

(WebCore::WebKitPoint::create):
(WebCore::WebKitPoint::WebKitPoint):
Move NaN replacement into the implementation and out of the bindings.

LayoutTests:

  • webaudio/audionode-expected.txt:
  • webaudio/audionode.html:

Update test for correct behavior of the constructor.

5:11 PM Changeset in webkit [205087] by ap@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r204052): Popovers on bot watcher's dashboard are broken
https://bugs.webkit.org/show_bug.cgi?id=161254

Reviewed by Darin Adler.

Simplify the CSS. My understanding that the CSS was correct, and the root cause
is tracked in bug 160478.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Popover.css:
5:10 PM Changeset in webkit [205086] by commit-queue@webkit.org
  • 9 edits in trunk/LayoutTests

Race between creating/deleting a database in test
https://bugs.webkit.org/show_bug.cgi?id=161285

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-08-27
Reviewed by Darin Adler.

Because IndexedDB creation is asynchronous, we were not waiting for the
database to be completely open before sending more commands. These
could race and give unexpected results. Wait for the database to be
successfully created before interacting with it.

  • inspector/indexeddb/resources/utilities.js:

(createEmptyDatabase):
(createDatabaseWithStores):
Send a single when the database creation is completed.

  • inspector/indexeddb/clearObjectStore-expected.txt:
  • inspector/indexeddb/clearObjectStore.html:
  • inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
  • inspector/indexeddb/requestData-expected.txt:
  • inspector/indexeddb/requestDatabase-expected.txt:
  • inspector/indexeddb/requestDatabase.html:
  • inspector/indexeddb/requestDatabaseNames.html:

Listen for the database created signal before proceeding
with the test.

3:13 PM Changeset in webkit [205085] by rniwa@webkit.org
  • 9 edits
    2 adds in trunk

Source/WebCore:
Add adopted callback for custom elements
https://bugs.webkit.org/show_bug.cgi?id=161284

Reviewed by Antti Koivisto.

Added the support for adoptedCallback: https://dom.spec.whatwg.org/#concept-node-adopt
For now, we only support this callback on appendChild.

Test: fast/custom-elements/adopted-callback.html

  • bindings/js/JSCustomElementInterface.cpp:

(WebCore::JSCustomElementInterface::invokeCallback): Added JSDOMGlobalObject* as an argument to the callback so that
we can invoke toJS on Document in invokeAdoptedCallback.
(WebCore::JSCustomElementInterface::setAdoptedCallback): Added.
(WebCore::JSCustomElementInterface::invokeAdoptedCallback): Added.
(WebCore::JSCustomElementInterface::setAttributeChangedCallback):

  • bindings/js/JSCustomElementInterface.h:

(WebCore::JSCustomElementInterface::hasConnectedCallback): Added.
(WebCore::JSCustomElementInterface::hasDisconnectedCallback): Added.
(WebCore::JSCustomElementInterface::hasAdoptedCallback): Added.

  • bindings/js/JSCustomElementRegistryCustom.cpp:

(WebCore::JSCustomElementRegistry::define):

  • dom/CustomElementReactionQueue.cpp:

(WebCore::CustomElementReactionQueueItem::CustomElementReactionQueueItem): Added a variant that takes two documents.
(WebCore::CustomElementReactionQueueItem::invoke):
(WebCore::CustomElementReactionQueue::enqueueConnectedCallbackIfNeeded): Fixed a bug that this function was always
enqueuing a callback even when the interface didn't have connectedCallback. Also, there is no need to check
the nullity of the interface since it should never be null.
(WebCore::CustomElementReactionQueue::enqueueDisconnectedCallbackIfNeeded): Ditto.
(WebCore::CustomElementReactionQueue::enqueueAdoptedCallbackIfNeeded): Added.
(WebCore::CustomElementReactionQueue::enqueueAttributeChangedCallbackIfNeeded): Assert that the interface is never
null instead of exiting early.

  • dom/CustomElementReactionQueue.h:
  • dom/Element.cpp:

(WebCore::Element::didMoveToNewDocument): Added a call to enqueueAdoptedCallbackIfNeeded.

LayoutTests:
adoptcallback

Add adopted callback for custom elements
https://bugs.webkit.org/show_bug.cgi?id=161284

Reviewed by Antti Koivisto.

  • fast/custom-elements/adopted-callback-expected.txt: Added.
  • fast/custom-elements/adopted-callback.html: Added.
  • fast/custom-elements/resources/document-types.js:

(const.DocumentTypes.create):

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

Fix the !PLATFORM(WIN) && USE(CURL) build.
https://bugs.webkit.org/show_bug.cgi?id=161281

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2016-08-27
Reviewed by Alex Christensen.

  • platform/network/curl/ResourceHandleCurl.cpp:
1:55 PM Changeset in webkit [205083] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

html/dom/interfaces.html is flaky due to WebSocket test
https://bugs.webkit.org/show_bug.cgi?id=161290

Unreviewed.

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

  • platform/mac/TestExpectations: Making html/dom/interfaces.html expectation specific to Release.
1:47 PM Changeset in webkit [205082] by commit-queue@webkit.org
  • 8 edits in trunk

[Fetch API] Opaque responses should not have any body
https://bugs.webkit.org/show_bug.cgi?id=161130

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

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/cors/cors-basic.js:

(cors): Adding response body checking.

Source/WebCore:

Covered by updated test.

Added a new ThreadableLoader option to receive or not opaque response body.
By default, option is set to Receive.
FetchLoader is setting it to DoNotReceive.

  • Modules/fetch/FetchLoader.cpp:

(WebCore::FetchLoader::start):

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::didReceiveResponse): Calling didFinishLoading just after didReceiveResponse in case of Opaque responses.

  • loader/ThreadableLoader.cpp:

(WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):

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

(WebCore::LoaderTaskOptions::LoaderTaskOptions):

11:43 AM Changeset in webkit [205081] by commit-queue@webkit.org
  • 6 edits in trunk

[Fetch API] opaqueredirect responses should have their URL set to the original URL
https://bugs.webkit.org/show_bug.cgi?id=161194

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

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/redirect/redirect-mode.html:
  • web-platform-tests/fetch/api/redirect/redirect-mode.js:

(redirectMode): Updating test to ease the computation of the absolute URL.

Source/WebCore:

Covered by updated tests.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::didReceiveResponse):

  • loader/SubresourceLoader.cpp: Removing isNull ASSERT since we now set the response URL.

(WebCore::SubresourceLoader::willSendRequestInternal): Setting opaqueredirect response URL to the original URL.

11:07 AM Changeset in webkit [205080] by Simon Fraser
  • 7 edits in trunk

Add run-webkit-tests --print-expectations to show expectations for all or a subset of tests
https://bugs.webkit.org/show_bug.cgi?id=161217

Reviewed by Ryosuke Niwa.
Tools:

"run-webkit-tests --print-expectations" runs the same logic as running the tests, but
dumps out the lists of tests that would be run and skipped, and, for each, the entry
in TestExpectations that determines the expected outcome of the test.

This is an improved version of webkit-patch print-expectations.

See bug for sample output.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._print_expectations_for_subset): Print out the list of tests and expected
outcome for some subset of tests.
(Manager.print_expectations): Do the same splitting by device class that running tests
does, and for each subset of tests, call _print_expectations_for_subset.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationParser.expectation_for_skipped_test): Set the flag
expectation_line.not_applicable_to_current_platform
(TestExpectationLine.init): Init not_applicable_to_current_platform to False
(TestExpectationLine.expected_behavior): line.expectation is PASS? by default,
even for skipped tests. This function returns a list relevant for display, taking the skipped
modifier into account.
(TestExpectationLine.create_passing_expectation): expectations is normally a list, not a set.
(TestExpectations.readable_filename_and_line_number): Return something printable for
lines with and without filenames

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(main): Handle options.print_expectations
(parse_args): Add support for --print-expectations
(_print_expectations):

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.default_child_processes): Make this a debug log.

LayoutTests:

Explicitly skip fast/viewport

  • platform/mac/TestExpectations:
10:45 AM Changeset in webkit [205079] by akling@apple.com
  • 4 edits in trunk

script.text should behave like script.textContent on setting
<https://webkit.org/b/148852>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/scripting-1/the-script-element/script-text-expected.txt:

Source/WebCore:

HTMLScriptElement.text should behave just like .textContent when setting,
so just forward setText() to setTextContent().

Test: import/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/script-text.html

  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::setText):

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

html/dom/interfaces.html is flaky due to WebSocket test
https://bugs.webkit.org/show_bug.cgi?id=161290

Unreviewed.

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

  • platform/mac/TestExpectations: Marking html/dom/interfaces.html expectation from Skip to Pass|Failure.
7:31 AM Changeset in webkit [205077] by commit-queue@webkit.org
  • 94 edits
    1 move
    4 adds
    1 delete in trunk/LayoutTests

Sync web-platform-tests up to revision e827374
https://bugs.webkit.org/show_bug.cgi?id=161231

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

  • resources/ImportExpectations: Skipped some new test suites. Added 'url' test suite as Import.
  • resources/TestRepositories: Updated revision to e827374
  • resources/web-platform-tests-modules.json:
  • web-platform-tests/XMLHttpRequest/abort-during-upload-expected.txt:
  • web-platform-tests/XMLHttpRequest/abort-during-upload.htm:
  • web-platform-tests/XMLHttpRequest/abort-event-order.htm:
  • web-platform-tests/XMLHttpRequest/event-error-expected.txt:
  • web-platform-tests/XMLHttpRequest/event-error-order.sub-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/event-error-order.sub.html: Added.
  • web-platform-tests/XMLHttpRequest/event-error.html:
  • web-platform-tests/XMLHttpRequest/event-error.sub-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/event-error.sub.html: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-error.html.
  • web-platform-tests/XMLHttpRequest/event-progress.htm:
  • web-platform-tests/XMLHttpRequest/resources/trickle.py:

(main):

  • web-platform-tests/XMLHttpRequest/resources/w3c-import.log:
  • web-platform-tests/XMLHttpRequest/resources/xmlhttprequest-event-order.js: Added.

(global.prepare_xhr_for_event_order_test):
(global.assert_xhr_event_order_matches):

  • web-platform-tests/XMLHttpRequest/response-data-progress-expected.txt:
  • web-platform-tests/XMLHttpRequest/response-data-progress.htm:
  • web-platform-tests/XMLHttpRequest/response-method-expected.txt:
  • web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
  • web-platform-tests/XMLHttpRequest/security-consideration.sub.html:
  • web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-no-response-event-order-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-no-response-event-order.htm:
  • web-platform-tests/XMLHttpRequest/send-sync-response-event-order-expected.txt:
  • web-platform-tests/XMLHttpRequest/send-sync-response-event-order.htm:
  • web-platform-tests/XMLHttpRequest/w3c-import.log:
  • web-platform-tests/common/get-host-info.sub.js: Added.

(get_host_info):

  • web-platform-tests/common/w3c-import.log:
  • web-platform-tests/dom/interfaces-expected.txt:
  • web-platform-tests/dom/interfaces.html:
  • web-platform-tests/dom/nodes/attributes-expected.txt:
  • web-platform-tests/dom/nodes/attributes.html:
  • web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html:
  • web-platform-tests/dom/traversal/TreeWalker-basic.html:
  • web-platform-tests/dom/traversal/TreeWalker-currentNode.html:
  • web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject.html:
  • web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip.html:
  • web-platform-tests/dom/traversal/TreeWalker-traversal-reject.html:
  • web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most.html:
  • web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html:
  • web-platform-tests/domparsing/w3c-import.log:
  • web-platform-tests/fetch/api/basic/scheme-about-expected.txt:
  • web-platform-tests/fetch/api/basic/scheme-about-worker-expected.txt:
  • web-platform-tests/fetch/api/basic/scheme-about.js:

(checkFetchResponse):
(checkKoUrl): Deleted.

  • web-platform-tests/fetch/api/basic/w3c-import.log:
  • web-platform-tests/fetch/api/cors/cors-cookies.js:

(corsCookies):

  • web-platform-tests/fetch/api/cors/cors-redirect.js:

(corsRedirect):

  • web-platform-tests/fetch/api/headers/headers-basic-expected.txt:
  • web-platform-tests/fetch/api/headers/headers-basic.html:
  • web-platform-tests/fetch/api/redirect/w3c-import.log:
  • web-platform-tests/fetch/api/request/request-cache-expected.txt:
  • web-platform-tests/html/browsers/history/the-location-interface/security_location_0.sub.htm:
  • 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.html:
  • web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub-expected.txt:
  • web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub.html:
  • web-platform-tests/html/dom/elements-forms.js:
  • web-platform-tests/html/dom/elements-tabular.js:
  • web-platform-tests/html/dom/elements/global-attributes/dataset-expected.txt:
  • web-platform-tests/html/dom/elements/global-attributes/dataset.html:
  • web-platform-tests/html/dom/interfaces-expected.txt:
  • web-platform-tests/html/dom/interfaces.html:
  • web-platform-tests/html/dom/reflection-forms-expected.txt:
  • web-platform-tests/html/dom/reflection-tabular-expected.txt:
  • web-platform-tests/html/dom/reflection.js:

(ReflectionTests.typeMap.string_appeared_here.toString):
(ReflectionTests.typeMap.string_appeared_here.valueOf):
(ReflectionTests.typeMap.string_appeared_here.string_appeared_here):

  • web-platform-tests/html/semantics/document-metadata/the-base-element/base_href_specified.sub.html:
  • web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context-expected.txt:
  • web-platform-tests/html/semantics/document-metadata/the-link-element/link-load-event.html:
  • web-platform-tests/html/semantics/document-metadata/the-link-element/link-style-error-01-expected.txt:
  • web-platform-tests/html/semantics/document-metadata/the-link-element/link-style-error-01.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.sub-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.sub.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.sub-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.sub.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.sub-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.sub.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.sub-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.sub.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.sub-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.sub.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.sub-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.sub.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.sub-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.sub.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.sub-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.sub.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.sub-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.sub.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.sub-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.sub.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooShort.html:
  • web-platform-tests/html/semantics/interfaces-expected.txt:
  • web-platform-tests/html/semantics/interfaces.html:
  • web-platform-tests/html/semantics/interfaces.js:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid-expected.txt:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid.html:
  • web-platform-tests/lint.whitelist:
  • web-platform-tests/url/w3c-import.log: Added.
3:40 AM Changeset in webkit [205076] by commit-queue@webkit.org
  • 13 edits in trunk

[Fetch API] Blob type should be set from Response/Request contentType header
https://bugs.webkit.org/show_bug.cgi?id=161228

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

LayoutTests/imported/w3c:

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

Source/WebCore:

Covered by updated tests.

Renaming FetchBody::m_mimeType to m_contentType since that better relates to Content-Type header.
Updated FetchRequest and FetchResponse to set m_contentType according request/response headers.
Handled the case of a Request created from JS, a Response created from JS and a Response created internally to
be used as resolve value in the fetch promise.

In case Content-Type is set but is empty, its empty value should be used for blob type.
Updated contentType checks to use isNull in lieu of isEmpty.

  • Modules/fetch/FetchBody.cpp:

(WebCore::FetchBody::updateContentType): Routine to synchronize headers with m_contentType.
(WebCore::FetchBody::FetchBody): Renamed m_mimeType to m_contentType.
(WebCore::FetchBody::blob): Ditto.

  • Modules/fetch/FetchBody.h: Ditto.

(WebCore::FetchBody::contentType):
(WebCore::FetchBody::setMimeType): Deleted.
(WebCore::FetchBody::mimeType): Deleted.

  • Modules/fetch/FetchRequest.cpp:

(WebCore::FetchRequest::setBody): set FetchBody::m_contentType according HTTP headers.

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::initializeWith): Ditto.
(WebCore::FetchResponse::BodyLoader::didReceiveResponse): Ditto.

2:18 AM Changeset in webkit [205075] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK][Threaded Compositor] Several flaky tests
https://bugs.webkit.org/show_bug.cgi?id=161242

Reviewed by Michael Catanzaro.

We still have a lot of flaky tests since we switched to the threaded compositor. The UI process might
take the screenshot too early, before everything is actually painted. I can't reproduce the problem, so this is
actually a speculative fix or workaround. Our implementation of DrawingArea::dispatchAfterEnsuringDrawing() is
quite simple, we just dispatch the callback in the next run loop iteration, which doesn't really ensures any
drawing at all. So, we can wait for draw events before dispatching the given callback. Since we don't really
know if draw events were already processed before dispatchAfterEnsuringDrawing() is called, or if there will be
more than one damage event in a short time, this patch waits up to 1 second for draw events, and if a draw
happens it stops if there isn't another draw event in the next 100ms. This should ensure a drawing if it was
really needed.

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::DrawingMonitor::DrawingMonitor):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::~DrawingMonitor):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::webViewDrawCallback):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::start):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::stop):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::didDraw):
(WebKit::DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing):

  • UIProcess/DrawingAreaProxyImpl.h:

Aug 26, 2016:

10:47 PM Changeset in webkit [205074] by mitz@apple.com
  • 2 edits in trunk/Tools

Keep trying to fix the build after r205057.

  • MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
10:44 PM Changeset in webkit [205073] by mitz@apple.com
  • 6 edits in trunk/Tools

Keep trying to fix the build after r205057.

  • MobileMiniBrowser/MobileMiniBrowser/AppDelegate.m: Don’t try to import nonexistent config.h. This file is only meant to be built with Xcode anyway.
  • MobileMiniBrowser/MobileMiniBrowser/Base.lproj/LaunchScreen.storyboard: Make this compile with Xcode 7.3 and deploy to iOS 9.0.
  • MobileMiniBrowser/MobileMiniBrowser/Base.lproj/Main.storyboard: Ditto.
  • MobileMiniBrowser/MobileMiniBrowser/TabViewController.m: Don’t try to import config.h.
  • MobileMiniBrowser/MobileMiniBrowser/WebViewController.m: Ditto.
9:39 PM Changeset in webkit [205072] by mitz@apple.com
  • 2 edits in trunk/Tools

Start trying to fix the build after r205057.

  • MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
9:38 PM Changeset in webkit [205071] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.50.0.8

New tag.

8:48 PM Changeset in webkit [205070] by ap@apple.com
  • 2 edits in trunk/Tools

Remove Yosemite Leaks from the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=161253

Reviewed by Anders Carlsson.

  • TestResultServer/static-dashboards/builders.jsonp:
8:04 PM Changeset in webkit [205069] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Fix Windows build after r205065.

  • Modules/webaudio/BiquadFilterNode.idl:
  • Modules/webaudio/PannerNode.idl:

There's no WEB_AUDIO on Windows.

7:53 PM Changeset in webkit [205068] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

REGRESSION (r203535): Web Inspector: Inspector overlay node info has disappeared
https://bugs.webkit.org/show_bug.cgi?id=161264

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

No new tests. Fixing JavaScript error in Inspector overlay.

  • inspector/InspectorOverlay.cpp:

(evaluateCommandInOverlay):
(WebCore::InspectorOverlay::evaluateInOverlay):
Add ASSERT to ensure that errors in the Inspector overlay will cause tests to crash.

  • inspector/InspectorOverlayPage.js:

(DOMBuilder.prototype.appendTextNode):
Move textContent value to parameter of document.createTextNode.

7:51 PM Changeset in webkit [205067] by Joseph Pecoraro
  • 2 edits in trunk/LayoutTests

Web Inspector: inspector/indexeddb/deleteDatabaseNamesWithSpace.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=161283

Reviewed by Alex Christensen.

  • inspector/indexeddb/deleteDatabaseNamesWithSpace.html:

Add a short timeout between deleting a database and requesting database names
to reduce flakey results.

7:39 PM Changeset in webkit [205066] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

bitwise_cast uses inactive member of union
https://bugs.webkit.org/show_bug.cgi?id=161244

Patch by JF Bastien <jfbastien@apple.com> on 2016-08-26
Reviewed by Benjamin Poulain.

  • wtf/Compiler.h:

Add COMPILER_HAS_CLANG_FEATURE

  • wtf/StdLibExtras.h:

(WTF::bitwise_cast):
Fix C++ UB, add trivially-copyable check.

bitwise_cast stores into a union with one type and reads with
another, which is technically C++ undefined behavior because it's
accessing the wrong active member of the union. The better way to
do this is through memcpy, which compilers optimize as well
because it's known-size in known-not-to-escape storage (for small
types they'll inline and then convert stack memory access to SSA
values which may be in-register if that makes sense, which would
be a move between int/FP registers at worst).

The C++ Standard's section [basic.types] explicitly blesses memcpy:

For any trivially copyable type T, if two pointers to T point to
distinct T objects obj1 and obj2, where neither obj1 nor obj2 is a
base-class subobject, if the underlying bytes (1.7) making up obj1
are copied into obj2, 42 obj2 shall subsequently hold the same
value as obj1.

[Example:

T* t1p;
T* t2p;
provided that t2p points to an initialized object ...
std::memcpy(t1p, t2p, sizeof(T));
at this point, every subobject of trivially copyable type in *t1p contains
the same value as the corresponding subobject in *t2p

— end example ]

Whereas section [class.union] says:

In a union, at most one of the non-static data members can be
active at any time, that is, the value of at most one of the
non-static data members can be stored in a union at any time.

While we're at it, checking that sizeof(To) == sizeof(From) is
good, but we should also check that both types are trivially
copyable (can have a ctor, no dtor, and copy is defaulted as if by
memcpy for type and all subtypes). Unfortunately that trait isn't
implemented consistently in all recent compiler+stdlib
implementations, but recent clang has an equivalent builtin
(other compilers simply won't do the check, and will break on bots
with the right compilers which is better than the current silent
breakage). This builtin hack also avoids #include <type_traits>
which really doesn't save much.

7:01 PM Changeset in webkit [205065] by weinig@apple.com
  • 108 edits
    7 deletes in trunk

Remove support for ENABLE_LEGACY_WEB_AUDIO
https://bugs.webkit.org/show_bug.cgi?id=161262

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Remove ENABLE_LEGACY_WEB_AUDIO

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Remove ENABLE_LEGACY_WEB_AUDIO.

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::noteGrainOn): Deleted.

  • Modules/webaudio/AudioBufferSourceNode.h:
  • Modules/webaudio/AudioBufferSourceNode.idl:

(WebCore::AudioScheduledSourceNode::noteOn): Deleted.
(WebCore::AudioScheduledSourceNode::noteOff): Deleted.

  • Modules/webaudio/AudioScheduledSourceNode.h:
  • Modules/webaudio/AudioScheduledSourceNode.cpp:

Remove the looping attribute, as well as the noteOn, noteOff, and noteGrainOn functions.

  • Modules/webaudio/AudioContext.idl:

Remove the createGainNode, createDelayNode and createJavaScriptNode functions.

  • Modules/webaudio/AudioParam.idl:

Remove the setTargetValueAtTime function.

  • Modules/webaudio/BiquadDSPKernel.cpp:

(WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):

  • Modules/webaudio/BiquadFilterNode.cpp:

(WebCore::BiquadFilterNode::type):
(WebCore::BiquadFilterNode::setType):
(WebCore::BiquadFilterNode::getFrequencyResponse):

  • Modules/webaudio/BiquadFilterNode.h:
  • Modules/webaudio/BiquadFilterNode.idl:
  • Modules/webaudio/BiquadProcessor.cpp:

(WebCore::BiquadProcessor::BiquadProcessor):
(WebCore::BiquadProcessor::setType):
(WebCore::BiquadProcessor::getFrequencyResponse):

  • Modules/webaudio/BiquadProcessor.h:

(WebCore::BiquadProcessor::type):

  • bindings/js/JSBiquadFilterNodeCustom.cpp: Removed.

Rename BiquadProcessor::FilterType to BiquadFilterType and use it
directly from the IDL. Remove legacy filter constants from the IDL
and the need for a custom binding for the type attribute.

  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::OscillatorNode):
(WebCore::OscillatorNode::setType):
(WebCore::OscillatorNode::setPeriodicWave):
(WebCore::OscillatorNode::type): Deleted.

  • Modules/webaudio/OscillatorNode.h:

(WebCore::OscillatorNode::type):

  • Modules/webaudio/OscillatorNode.idl:
  • Modules/webaudio/PeriodicWave.cpp:

(WebCore::PeriodicWave::createSine):
(WebCore::PeriodicWave::createSquare):
(WebCore::PeriodicWave::createSawtooth):
(WebCore::PeriodicWave::createTriangle):
(WebCore::PeriodicWave::generateBasicWaveform):

  • Modules/webaudio/PeriodicWave.h:
  • bindings/js/JSOscillatorNodeCustom.cpp: Removed.

Remove noteOn and noteOff functions and the type integer constants.
Remove the need for a custom binding for the type attribute by renaming
the type enum OscillatorNode::Type and putting the enum in the IDL.

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::PannerNode):
(WebCore::PannerNode::process):
(WebCore::PannerNode::setPanningModel):
(WebCore::PannerNode::distanceModel):
(WebCore::PannerNode::setDistanceModel):
(WebCore::PannerNode::panningModel): Deleted.

  • Modules/webaudio/PannerNode.h:

(WebCore::PannerNode::panningModel):

  • Modules/webaudio/PannerNode.idl:
  • bindings/js/JSPannerNodeCustom.cpp: Removed.
  • platform/audio/Distance.cpp:

(WebCore::DistanceEffect::DistanceEffect):
(WebCore::DistanceEffect::gain):

  • platform/audio/Distance.h:

(WebCore::DistanceEffect::model):
(WebCore::DistanceEffect::setModel):

  • platform/audio/EqualPowerPanner.cpp:

(WebCore::EqualPowerPanner::EqualPowerPanner):

  • platform/audio/HRTFPanner.cpp:

(WebCore::HRTFPanner::HRTFPanner):

  • platform/audio/Panner.cpp:

(WebCore::Panner::create):

  • platform/audio/Panner.h:

(WebCore::Panner::panningModel):
(WebCore::Panner::Panner):
Replace the panning model and distance model integer constants
with IDL enum support, removing the need for a custom binding.
Rename the supporting C++ enums to work with the bindings.

  • bindings/js/JSAudioContextCustom.cpp:

(WebCore::constructJSAudioContext):
Remove deprecated way of creating an offline context.

  • WebCore.xcodeproj/project.pbxproj:

Update files.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Remove ENABLE_LEGACY_WEB_AUDIO

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Remove ENABLE_LEGACY_WEB_AUDIO.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

  • webaudio/audiobuffersource-loop-points.html:
  • webaudio/audiobuffersource-multi-channels.html:
  • webaudio/audiobuffersource-playbackState-expected.txt:
  • webaudio/audiobuffersource-playbackState.html:
  • webaudio/audiobuffersource-playbackrate.html:
  • webaudio/audiochannelmerger-stereo.html:
  • webaudio/audiochannelsplitter.html:
  • webaudio/audionode-connect-order.html:
  • webaudio/audionode-expected.txt:
  • webaudio/audionode.html:
  • webaudio/audioparam-connect-audioratesignal.html:
  • webaudio/audioparam-summingjunction.html:
  • webaudio/audioprocessingevent.html:
  • webaudio/automatic-pull-node.html:
  • webaudio/biquad-allpass.html:
  • webaudio/biquad-bandpass.html:
  • webaudio/biquad-getFrequencyResponse.html:
  • webaudio/biquad-highpass.html:
  • webaudio/biquad-highshelf.html:
  • webaudio/biquad-lowpass.html:
  • webaudio/biquad-lowshelf.html:
  • webaudio/biquad-notch.html:
  • webaudio/biquad-peaking.html:
  • webaudio/biquadfilternode-basic-expected.txt:
  • webaudio/biquadfilternode-basic.html:
  • webaudio/convolution-mono-mono.html:
  • webaudio/delaynode-max-default-delay.html:
  • webaudio/delaynode-max-nondefault-delay.html:
  • webaudio/delaynode-maxdelay.html:
  • webaudio/delaynode-scheduling.html:
  • webaudio/delaynode.html:
  • webaudio/distance-exponential-expected.txt:
  • webaudio/distance-exponential.html:
  • webaudio/distance-inverse-expected.txt:
  • webaudio/distance-inverse.html:
  • webaudio/distance-linear-expected.txt:
  • webaudio/distance-linear.html:
  • webaudio/gain-basic.html:
  • webaudio/gain.html:
  • webaudio/javascriptaudionode-zero-input-channels.html:
  • webaudio/javascriptaudionode.html:
  • webaudio/mixing.html:
  • webaudio/note-grain-on-play-expected.txt: Removed.
  • webaudio/note-grain-on-play.html: Removed.
  • webaudio/note-grain-on-timing-expected.txt: Removed.
  • webaudio/note-grain-on-timing.html: Removed.
  • webaudio/oscillator-basic-expected.txt:
  • webaudio/oscillator-basic.html:
  • webaudio/oscillator-custom.html:
  • webaudio/oscillator-sawtooth.html:
  • webaudio/oscillator-sine.html:
  • webaudio/oscillator-square.html:
  • webaudio/oscillator-triangle.html:
  • webaudio/pannernode-basic-expected.txt:
  • webaudio/pannernode-basic.html:
  • webaudio/resources/audio-testing.js:
  • webaudio/resources/audioparam-testing.js:
  • webaudio/resources/biquad-testing.js:
  • webaudio/resources/distance-model-testing.js:
  • webaudio/resources/javascriptaudionode-testing.js:
  • webaudio/resources/oscillator-testing.js:
  • webaudio/resources/panner-model-testing.js:
  • webaudio/sample-accurate-scheduling.html:
  • webaudio/stereo2mono-down-mixing.html:
  • webaudio/up-mixing-mono-51.html:
  • webaudio/up-mixing-mono-stereo.html:
  • webaudio/up-mixing-stereo-51.html:
  • webaudio/waveshaper.html:

Update tests for removal of ENABLE_LEGACY_WEB_AUDIO.

5:36 PM Changeset in webkit [205064] by benjamin@webkit.org
  • 4 edits
    1 add in trunk

[JSC] Implement CompareStrictEq(String, Untyped) in FTL
https://bugs.webkit.org/show_bug.cgi?id=161229

Reviewed by Geoffrey Garen.

JSTests:

  • stress/compare-strict-eq-on-various-types.js: Added.

Source/JavaScriptCore:

Add (String, Untyped) uses to FTL CompareStrictEq.
This was the last use type not implemented, the node is fully
supported by FTL after this patch.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
(JSC::FTL::DFG::LowerDFGToB3::compileStringToUntypedStrictEquality):

(JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare):
Remove the type checks when possible.

5:33 PM Changeset in webkit [205063] by bshafiei@apple.com
  • 5 edits in branches/safari-602.1.50.0-branch/Source

Versioning.

5:30 PM Changeset in webkit [205062] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Web Inspector: Frontend should have access to Resource Timing information
https://bugs.webkit.org/show_bug.cgi?id=160095

Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-08-26
Reviewed by Alex Christensen.

Source/JavaScriptCore:

Rename ResourceTiming property.

  • inspector/protocol/Network.json:

Rename navigationStart to startTime so it's applicable
for all resources and not just the main resource.

Source/WebCore:

Show correct information with Resource Timing information
from ResourceLoader rather than DocumentLoader.

No new tests, frontend doesn't use the timing data yet.

  • inspector/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::buildObjectForTiming):
(WebCore::InspectorNetworkAgent::buildObjectForResourceResponse):
(WebCore::InspectorNetworkAgent::buildObjectForCachedResource):
(WebCore::InspectorNetworkAgent::willSendRequest):
(WebCore::InspectorNetworkAgent::didReceiveResponse):
(WebCore::InspectorNetworkAgent::didLoadResourceFromMemoryCache):
(WebCore::buildObjectForTiming): Deleted.
(WebCore::buildObjectForResourceResponse): Deleted.
(WebCore::buildObjectForCachedResource): Deleted.
Use ResourceLoader instead of DocumentLoader to get Resource Timing information.
Move functions to member functions to access the executionStopWatch.

(WebCore::InspectorNetworkAgent::didFinishLoading):
Use the load timing finishTime and convert to elapsed time for frontend.

  • inspector/InspectorNetworkAgent.h:
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didFinishLoading):
Pass the web process load timing on to the inspector.

Source/WTF:

Add method to get elapsed time for any monotonic time.
Used by InspectorNetworkAgent.

  • wtf/Stopwatch.h:

(WTF::Stopwatch::elapsedTimeSinceMonotonicTime):

5:13 PM Changeset in webkit [205061] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Unreviewed, fix Windows build after r205048.

  • bindings/scripts/CodeGeneratorJS.pm:

(getConditionalForFunctionConsideringOverloads):

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

(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload):

  • bindings/scripts/test/TestObj.idl:
5:04 PM Changeset in webkit [205060] by rniwa@webkit.org
  • 15 edits
    3 adds in trunk

Adopted custom element's callbacks should continue to work
https://bugs.webkit.org/show_bug.cgi?id=161065

Reviewed by Andreas Kling.

Source/WebCore:

When a custom element is adopted into another document, its reaction callbacks need to continue to work.
Because a different document may have its own global object, each custom element needs to remember its
original global object or JSCustomElementInterface. This patch adds the latter to the element rare data.

Tests: fast/custom-elements/connected-callbacks.html

fast/custom-elements/disconnected-callbacks.html

  • bindings/js/JSCustomElementInterface.cpp:

(WebCore::JSCustomElementInterface::constructElement):
(WebCore::JSCustomElementInterface::upgradeElement):

  • dom/CustomElementReactionQueue.cpp:

(WebCore::findInterfaceForCustomElement): Deleted.
(WebCore::CustomElementReactionQueue::enqueueConnectedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueueDisconnectedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueueAttributeChangedCallbackIfNeeded):

  • dom/Element.cpp:

(WebCore::Element::insertedInto): Invoke callbacks even when the current document is not a HTML document.
(WebCore::Element::removedFrom): Ditto.
(WebCore::Element::setCustomElementIsResolved): Moved from Node. Add the element interface to the rare data.
(WebCore::Element::customElementInterface): Added.

  • dom/Element.h:
  • dom/ElementRareData.cpp:
  • dom/ElementRareData.h:

(WebCore::ElementRareData::customElementInterface): Added.
(WebCore::ElementRareData::setCustomElementInterface): Added.

  • dom/Node.h:

((WebCore::Node::setCustomElementIsResolved): Deleted.

LayoutTests:

Added test cases for adopting custom elements into various kinds of documents.

  • fast/custom-elements/connected-callbacks-expected.txt:
  • fast/custom-elements/connected-callbacks.html:
  • fast/custom-elements/defined-pseudo-class-expected.txt:
  • fast/custom-elements/defined-pseudo-class.html:
  • fast/custom-elements/disconnected-callbacks-expected.txt:
  • fast/custom-elements/disconnected-callbacks.html:
  • fast/custom-elements/resources/document-types.js: Added.
  • fast/custom-elements/resources/empty-html-document.html: Added.
4:47 PM Changeset in webkit [205059] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking webgl/max-active-contexts-webglcontextlost-prevent-default.html as flaky on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=161205

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
4:43 PM Changeset in webkit [205058] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

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

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
4:28 PM Changeset in webkit [205057] by jer.noble@apple.com
  • 4 edits
    26 adds in trunk

Add a test harness for running UI tests on the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=161265

.:

Add the new MobileMiniBrowser project to the WebKit workspace.

Reviewed by Simon Fraser.

  • WebKit.xcworkspace/contents.xcworkspacedata:

Tools:

Reviewed by Simon Fraser.

Add a new iOS Simulator application which uses WKWebView to implement a basic browser, and which
can serve as a test harness for WebKit UI tests.

Also add a basic media playback test which verifies that a <video> element will begin playing in
fullscreen on an iPhone device, but will play inline on an iPad device.

  • Makefile: Add MobileMiniBrowser as a Module for iOS builds.
  • MobileMiniBrowser/Configurations/Base.xcconfig: Added.
  • MobileMiniBrowser/Configurations/DebugRelease.xcconfig: Added.
  • MobileMiniBrowser/Configurations/MobileMiniBrowser.xcconfig: Added.
  • MobileMiniBrowser/Makefile: Added.
  • MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: Added.
  • MobileMiniBrowser/MobileMiniBrowser/AppDelegate.h: Added.
  • MobileMiniBrowser/MobileMiniBrowser/AppDelegate.m: Added.

(-[AppDelegate application:didFinishLaunchingWithOptions:]):
(-[AppDelegate applicationWillResignActive:]):
(-[AppDelegate applicationDidEnterBackground:]):
(-[AppDelegate applicationWillEnterForeground:]):
(-[AppDelegate applicationDidBecomeActive:]):
(-[AppDelegate applicationWillTerminate:]):

  • MobileMiniBrowser/MobileMiniBrowser/Assets.xcassets/AppIcon.appiconset/Contents.json: Added.
  • MobileMiniBrowser/MobileMiniBrowser/Base.lproj/LaunchScreen.storyboard: Added.
  • MobileMiniBrowser/MobileMiniBrowser/Base.lproj/Main.storyboard: Added.
  • MobileMiniBrowser/MobileMiniBrowser/Info.plist: Added.
  • MobileMiniBrowser/MobileMiniBrowser/TabViewController.h: Added.
  • MobileMiniBrowser/MobileMiniBrowser/TabViewController.m: Added.

(-[TabViewController dealloc]):
(-[TabViewController viewDidLoad]):
(-[TabViewController observeValueForKeyPath:ofObject:change:context:]):
(-[TabViewController tableView:cellForRowAtIndexPath:]):
(-[TabViewController tableView:numberOfRowsInSection:]):
(-[TabViewController numberOfSectionsInTableView:]):
(-[TabViewController tableView:canEditRowAtIndexPath:]):
(-[TabViewController tableView:canMoveRowAtIndexPath:]):
(-[TabViewController tableView:commitEditingStyle:forRowAtIndexPath:]):
(-[TabViewController tableView:didSelectRowAtIndexPath:]):

  • MobileMiniBrowser/MobileMiniBrowser/WebViewController.h: Added.
  • MobileMiniBrowser/MobileMiniBrowser/WebViewController.m: Added.

(-[WebViewController viewDidLoad]):
(-[WebViewController didReceiveMemoryWarning]):
(-[WebViewController reload:]):
(-[WebViewController goBack:]):
(-[WebViewController goForward:]):
(-[WebViewController urlFieldEditingBegan:]):
(-[WebViewController navigateTo:]):
(-[WebViewController showTabs:]):
(-[WebViewController selectWebViewAtIndex:]):
(-[WebViewController removeWebViewAtIndex:]):
(-[WebViewController addWebView]):
(-[WebViewController createWebView]):
(-[WebViewController removeWebView:]):
(-[WebViewController setCurrentWebView:]):
(-[WebViewController webView:didFailNavigation:withError:]):
(-[WebViewController observeValueForKeyPath:ofObject:change:context:]):

  • MobileMiniBrowser/MobileMiniBrowser/main.m: Added.

(main):

  • MobileMiniBrowser/MobileMiniBrowserUITests/Info.plist: Added.
  • MobileMiniBrowser/MobileMiniBrowserUITests/MobileMiniBrowserUITests.m: Added.

(-[MobileMiniBrowserUITests setUp]):
(-[MobileMiniBrowserUITests tearDown]):
(-[MobileMiniBrowserUITests testBasicVideoPlayback]):

4:25 PM Changeset in webkit [205056] by Alan Bujtas
  • 3 edits
    2 adds in trunk

ASSERT_NOT_REACHED() is touched in WebCore::minimumValueForLength
https://bugs.webkit.org/show_bug.cgi?id=125781
<rdar://problem/27684457>

Reviewed by Simon Fraser.

Source/WebCore:

RenderTableSection::calcRowLogicalHeight misused minimumValueForLength to fallback to 0 for non-fixed values.
While this patch fixes the assertion, the table section code needs works to support calc values. See webkit.org/b/161273.

Test: fast/table/assert-on-min-max-content-values.html

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::calcRowLogicalHeight):

LayoutTests:

  • fast/table/assert-on-min-max-content-values-expected.txt: Added.
  • fast/table/assert-on-min-max-content-values.html: Added.
4:10 PM Changeset in webkit [205055] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Rebaseline fast/dom/focus-contenteditable.html for ios-simulator after r205044.

Unreviewed test gardening.

  • platform/ios-simulator-wk2/fast/dom/focus-contenteditable-expected.txt:
3:52 PM Changeset in webkit [205054] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

webkit-queues queue-status page should should list more recent statuses
https://bugs.webkit.org/show_bug.cgi?id=161220

Reviewed by Daniel Bates.

  • QueueStatusServer/handlers/queuestatus.py:

(QueueStatus._fetch_statuses): Increase the number of recent statuses from 15 to 50.

3:41 PM Changeset in webkit [205053] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r204987): fast/canvas-composite-* tests are now flaky assertion failures
<https://webkit.org/b/161259>

Reviewed by Joseph Pecoraro.

Fix a blunder where HTMLCanvasElement::memoryCost() wasn't forwarding the inquiry
to ImageBuffer but HTMLCanvasElement::externalMemoryCost() was.

This fixes flaky "externalMemorySize() <= extraMemorySize()" assertions on debug bots.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::memoryCost):

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

Get rid of NetworkResourceLoader::sendAbortingOnFailure
https://bugs.webkit.org/show_bug.cgi?id=161267

Reviewed by Dan Bernstein.

NetworkResourceLoader::sendAbortingOnFailure sends an IPC message, and if IPC::Connection::send returns false,
it will abort the network resource load.

IPC::Connection::send will only return false if the connection is invalid, and when it becomes invalidated the
connection client member function "didClose" is invoked. For the network process, this will call abort on all outstanding
network loads.

Auditing all the sendAbortingOnFailure call sites, shows that none of them can be called with an invalid connection,
so replace sendAbortingOnFailure with send.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponse):
This is a NetworkLoadClient function which won't be called if the load has been aborted.

(WebKit::NetworkResourceLoader::didReceiveBuffer):
Ditto.

(WebKit::NetworkResourceLoader::didFinishLoading):
Ditto. Also, update a call to sendBufferMaybeAborting to sendBuffer.

(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
This is another NetworkLoadClient function.

(WebKit::NetworkResourceLoader::bufferingTimerFired):
The buffering timer is stopped when abort() is called.

(WebKit::NetworkResourceLoader::sendBuffer):
Rename this from sendBufferMaybeAborting. It has three call sites:

  • didReceiveBuffer and didFinishLoading are both NetworkLoadClient functions.
  • didRetrieveCacheEntry is called from didFinishLoading (a NetworkLoadClient function) and from the completion function of retrieveCacheEntry, which has an early return for when the loader has been aborted.

(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
This is called from the retrieveCacheEntry completion function, which has an early return for when the loader has been aborted.

(WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry):
Ditto.

(WebKit::NetworkResourceLoader::sendAbortingOnFailure): Deleted.

  • NetworkProcess/NetworkResourceLoader.h:
3:07 PM Changeset in webkit [205051] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, update expectations of tests that can either crash or timeout on iOS simulator WK1

  • platform/ios-simulator-wk1/TestExpectations:
2:46 PM Changeset in webkit [205050] by akling@apple.com
  • 9 edits in trunk

The :enabled/:disabled selectors should only match elements that can be disabled.
<https://webkit.org/b/161255>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/selectors/pseudo-classes/disabled-expected.txt:

Source/WebCore:

Per the HTML spec, only the following elements can be actually disabled:

button, input, select, textarea, optgroup, option, menuitem, fieldset

Since HTMLOutputElement inherits from HTMLFormControlElement, it had some
misguided ideas about being disableable. This was causing it to get matched
by :enabled and :disabled selectors.

Test: imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesDisabledPseudoClass):
(WebCore::matchesEnabledPseudoClass): Renamed from isEnabled/isDisabled. Now only allows
:enabled and :disabled selectors to match elements that are actually disableable.

  • html/HTMLElement.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::canBeActuallyDisabled):
(WebCore::HTMLElement::isActuallyDisabled): Added supporting functions for the aforementioned selectors.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::parseAttribute): Don't care about disabled state
changes in elements that are not disableable in the first place.

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

Skipping imported/w3c/web-platform-tests/html/dom/interfaces.html on Mac.
https://bugs.webkit.org/show_bug.cgi?id=161142

Unreviewed test gardening.

  • platform/mac/TestExpectations:
2:34 PM Changeset in webkit [205048] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

REGRESSION(r204028): Fix unused-but-set-variable warning in generated JSNavigator.cpp
https://bugs.webkit.org/show_bug.cgi?id=161252

Reviewed by Ryosuke Niwa.

Improve support for [Conditional] with overloaded operations in the IDL.

No new tests, updated bindings tests.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GeneratePropertiesHashTable):
(getConditionalForFunctionConsideringOverloads):
(GenerateOverloadedFunctionOrConstructor):
(GenerateImplementation):

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

(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): Deleted.

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

(WebCore::jsTestObjPrototypeFunctionConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): Deleted.
(WebCore::jsTestObjConstructorFunctionOverloadedMethod1): Deleted.

  • bindings/scripts/test/TestObj.idl:
2:23 PM Changeset in webkit [205047] by jiewen_tan@apple.com
  • 5 edits
    3 adds in trunk/LayoutTests

Unreviewed, rebase iOS simulator WK1 tables tests

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk1/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/ios-simulator-wk1/tables/mozilla_expected_failures/bugs/bug128876-expected.txt:
  • platform/ios-simulator-wk1/tables/mozilla_expected_failures/bugs/bug3517-expected.txt: Added.
  • platform/ios-simulator-wk1/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
  • platform/ios-simulator-wk1/transitions/default-timing-function-expected.txt: Added.
2:20 PM Changeset in webkit [205046] by Joseph Pecoraro
  • 6 edits
    1 copy
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: Add protocol version for iOS 10
https://bugs.webkit.org/show_bug.cgi?id=161266
<rdar://problem/28036594>

Rubber-stamped by Brian Burg.

  • Localizations/en.lproj/localizedStrings.js:

Update missing localized strings.

  • Versions/Inspector-iOS-10.0.json: Added.

Protocol for iOS 10.

  • UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:

Re-generate the legacy backend commands files.

2:14 PM Changeset in webkit [205045] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

2016-08-26 Geoffrey Garen <ggaren@apple.com>

Unreviewed build fix.

Fix the CMake build.

  • CMakeLists.txt:
2:11 PM Changeset in webkit [205044] by Beth Dakin
  • 4 edits
    2 adds in trunk

charactersAroundPosition can be wrong because it crosses editing boundaries
https://bugs.webkit.org/show_bug.cgi?id=161215
-and corresponding-
rdar://problem/27933564

Reviewed by Ryosuke Niwa.

Source/WebCore:

charactersAroundPosition() should not cross editing boundaries. This patch fixes
that by making nextCharacterBoundaryInDirection() take an
EditingBoundaryCrossingRule parameter to pass onto VisiblePosition::next() and
VisiblePosition::previous().

  • editing/VisibleUnits.cpp:

(WebCore::nextCharacterBoundaryInDirection):
(WebCore::positionOfNextBoundaryOfGranularity):
(WebCore::charactersAroundPosition):

LayoutTests:

New test.

  • editing/mac/spelling/accept-candidate-without-crossing-editing-boundary-expected.txt: Added.
  • editing/mac/spelling/accept-candidate-without-crossing-editing-boundary.html: Added.

This test is going back to its pre-https://trac.webkit.org/changeset/195078 state.
That change caused this test to have a different layout because it caused more
layouts to happen. Now that we don’t allow the call to charactersAroundPosition()
to cross editing boundaries, those layouts don’t happen, and we have the old
behavior back.

  • platform/mac/fast/dom/focus-contenteditable-expected.txt:
1:59 PM Changeset in webkit [205043] by Joseph Pecoraro
  • 5 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Show IndexedDB Database/ObjectStore/Index data in a details sidebar
https://bugs.webkit.org/show_bug.cgi?id=161180
<rdar://problem/28003417>

Reviewed by Brian Burg.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:

New strings and file.

  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded):
Instantiate the global details sidebar.

  • UserInterface/Views/StorageTabContentView.js:

(WebInspector.StorageTabContentView):
Include the new details sidebar in the Storage tab.

  • UserInterface/Controllers/StorageManager.js:

(WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processKeyPath):
Use the protocol generated types.

  • UserInterface/Views/IndexedDatabaseDetailsSidebarPanel.js: Added.

(WebInspector.IndexedDatabaseDetailsSidebarPanel):
(WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.inspect):
(WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.layout):
(WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype._keyPathString):
Show the sidebar for an IndexedDatabase, ObjectStore, or Index.
Show each section if we can based on the objects we have.

1:59 PM Changeset in webkit [205042] by Joseph Pecoraro
  • 3 edits
    2 adds in trunk

Web Inspector: Test and address issues in IndexedDB.requestData
https://bugs.webkit.org/show_bug.cgi?id=161178
<rdar://problem/28002467>

Reviewed by Brian Burg.

Source/WebCore:

Test: inspector/indexeddb/requestData.html

  • inspector/InspectorIndexedDBAgent.cpp:

(idbKeyRangeFromKeyRange):
Parsing was too strict. "lower" and "upper" keys are optional.

(WebCore::DataLoader::execute):
Ensure the skip count is passed forward.

LayoutTests:

  • inspector/indexeddb/requestData-expected.txt: Added.
  • inspector/indexeddb/requestData.html: Added.
1:59 PM Changeset in webkit [205041] by Joseph Pecoraro
  • 9 edits
    2 adds in trunk

Web Inspector: Provide a way to clear an IndexedDB object store
https://bugs.webkit.org/show_bug.cgi?id=161167
<rdar://problem/27996932>

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/protocol/IndexedDB.json:

Cleanup the protocol file.

Source/WebCore:

Test: inspector/indexeddb/clearObjectStore.html

  • inspector/InspectorIndexedDBAgent.cpp:

Make the transaction for clearing an object store readwrite
instead of readonly, and activate it.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:

"Clear object store".

  • UserInterface/Controllers/StorageManager.js:

(WebInspector.StorageManager.prototype.clearObjectStore):
Provide a wrapper for clearing an object store.

  • UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:

(WebInspector.IndexedDatabaseObjectStoreContentView):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype.get navigationItems):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype._clearButtonClicked):
Add a navigation button on ObjectStore content views to clear the object store.

LayoutTests:

  • inspector/indexeddb/clearObjectStore-expected.txt: Added.
  • inspector/indexeddb/clearObjectStore.html: Added.
1:59 PM Changeset in webkit [205040] by Joseph Pecoraro
  • 3 edits
    4 adds in trunk/LayoutTests

Web Inspector: Test IndexedDB.requestDatabase
https://bugs.webkit.org/show_bug.cgi?id=161122

Reviewed by Brian Burg.

  • inspector/indexeddb/requestDatabase-expected.txt: Added.
  • inspector/indexeddb/requestDatabase.html: Added.

New tests.

  • inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
  • inspector/indexeddb/requestDatabaseNames.html:

Share code.

  • inspector/indexeddb/resources/utilities.js: Added.

(deleteDatabaseNames):
(createEmptyDatabase):
(createDatabaseWithStores):
Helpers that can be used by each test.

1:59 PM Changeset in webkit [205039] by Joseph Pecoraro
  • 5 edits in trunk/LayoutTests

Web Inspector: Modernize inspector/indexeddb tests
https://bugs.webkit.org/show_bug.cgi?id=161113

Reviewed by Brian Burg.

  • inspector/indexeddb/deleteDatabaseNamesWithSpace-expected.txt:
  • inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
  • inspector/indexeddb/requestDatabaseNames-expected.txt:
  • inspector/indexeddb/requestDatabaseNames.html:
1:54 PM Changeset in webkit [205038] by jiewen_tan@apple.com
  • 5 edits
    21 adds in trunk/LayoutTests

Unreviewed, rebase iOS simulator WK1 http tests

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk1/animations/trigger-container-scroll-simple-expected.txt: Added.
  • platform/ios-simulator-wk1/css2.1/t040302-c61-ex-len-00-b-a-expected.txt:
  • platform/ios-simulator-wk1/http/tests/dom/window-open-about-blank-and-access-document-expected.txt: Added.
  • platform/ios-simulator-wk1/http/tests/dom/window-open-about-uppercase-blank-and-access-document-expected.txt: Added.
  • platform/ios-simulator-wk1/http/tests/dom/window-open-about-webkit-org-and-access-document-expected.txt: Added.
  • platform/ios-simulator-wk1/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-open-window-upgrades-expected.txt: Added.
  • platform/ios-simulator-wk1/http/tests/security/cross-origin-modal-dialog-base-expected.txt: Added.
  • platform/ios-simulator-wk1/http/tests/security/insecure-geolocation-expected.txt: Added.
  • platform/ios-simulator-wk1/http/tests/security/mixedContent/insecure-form-in-main-frame-expected.txt: Added.
  • platform/ios-simulator-wk1/http/tests/security/mixedContent/insecure-script-in-data-iframe-in-main-frame-blocked-expected.txt: Added.
  • platform/ios-simulator-wk1/http/tests/security/mixedContent/insecure-xhr-sync-in-main-frame-expected.txt: Added.
  • platform/ios-simulator-wk1/http/tests/security/mixedcontent-geolocation-block-insecure-content-expected.txt: Added.
  • platform/ios-simulator-wk1/http/tests/security/mixedcontent-geolocation-expected.txt: Added.
  • platform/ios-simulator-wk1/http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox-expected.txt: Added.
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
1:35 PM Changeset in webkit [205037] by Chris Dumez
  • 7 edits in trunk

Calling crossOriginWindow.toString() should not be allowed
https://bugs.webkit.org/show_bug.cgi?id=161225

Reviewed by Andreas Kling.

Source/WebCore:

Calling crossOriginWindow.toString() should not be allowed:

In WebKit, we were printing a security error in the console but
returning "[object Window]" anyway.

In Firefox and Chrome, it throws an exception.

No new tests, updated existing test.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):

LayoutTests:

Update existing tests to reflect the behavior change.

  • http/tests/security/cross-frame-access-custom-expected.txt:
  • http/tests/security/cross-frame-access-custom.html:
  • http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
  • http/tests/security/cross-frame-access-object-setPrototypeOf.html:
1:33 PM Changeset in webkit [205036] by mitz@apple.com
  • 4 edits in trunk

[Cocoa] Infinite recursion calling -charValue on a WKNSNumber
https://bugs.webkit.org/show_bug.cgi?id=161258

Reviewed by Anders Carlsson.

Source/WebKit2:

  • Shared/Cocoa/WKNSNumber.mm:

(-[WKNSNumber charValue]): Override this…
(-[WKNSNumber boolValue]): …not this.

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKNSNumber.mm:

(TestWebKitAPI::TEST):

1:29 PM Changeset in webkit [205035] by commit-queue@webkit.org
  • 19 edits in trunk

Web Inspector: Some CSS selectors in the UI aren't escaped
https://bugs.webkit.org/show_bug.cgi?id=151378

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

Source/JavaScriptCore:

Change ElementData from sending a className string to using an array of
classes, allowing for proper escaping of each class value.

  • inspector/protocol/OverlayTypes.json:

Source/WebCore:

No new tests, but logic and results of existing tests updated:

  • inspector/dom/content-node-region-info.html:
  • inspector/dom/content-node-region-info-expected.txt:
  • inspector/dom/highlightNode-expected.txt:
  • inspector/dom/highlightSelector.html:
  • inspector/dom/highlightSelector-expected.txt:
  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForElementData):

  • inspector/InspectorOverlayPage.css:

(.pseudo-type):
(.tag-name): Deleted.

  • inspector/InspectorOverlayPage.js:

(_createElementTitle):

Source/WebInspectorUI:

  • UserInterface/Base/DOMUtilities.js:

(WebInspector.displayNameForNode): Deleted.
(WebInspector.linkifyNodeReference):
Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

  • UserInterface/Models/DOMNode.js:

(WebInspector.DOMNode.prototype.get escapedIdSelector):
(WebInspector.DOMNode.prototype.get escapedClassSelector):
(WebInspector.DOMNode.prototype.get displayName):
(WebInspector.DOMNode.prototype.appropriateSelectorFor):
Rework escaping of ids and class names into separate public functions using CSS.escape.

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection.prototype.refresh):
Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

  • UserInterface/Views/DOMTreeDataGridNode.js:

(WebInspector.DOMTreeDataGridNode.prototype._createNameCellDocumentFragment):
Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

  • UserInterface/Views/DOMTreeElementPathComponent.js:

(WebInspector.DOMTreeElementPathComponent):
Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

  • UserInterface/Views/LayerTreeDataGridNode.js:

(WebInspector.LayerTreeDataGridNode.prototype.set layer):
Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

  • UserInterface/Views/VisualStyleSelectorSection.js:

(WebInspector.VisualStyleSelectorSection.prototype.update):
Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

LayoutTests:

  • inspector/dom/content-node-region-info.html:
  • inspector/dom/content-node-region-info-expected.txt:

Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

  • inspector/dom/highlightNode-expected.txt:
  • inspector/dom/highlightSelector.html:
  • inspector/dom/highlightSelector-expected.txt:

Changed result to replace className with new classes array.

1:22 PM Changeset in webkit [205034] by Joseph Pecoraro
  • 5 edits in trunk/Source/JavaScriptCore

Web Inspector: ScriptProfilerAgent and HeapAgent should do less work when frontend disconnects
https://bugs.webkit.org/show_bug.cgi?id=161213
<rdar://problem/28017986>

Reviewed by Brian Burg.

  • inspector/agents/InspectorHeapAgent.cpp:

(Inspector::InspectorHeapAgent::willDestroyFrontendAndBackend):
Don't take a final snapshot when disconnecting.

  • inspector/agents/InspectorScriptProfilerAgent.cpp:

(Inspector::InspectorScriptProfilerAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorScriptProfilerAgent::stopSamplingWhenDisconnecting):

  • inspector/agents/InspectorScriptProfilerAgent.h:
  • runtime/SamplingProfiler.h:

Don't process samples when disconnecting.

1:22 PM Changeset in webkit [205033] by Joseph Pecoraro
  • 3 edits in trunk/Source/JavaScriptCore

Web Inspector: HeapProfiler/ScriptProfiler do not destruct safely when JSContext is destroyed
https://bugs.webkit.org/show_bug.cgi?id=161027
<rdar://problem/27871349>

Reviewed by Mark Lam.

For JSContext inspection, when a frontend connects keep the target alive.
This means ref'ing the JSGlobalObject / VM when the first frontend
connects and deref'ing when the last frontend disconnects.

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::globalObjectDestroyed):
(Inspector::JSGlobalObjectInspectorController::disconnectAllFrontends): Deleted.
Now that frontends keep the global object alive, when the global object
is destroyed that must mean that no frontends exist. Remove the now
stale code path.

(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
Ref the target when the first frontend connects, deref when the last disconnects.

1:18 PM Changeset in webkit [205032] by ggaren@apple.com
  • 8 edits
    3 moves in trunk

Renamed XLarge* => Large*
https://bugs.webkit.org/show_bug.cgi?id=161261

Reviewed by Andreas Kling.

XLarge is not a thing anymore: We just have Small and Large.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/Heap.cpp:

(bmalloc::Heap::splitAndAllocate):
(bmalloc::Heap::tryAllocateLarge):
(bmalloc::Heap::shrinkLarge):
(bmalloc::Heap::deallocateLarge):

  • bmalloc/Heap.h:
  • bmalloc/LargeMap.cpp: Copied from Source/bmalloc/bmalloc/XLargeMap.cpp.

(bmalloc::LargeMap::remove):
(bmalloc::LargeMap::add):
(bmalloc::XLargeMap::remove): Deleted.
(bmalloc::XLargeMap::add): Deleted.

  • bmalloc/LargeMap.h: Copied from Source/bmalloc/bmalloc/XLargeMap.h.

(bmalloc::LargeMap::ranges):
(bmalloc::XLargeMap::ranges): Deleted.

  • bmalloc/LargeRange.h: Copied from Source/bmalloc/bmalloc/XLargeRange.h.

(bmalloc::LargeRange::LargeRange):
(bmalloc::LargeRange::operator<):
(bmalloc::canMerge):
(bmalloc::merge):
(bmalloc::LargeRange::split):
(bmalloc::XLargeRange::XLargeRange): Deleted.
(bmalloc::XLargeRange::operator<): Deleted.
(bmalloc::XLargeRange::split): Deleted.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::tryAllocateLargeChunk):

  • bmalloc/VMHeap.h:
  • bmalloc/XLargeMap.cpp: Removed.
  • bmalloc/XLargeMap.h: Removed.
  • bmalloc/XLargeRange.h: Removed.
11:12 AM Changeset in webkit [205031] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

Crash when getting font bounding rect
https://bugs.webkit.org/show_bug.cgi?id=161202
<rdar://problem/27986981>

Reviewed by Myles C. Maxfield.

We should never store GlyphData objects for later use, because they contain raw pointers to Font elements
contained in caches, and those font caches get periodically purged.

Instead, we should hold onto the ‘key’ representing the GlyphData, and simply ask the system for the
GlyphData the next time it is needed.

Tested by existing MathML tests under ASAN and GuardMalloc.

  • rendering/mathml/RenderMathMLToken.cpp:

(WebCore::RenderMathMLToken::RenderMathMLToken): Clean up constructors.
(WebCore::RenderMathMLToken::computePreferredLogicalWidths): Use keys to get correct GlyphData when needed.
(WebCore::RenderMathMLToken::updateMathVariantGlyph): Ditto.
(WebCore::RenderMathMLToken::firstLineBaseline): Ditto.
(WebCore::RenderMathMLToken::layoutBlock): Ditto.
(WebCore::RenderMathMLToken::paint): Ditto.
(WebCore::RenderMathMLToken::paintChildren): Ditto.

  • rendering/mathml/RenderMathMLToken.h:
11:09 AM Changeset in webkit [205030] by Chris Dumez
  • 9 edits in trunk

HTMLAreaElement's coords attributes parsing does not comply with the HTML specification
https://bugs.webkit.org/show_bug.cgi?id=161216

Reviewed by Andreas Kling.

LayoutTests/imported/w3c:

Rebaseline W3C test now that all checks are passing. Chrome is also passing all the checks.

  • web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords-expected.txt:

Source/WebCore:

HTMLAreaElement's coords attributes parsing does not comply with the HTML specification:

This patch aligns our parsing of this attribute with the specification and Chrome.

No new tests, rebaselined existing test.

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::HTMLAreaElement):
(WebCore::HTMLAreaElement::parseAttribute):
(WebCore::HTMLAreaElement::getRegion):

  • html/HTMLAreaElement.h:
  • html/parser/HTMLParserIdioms.cpp:

(WebCore::isHTMLSpaceOrDelimiter):
(WebCore::isNumberStart):
(WebCore::parseHTMLListOfOfFloatingPointNumberValuesInternal):
(WebCore::parseHTMLListOfOfFloatingPointNumberValues):
(WebCore::parseHTMLNonNegativeInteger): Deleted.

  • html/parser/HTMLParserIdioms.h:

LayoutTests:

Unskip web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords.html
as it is now passing and not longer crashing in debug builds.

11:00 AM Changeset in webkit [205029] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(WEB_SOCKETS) build
https://bugs.webkit.org/show_bug.cgi?id=161251

Reviewed by Alex Christensen.

  • page/SocketProvider.h:
10:58 AM Changeset in webkit [205028] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebCore

Fix the !ENABLE(WEB_TIMING) build
https://bugs.webkit.org/show_bug.cgi?id=161250

Reviewed by Alex Christensen.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didFinishLoading):

  • loader/cache/CachedResourceLoader.h:

(WebCore::CachedResourceLoader::resourceTimingInformation):

10:37 AM Changeset in webkit [205027] by Yusuke Suzuki
  • 3 edits
    1 add in trunk

[ES6] newPromiseCapabilities should check the given argument is constructor
https://bugs.webkit.org/show_bug.cgi?id=161226

Reviewed by Mark Lam.

JSTests:

The arrow function should not be a constructor. So the error should be raised.

  • stress/new-promise-capabilities-requires-constructor.js: Added.

(shouldThrow):

Source/JavaScriptCore:

Use @isConstructor.

  • builtins/PromiseOperations.js:
10:36 AM Changeset in webkit [205026] by Chris Dumez
  • 40 edits in trunk

Trying to access cross-origin Location properties should throw a SecurityError
https://bugs.webkit.org/show_bug.cgi?id=161248

Reviewed by Alex Christensen.

Source/WebCore:

Trying to access cross-origin Location properties should throw a SecurityError:

Firefox and Chrome already throw. However, WebKit was logging an error message
and returning undefined.

No new tests, updated existing tests.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::throwSecurityError):

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

(WebCore::JSLocation::getOwnPropertySlotDelegate):

LayoutTests:

Update existing tests to reflect behavior change.

  • http/tests/plugins/cross-frame-object-access-expected.txt:
  • http/tests/plugins/resources/cross-frame-object-access.html:
  • http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny.html:
  • http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny.html:
  • http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny.html:
  • http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny.html:
  • http/tests/security/cross-frame-access-callback-explicit-domain-DENY-expected.txt:
  • 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-getOwnPropertyDescriptor-expected.txt:
  • 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-location-get-expected.txt:
  • http/tests/security/cross-frame-access-location-get-override-expected.txt:
  • 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/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/location-cross-origin-expected.txt:
  • http/tests/security/location-cross-origin.html:
  • http/tests/security/resources/cross-frame-access.js:

(canGet):
(canGetDescriptor):
(canCall):
(toString):

  • http/tests/security/sandboxed-iframe-blocks-access-from-parent-expected.txt:
  • http/tests/security/xss-DENIED-defineProperty-expected.txt:
  • http/tests/security/xss-DENIED-defineProperty.html:
  • http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-location.html:
  • http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html:
  • http/tests/security/xssAuditor/resources/utilities.js:

(checkIfFrameLocationMatchesSrcAndCallDone):

10:36 AM Changeset in webkit [205025] by pvollan@apple.com
  • 3 edits in trunk/Source/WebCore

[Win] Warning fixes.
https://bugs.webkit.org/show_bug.cgi?id=161241

Reviewed by Brent Fulgham.

MSVC warns about potential use of uninitialized variables.

  • accessibility/AXObjectCache.cpp:
  • css/parser/CSSParserValues.cpp:
10:13 AM Changeset in webkit [205024] by eric.carlson@apple.com
  • 13 edits
    4 adds in trunk

[MediaStream] Add support for OverConstrainedErrorEvent
https://bugs.webkit.org/show_bug.cgi?id=161199
<rdar://problem/28011819>

Reviewed by Jer Noble.

Source/WebCore:

Test: fast/events/constructors/overconstrained-error-event-constructor.html

  • CMakeLists.txt:
  • DerivedSources.make:
  • Modules/mediastream/OverconstrainedErrorEvent.h: Added.

(WebCore::OverconstrainedErrorEvent::~OverconstrainedErrorEvent):
(WebCore::OverconstrainedErrorEvent::create):
(WebCore::OverconstrainedErrorEvent::createForBindings):
(WebCore::OverconstrainedErrorEvent::error):
(WebCore::OverconstrainedErrorEvent::eventInterface):
(WebCore::OverconstrainedErrorEvent::OverconstrainedErrorEvent):

  • Modules/mediastream/OverconstrainedErrorEvent.idl: Added.
  • WebCore.xcodeproj/project.pbxproj: Add new files.
  • bindings/js/JSDictionary.cpp:

(WebCore::JSDictionary::convertValue): Add OverconstrainedErrorEvent converter.

  • bindings/js/JSDictionary.h:
  • dom/EventNames.in: Add OverconstrainedErrorEvent.

LayoutTests:

  • fast/events/constructors/overconstrained-error-event-constructor-expected.txt: Added.
  • fast/events/constructors/overconstrained-error-event-constructor.html: Added.
  • js/dom/global-constructors-attributes-expected.txt: Updated.
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
10:05 AM Changeset in webkit [205023] by keith_miller@apple.com
  • 10 edits in trunk

toString called on proxies returns incorrect tag
https://bugs.webkit.org/show_bug.cgi?id=161111

Reviewed by Benjamin Poulain.

This patch adds a new Method table function toStringName. This function
is used by Object.prototype.toString to create the string tag that it
inserts. Right now it only changes the stringification of proxy objects.
In future patches I plan to make it work for other classes of objects as
well.

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

(JSC::JSCell::toStringName):

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

(JSC::JSObject::toStringName):

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

(JSC::objectProtoFuncToString):

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::toStringName):

  • runtime/ProxyObject.h:
10:02 AM Changeset in webkit [205022] by barraclough@apple.com
  • 4 edits
    2 deletes in trunk/Source/bmalloc

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

Unreviewed rollout - this caused regressions <rdar://problem/28026089>.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/ScopeExit.h: Removed.
  • bmalloc/StaticMutex.cpp:

(bmalloc::StaticMutex::lockSlowCase):

  • bmalloc/StaticMutex.h:

(bmalloc::StaticMutex::init):

  • bmalloc/ThreadSwitch.h: Removed.
9:54 AM Changeset in webkit [205021] by Csaba Osztrogonác
  • 19 edits in trunk

Fix the ENABLE(WEBASSEMBLY) build on Linux
https://bugs.webkit.org/show_bug.cgi?id=161197

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • b3/B3Common.cpp:

(JSC::B3::shouldDumpIR):

  • shell/CMakeLists.txt:
  • wasm/JSWASMModule.h:
  • wasm/WASMB3IRGenerator.cpp:

(JSC::WASM::toB3Op):

  • wasm/WASMB3IRGenerator.h:
  • wasm/WASMFormat.h:
  • wasm/WASMFunctionParser.h:
  • wasm/WASMModuleParser.cpp:

(JSC::WASM::WASMModuleParser::parseFunctionTypes):

  • wasm/WASMModuleParser.h:
  • wasm/WASMParser.h:
  • wasm/WASMPlan.cpp:
  • wasm/WASMPlan.h:
  • wasm/WASMSections.cpp:

Source/WTF:

  • wtf/Platform.h:

Tools:

  • Scripts/build-jsc:
9:50 AM Changeset in webkit [205020] by pvollan@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Compile fix.
https://bugs.webkit.org/show_bug.cgi?id=161235

Reviewed by Brent Fulgham.

YarrPattern::errorMessage has inconsistent dll linkage.

  • yarr/YarrPattern.h:
9:50 AM Changeset in webkit [205019] by bshafiei@apple.com
  • 1 copy in tags/Safari-602.1.50.0.7

New tag.

9:41 AM Changeset in webkit [205018] by commit-queue@webkit.org
  • 7 edits in trunk

The annotation-xml element does not need to be behave as an mrow
https://bugs.webkit.org/show_bug.cgi?id=161230

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-26
Reviewed by Manuel Rego Casasnovas.

Source/WebCore:

In r204779, MathMLAnnotationElement was made a MathMLRowElement just because the
annotation-xml element is generating a RenderMathMLRow. This later point is actually not
needed since annotation-xml is just a wrapper for foreign elements and so does not need to
handle special MathML features like operator spacing or stretching. We can thus move back
MathMLAnnotationElement to a generic MathMLPresentationElement and instead make the
annotation-xml element generate a generic RenderMathMLBlock renderer.

No new tests, semantics annotations already covered by existing tests.

  • mathml/MathMLAnnotationElement.cpp: Replace RenderMathMLRow.h with RenderMathMLBlock.h

(WebCore::MathMLAnnotationElement::MathMLAnnotationElement): Inherit from
MathMLPresentationElement instead of MathMLRowElement.
(WebCore::MathMLAnnotationElement::createElementRenderer): Make annotation-xml create a
RenderMathMLBlock instead of a RenderMathMLRow.
(WebCore::MathMLAnnotationElement::attributeChanged): Inherit from MathMLPresentationElement
instead of MathMLRowElement.

  • mathml/MathMLAnnotationElement.h: Ditto.

LayoutTests:

  • platform/efl/accessibility/math-foreign-content-expected.txt: Remove the AXGroup from the

test expectation, which that was used for annotation-xml.

  • platform/gtk/accessibility/math-foreign-content-expected.txt: Ditto.
  • platform/mac/accessibility/math-foreign-content-expected.txt: Ditto.
9:36 AM Changeset in webkit [205017] by clopez@igalia.com
  • 2 edits in trunk/Tools

[GTK] run-gtk-tests should use the driver environment for checking the accessibility bus
https://bugs.webkit.org/show_bug.cgi?id=161149

Reviewed by Carlos Garcia Campos.

Add a new function for waiting for the accesibility bus. It sets
the test environment variables before starting the GLib mainloop.
And restores the previous environment after it has finished.
It also adds a timeout (5 seconds) to abort in case it has not
been able to detect the accesibility bus before the timeout expires.

  • Scripts/run-gtk-tests:

(TestRunner):
(TestRunner._wait_for_accessibility_bus):
(TestRunner._wait_for_accessibility_bus.timeout_accessibility_bus):
(TestRunner._start_accessibility_daemons):
(TestRunner._get_tests_from_google_test_suite): Run this command also with the driver test environment.

9:35 AM Changeset in webkit [205016] by pvollan@apple.com
  • 2 edits in trunk/Tools

[Win] Warning fix.
https://bugs.webkit.org/show_bug.cgi?id=161236

Reviewed by Brent Fulgham.

The & operator in the Test struct has no body.

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

9:33 AM Changeset in webkit [205015] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Typo fix after r56209
https://bugs.webkit.org/show_bug.cgi?id=161246

Reviewed by Gyuyoung Kim.

  • page/FrameView.cpp:

(WebCore::FrameView::adjustMediaTypeForPrinting):

9:32 AM Changeset in webkit [205014] by clopez@igalia.com
  • 8 edits in trunk/Tools

[GTK] run-gtk-tests should use webkitpy.port.gtk and webkitpy.port.xvfbdriver
https://bugs.webkit.org/show_bug.cgi?id=160736

Reviewed by Carlos Garcia Campos.

This plugs run-gtk-tests into the webkitpy testing infrastructure.
As a benefit of this, run-gtk-tests now can be executed over any of
the existing supported gtk test display servers (xvfb, weston-over-xvfb,
or native xorg). A new command line switch --wayland is added for
run-gtk-tests.

  • Scripts/run-gtk-tests:

(TestRunner.init): Remove the --display command line switch, its not longer useful.
Add a --wayland command line switch.
(TestRunner._start_accessibility_daemons):
(TestRunner):
(TestRunner.init):
(TestRunner._run_xvfb): Deleted.
(TestRunner._create_driver):
(TestRunner._setup_testing_environment): Delete the environment variable definitions that
are now done by driver._setup_environ_for_test().
(TestRunner._tear_down_testing_environment):

  • Scripts/webkitpy/port/driver.py:

(Driver.init): Define self._server_name in the constructor of the base class.
It is used by several functions, so it makes sense to store once the value here.
(Driver._setup_environ_for_test): Factorize setting the environment for a given test.
(Driver._start): Get the environment from self._setup_environ_for_test()

  • Scripts/webkitpy/port/driver_unittest.py:

(DriverTest):
(DriverTest.test_setup_environ_for_test): Add unittest for driver._setup_environ_for_test()

  • Scripts/webkitpy/port/gtk.py: Move the inspection of the env var USE_NATIVE_XDISPLAY to the constructor.

(GtkPort.init):
(GtkPort._driver_class):

  • Scripts/webkitpy/port/westondriver.py: Define and use self._setup_environ_for_test()

(WestonDriver._setup_environ_for_test):
(WestonDriver._start):

  • Scripts/webkitpy/port/xorgdriver.py: Define and use self._setup_environ_for_test()

(XorgDriver._setup_environ_for_test):
(XorgDriver._start):

  • Scripts/webkitpy/port/xvfbdriver.py: Define and use self._setup_environ_for_test()

(XvfbDriver._setup_environ_for_test):
(XvfbDriver._start):

9:04 AM Changeset in webkit [205013] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Reinstate flakiness expectations for viewport tests, as they are still flaky.
https://bugs.webkit.org/show_bug.cgi?id=153110

  • platform/ios-simulator-wk2/TestExpectations:
7:04 AM Changeset in webkit [205012] by Csaba Osztrogonác
  • 5 edits in trunk

[EFL][GTK] REGRESSION(204877): Fix the clean build
https://bugs.webkit.org/show_bug.cgi?id=161240

Reviewed by Carlos Garcia Campos.

Source/WebKit2:

  • Scripts/generate-forwarding-headers.pl: Added back multiple include-path support. (removed by r183389)

Tools:

  • WebKitTestRunner/PlatformEfl.cmake:
  • WebKitTestRunner/PlatformGTK.cmake:
6:29 AM Changeset in webkit [205011] by pvollan@apple.com
  • 15 edits in trunk/Source/WebCore

[Win] Warning fixes.
https://bugs.webkit.org/show_bug.cgi?id=161077

Reviewed by Brent Fulgham.

  • css/CSSGrammar.y.includes:
  • css/RuleFeature.cpp:

(WebCore::makeAttributeSelectorKey):

  • editing/TextIterator.cpp:

(WebCore::SearchBuffer::SearchBuffer):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::textToFragment):

  • html/MediaElementSession.h:
  • platform/URL.cpp:
  • platform/graphics/ca/GraphicsLayerCA.cpp:
  • platform/network/HTTPParsers.cpp:

(WebCore::parseHTTPHeader):

  • rendering/InlineIterator.h:

(WebCore::InlineIterator::clear):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::FlexBoxIterator::reset):

  • rendering/RenderText.cpp:

(WebCore::RenderText::secureText):

  • rendering/mathml/RenderMathMLToken.cpp:

(WebCore::mathVariant):

  • style/InlineTextBoxStyle.cpp:

(WebCore::visualOverflowForDecorations):

  • xml/XPathGrammar.y:
3:54 AM Changeset in webkit [205010] 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 Daniel Bates.

  • QueueStatusServer/handlers/statusbubble.py:

(StatusBubble._build_bubble): Display the bot id in status bubble. Also removed "Started processing" message since
after bug fix of 161223, bots send the "Started processing patch" message and it would be displayed in Recent messages.
Also added "Started processing patch" message to progress_statuses.
I might consider displaying bot id in other statuses as well later on.

1:46 AM Changeset in webkit [205009] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebKit2

Unreviewed EFL build fix since r204996.

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

  • UIProcess/efl/WebPageProxyEfl.cpp:

(WebKit::WebPageProxy::editorStateChanged):
(WebKit::WebPageProxy::setThemePath):
(WebKit::WebPageProxy::confirmComposition):
(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::cancelComposition):

1:04 AM Changeset in webkit [205008] by nael.ouedraogo@crf.canon.fr
  • 27 edits in trunk

Make custom constructors consistent with generated bindings code
https://bugs.webkit.org/show_bug.cgi?id=159550

Reviewed by Youenn Fablet.

Add assertion to check DOMConstructorObject* passed in ExecState is not null.
Rename throwConstructorDocumentUnavailableError to throwConstructorScriptExecutionContextUnavailableError since
ScriptExecutionContext is not necessarily a Document.
Modify error message in case of argument error to be consistent with generated binding code: replace calls to
throwVMError with calls to throwConstructorScriptExecutionContextUnavailableError and throwArgumentTypeError.

No new test required. Modify tests and tests expectations to align with new error messages.

Source/WebCore:

  • bindings/js/JSAudioContextCustom.cpp:

(WebCore::constructJSAudioContext):

  • bindings/js/JSBlobCustom.cpp:

(WebCore::constructJSBlob):

  • bindings/js/JSDOMBinding.cpp:

(WebCore::throwConstructorScriptExecutionContextUnavailableError):

  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMConstructor.h:

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

  • bindings/js/JSDOMFormDataCustom.cpp:

(WebCore::constructJSDOMFormData):

  • bindings/js/JSDataCueCustom.cpp:

(WebCore::constructJSDataCue):

  • bindings/js/JSFileCustom.cpp:

(WebCore::constructJSFile):

  • bindings/js/JSHTMLElementCustom.cpp:

(WebCore::constructJSHTMLElement):

  • bindings/js/JSMediaSessionCustom.cpp:

(WebCore::constructJSMediaSession):

  • bindings/js/JSMutationObserverCustom.cpp:

(WebCore::constructJSMutationObserver):

  • bindings/js/JSReadableStreamPrivateConstructors.cpp:

(WebCore::constructJSReadableStreamDefaultReader):

  • bindings/js/JSWorkerCustom.cpp:

(WebCore::constructJSWorker):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackImplementation):
(NativeToJSValue):
(GenerateHashTableValueArray):
(GenerateConstructorDefinition):

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

(WebCore::JSTestEventConstructorConstructor::construct):

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

(WebCore::JSTestInterfaceConstructor::construct):

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

(WebCore::JSTestNamedConstructorNamedConstructor::construct):

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

(WebCore::JSTestNodeConstructor::construct):

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

(WebCore::JSTestObjConstructor::construct):

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

(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors3):
(WebCore::constructJSTestOverloadedConstructors4):
(WebCore::constructJSTestOverloadedConstructors5):

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

(WebCore::constructJSTestOverloadedConstructorsWithSequence1):
(WebCore::constructJSTestOverloadedConstructorsWithSequence2):

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

(WebCore::JSTestTypedefsConstructor::construct):

LayoutTests:

  • fast/dom/MutationObserver/mutation-observer-constructor-expected.txt:
  • fast/files/file-constructor-expected.txt:
  • fast/files/file-constructor.html:
12:36 AM Changeset in webkit [205007] by Gyuyoung Kim
  • 2 edits in trunk/Tools

[EFL] Change homepage url to www.ewebkit.org on MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=161184

Reviewed by Carlos Garcia Campos.

  • MiniBrowser/efl/main.c: Set www.ewebkit.org.
12:34 AM Changeset in webkit [205006] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.7.7.1/Source

Versioning.

12:32 AM Changeset in webkit [205005] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.7.7.1

New tag.

Note: See TracTimeline for information about the timeline view.