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

Timeline



Sep 7, 2016:

11:53 PM Changeset in webkit [205591] by Carlos Garcia Campos
  • 5 edits
    1 add in releases/WebKitGTK/webkit-2.14

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

11:49 PM Changeset in webkit [205590] by zandobersek@gmail.com
  • 2 edits
    3 deletes in trunk/Source/WebKit2

[GTK] Remove stale WebSoupRequestManager headers
https://bugs.webkit.org/show_bug.cgi?id=161691

Reviewed by Sergio Villar Senin.

WebSoupRequestManager, WebSoupRequestManagerProxy and WebSoupRequestManagerClient
classes were used to implement custom URI scheme support for Soup. This API and
the implementations of these classes were removed in r174584, but curiously the
headers went unnoticed. This patch removes them, as well as the
WebSoupRequestManagerProxy forwarding declaration in WKAPICastSoup.h.

  • UIProcess/API/C/soup/WKAPICastSoup.h:
  • UIProcess/soup/WebSoupRequestManagerClient.h: Removed.
  • UIProcess/soup/WebSoupRequestManagerProxy.h: Removed.

(WebKit::WebSoupRequestManagerProxy::registeredURISchemes): Deleted.

  • WebProcess/soup/WebSoupRequestManager.h: Removed.
11:44 PM Changeset in webkit [205589] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.14

Merge r205194 - 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:42 PM Changeset in webkit [205588] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.14

Merge r205186 - 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.
11:33 PM Changeset in webkit [205587] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2

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

11:31 PM Changeset in webkit [205586] by Carlos Garcia Campos
  • 25 edits
    1 delete in releases/WebKitGTK/webkit-2.14/Source/WebCore

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

11:02 PM Changeset in webkit [205585] by dino@apple.com
  • 2 edits in trunk/Tools

Expose Apple Pencil input to testing system
https://bugs.webkit.org/show_bug.cgi?id=161670
<rdar://problem/28183327>

Attempt to fix iOS 9 builds.

  • WebKitTestRunner/ios/HIDEventGenerator.mm:

(-[HIDEventGenerator _createIOHIDEventType:]):

10:59 PM Changeset in webkit [205584] by achristensen@apple.com
  • 4 edits in trunk

Roll out r205580 and r205582.
https://bugs.webkit.org/show_bug.cgi?id=161668

I need to figure out why this is failing on the bots before landing any more URLParser progress.

10:59 PM Changeset in webkit [205583] by Yusuke Suzuki
  • 2 edits in trunk/Source/WebCore

Unreviewed, EFL build fix after r205581
https://bugs.webkit.org/show_bug.cgi?id=161674

  • dom/LoadableClassicScript.cpp:

(WebCore::LoadableClassicScript::notifyFinished):

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

Fix API tests after r205580
https://bugs.webkit.org/show_bug.cgi?id=161668

No new tests, but this fixes API tests on bots.

  • platform/URLParser.cpp:

(WebCore::domainToASCII):
This function seems to be appending characters to strings sometimes on some configurations.
This definitely needs further investigation, but this will fix the bots, and nothing else
will be affected because the URLParser is disabled by default.

6:49 PM Changeset in webkit [205581] by Yusuke Suzuki
  • 12 edits
    4 copies
    1 add in trunk/Source/WebCore

Introduce abstract class LoadableScript for classic script and module graph
https://bugs.webkit.org/show_bug.cgi?id=161674

Reviewed by Ryosuke Niwa.

To prepare for ScriptModuleGraph, we introduce the abstract class over the classic script
and the module script, LoadableScript.

No behavior change.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/LoadableClassicScript.cpp: Added. LoadableClassicScript is the derived class from the

LoadableScript. In the module patch, we will introduce LoadableScriptModuleGraph which is also
the derived class from the LoadableScript. It is used for the external classic script.
A CachedResourceHandle used here alone does not prevent the underlying CachedResource from purging its
data buffer. This LoadableClassicScript holds a client until this class is destroyed in order to
guarantee that the data buffer will not be purged.
(WebCore::LoadableClassicScript::create):
(WebCore::LoadableClassicScript::LoadableClassicScript):
(WebCore::LoadableClassicScript::~LoadableClassicScript):
(WebCore::LoadableClassicScript::isLoaded):
(WebCore::LoadableClassicScript::wasErrored): Beyond the boolean value, this can return the detail
of the error. This detailed information will be used to report it to the inspector in the ScriptElement.
(WebCore::LoadableClassicScript::wasCanceled):
(WebCore::LoadableClassicScript::notifyFinished): Nosniff and cross-origin loading errors are handled here,
instead of exposing CachedScript*.
(WebCore::LoadableClassicScript::execute): Execute the cached script by using the given ScriptElement.

  • dom/LoadableClassicScript.h: Copied from Source/WebCore/dom/PendingScript.h.

(isType):

  • dom/LoadableScript.cpp: Copied from Source/WebCore/dom/ScriptRunner.h. New wrapper for CachedScript

and ScriptModuleGraph. We introduce a new wrapper to handle the above 2 things in the same way.
We take the way to introduce a new wrapper instead of introducing a new interface that is inherited by
CachedScript and ScriptModuleGraph. This is because ScriptModuleGraph is ref-counted while CachedScript
is managed by CachedResourceHandle. While this patch does not contain ScriptModuleGraph part, this
should be added in the module patch and at that time, this should be managed by this LoadableScript's
subclass. And we introduce TypeCasts traits for LoadableScript to allow is<> and downcast<>.
(WebCore::LoadableScript::addClient):
(WebCore::LoadableScript::removeClient):
(WebCore::LoadableScript::notifyClientFinished):

  • dom/LoadableScript.h: Copied from Source/WebCore/dom/ScriptRunner.h.

(WebCore::LoadableScript::~LoadableScript):
(WebCore::LoadableScript::isClassicScript):
(WebCore::LoadableScript::isModuleGraph):

  • dom/LoadableScriptClient.h: Copied from Source/WebCore/dom/ScriptRunner.h.

(WebCore::LoadableScriptClient::~LoadableScriptClient):

  • dom/PendingScript.cpp: Use LoadableScript instead of CachedScript.

(WebCore::PendingScript::create):
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::~PendingScript):
(WebCore::PendingScript::loadableScript):
(WebCore::PendingScript::notifyFinished):
(WebCore::PendingScript::isLoaded):
(WebCore::PendingScript::wasErrored):
(WebCore::PendingScript::cachedScript): Deleted.

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

(WebCore::ScriptElement::ScriptElement):
(WebCore::ScriptElement::handleSourceAttribute): Change sourceUrl to sourceURL to be consistent.
(WebCore::ScriptElement::prepareScript):
(WebCore::ScriptElement::requestClassicScript): requestScript is renamed to requestClassicScript.
(WebCore::ScriptElement::requestScriptWithCache): Extract the code requesting the
CachedScript from requestScript. This will also be used by the module fetcher.
(WebCore::ScriptElement::executeScript): Now inspector error reporting is also done in this function.
When an error occurs, LoadableScript::wasErrored() returns the error which may include the information
to report the error to the inspector. nosniff and cross-origin loading errors are now detected by the
LoadableClassicScript and reported through this wasErrored().
(WebCore::ScriptElement::stopLoadRequest):
(WebCore::ScriptElement::executeScriptAndDispatchEvent):
(WebCore::ScriptElement::executeScriptForScriptRunner): Move the code from ScriptRunner. This function
calls removeClient(*this) because ScriptRunner is driven by the ScriptElement's notification. Only when using
ScriptRunner, we call addClient(*this) for ScriptElement. This is tricky, we should refactor this in the separated
bug (https://bugs.webkit.org/show_bug.cgi?id=161726).
(WebCore::ScriptElement::executeScriptForHTMLScriptRunner): Move the code from HTMLScriptRunner.
(WebCore::ScriptElement::notifyFinished):
(WebCore::ScriptElement::requestScript): Deleted.
(WebCore::ScriptElement::execute): Deleted.

  • dom/ScriptElement.h:

(WebCore::ScriptElement::loadableScript):
(WebCore::ScriptElement::cachedScript): Deleted.

  • dom/ScriptRunner.cpp:

(WebCore::ScriptRunner::queueScriptForExecution):
(WebCore::ScriptRunner::timerFired): Use ScriptElement::executeScriptForScriptRunner.

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

(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::requestPendingScript):
(WebCore::HTMLScriptRunner::requestParsingBlockingScript):
(WebCore::HTMLScriptRunner::sourceFromPendingScript): Deleted.

  • html/parser/HTMLScriptRunner.h: Use ScriptElement::executeScriptForHTMLScriptRunner.
  • xml/parser/XMLDocumentParserLibxml2.cpp: Currently, we do nothing about XMLDocument in this patch.

We should support the module script, but before that, we should refactor this pending script handling.
(WebCore::XMLDocumentParser::endElementNs):

6:34 PM Changeset in webkit [205580] by achristensen@apple.com
  • 4 edits in trunk

Unreviewed, revert r205533.
https://bugs.webkit.org/show_bug.cgi?id=161668

Re-landing changesets:

"Punycode encode non-ascii hosts in URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161655
http://trac.webkit.org/changeset/205521

"Fix query-only and fragment-only relative URLs when using
URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161657
http://trac.webkit.org/changeset/205526

"URLParser should parse / as a relative URL"
https://bugs.webkit.org/show_bug.cgi?id=161667
http://trac.webkit.org/changeset/205532

6:26 PM Changeset in webkit [205579] by Simon Fraser
  • 23 edits
    1 add in trunk

Enable the <meter> element on iOS
https://bugs.webkit.org/show_bug.cgi?id=161714
rdar://problem/8978410

Reviewed by Tim Horton.

Source/JavaScriptCore:

Define ENABLE_METER_ELEMENT unconditionally now.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Define ENABLE_METER_ELEMENT unconditionally now.

Rendering falls back to html.css rendering, which makes <meter> looks similar between
macOS and iOS.

Tested by enabling existing tests.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Define ENABLE_METER_ELEMENT unconditionally now.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Define ENABLE_METER_ELEMENT unconditionally now.

  • Configurations/FeatureDefines.xcconfig:

Tools:

Define ENABLE_METER_ELEMENT unconditionally now.

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt:
  • platform/ios-simulator/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt:
  • platform/ios-simulator/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
  • platform/ios-simulator/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt: Added.
  • platform/ios-simulator/fast/dom/HTMLMeterElement/meter-optimums-expected.txt:
  • platform/ios-simulator/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt:
  • platform/ios-simulator/fast/dom/HTMLMeterElement/meter-styles-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-label-element/labelable-elements-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-meter-element/meter-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:
6:04 PM Changeset in webkit [205578] by commit-queue@webkit.org
  • 12 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: Show resource timing details in Network waterfall
https://bugs.webkit.org/show_bug.cgi?id=160062

This patch adds a popover to network tab's and timeline tab's resource rows, when hovering
the recordbar. It shows times for the various parts of the resource load if they are available,
or it shows the reason for why not as text (e.g. cached resource, data URI).

Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-09-07
Reviewed by Matt Baker.

  • Localizations/en.lproj/localizedStrings.js:

Added new strings.

  • UserInterface/Main.html:

Include new files.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout):
Updated to use DataGrid property to hide header.

  • UserInterface/Views/DataGrid.css:

(.data-grid.no-header > .header-wrapper):
(.data-grid.no-header > .header-wrapper > table.header): Deleted.
Hide the whole DataGrid header.

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.get headerVisible):
(WebInspector.DataGrid.prototype.set headerVisible):
Add property to control header visibility, so grid clients aren't forced to manipulate internal grid styles.

  • UserInterface/Views/NetworkGridContentView.js:

(WebInspector.NetworkGridContentView.prototype._processPendingRecords):

  • UserInterface/Views/NetworkTimelineView.js:

(WebInspector.NetworkTimelineView.prototype._processPendingRecords):

  • UserInterface/Views/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype._addResourceToDataGridIfNeeded):
Pass in new parameter for whether or not to show the popover for resources.

  • UserInterface/Views/ResourceTimelineDataGridNode.css: Added.

(.resource-timing-popover-content .data-grid):
(.resource-timing-popover-content .data-grid .graph-column > .cell-content):
(.resource-timing-popover-content .data-grid td):
(.resource-timing-popover-content .data-grid td.graph-column):
(.resource-timing-popover-content .data-grid table.data):
(.resource-timing-popover-content .data-grid tr:nth-last-child(2)):
Add styling for the popover.

  • UserInterface/Views/ResourceTimelineDataGridNode.js:

(WebInspector.ResourceTimelineDataGridNode):
(WebInspector.ResourceTimelineDataGridNode.prototype.didAddRecordBar):
(WebInspector.ResourceTimelineDataGridNode.prototype.didRemoveRecordBar):
(WebInspector.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar):
Creates the popover for a RecordBar and shows detailed info about segments.

  • UserInterface/Views/ResourceTimingPopoverDataGridNode.js: Added.

(WebInspector.ResourceTimingPopoverDataGridNode):
(WebInspector.ResourceTimingPopoverDataGridNode.prototype.get records):
(WebInspector.ResourceTimingPopoverDataGridNode.prototype.get data):
(WebInspector.ResourceTimingPopoverDataGridNode.prototype.get selectable):
(WebInspector.ResourceTimingPopoverDataGridNode.prototype.createCellContent):
DataGridNode for the popover.

  • UserInterface/Views/TimelineDataGridNode.js:

(WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBar):
(WebInspector.TimelineDataGridNode.prototype.refreshGraph):
(WebInspector.TimelineDataGridNode.prototype.didAddRecordBar):
(WebInspector.TimelineDataGridNode.prototype.didRemoveRecordBar):
(WebInspector.TimelineDataGridNode):
Added hooks for notifying subclasses.

  • UserInterface/Views/TimelineRecordBar.js:

(WebInspector.TimelineRecordBar):
(WebInspector.TimelineRecordBar.fromElement):
Added symbol and static method to get the recordBar from a given element.

5:40 PM Changeset in webkit [205577] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

bitwise_cast: allow const destination type
https://bugs.webkit.org/show_bug.cgi?id=161719

Patch by JF Bastien <jfbastien@apple.com> on 2016-09-07
Reviewed by Saam Barati.

  • wtf/StdLibExtras.h:

(WTF::bitwise_cast): allow const To to = bitwise_cast<const To>(from);

5:38 PM Changeset in webkit [205576] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] .tbd files for the shims end up installed when building with GENERATE_TEXT_BASED_STUBS=YES
https://bugs.webkit.org/show_bug.cgi?id=161722

Reviewed by Anders Carlsson.

  • Configurations/Shim.xcconfig: Don’t install the shims. The Copy Shims build phase in the WebKit target will copy them into place without bringing their .tbd files along.
5:16 PM Changeset in webkit [205575] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Modernize Debugger to use nullptr
https://bugs.webkit.org/show_bug.cgi?id=161718

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-07
Reviewed by Mark Lam.

  • debugger/Debugger.cpp:

(JSC::Debugger::Debugger):
(JSC::Debugger::~Debugger):
(JSC::Debugger::detach):
(JSC::Debugger::stepOutOfFunction):
(JSC::Debugger::updateCallFrameAndPauseIfNeeded):

  • debugger/Debugger.h:
5:01 PM Changeset in webkit [205574] by eric.carlson@apple.com
  • 6 edits
    2 adds in trunk

[MediaStream] applyConstraints pt. 2 - advanced constraints
https://bugs.webkit.org/show_bug.cgi?id=161715
<rdar://problem/28195461>

Reviewed by Dean Jackson.

Source/WebCore:

Test: fast/mediastream/apply-constraints-advanced.html

  • platform/mediastream/MediaConstraints.cpp:

(WebCore::MediaConstraint::create): Return Ref<>, not RefPtr<>.
(WebCore::MediaConstraint::copy): New
(WebCore::IntConstraint::copy): Ditto.
(WebCore::DoubleConstraint::copy): Ditto.
(WebCore::BooleanConstraint::copy): Ditto.
(WebCore::StringConstraint::copy): Ditto.
(WebCore::StringConstraint::fitnessDistance): New, compute the fitness distance between the

constraint and the specified value.

(WebCore::StringConstraint::merge): New, merge value into constraint.
(WebCore::FlattenedConstraint::set): New, add or replace a constraint.
(WebCore::FlattenedConstraint::merge): New, merge or add a constraint.

  • platform/mediastream/MediaConstraints.h:

(WebCore::MediaConstraint::fitnessDistance):
(WebCore::MediaConstraint::merge):
(WebCore::NumericConstraint::nearlyEqual):
(WebCore::FlattenedConstraint::isEmpty):
(WebCore::FlattenedConstraint::begin):
(WebCore::FlattenedConstraint::end):
(WebCore::MediaConstraint::~MediaConstraint): Deleted.
(WebCore::MediaConstraint::find): Deleted.
(WebCore::MediaConstraint::getIdeal): Deleted.

  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::fitnessDistance): Return the fitness distance between the source

capabilities and a constraint.

(WebCore::applyNumericConstraint): New, apply a numeric constraint.
(WebCore::RealtimeMediaSource::applyConstraint): Use applyNumericConstraint.
(WebCore::RealtimeMediaSource::selectSettings): New, implement the SelectSettings algorithm
(WebCore::RealtimeMediaSource::applyConstraints):
(WebCore::RealtimeMediaSource::supportsConstraint): Deleted.
(WebCore::value): Deleted.

  • platform/mediastream/RealtimeMediaSource.h:

LayoutTests:

  • fast/mediastream/apply-constraints-advanced-expected.txt: Added.
  • fast/mediastream/apply-constraints-advanced.html: Added.
5:00 PM Changeset in webkit [205573] by Jonathan Bedard
  • 2 edits in trunk/Tools

Run spindumps on timeout on iOS 9 Simulator Release WK2 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=161699

Reviewed by Alexey Proskuryakov.

This change does not have testing associated with it because the testing infrastructure does not exists, we cannot currently mock build-bot variables.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunWebKitTests): Enable sample on timeout for everything.
(RunWebKitTests.start): Disable sample on timeout for everything except iOS 9 WK2 release simulators.

4:32 PM Changeset in webkit [205572] by dino@apple.com
  • 10 edits
    8 adds in trunk

Expose Apple Pencil input to testing system
https://bugs.webkit.org/show_bug.cgi?id=161670
<rdar://problem/28183327>

Reviewed by Simon Fraser.

Tools:

Add API to UIScriptController that allows a test to emulate
stylus input, such as from the Apple Pencil.

The code is only implemented for WebKitTestRunner.

There are also four new tests that ensure an Apple Pencil
operates similarly to a regular touch. The main difference
is that you can't have multiple touches when using an Apple Pencil.

  • DumpRenderTree/ios/UIScriptControllerIOS.mm: New methods. Empty implementations.

(WTR::UIScriptController::stylusDownAtPoint):
(WTR::UIScriptController::stylusMoveToPoint):
(WTR::UIScriptController::stylusUpAtPoint):
(WTR::UIScriptController::stylusTapAtPoint):

  • TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: New methods.
  • TestRunnerShared/UIScriptContext/UIScriptController.cpp: Empty implementations.

(WTR::UIScriptController::stylusDownAtPoint):
(WTR::UIScriptController::stylusMoveToPoint):
(WTR::UIScriptController::stylusUpAtPoint):
(WTR::UIScriptController::stylusTapAtPoint):

  • TestRunnerShared/UIScriptContext/UIScriptController.h:
  • WebKitTestRunner/ios/HIDEventGenerator.h:
  • WebKitTestRunner/ios/HIDEventGenerator.mm: New StylusEvent types. Add some properties

to SyntheticEventDigitizerInfo.
(-[HIDEventGenerator _createIOHIDEventType:]): Add support for StylusEvent types.
(-[HIDEventGenerator touchDownAtPoints:touchCount:]): Clear any old stylus info.
(-[HIDEventGenerator stylusDownAtPoint:azimuthAngle:altitudeAngle:pressure:]):
(-[HIDEventGenerator stylusMoveToPoint:azimuthAngle:altitudeAngle:pressure:]):
(-[HIDEventGenerator stylusUpAtPoint:]):
(-[HIDEventGenerator stylusDownAtPoint:azimuthAngle:altitudeAngle:pressure:completionBlock:]):
(-[HIDEventGenerator stylusMoveToPoint:azimuthAngle:altitudeAngle:pressure:completionBlock:]):
(-[HIDEventGenerator stylusUpAtPoint:completionBlock:]):
(-[HIDEventGenerator stylusTapAtPoint:azimuthAngle:altitudeAngle:pressure:completionBlock:]):

  • WebKitTestRunner/ios/IOKitSPI.h: Add new include, and new SPI.
  • WebKitTestRunner/ios/UIScriptControllerIOS.mm: Calls into the HIDEventGenerator for the new API.

(WTR::UIScriptController::stylusDownAtPoint):
(WTR::UIScriptController::stylusMoveToPoint):
(WTR::UIScriptController::stylusUpAtPoint):
(WTR::UIScriptController::stylusTapAtPoint):

LayoutTests:

Four new tests that make sure Apple Pencil's register the correct
touch* style events.

  • fast/events/touch/ios/pencil-down-gives-touchstart-expected.txt: Added.
  • fast/events/touch/ios/pencil-down-gives-touchstart.html: Added.
  • fast/events/touch/ios/pencil-move-gives-touchmove-expected.txt: Added.
  • fast/events/touch/ios/pencil-move-gives-touchmove.html: Added.
  • fast/events/touch/ios/pencil-tap-gives-touchstart-and-touchend-expected.txt: Added.
  • fast/events/touch/ios/pencil-tap-gives-touchstart-and-touchend.html: Added.
  • fast/events/touch/ios/pencil-up-gives-touchend-expected.txt: Added.
  • fast/events/touch/ios/pencil-up-gives-touchend.html: Added.
4:31 PM Changeset in webkit [205571] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Web Inspector: Remove always false case in Debugger
https://bugs.webkit.org/show_bug.cgi?id=161717

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-07
Reviewed by Brian Burg.

  • debugger/Debugger.cpp:

(JSC::Debugger::didExecuteProgram):
We would have earlier returned a few statements ago if this case was true.
And we would have crashed in the previous statement if this case was true.

3:36 PM Changeset in webkit [205570] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, build fix after r205569

Tweak CMakeLists.txt

  • CMakeLists.txt:
3:10 PM Changeset in webkit [205569] by mark.lam@apple.com
  • 221 edits
    1 move
    6 adds in trunk/Source

Add CatchScope and force all exception checks to be via ThrowScope or CatchScope.
https://bugs.webkit.org/show_bug.cgi?id=161498

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This patch refactors the ThrowScope class, and introduces a base ExceptionScope
that ThrowScope extends. A CatchScope which extends the ExceptionScope is also
introduced.

ENABLE(THROW_SCOPE_VERIFICATION) is now renamed to ENABLE(EXCEPTION_SCOPE_VERIFICATION)
which is a more suitable name now.

Note: exception scope verification is still disabled by default. There are still
many places that need to be fixed up or re-expressed in a way that is friendly
to the verification. I'll address those in subsequent patches.

After this patch, the code will statically enforce that:

  1. all calls to throwException() go through a ThrowScope.
  2. all calls to clearException() go through a CatchScope.
  3. all exception checks go through an ExceptionScope in the form of a ThrowScope or CatchScope.

A Summary of how to use ExceptionScopes
=======================================

  1. If a function can throw a JS exception, it should declare a ThrowScope at the top of the function (as early as possible).
  1. If a function can clear JS exceptions, it should declare a CatchScope at the top of the function (as early as possible).

Declaring a ThrowScope in a function means that the function may throw an exception
that its caller will have to handle. Declaring a CatchScope in a function means
that the function intends to clear pending exceptions before returning to its
caller.

For more details, see the notes below.

Everything you may want to know about ExceptionScopes
=====================================================
ExceptionScope verification works to simulate exception throws and detect cases
where exception checks are missing. The notes below will cover:

  1. The VM::m_needExceptionCheck bit
  2. ThrowScopes and CatchScopes
  3. Verification of needed exception checks
  4. Checking Exceptions
  5. Simulating throws
  6. Using ThrowScope::release()
  7. Checking exceptions with ThrowScope::exception() / CatchScope::exception()
  8. Checking exceptions by checking callee results
  9. Debugging verification errors
  1. The VM::m_needExceptionCheck bit

The VM has a m_needExceptionCheck bit that indicates when an exception may be
thrown. You can think of the m_needExceptionCheck bit being set as a simulated
throw.

  1. ThrowScopes and CatchScopes

Only ThrowScopes may throwException. Only CatchScopes may catchException.

Every throw site must declare a ThrowScope instance using DECLARE_THROW_SCOPE
at the top of its function (as early as possible) e.g.


void foo(...)
{

auto scope = DECLARE_THROW_SCOPE(vm);
...
throwException(exec, scope, ...);

}

Note: by convention, every throw helper function must take a ThrowScope argument
instead of instantiating its own ThrowScope. This allows the throw to be
attributed to the client code rather than the throw helper itself.

Every catch site (i.e. a site that calls clearException()) must declare a
CatchScope instance using DECLARE_CATCH_SCOPE at the top of its function.

If a function can both throw or clear exceptions, then the ThrowScope should
be declared first so that it can simulate a throw to the function's caller.

Note: ThrowScope and CatchScope both extend ExceptionScope so that ThrowScopes
can be aware if there's an enclosing CatchScope between it and the point where
C++ code returns to JS code. This is needed to determine if the ThrowScope
should simulate a re-throw or not. See (4) below for more details on returning
to JS code.

  1. Verification of needed exception checks
  1. On construction, each ThrowScope and CatchScope will verify that VM::m_needExceptionCheck is not set.


This ensures that the caller of the current function has checked for exceptions
where needed before doing more work which lead to calling the current function.

  1. On destruction, each ThrowScope and CatchScope will verify that VM::m_needExceptionCheck is not set. This verification will be skipped if the ThrowScope has been released (see (5) below).

This ensures that the function that owns this exception scope is not missing
any exception checks before returning.

  1. When throwing an exception, the ThrowScope will verify that VM::m_needExceptionCheck is not already set, unless it's been ask to rethrow the same Exception object.
  1. Simulating throws

Throws are simulated by setting the m_needExceptionCheck bit.

The bit will only be set in the ThrowScope destructor except when the ThrowScope
detects the caller is a LLInt or JIT function. LLInt or JIT functions will always
check for exceptions after a host C++ function returns to it. However, they will
not clear the m_needExceptionCheck bit.

Hence, if the ThrowScope destructor detects the caller is a LLInt or JIT function,
it will just skip the setting of the bit.

Note: it is not needed nor correct to set the m_needExceptionCheck bit in the
throwException methods. This is because, in practice, we always return
immediately after throwing an exception. It doesn't make sense to set the bit in
the throw just to have to clear it immediately after before we do verification in
the ThrowScope destructor.

  1. Using ThrowScope::release()

Calling release() means that the scope is released from its obligation to
verify the VM::m_needExceptionCheck bit on destruction.

release() should only be used at the bottom of a function if:

  1. This function is going to let its caller check and handle the exception, e.g.

void foo(...)
{

auto scope = DECLARE_THROW_SCOPE(vm);
auto result = goo(); may throw.

... Code that will are not affected by a pending exceptions.

scope.release(); tell the ThrowScope that the caller will handle the exception.
return result;

}

  1. This function is going to do a tail call that may throw.

void foo(...)
{

auto scope = DECLARE_THROW_SCOPE(vm);
...
scope.release(); tell the ThrowScope that the caller will handle the exception.
return goo();
may throw.

}

release() should not be used in code paths that branch. For example:

void foo(...)
{

auto scope = DECLARE_THROW_SCOPE(vm);

auto result = goo1(); may throw.
scope.release();
WRONG !!! Don't do this.
if (result)

return;

result = goo2(); may throw.
...
return result;

}

The above will result in a verification error in goo2()'s ThrowScope. The
proper way to fix this verification is to do either (6) or (7) below.

  1. Checking exceptions with ThrowScope::exception() / CatchScope::exception()

ThrowScope/CatchScope::exception() returns the thrown Exception object if
there is one pending. Else, it returns nullptr.

It also clears the m_needExceptionCheck bit thereby indicating that we've
satisfied the needed exception check. For example,

void foo(...)
{

auto scope = DECLARE_THROW_SCOPE(vm);

auto result = goo1(); may throw.
if (scope.exception())

return;

result = goo2(); may throw.
...
return result;

}

But sometimes, for optimization reasons, we may choose to test the result of
the callee function instead doing a load of the VM exception value. See (7)
below.

  1. Checking exceptions by checking callee results

This approach should only be applied when it makes a difference to performance.
If we need to do this, we should add an ASSERT() that invokes the scope's
exception() method to verify the result. Since exception scope verification
is only done on DEBUG builds, this ASSERT will satisfy the verification
requirements without impacting performance. For example,

void foo(...)
{

auto scope = DECLARE_THROW_SCOPE(vm);

bool failed = goo1(); may throw.
ASSERT(!!scope.exception() == failed)
if (failed)

return;

result = goo2(); may throw.
...
return result;

}

  1. Debugging verification errors
  1. When verification fails, you will see a message followed by an assertion failure. For example:

ERROR: Unchecked JS exception:

This scope can throw a JS exception: setUpCall @ /Volumes/Data/ws6/OpenSource/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1245

(ExceptionScope::m_recursionDepth was ...)

But the exception was unchecked as of this scope: varargsSetup @ /Volumes/Data/ws6/OpenSource/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1398

(ExceptionScope::m_recursionDepth was ...)

[ backtrace here ]

The message tells you that failure was detected at in varargsSetup() at
LLIntSlowPaths.cpp line 1398, and that the missing exception check should
have happened somewhere between the call to setUpCall() at LLIntSlowPaths.cpp
line 1245 and it.

If that is insufficient information, you can ...

  1. Dump simulated throws

Re-run the test case with JSC_dumpSimulatedThrows=true. You will also see
back traces at each simulated throw.

  1. Narrowing down the source of a simulated throw

Another technique for narrowing down the source of simulated throws is by
further dividing a function to smaller regions by separating each region
with additional local throw scopes. For example,

... Region 1
{ auto scope = DECLARE_THROW_SCOPE(vm); }
...
Region 2
{ auto scope = DECLARE_THROW_SCOPE(vm); }
... Region 3

  • API/APIUtils.h:

(handleExceptionIfNeeded):

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bindings/ScriptFunctionCall.cpp:

(Deprecated::ScriptFunctionCall::call):

  • bindings/ScriptValue.cpp:

(Deprecated::ScriptValue::toString):

  • debugger/Debugger.cpp:

(JSC::Debugger::pauseIfNeeded):

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::evaluateWithScopeExtension):

  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOperations.cpp:

(JSC::DFG::operationPutByValInternal):

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::createInjectedScript):

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::reportAPIException):

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::evaluateWithScopeExtension):
(Inspector::JSInjectedScriptHost::getInternalProperties):
(Inspector::JSInjectedScriptHost::weakMapEntries):
(Inspector::JSInjectedScriptHost::weakSetEntries):
(Inspector::JSInjectedScriptHost::iteratorEntries):

  • inspector/JSJavaScriptCallFrame.cpp:

(Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension):

  • inspector/ScriptCallStackFactory.cpp:

(Inspector::extractSourceInformationFromException):

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):

  • interpreter/CallFrame.h:

(JSC::ExecState::clearException): Deleted.
(JSC::ExecState::exception): Deleted.
(JSC::ExecState::hadException): Deleted.
(JSC::ExecState::lastException): Deleted.
(JSC::ExecState::clearLastException): Deleted.

  • interpreter/Interpreter.cpp:

(JSC::eval):
(JSC::sizeOfVarargs):
(JSC::notifyDebuggerOfUnwinding):
(JSC::Interpreter::unwind):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::debug):

  • interpreter/Interpreter.h:

(JSC::SuspendExceptionScope::SuspendExceptionScope):

  • interpreter/ShadowChicken.cpp:

(JSC::ShadowChicken::functionsOnStack):

  • jit/JITCode.cpp:

(JSC::JITCode::execute):

  • jit/JITExceptions.cpp:

(JSC::genericUnwind):

  • jit/JITOperations.cpp:

(JSC::getByVal):

  • jsc.cpp:

(WTF::ImpureGetter::getOwnPropertySlot):
(GlobalObject::moduleLoaderResolve):
(GlobalObject::moduleLoaderFetch):
(functionCreateElement):
(functionRun):
(functionRunString):
(functionLoad):
(functionLoadString):
(functionReadFile):
(functionCheckSyntax):
(functionSetRandomSeed):
(functionLoadModule):
(functionCreateBuiltin):
(functionCheckModuleSyntax):
(functionGenerateHeapSnapshot):
(functionSamplingProfilerStackTraces):
(dumpException):
(checkUncaughtException):
(runWithScripts):
(runInteractive):

  • llint/LLIntExceptions.cpp:

(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • profiler/ProfilerBytecodeSequence.cpp:

(JSC::Profiler::BytecodeSequence::addSequenceProperties):

  • profiler/ProfilerCompilation.cpp:

(JSC::Profiler::Compilation::toJS):

  • profiler/ProfilerDatabase.cpp:

(JSC::Profiler::Database::toJS):

  • profiler/ProfilerOSRExitSite.cpp:

(JSC::Profiler::OSRExitSite::toJS):

  • profiler/ProfilerOriginStack.cpp:

(JSC::Profiler::OriginStack::toJS):

  • runtime/ArrayPrototype.cpp:

(JSC::speciesConstructArray):
(JSC::shift):
(JSC::unshift):
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::slowJoin):
(JSC::fastJoin):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):
(JSC::moveElements):
(JSC::concatAppendOne):
(JSC::arrayProtoPrivateFuncConcatMemcpy):

  • runtime/BooleanConstructor.cpp:

(JSC::constructWithBooleanConstructor):

  • runtime/CallData.cpp:

(JSC::call):

  • runtime/CatchScope.cpp: Added.

(JSC::CatchScope::CatchScope):
(JSC::CatchScope::~CatchScope):

  • runtime/CatchScope.h: Added.

(JSC::CatchScope::clearException):
(JSC::CatchScope::CatchScope):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::opIn):

  • runtime/CommonSlowPathsExceptions.cpp:

(JSC::CommonSlowPaths::interpreterThrowInCaller):

  • runtime/Completion.cpp:

(JSC::evaluate):
(JSC::rejectPromise):
(JSC::loadAndEvaluateModule):
(JSC::loadModule):

  • runtime/ConsoleObject.cpp:

(JSC::consoleProtoFuncAssert):
(JSC::consoleProtoFuncProfile):
(JSC::consoleProtoFuncProfileEnd):
(JSC::consoleProtoFuncTakeHeapSnapshot):
(JSC::consoleProtoFuncTime):
(JSC::consoleProtoFuncTimeEnd):

  • runtime/DateConstructor.cpp:

(JSC::constructDate):
(JSC::dateParse):

  • runtime/DatePrototype.cpp:

(JSC::dateProtoFuncToPrimitiveSymbol):
(JSC::dateProtoFuncToJSON):

  • runtime/ErrorConstructor.cpp:

(JSC::Interpreter::constructWithErrorConstructor):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::sanitizedToString):

  • runtime/ErrorPrototype.cpp:

(JSC::errorProtoFuncToString):

  • runtime/ExceptionEventLocation.cpp: Added.

(WTF::printInternal):

  • runtime/ExceptionEventLocation.h: Copied from Source/JavaScriptCore/runtime/ThrowScopeLocation.h.

(JSC::ExceptionEventLocation::ExceptionEventLocation):
(JSC::ThrowScopeLocation::ThrowScopeLocation): Deleted.

  • runtime/ExceptionHelpers.h:
  • runtime/ExceptionScope.cpp: Added.

(JSC::ExceptionScope::ExceptionScope):
(JSC::ExceptionScope::~ExceptionScope):

  • runtime/ExceptionScope.h: Added.

(JSC::ExceptionScope::vm):
(JSC::ExceptionScope::recursionDepth):
(JSC::ExceptionScope::exception):
(JSC::ExceptionScope::ExceptionScope):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncBind):

  • runtime/GenericArgumentsInlines.h:

(JSC::GenericArguments<Type>::copyToArguments):

  • runtime/GetterSetter.cpp:

(JSC::callGetter):

  • runtime/InspectorInstrumentationObject.cpp:

(JSC::inspectorInstrumentationObjectLog):

  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::createSubclassStructure):

  • runtime/IntlCollator.cpp:

(JSC::IntlCollator::initializeCollator):
(JSC::IntlCollator::createCollator):
(JSC::IntlCollator::resolvedOptions):

  • runtime/IntlCollatorConstructor.cpp:

(JSC::constructIntlCollator):
(JSC::IntlCollatorConstructorFuncSupportedLocalesOf):

  • runtime/IntlCollatorPrototype.cpp:

(JSC::IntlCollatorFuncCompare):
(JSC::IntlCollatorPrototypeGetterCompare):

  • runtime/IntlDateTimeFormat.cpp:

(JSC::toDateTimeOptionsAnyDate):
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
(JSC::IntlDateTimeFormat::resolvedOptions):
(JSC::IntlDateTimeFormat::format):

  • runtime/IntlDateTimeFormatConstructor.cpp:

(JSC::constructIntlDateTimeFormat):
(JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf):

  • runtime/IntlDateTimeFormatPrototype.cpp:

(JSC::IntlDateTimeFormatFuncFormatDateTime):
(JSC::IntlDateTimeFormatPrototypeGetterFormat):

  • runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::initializeNumberFormat):
(JSC::IntlNumberFormat::createNumberFormat):
(JSC::IntlNumberFormat::resolvedOptions):

  • runtime/IntlNumberFormatConstructor.cpp:

(JSC::constructIntlNumberFormat):
(JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf):

  • runtime/IntlNumberFormatPrototype.cpp:

(JSC::IntlNumberFormatFuncFormatNumber):
(JSC::IntlNumberFormatPrototypeGetterFormat):

  • runtime/IntlObject.cpp:

(JSC::intlBooleanOption):
(JSC::intlStringOption):
(JSC::intlNumberOption):
(JSC::canonicalizeLocaleList):
(JSC::supportedLocales):

  • runtime/IntlObjectInlines.h:

(JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor):

  • runtime/IteratorOperations.cpp:

(JSC::iteratorNext):
(JSC::iteratorStep):
(JSC::iteratorClose):
(JSC::iteratorForIterable):

  • runtime/IteratorOperations.h:

(JSC::forEachInIterable):

  • runtime/JSArray.cpp:

(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::copyToArguments):

  • runtime/JSArrayBufferConstructor.cpp:

(JSC::constructArrayBuffer):

  • runtime/JSArrayBufferPrototype.cpp:

(JSC::arrayBufferProtoFuncSlice):

  • runtime/JSArrayInlines.h:

(JSC::getLength):
(JSC::toLength):

  • runtime/JSBoundFunction.cpp:

(JSC::getBoundFunctionStructure):
(JSC::JSBoundFunction::create):

  • runtime/JSCJSValue.cpp:

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

  • runtime/JSCJSValueInlines.h:

(JSC::toPreferredPrimitiveType):
(JSC::JSValue::getPropertySlot):
(JSC::JSValue::equalSlowCaseInline):

  • runtime/JSDataViewPrototype.cpp:

(JSC::getData):
(JSC::setData):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::setFunctionName):

  • runtime/JSGenericTypedArrayView.h:

(JSC::JSGenericTypedArrayView::setIndex):

  • runtime/JSGenericTypedArrayViewConstructorInlines.h:

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

  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:

(JSC::speciesConstruct):
(JSC::genericTypedArrayViewProtoFuncCopyWithin):
(JSC::genericTypedArrayViewProtoFuncIncludes):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):

  • runtime/JSGlobalObject.h:

(JSC::constructEmptyArray):
(JSC::constructArray):
(JSC::constructArrayNegativeIndexed):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncEval):

  • runtime/JSJob.cpp:

(JSC::JSJobMicrotask::run):

  • runtime/JSModuleEnvironment.cpp:

(JSC::JSModuleEnvironment::getOwnPropertySlot):

  • runtime/JSModuleLoader.cpp:

(JSC::JSModuleLoader::fetch):

  • runtime/JSModuleNamespaceObject.cpp:

(JSC::JSModuleNamespaceObject::finishCreation):
(JSC::JSModuleNamespaceObject::getOwnPropertySlot):

  • runtime/JSModuleRecord.cpp:

(JSC::JSModuleRecord::instantiateDeclarations):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::Stringifier):
(JSC::Stringifier::stringify):
(JSC::Stringifier::toJSON):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):
(JSC::JSONProtoFuncParse):

  • runtime/JSObject.cpp:

(JSC::ordinarySetSlow):
(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::callToPrimitiveFunction):
(JSC::JSObject::ordinaryToPrimitive):
(JSC::JSObject::defaultHasInstance):
(JSC::JSObject::getPropertyNames):
(JSC::JSObject::toNumber):
(JSC::JSObject::toString):
(JSC::JSObject::defineOwnNonIndexProperty):
(JSC::JSObject::getGenericPropertyNames):
(JSC::JSObject::getMethod):

  • runtime/JSObjectInlines.h:

(JSC::createListFromArrayLike):
(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getNonIndexPropertySlot):

  • runtime/JSPromiseConstructor.cpp:

(JSC::constructPromise):

  • runtime/JSPropertyNameEnumerator.h:

(JSC::propertyNameEnumerator):

  • runtime/JSPropertyNameIterator.cpp:

(JSC::JSPropertyNameIterator::create):

  • runtime/JSScope.cpp:

(JSC::isUnscopable):
(JSC::JSScope::resolve):

  • runtime/JSString.cpp:

(JSC::JSString::equalSlowCase):

  • runtime/JSStringJoiner.cpp:

(JSC::JSStringJoiner::join):

  • runtime/LiteralParser.cpp:

(JSC::LiteralParser<CharType>::parse):

  • runtime/MapConstructor.cpp:

(JSC::constructMap):

  • runtime/MathObject.cpp:

(JSC::mathProtoFuncClz32):
(JSC::mathProtoFuncHypot):
(JSC::mathProtoFuncIMul):

  • runtime/ModuleLoaderPrototype.cpp:

(JSC::moduleLoaderPrototypeParseModule):
(JSC::moduleLoaderPrototypeRequestedModules):
(JSC::moduleLoaderPrototypeModuleDeclarationInstantiation):

  • runtime/NativeErrorConstructor.cpp:

(JSC::Interpreter::constructWithNativeErrorConstructor):

  • runtime/NumberConstructor.cpp:

(JSC::constructWithNumberConstructor):

  • runtime/ObjectConstructor.cpp:

(JSC::constructObject):
(JSC::objectConstructorGetPrototypeOf):
(JSC::objectConstructorSetPrototypeOf):
(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorGetOwnPropertyDescriptors):
(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorGetOwnPropertySymbols):
(JSC::objectConstructorKeys):
(JSC::ownEnumerablePropertyKeys):
(JSC::toPropertyDescriptor):
(JSC::objectConstructorDefineProperty):
(JSC::defineProperties):
(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):
(JSC::objectConstructorIsSealed):
(JSC::objectConstructorIsFrozen):
(JSC::objectConstructorIsExtensible):
(JSC::ownPropertyKeys):

  • runtime/ObjectConstructor.h:

(JSC::constructObjectFromPropertyDescriptor):

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncIsPrototypeOf):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
(JSC::objectProtoFuncPropertyIsEnumerable):
(JSC::objectProtoFuncToLocaleString):
(JSC::objectProtoFuncToString):

  • runtime/Operations.cpp:

(JSC::jsAddSlowCase):

  • runtime/Options.h:
  • runtime/PropertyDescriptor.cpp:

(JSC::PropertyDescriptor::slowGetterSetter):

  • runtime/ProxyConstructor.cpp:

(JSC::makeRevocableProxy):

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::toStringName):
(JSC::performProxyGet):
(JSC::ProxyObject::performGet):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::performPut):
(JSC::ProxyObject::putByIndexCommon):
(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::reflectObjectGet):
(JSC::reflectObjectGetOwnPropertyDescriptor):
(JSC::reflectObjectIsExtensible):
(JSC::reflectObjectPreventExtensions):
(JSC::reflectObjectSet):
(JSC::reflectObjectSetPrototypeOf):

  • runtime/RegExpConstructor.cpp:

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

  • runtime/RegExpConstructor.h:

(JSC::isRegExp):

  • runtime/RegExpObject.cpp:

(JSC::collectMatches):
(JSC::RegExpObject::matchGlobal):

  • runtime/RegExpPrototype.cpp:

(JSC::regExpProtoFuncCompile):
(JSC::flagsString):
(JSC::regExpProtoFuncToString):
(JSC::regExpProtoGetterFlags):
(JSC::regExpProtoFuncSearchFast):
(JSC::regExpProtoFuncSplitFast):

  • runtime/SetConstructor.cpp:

(JSC::constructSet):

  • runtime/StringConstructor.cpp:

(JSC::stringFromCodePoint):
(JSC::constructWithStringConstructor):

  • runtime/StringObject.cpp:

(JSC::StringObject::defineOwnProperty):

  • runtime/StringPrototype.cpp:

(JSC::replaceUsingRegExpSearch):
(JSC::operationStringProtoFuncReplaceRegExpEmptyStr):
(JSC::replaceUsingStringSearch):
(JSC::replace):
(JSC::stringProtoFuncReplaceUsingRegExp):
(JSC::stringProtoFuncReplaceUsingStringSearch):
(JSC::stringProtoFuncCodePointAt):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSplitFast):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(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::stringIncludesImpl):
(JSC::stringProtoFuncIncludes):
(JSC::builtinStringIncludesInternal):
(JSC::stringProtoFuncNormalize):

  • runtime/SymbolConstructor.cpp:

(JSC::symbolConstructorFor):

  • runtime/TemplateRegistry.cpp:

(JSC::TemplateRegistry::getTemplateObject):

  • runtime/ThrowScope.cpp:

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

  • runtime/ThrowScope.h:

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

  • runtime/ThrowScopeLocation.h: Removed.
  • runtime/VM.cpp:

(JSC::VM::verifyExceptionCheckNeedIsSatisfied):

  • runtime/VM.h:

(JSC::VM::exception):
(JSC::VM::clearException):
(JSC::VM::setException): Deleted.

  • runtime/WeakMapConstructor.cpp:

(JSC::constructWeakMap):

  • runtime/WeakSetConstructor.cpp:

(JSC::constructWeakSet):

  • tools/JSDollarVMPrototype.cpp:

(JSC::functionPrint):

Source/WebCore:

No new test because there is no behavior change in general except for 1 bug fix.
That bug is already caught by existing tests with the introduction of the CatchScope.

Fixes a bug in JSEventListener::handleEvent() where the exception thrown from
a failed attempt to get the handleEvent callback is not handled.

  • ForwardingHeaders/runtime/CatchScope.h: Added.
  • Modules/encryptedmedia/CDMSessionClearKey.cpp:

(WebCore::CDMSessionClearKey::update):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::putOrAdd):

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):

  • Modules/mediastream/SDPProcessor.cpp:

(WebCore::SDPProcessor::callScript):

  • Modules/plugins/QuickTimePluginReplacement.mm:

(WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected):
(WebCore::QuickTimePluginReplacement::installReplacement):

  • bindings/js/ArrayValue.cpp:

(WebCore::ArrayValue::get):

  • bindings/js/Dictionary.cpp:

(WebCore::Dictionary::getOwnPropertiesAsStringHashMap):

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::toJS):

  • bindings/js/JSApplePaySessionCustom.cpp:

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

  • bindings/js/JSAudioTrackCustom.cpp:

(WebCore::JSAudioTrack::setKind):
(WebCore::JSAudioTrack::setLanguage):

  • bindings/js/JSBlobCustom.cpp:

(WebCore::constructJSBlob):

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):

  • bindings/js/JSCommandLineAPIHostCustom.cpp:

(WebCore::getJSListenerFunctions):

  • bindings/js/JSCryptoAlgorithmDictionary.cpp:

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

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::getJSArrayFromJSON):
(WebCore::getStringFromJSON):
(WebCore::getBooleanFromJSON):
(WebCore::JSCryptoKeySerializationJWK::JSCryptoKeySerializationJWK):
(WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
(WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence):
(WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents):
(WebCore::JSCryptoKeySerializationJWK::keyData):
(WebCore::buildJSONForRSAComponents):
(WebCore::addUsagesToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):

  • bindings/js/JSCustomElementInterface.cpp:

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

  • bindings/js/JSCustomElementRegistryCustom.cpp:

(WebCore::getCustomElementCallback):
(WebCore::JSCustomElementRegistry::define):
(WebCore::whenDefinedPromise):
(WebCore::JSCustomElementRegistry::whenDefined):

  • bindings/js/JSDOMBinding.cpp:

(WebCore::valueToUSVString):
(WebCore::reportException):
(WebCore::reportCurrentException):
(WebCore::setDOMException):
(WebCore::hasIteratorMethod):
(WebCore::toSmallerInt):
(WebCore::toSmallerUInt):
(WebCore::toInt32EnforceRange):
(WebCore::toUInt32EnforceRange):
(WebCore::toInt64EnforceRange):
(WebCore::toUInt64EnforceRange):
(WebCore::throwNotSupportedError):
(WebCore::throwInvalidStateError):
(WebCore::throwSecurityError):

  • bindings/js/JSDOMBinding.h:

(WebCore::toJSSequence):
(WebCore::toJS):
(WebCore::jsFrozenArray):
(WebCore::NativeValueTraits<String>::nativeValue):
(WebCore::NativeValueTraits<unsigned>::nativeValue):
(WebCore::NativeValueTraits<float>::nativeValue):
(WebCore::NativeValueTraits<double>::nativeValue):
(WebCore::toNativeArray):

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::makeThisTypeErrorForBuiltins):
(WebCore::makeGetterTypeErrorForBuiltins):

  • bindings/js/JSDOMGlobalObjectTask.cpp:
  • bindings/js/JSDOMIterator.h:

(WebCore::iteratorForEach):

  • bindings/js/JSDOMPromise.cpp:

(WebCore::rejectPromiseWithExceptionIfAny):

  • bindings/js/JSDOMPromise.h:

(WebCore::callPromiseFunction):

  • bindings/js/JSDOMStringMapCustom.cpp:

(WebCore::JSDOMStringMap::putDelegate):

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowMicrotaskCallback::call):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::setLocation):
(WebCore::JSDOMWindow::open):
(WebCore::JSDOMWindow::showModalDialog):
(WebCore::handlePostMessage):
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):

  • bindings/js/JSDataCueCustom.cpp:

(WebCore::constructJSDataCue):

  • bindings/js/JSDeviceMotionEventCustom.cpp:

(WebCore::readAccelerationArgument):
(WebCore::readRotationRateArgument):
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):

  • bindings/js/JSDictionary.cpp:

(WebCore::JSDictionary::tryGetProperty):
(WebCore::JSDictionary::convertValue):

  • bindings/js/JSDictionary.h:

(WebCore::JSDictionary::tryGetPropertyAndResult):

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::JSDocument::getCSSCanvasContext):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSFileCustom.cpp:

(WebCore::constructJSFile):

  • bindings/js/JSGeolocationCustom.cpp:

(WebCore::createPositionOptions):
(WebCore::JSGeolocation::getCurrentPosition):
(WebCore::JSGeolocation::watchPosition):

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::callHTMLAllCollection):

  • bindings/js/JSHTMLCanvasElementCustom.cpp:

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

  • bindings/js/JSHTMLElementCustom.cpp:

(WebCore::constructJSHTMLElement):

  • bindings/js/JSHistoryCustom.cpp:

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

  • bindings/js/JSIDBDatabaseCustom.cpp:

(WebCore::JSIDBDatabase::createObjectStore):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction):

  • bindings/js/JSMainThreadExecState.h:

(WebCore::JSMainThreadExecState::linkAndEvaluateModule):
(WebCore::JSMainThreadExecState::~JSMainThreadExecState):

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::handleInitMessageEvent):

  • bindings/js/JSMessagePortCustom.cpp:

(WebCore::fillMessagePortArray):

  • bindings/js/JSMessagePortCustom.h:

(WebCore::handlePostMessage):

  • bindings/js/JSMockContentFilterSettingsCustom.cpp:

(WebCore::JSMockContentFilterSettings::setDecisionPoint):
(WebCore::toDecision):
(WebCore::JSMockContentFilterSettings::setDecision):
(WebCore::JSMockContentFilterSettings::setUnblockRequestDecision):

  • bindings/js/JSNodeFilterCustom.cpp:

(WebCore::JSNodeFilter::acceptNode):

  • bindings/js/JSNodeOrString.cpp:

(WebCore::toNodeOrStringVector):

  • bindings/js/JSSQLTransactionCustom.cpp:

(WebCore::JSSQLTransaction::executeSql):

  • bindings/js/JSSVGLengthCustom.cpp:

(WebCore::JSSVGLength::convertToSpecifiedUnits):

  • bindings/js/JSStorageCustom.cpp:

(WebCore::JSStorage::getOwnPropertyNames):
(WebCore::JSStorage::putDelegate):

  • bindings/js/JSTextTrackCustom.cpp:

(WebCore::JSTextTrack::setLanguage):

  • bindings/js/JSVideoTrackCustom.cpp:

(WebCore::JSVideoTrack::setKind):
(WebCore::JSVideoTrack::setLanguage):

  • bindings/js/JSWebGL2RenderingContextCustom.cpp:

(WebCore::JSWebGL2RenderingContext::getIndexedParameter):

  • bindings/js/JSWebGLRenderingContextBaseCustom.cpp:

(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContextBase::getExtension):
(WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContextBase::getParameter):
(WebCore::JSWebGLRenderingContextBase::getProgramParameter):
(WebCore::JSWebGLRenderingContextBase::getShaderParameter):
(WebCore::toVector):
(WebCore::dataFunctionf):
(WebCore::dataFunctionMatrix):

  • bindings/js/JSWebKitSubtleCryptoCustom.cpp:

(WebCore::createAlgorithmFromJSValue):
(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::importScripts):
(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):

  • bindings/js/ReadableStreamDefaultController.cpp:

(WebCore::ReadableStreamDefaultController::invoke):
(WebCore::ReadableStreamDefaultController::isControlledReadableStreamLocked):

  • bindings/js/ReadableStreamDefaultController.h:

(WebCore::ReadableStreamDefaultController::enqueue):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::create):

  • bindings/js/ScriptGlobalObject.cpp:

(WebCore::ScriptGlobalObject::set):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneBase::shouldTerminate):
(WebCore::CloneDeserializer::deserialize):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::deserialize):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateDictionaryImplementationContent):
(GenerateImplementation):
(GenerateParametersCheck):
(GenerateImplementationFunctionCall):
(GenerateConstructorDefinition):

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

(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):

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

(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):

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

(WebCore::JSTestEventConstructorConstructor::construct):

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

(WebCore::jsTestEventTargetPrototypeFunctionItem):

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

(WebCore::setJSTestGlobalObjectRegularAttribute):
(WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute):
(WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute):
(WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute):
(WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2):

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

(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):

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

(WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom):

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

(WebCore::JSTestNamedConstructorNamedConstructor::construct):

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

(WebCore::setJSTestNodeName):

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

(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):

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

(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>):
(WebCore::convertDictionary<AlternateDictionaryName>):
(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::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter):
(WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(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::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
(WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
(WebCore::jsTestObjPrototypeFunctionGetElementById):
(WebCore::jsTestObjPrototypeFunctionConvert3):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionAttachShadowRoot):

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

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

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

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

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

(WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):

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

(WebCore::setJSTestSerializedScriptValueInterfaceValue):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):

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

(WebCore::JSTestTypedefsConstructor::construct):
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):

  • bridge/NP_jsobject.cpp:

(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_Enumerate):
(_NPN_Construct):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):

  • bridge/objc/WebScriptObject.mm:

(WebCore::addExceptionToConsole):
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject hasWebScriptKey:]):
(-[WebScriptObject webScriptValueAtIndex:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):

  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::getDomainList):
(WebCore::ContentExtensions::getTypeFlags):
(WebCore::ContentExtensions::loadTrigger):
(WebCore::ContentExtensions::loadAction):
(WebCore::ContentExtensions::loadEncodedRules):

  • html/HTMLMediaElement.cpp:

(WebCore::controllerJSValue):
(WebCore::HTMLMediaElement::updateCaptionContainer):
(WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
(WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange):
(WebCore::HTMLMediaElement::getCurrentMediaControlsStatus):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):

  • WebView/WebView.mm:

(aeDescFromJSValue):

Source/WebKit/win:

  • Plugins/PluginPackage.cpp:

(WebCore::NPN_Evaluate):
(WebCore::NPN_Invoke):

Source/WebKit2:

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::construct):
(WebKit::NPJSObject::invoke):

Source/WTF:

  • wtf/Platform.h:
3:01 PM Changeset in webkit [205568] by commit-queue@webkit.org
  • 9 edits in trunk

[INTL] some valid language tags cause errors in Intl constructors
https://bugs.webkit.org/show_bug.cgi?id=161672

Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2016-09-07
Reviewed by Mark Lam.

Source/JavaScriptCore:

Fix private use tag parsing to match spec, allowing single character parts.
https://www.rfc-editor.org/rfc/bcp/bcp47.txt

`
privateuse = "x" 1*("-" (1*8alphanum))
`

  • runtime/IntlObject.cpp:

(JSC::privateUseLangTag): Allow singleton parts in private use tag.

LayoutTests:

Add list of valid language tags that should not throw from test262.

  • js/intl-collator-expected.txt:
  • js/intl-datetimeformat-expected.txt:
  • js/intl-numberformat-expected.txt:
  • js/script-tests/intl-collator.js:
  • js/script-tests/intl-datetimeformat.js:
  • js/script-tests/intl-numberformat.js:
2:17 PM Changeset in webkit [205567] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Remove a couple of useless forward declaration
https://bugs.webkit.org/show_bug.cgi?id=161676

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

JITMathICForwards.h should take care of declarating the Math ICs.

  • bytecode/CodeBlock.h:
  • jit/JITOperations.h:
1:21 PM Changeset in webkit [205566] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Make emitAllocateWithNonNullAllocator's sub32() disallow-scratch-friendly
https://bugs.webkit.org/show_bug.cgi?id=161706

Reviewed by Geoffrey Garen.

You can't sub32(Addr, Reg) on not-x86 without using a scratch register. So, on those CPUs, we
have to do something different.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):

1:19 PM Changeset in webkit [205565] by Chris Dumez
  • 4 edits in trunk

Fix handling of negative radius in HTMLAreaElement's coords when in circle state
https://bugs.webkit.org/show_bug.cgi?id=161690

Reviewed by Daniel Bates.

LayoutTests/imported/w3c:

Rebaseline existing test now that one more check is passing.

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

Source/WebCore:

Fix handling of negative radius in HTMLAreaElement's coords when in
circle state:

The radius must be non-negative as per the specification. However, our
code fails to check.

Firefox and Chrome both reject negative radius.

No new tests, rebaselined existing test.

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::getRegion):

1:19 PM Changeset in webkit [205564] by bshafiei@apple.com
  • 1 copy in tags/Safari-603.1.5

New tag.

1:19 PM Changeset in webkit [205563] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

12:47 PM Changeset in webkit [205562] by Chris Dumez
  • 5 edits in trunk

Align HTMLAreaElement shape parsing with the specification
https://bugs.webkit.org/show_bug.cgi?id=161698

Reviewed by Daniel Bates.

LayoutTests/imported/w3c:

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

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

Incorporate https://github.com/w3c/web-platform-tests/pull/3659

Source/WebCore:

Align HTMLAreaElement shape parsing with the specification:

In particular, add support for circ / polygon non conforming shapes
and use rectangle as default state.

This also aligns our behavior with Chrome.

No new tests, rebaselined existing test.

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::parseAttribute):

12:45 PM Changeset in webkit [205561] by Konstantin Tokarev
  • 2 edits in trunk/Source/WebKit2

[GTK] Make inspection of Inspector conditional on DEVELOPER_MODE
https://bugs.webkit.org/show_bug.cgi?id=161702

Reviewed by Michael Catanzaro.

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

12:28 PM Changeset in webkit [205560] by dbates@webkit.org
  • 8 edits
    2 adds in trunk

Update WebKitSystemInterface

Rubber-stamped by Dean Jackson.

Tools:

Copy WebKitSystemInterface for iOS 10 to the built products directory.

  • Scripts/copy-webkitlibraries-to-product-directory:

WebKitLibraries:

Additionally, add WebKitSystemInterface for iOS 10.

  • libWebKitSystemInterfaceElCapitan.a:
  • libWebKitSystemInterfaceIOSDevice10.a: Added.
  • libWebKitSystemInterfaceIOSDevice9.a:
  • libWebKitSystemInterfaceIOSSimulator10.a: Added.
  • libWebKitSystemInterfaceIOSSimulator9.a:
  • libWebKitSystemInterfaceOSX10.12.a:
  • libWebKitSystemInterfaceYosemite.a:
12:23 PM Changeset in webkit [205559] by mitz@apple.com
  • 38 edits in trunk/Source/WebKit2

[Cocoa] Update availability attributes per the macOS Sierra and iOS 10 GM seeds
https://bugs.webkit.org/show_bug.cgi?id=161704

Reviewed by Anders Carlsson.

  • Shared/API/Cocoa/_WKHitTestResult.h:
  • UIProcess/API/Cocoa/WKErrorPrivate.h:
  • UIProcess/API/Cocoa/WKFrameInfoPrivate.h:
  • UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKOpenPanelParameters.h:
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/API/Cocoa/WKPreviewActionItem.h:
  • UIProcess/API/Cocoa/WKPreviewActionItemIdentifiers.h:
  • UIProcess/API/Cocoa/WKPreviewElementInfo.h:
  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
  • UIProcess/API/Cocoa/WKUserScriptPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/API/Cocoa/_WKActivatedElementInfo.h:
  • UIProcess/API/Cocoa/_WKAutomationSession.h:
  • UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
  • UIProcess/API/Cocoa/_WKElementAction.h:
  • UIProcess/API/Cocoa/_WKExperimentalFeature.h:
  • UIProcess/API/Cocoa/_WKFormInputSession.h:
  • UIProcess/API/Cocoa/_WKInputDelegate.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
  • UIProcess/API/Cocoa/_WKUserContentWorld.h:
  • UIProcess/API/Cocoa/_WKUserInitiatedAction.h:
  • UIProcess/API/Cocoa/_WKUserStyleSheet.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataSize.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h:
12:19 PM Changeset in webkit [205558] by Michael Catanzaro
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed CMake build fix after r205552

  • CMakeLists.txt:
12:08 PM Changeset in webkit [205557] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix WebCore build when building for device with iOS 10 beta SDK

Define SPI macro kIOReturnSuccess.

  • platform/spi/cocoa/IOReturnSPI.h:
11:13 AM Changeset in webkit [205556] by Michael Catanzaro
  • 17 edits in trunk

[EFL] Switch to ENABLE_NETWORK_CACHE
https://bugs.webkit.org/show_bug.cgi?id=152676

Reviewed by Alex Christensen.

.:

Build with -Wno-error=missing-field-initializers to avoid spurious build failures.

  • Source/cmake/OptionsEfl.cmake:

Source/WebCore:

  • PlatformEfl.cmake: Add GRefPtrSoup to build.
  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::clearOldSoupCache): Renamed from clearCache.
(WebCore::SoupNetworkSession::setCache): Deleted.
(WebCore::SoupNetworkSession::cache): Deleted.
(WebCore::SoupNetworkSession::clearCache): Deleted.

  • platform/network/soup/SoupNetworkSession.h:

Source/WebKit2:

Nowadays GTK+ always uses the network cache, and never the soup cache. Remove support for
using the soup cache, and switch the EFL port to use network cache.

  • NetworkProcess/cache/NetworkCacheBlobStorage.cpp:

(WebKit::NetworkCache::BlobStorage::add): Check return value of link to placate
-Werror=unused-result on EFL builder

  • NetworkProcess/efl/NetworkProcessMainEfl.cpp:
  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::getCacheDiskFreeSize):
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::NetworkProcess::platformSetCacheModel):
(WebKit::NetworkProcess::clearDiskCache):

  • PlatformEfl.cmake: Add files to build.
  • UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:

(API::WebsiteDataStore::defaultNetworkCacheDirectory): Use a saner location.

  • UIProcess/API/gtk/APIWebsiteDataStoreGtk.cpp:

(API::WebsiteDataStore::defaultNetworkCacheDirectory):

  • UIProcess/API/gtk/WebKitPrivate.h:
  • UIProcess/soup/WebProcessPoolSoup.cpp:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • WebProcess/efl/WebProcessMainEfl.cpp:
  • config.h:
10:24 AM Changeset in webkit [205555] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: clicking Computed Styles sidebar "Show All" checkbox doesn't trigger relayout of Properties section
https://bugs.webkit.org/show_bug.cgi?id=161652

Patch by Devin Rousso <Devin Rousso> on 2016-09-07
Reviewed by Brian Burg.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties):
Fixed style issues from r205518 <webkit.org/b/161405>.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions):
Added missing space between semicolon and curly-brace.

(WebInspector.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
Added updateLayout call to resize and repopulate the CodeMirror instance.

10:21 AM Changeset in webkit [205554] by Chris Dumez
  • 10 edits
    2 deletes in trunk

Drop legacy canvas.probablySupportsContext()
https://bugs.webkit.org/show_bug.cgi?id=161692

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline W3C test now that one more check is passing.

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

Source/WebCore:

Drop legacy canvas.probablySupportsContext() as it is no longer in the specification:

Firefox and Chrome do not support canvas.probablySupportsContext().

No new tests, rebaselined existing test.

  • bindings/js/JSHTMLCanvasElementCustom.cpp:

(WebCore::JSHTMLCanvasElement::probablySupportsContext): Deleted.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::probablySupportsContext): Deleted.

  • html/HTMLCanvasElement.h:
  • html/HTMLCanvasElement.idl:

Source/WebInspectorUI:

  • UserInterface/Models/NativeFunctionParameters.js:

LayoutTests:

Drop legacy layout test.

  • fast/canvas/webgl/canvas-supports-context-expected.txt: Removed.
  • fast/canvas/webgl/canvas-supports-context.html: Removed.
10:12 AM Changeset in webkit [205553] by n_wang@apple.com
  • 3 edits in trunk/LayoutTests

[GTK] Layout test accessibility/media-emits-object-replacement.html fails
https://bugs.webkit.org/show_bug.cgi?id=161585
<rdar://problem/28157032>

Reviewed by Chris Fleizach.

Updated the test expectation.

  • platform/gtk/accessibility/media-emits-object-replacement-expected.txt:
10:12 AM Changeset in webkit [205552] by keith_miller@apple.com
  • 17 edits
    2 moves in trunk/Source/JavaScriptCore

Add support for WASM Loops and Branches
https://bugs.webkit.org/show_bug.cgi?id=161569

Reviewed by Benjamin Poulain.

This patch adds support for loops and branches to WASM. In order
to support loops, we needed to change the way the B3IRGenerator
tracked control information. Now, the control data holds three
pieces of information: The continuation block, the loop branch
target, and variables exiting the block. Whenever we branch to
some control point we first check if it is a loop by checking that
the loop branch target is non-null. If the branch is not targeting
a loop, we map the stack values to the associated B3 variables for
that stack slot.

Another interesting thing of note is that we now only allocate the
continuation basic block lazily. This is beneficial when the
continuation would just fall through to another block anyway. For
example, in code like: (block ... (block (add 1 2) end) end) the
continuation for the inner block just falls through to the outer
block's continuation so we don't need an extra block.

  • B3CallingConventions.cpp:

(JSC::B3::jscCallingConvention): Deleted.

  • B3CallingConventions.h:

(JSC::B3::CallingConvention::CallingConvention): Deleted.
(JSC::B3::CallingConvention::iterate): Deleted.
(JSC::B3::nextJSCOffset): Deleted.

(runWASMTests):

  • wasm/WASMB3IRGenerator.cpp:

(JSC::WASM::B3IRGenerator::LazyBlock::LazyBlock):
(JSC::WASM::B3IRGenerator::LazyBlock::operator bool):
(JSC::WASM::B3IRGenerator::LazyBlock::get):
(JSC::WASM::B3IRGenerator::LazyBlock::dump):
(JSC::WASM::B3IRGenerator::ControlData::ControlData):
(JSC::WASM::B3IRGenerator::ControlData::dump):
(JSC::WASM::B3IRGenerator::ControlData::targetBlockForBranch):
(JSC::WASM::B3IRGenerator::ControlData::isLoop):
(JSC::WASM::B3IRGenerator::addLocal):
(JSC::WASM::B3IRGenerator::addArguments):
(JSC::WASM::B3IRGenerator::setLocal):
(JSC::WASM::B3IRGenerator::addBlock):
(JSC::WASM::B3IRGenerator::addLoop):
(JSC::WASM::B3IRGenerator::endBlock):
(JSC::WASM::B3IRGenerator::addReturn):
(JSC::WASM::B3IRGenerator::addBranch):
(JSC::WASM::B3IRGenerator::initializeIncommingTypes):
(JSC::WASM::B3IRGenerator::unifyValuesWithBlock):
(JSC::WASM::B3IRGenerator::controlDataForLevel):
(JSC::WASM::B3IRGenerator::dumpGraphAndControlStack):
(JSC::WASM::parseAndCompile):
(JSC::WASM::B3IRGenerator::unifyValuesWithLevel): Deleted.
(JSC::WASM::B3IRGenerator::stackForControlLevel): Deleted.
(JSC::WASM::B3IRGenerator::blockForControlLevel): Deleted.

  • wasm/WASMCallingConvention.cpp: Renamed from Source/JavaScriptCore/B3CallingConventions.cpp.

(JSC::WASM::jscCallingConvention):

  • wasm/WASMCallingConvention.h: Renamed from Source/JavaScriptCore/B3CallingConventions.h.

(JSC::WASM::CallingConvention::CallingConvention):
(JSC::WASM::CallingConvention::iterate):
(JSC::WASM::nextJSCOffset):

  • wasm/WASMFormat.h:

(JSC::WASM::toB3Type):
(JSC::WASM::isValueType):

  • wasm/WASMFunctionParser.h:

(JSC::WASM::FunctionParser<Context>::parse):
(JSC::WASM::FunctionParser<Context>::parseExpression):

  • wasm/WASMModuleParser.cpp:

(JSC::WASM::ModuleParser::parseFunctionTypes):

  • wasm/WASMOps.h:
10:04 AM Changeset in webkit [205551] by Simon Fraser
  • 7 edits
    2 moves in trunk/Source/WebCore

Rename ScrollBehavior to ScrollAlignment::Behavior
https://bugs.webkit.org/show_bug.cgi?id=161677

Reviewed by Tim Horton.

Free up ScrollBehavior for future use with CSS OM View scrolling by renaming the
existing ScrollBehavior, which is about alignment when scrolling into view.

Renamed ScrollBehavior* to ScrollAlignment.*, and made ScrollBehavior an enum class
in the struct.

No behavior change.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/FrameSelection.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::getRectToExpose):

  • rendering/RenderObject.h:
  • rendering/RenderingAllInOne.cpp:
  • rendering/ScrollAlignment.cpp: Renamed from Source/WebCore/rendering/ScrollBehavior.cpp.
  • rendering/ScrollAlignment.h: Renamed from Source/WebCore/rendering/ScrollBehavior.h.

(WebCore::ScrollAlignment::getVisibleBehavior):
(WebCore::ScrollAlignment::getPartialBehavior):
(WebCore::ScrollAlignment::getHiddenBehavior):

  • rendering/ScrollBehavior.h:

(WebCore::ScrollAlignment::getVisibleBehavior): Deleted.
(WebCore::ScrollAlignment::getPartialBehavior): Deleted.
(WebCore::ScrollAlignment::getHiddenBehavior): Deleted.

9:54 AM Changeset in webkit [205550] by hyatt@apple.com
  • 3 edits
    2 adds in trunk/Source/WebCore

Add CSSAtRule id info for new parser
https://bugs.webkit.org/show_bug.cgi?id=161695

Reviewed by Sam Weinig.

  • WebCore.xcodeproj/project.pbxproj:
  • css/parser/CSSAtRuleID.cpp: Added.

(WebCore::cssAtRuleID):

  • css/parser/CSSAtRuleID.h: Added.
9:25 AM Changeset in webkit [205549] by commit-queue@webkit.org
  • 59 edits in trunk

[Streams API] Separate compile flag for ReadableStream and WritableStream
https://bugs.webkit.org/show_bug.cgi?id=161044

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

.:

Moving from STREAMS_API to READABLESTREAM_API and WRITABLESTREAM_API compilation flags.

  • Source/cmake/OptionsWin.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmake/tools/vsprops/FeatureDefines.props:

Source/JavaScriptCore:

Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.

Updated builtin test to cover the case of @conditional taking ENABLE(XX)
ENABLE(YY) flag.
  • Configurations/FeatureDefines.xcconfig:
  • Scripts/tests/builtins/WebCore-GuardedInternalBuiltin-Separate.js:
  • Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCoreJSBuiltins.h-result:

Source/WebCore:

Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.
No change of behavior.

  • CMakeLists.txt: Triggering regeneration of builtin wrapper files based on individual builtin header file content change to cope with @conditional changes.
  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.cpp:
  • DerivedSources.make: Triggering regeneration of builtin wrapper files based on file content change to cope with @conditional changes.
  • Modules/fetch/FetchBody.cpp:
  • Modules/fetch/FetchBody.h:
  • Modules/fetch/FetchBodyOwner.cpp:

(WebCore::FetchBodyOwner::isDisturbed):
(WebCore::FetchBodyOwner::blobLoadingSucceeded):
(WebCore::FetchBodyOwner::blobLoadingFailed):
(WebCore::FetchBodyOwner::blobChunk):

  • Modules/fetch/FetchBodyOwner.h:
  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::BodyLoader::didSucceed):
(WebCore::FetchResponse::BodyLoader::didFail):
(WebCore::FetchResponse::BodyLoader::didReceiveData):

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

(initializeFetchResponse):

  • Modules/fetch/FetchResponseSource.cpp:
  • Modules/fetch/FetchResponseSource.h:
  • Modules/streams/ByteLengthQueuingStrategy.idl:
  • Modules/streams/ByteLengthQueuingStrategy.js:
  • Modules/streams/CountQueuingStrategy.idl:
  • Modules/streams/CountQueuingStrategy.js:
  • Modules/streams/ReadableStream.idl:
  • Modules/streams/ReadableStream.js:
  • Modules/streams/ReadableStreamDefaultController.idl:
  • Modules/streams/ReadableStreamDefaultController.js:
  • Modules/streams/ReadableStreamDefaultReader.idl:
  • Modules/streams/ReadableStreamDefaultReader.js:
  • Modules/streams/ReadableStreamInternals.js:
  • Modules/streams/ReadableStreamSource.h:
  • Modules/streams/ReadableStreamSource.idl:
  • Modules/streams/StreamInternals.js:
  • Modules/streams/WritableStream.idl:
  • Modules/streams/WritableStream.js:
  • Modules/streams/WritableStreamInternals.js:
  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::addBuiltinGlobals):

  • bindings/js/JSReadableStreamPrivateConstructors.cpp:
  • bindings/js/JSReadableStreamPrivateConstructors.h:
  • bindings/js/JSReadableStreamSourceCustom.cpp:
  • bindings/js/ReadableStreamDefaultController.cpp:
  • bindings/js/ReadableStreamDefaultController.h:
  • testing/Internals.cpp:
  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit/mac:

Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.

  • Scripts/webkitperl/FeatureList.pm:
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
9:18 AM Changeset in webkit [205548] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skipping imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.html.
https://bugs.webkit.org/show_bug.cgi?id=161632

Unreviewed test gardening.

8:54 AM Changeset in webkit [205547] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Clarify frame callbacks behaviour in Wayland compositor
https://bugs.webkit.org/show_bug.cgi?id=161683

Patch by Emanuele Aina <Emanuele Aina> on 2016-09-07
Reviewed by Carlos Garcia Campos.

The way we fire frame callbacks in the nested Wayland compositor can
be puzzling to developers expecting Wayland semantics, but since we
have our own mechanism to handle synchronization we don't care much
about them. Add a comment to avoid surprised Wayland developers.

  • UIProcess/gtk/WaylandCompositor.cpp:

(WebKit::WaylandCompositor::Surface::commit):

8:40 AM WebKitGTK/2.14.x edited by Michael Catanzaro
(diff)
8:40 AM WebKitGTK/2.14.x edited by Michael Catanzaro
Propose some merges (diff)
8:34 AM Changeset in webkit [205546] 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

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

  • pl.po:
7:38 AM Changeset in webkit [205545] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r205369, just for fun.

  • PlatformMac.cmake: Added new files.
6:47 AM Changeset in webkit [205544] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Crash of WebProcess on the last WebView disconnect
https://bugs.webkit.org/show_bug.cgi?id=161605

Reviewed by Michael Catanzaro.

Stop tracking X11 GL contexts to be cleanered on an exit handler. This was added to work around bugs on drivers,
and it's assuming that all GLContext not deleted when the exit handler is called are leaked, which is no longer
true, because PlatformDisplay now owns a GLContext and is deleted after exit handlers.

  • platform/graphics/GLContext.cpp:

(WebCore::GLContext::GLContext):
(WebCore::GLContext::~GLContext):
(WebCore::activeContextList): Deleted.
(WebCore::GLContext::addActiveContext): Deleted.
(WebCore::GLContext::removeActiveContext): Deleted.
(WebCore::GLContext::cleanupActiveContextsAtExit): Deleted.

6:41 AM Changeset in webkit [205543] by Carlos Garcia Campos
  • 43 edits
    239 deletes in trunk/Source/WebKit2

[GTK] Remove unused GObject DOM unstable API
https://bugs.webkit.org/show_bug.cgi?id=161440

Reviewed by Philippe Normand.

Remove unstable GObject DOM API now that we no longer auto-generate the bindings.

  • PlatformGTK.cmake:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimatable.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimatable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationEffect.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationEffect.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationEffectPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationTimeline.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationTimeline.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationTimelinePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.cpp:

(webkit_dom_attr_get_property):
(webkit_dom_attr_class_init):
(webkit_dom_attr_get_prefix): Deleted.
(webkit_dom_attr_get_local_name): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttrUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrack.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrack.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackList.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackList.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackListPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBarProp.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBarProp.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBarPropPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBatteryManager.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBatteryManager.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBatteryManagerPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.cpp:

(webkit_dom_blob_get_property):
(webkit_dom_blob_class_init):
(webkit_dom_blob_get_size):
(webkit_dom_blob_init): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlobUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp:

(webkit_dom_character_data_get_property):
(webkit_dom_character_data_class_init):
(webkit_dom_character_data_get_length):
(webkit_dom_character_data_set_property): Deleted.
(webkit_dom_character_data_substring_data): Deleted.
(webkit_dom_character_data_append_data): Deleted.
(webkit_dom_character_data_insert_data): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterDataUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMApplicationCache.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMApplicationCache.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMApplicationCachePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMCSSNamespace.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMCSSNamespace.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMCSSNamespacePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeType.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeType.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypeArray.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypeArray.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypeArrayPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMNamedFlowCollection.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMNamedFlowCollection.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMNamedFlowCollectionPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPlugin.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPlugin.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginArray.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginArray.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginArrayPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringList.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringList.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringListPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringMap.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringMap.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringMapPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowSpeechSynthesis.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowSpeechSynthesis.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDataCue.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDataCue.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDataCuePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDatabase.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDatabase.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDatabasePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentAnimation.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentAnimation.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTimeline.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTimeline.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTimelinePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp:

(webkit_dom_document_type_get_name): Deleted.
(webkit_dom_document_type_get_entities): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTypeUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.cpp:

(webkit_dom_event_get_property):
(webkit_dom_event_class_init):
(webkit_dom_event_init): Deleted.
(webkit_dom_event_stop_propagation): Deleted.
(webkit_dom_event_get_bubbles): Deleted.
(webkit_dom_event_get_cancelable): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEventUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.cpp:

(webkit_dom_file_get_property):
(webkit_dom_file_class_init):
(webkit_dom_file_get_name):
(webkit_dom_file_init): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepad.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepad.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepadList.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepadList.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGeolocation.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGeolocation.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGeolocationPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.cpp:

(webkit_dom_html_anchor_element_set_property):
(webkit_dom_html_anchor_element_get_property):
(webkit_dom_html_anchor_element_class_init):
(webkit_dom_html_anchor_element_init): Deleted.
(webkit_dom_html_anchor_element_get_charset): Deleted.
(webkit_dom_html_anchor_element_set_charset): Deleted.
(webkit_dom_html_anchor_element_get_coords): Deleted.
(webkit_dom_html_anchor_element_set_coords): Deleted.
(webkit_dom_html_anchor_element_get_target): Deleted.
(webkit_dom_html_anchor_element_set_target): Deleted.
(webkit_dom_html_anchor_element_get_type_attr): Deleted.
(webkit_dom_html_anchor_element_set_type_attr): Deleted.
(webkit_dom_html_anchor_element_set_href): Deleted.
(webkit_dom_html_anchor_element_get_protocol): Deleted.
(webkit_dom_html_anchor_element_set_protocol): Deleted.
(webkit_dom_html_anchor_element_set_hash): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.cpp:

(webkit_dom_html_area_element_set_property):
(webkit_dom_html_area_element_get_property):
(webkit_dom_html_area_element_class_init):
(webkit_dom_html_area_element_init): Deleted.
(webkit_dom_html_area_element_get_alt): Deleted.
(webkit_dom_html_area_element_set_alt): Deleted.
(webkit_dom_html_area_element_get_coords): Deleted.
(webkit_dom_html_area_element_set_coords): Deleted.
(webkit_dom_html_area_element_get_hostname): Deleted.
(webkit_dom_html_area_element_set_hostname): Deleted.
(webkit_dom_html_area_element_get_port): Deleted.
(webkit_dom_html_area_element_set_port): Deleted.
(webkit_dom_html_area_element_get_pathname): Deleted.
(webkit_dom_html_area_element_get_hash): Deleted.
(webkit_dom_html_area_element_set_hash): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAudioElement.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAudioElement.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAudioElementPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp:

(webkit_dom_html_button_element_set_property):
(webkit_dom_html_button_element_get_property):
(webkit_dom_html_button_element_class_init):
(webkit_dom_html_button_element_get_will_validate):
(webkit_dom_html_button_element_get_autofocus): Deleted.
(webkit_dom_html_button_element_set_autofocus): Deleted.
(webkit_dom_html_button_element_get_disabled): Deleted.
(webkit_dom_html_button_element_set_disabled): Deleted.
(webkit_dom_html_button_element_get_form): Deleted.
(webkit_dom_html_button_element_get_button_type): Deleted.
(webkit_dom_html_button_element_set_button_type): Deleted.
(webkit_dom_html_button_element_get_name): Deleted.
(webkit_dom_html_button_element_set_value): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDetailsElement.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDetailsElement.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDetailsElementPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.cpp:

(webkit_dom_html_field_set_element_get_property):
(webkit_dom_html_field_set_element_class_init):
(webkit_dom_html_field_set_element_get_form):
(webkit_dom_html_field_set_element_init): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp:

(webkit_dom_html_form_element_set_property):
(webkit_dom_html_form_element_get_property):
(webkit_dom_html_form_element_class_init):
(webkit_dom_html_form_element_get_length):
(webkit_dom_html_form_element_submit): Deleted.
(webkit_dom_html_form_element_reset): Deleted.
(webkit_dom_html_form_element_get_action): Deleted.
(webkit_dom_html_form_element_set_action): Deleted.
(webkit_dom_html_form_element_get_enctype): Deleted.
(webkit_dom_html_form_element_set_encoding): Deleted.
(webkit_dom_html_form_element_get_method): Deleted.
(webkit_dom_html_form_element_set_method): Deleted.
(webkit_dom_html_form_element_set_target): Deleted.
(webkit_dom_html_form_element_get_elements): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.cpp:

(webkit_dom_html_html_element_set_property):
(webkit_dom_html_html_element_get_property):
(webkit_dom_html_html_element_class_init):
(webkit_dom_html_html_element_set_version):
(webkit_dom_html_html_element_get_version): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.cpp:

(webkit_dom_html_iframe_element_set_property):
(webkit_dom_html_iframe_element_get_property):
(webkit_dom_html_iframe_element_class_init):
(webkit_dom_html_iframe_element_init): Deleted.
(webkit_dom_html_iframe_element_set_src): Deleted.
(webkit_dom_html_iframe_element_get_width): Deleted.
(webkit_dom_html_iframe_element_set_width): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp:

(webkit_dom_html_image_element_set_property):
(webkit_dom_html_image_element_get_property):
(webkit_dom_html_image_element_class_init):
(webkit_dom_html_image_element_set_long_desc): Deleted.
(webkit_dom_html_image_element_get_src): Deleted.
(webkit_dom_html_image_element_set_src): Deleted.
(webkit_dom_html_image_element_get_natural_height): Deleted.
(webkit_dom_html_image_element_get_natural_width): Deleted.
(webkit_dom_html_image_element_get_x): Deleted.
(webkit_dom_html_image_element_get_y): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:

(webkit_dom_html_input_element_set_property):
(webkit_dom_html_input_element_get_property):
(webkit_dom_html_input_element_class_init):
(webkit_dom_html_input_element_set_capture_type):
(webkit_dom_html_input_element_init): Deleted.
(webkit_dom_html_input_element_select): Deleted.
(webkit_dom_html_input_element_get_accept): Deleted.
(webkit_dom_html_input_element_set_accept): Deleted.
(webkit_dom_html_input_element_get_alt): Deleted.
(webkit_dom_html_input_element_set_alt): Deleted.
(webkit_dom_html_input_element_get_default_checked): Deleted.
(webkit_dom_html_input_element_set_default_checked): Deleted.
(webkit_dom_html_input_element_get_checked): Deleted.
(webkit_dom_html_input_element_set_checked): Deleted.
(webkit_dom_html_input_element_get_disabled): Deleted.
(webkit_dom_html_input_element_get_files): Deleted.
(webkit_dom_html_input_element_set_files): Deleted.
(webkit_dom_html_input_element_set_height): Deleted.
(webkit_dom_html_input_element_get_indeterminate): Deleted.
(webkit_dom_html_input_element_get_max_length): Deleted.
(webkit_dom_html_input_element_set_max_length): Deleted.
(webkit_dom_html_input_element_get_name): Deleted.
(webkit_dom_html_input_element_set_name): Deleted.
(webkit_dom_html_input_element_get_size): Deleted.
(webkit_dom_html_input_element_set_size): Deleted.
(webkit_dom_html_input_element_get_src): Deleted.
(webkit_dom_html_input_element_set_input_type): Deleted.
(webkit_dom_html_input_element_get_default_value): Deleted.
(webkit_dom_html_input_element_set_default_value): Deleted.
(webkit_dom_html_input_element_set_value): Deleted.
(webkit_dom_html_input_element_get_width): Deleted.
(webkit_dom_html_input_element_set_width): Deleted.
(webkit_dom_html_input_element_get_will_validate): Deleted.
(webkit_dom_html_input_element_get_align): Deleted.
(webkit_dom_html_input_element_set_align): Deleted.
(webkit_dom_html_input_element_get_use_map): Deleted.
(webkit_dom_html_input_element_set_use_map): Deleted.
(webkit_dom_html_input_element_get_capture_type): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLKeygenElement.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLKeygenElement.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLKeygenElementPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.cpp:

(webkit_dom_html_label_element_get_property):
(webkit_dom_html_label_element_class_init):
(webkit_dom_html_label_element_init): Deleted.
(webkit_dom_html_label_element_get_form): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp:

(webkit_dom_html_link_element_set_property):
(webkit_dom_html_link_element_get_property):
(webkit_dom_html_link_element_class_init):
(webkit_dom_html_link_element_get_disabled): Deleted.
(webkit_dom_html_link_element_set_disabled): Deleted.
(webkit_dom_html_link_element_get_charset): Deleted.
(webkit_dom_html_link_element_set_charset): Deleted.
(webkit_dom_html_link_element_get_href): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.cpp:

(webkit_dom_html_marquee_element_class_init):
(webkit_dom_html_marquee_element_stop):
(webkit_dom_html_marquee_element_init): Deleted.
(webkit_dom_html_marquee_element_start): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMediaElement.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMediaElement.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMediaElementPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp:

(webkit_dom_html_o_list_element_set_property):
(webkit_dom_html_o_list_element_get_property):
(webkit_dom_html_o_list_element_class_init):
(webkit_dom_html_o_list_element_init): Deleted.
(webkit_dom_html_o_list_element_get_compact): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp:

(webkit_dom_html_object_element_get_property):
(webkit_dom_html_object_element_class_init):
(webkit_dom_html_object_element_set_property): Deleted.
(webkit_dom_html_object_element_get_form): Deleted.
(webkit_dom_html_object_element_get_code): Deleted.
(webkit_dom_html_object_element_set_code): Deleted.
(webkit_dom_html_object_element_get_align): Deleted.
(webkit_dom_html_object_element_set_align): Deleted.
(webkit_dom_html_object_element_get_archive): Deleted.
(webkit_dom_html_object_element_set_archive): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.cpp:

(webkit_dom_html_options_collection_get_selected_index): Deleted.
(webkit_dom_html_options_collection_set_selected_index): Deleted.
(webkit_dom_html_options_collection_get_length): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollectionUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPrivate.cpp:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.cpp:

(webkit_dom_html_script_element_set_property):
(webkit_dom_html_script_element_get_property):
(webkit_dom_html_script_element_class_init):
(webkit_dom_html_script_element_set_type_attr):
(webkit_dom_html_script_element_init): Deleted.
(webkit_dom_html_script_element_get_html_for): Deleted.
(webkit_dom_html_script_element_set_html_for): Deleted.
(webkit_dom_html_script_element_get_event): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:

(webkit_dom_html_select_element_set_property):
(webkit_dom_html_select_element_get_property):
(webkit_dom_html_select_element_class_init):
(webkit_dom_html_select_element_get_will_validate):
(webkit_dom_html_select_element_named_item): Deleted.
(webkit_dom_html_select_element_get_autofocus): Deleted.
(webkit_dom_html_select_element_set_autofocus): Deleted.
(webkit_dom_html_select_element_get_disabled): Deleted.
(webkit_dom_html_select_element_set_disabled): Deleted.
(webkit_dom_html_select_element_get_form): Deleted.
(webkit_dom_html_select_element_set_size): Deleted.
(webkit_dom_html_select_element_get_select_type): Deleted.
(webkit_dom_html_select_element_get_options): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.cpp:

(webkit_dom_html_style_element_set_property):
(webkit_dom_html_style_element_get_property):
(webkit_dom_html_style_element_class_init):
(webkit_dom_html_style_element_get_sheet):
(webkit_dom_html_style_element_get_disabled): Deleted.
(webkit_dom_html_style_element_set_disabled): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.cpp:

(webkit_dom_html_table_element_set_property):
(webkit_dom_html_table_element_get_property):
(webkit_dom_html_table_element_class_init):
(webkit_dom_html_table_element_insert_row): Deleted.
(webkit_dom_html_table_element_set_summary): Deleted.
(webkit_dom_html_table_element_get_width): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:

(webkit_dom_html_text_area_element_set_property):
(webkit_dom_html_text_area_element_get_property):
(webkit_dom_html_text_area_element_class_init):
(webkit_dom_html_text_area_element_init): Deleted.
(webkit_dom_html_text_area_element_set_selection_range): Deleted.
(webkit_dom_html_text_area_element_set_autofocus): Deleted.
(webkit_dom_html_text_area_element_get_disabled): Deleted.
(webkit_dom_html_text_area_element_get_form): Deleted.
(webkit_dom_html_text_area_element_get_name): Deleted.
(webkit_dom_html_text_area_element_get_rows): Deleted.
(webkit_dom_html_text_area_element_set_rows): Deleted.
(webkit_dom_html_text_area_element_get_cols): Deleted.
(webkit_dom_html_text_area_element_set_cols): Deleted.
(webkit_dom_html_text_area_element_get_area_type): Deleted.
(webkit_dom_html_text_area_element_get_default_value): Deleted.
(webkit_dom_html_text_area_element_get_value): Deleted.
(webkit_dom_html_text_area_element_set_value): Deleted.
(webkit_dom_html_text_area_element_get_will_validate): Deleted.
(webkit_dom_html_text_area_element_get_selection_start): Deleted.
(webkit_dom_html_text_area_element_set_selection_start): Deleted.
(webkit_dom_html_text_area_element_get_selection_end): Deleted.
(webkit_dom_html_text_area_element_set_selection_end): Deleted.
(webkit_dom_html_text_area_element_is_edited): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElementUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLVideoElement.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLVideoElement.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLVideoElementPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHistory.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHistory.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHistoryPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyframeEffect.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyframeEffect.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyframeEffectPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMLocation.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMLocation.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMLocationPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaController.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaController.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaControllerPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaDevices.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaDevices.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaDevicesPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaError.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaError.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaErrorPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaQueryList.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaQueryList.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaQueryListPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaTrackSupportedConstraints.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaTrackSupportedConstraints.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaTrackSupportedConstraintsPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMessagePort.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMessagePort.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMessagePortPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.cpp:

(webkit_dom_mouse_event_get_property):
(webkit_dom_mouse_event_class_init):
(webkit_dom_mouse_event_get_y): Deleted.
(webkit_dom_mouse_event_get_from_element): Deleted.
(webkit_dom_mouse_event_get_to_element): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEventUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigator.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigator.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigatorMediaDevices.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigatorMediaDevices.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigatorPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp:

(webkit_dom_node_get_property):
(webkit_dom_node_class_init):
(webkit_dom_node_init): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformance.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformance.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceEntry.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceEntry.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceEntryPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceNavigation.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceNavigation.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceNavigationPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformancePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceTiming.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceTiming.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceTimingPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPrivate.cpp:

(WebKit::wrap): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPrivate.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMScreen.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMScreen.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMScreenPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesis.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesis.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisEvent.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisEvent.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisEventPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisUtterance.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisUtterance.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisUtterancePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisVoice.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisVoice.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisVoicePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorage.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorage.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageInfo.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageInfo.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStoragePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageQuota.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageQuota.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleMedia.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleMedia.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleMediaPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrack.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrack.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCue.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCue.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCueList.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCueList.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCueListPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCuePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackList.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackList.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackListPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTimeRanges.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTimeRanges.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTimeRangesPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTouch.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTouch.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTouchPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTrackEvent.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTrackEvent.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTrackEventPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.cpp:

(webkit_dom_ui_event_get_property):
(webkit_dom_ui_event_class_init):
(webkit_dom_ui_event_get_page_y):
(webkit_dom_ui_event_init): Deleted.
(webkit_dom_ui_event_init_ui_event): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEventUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandler.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandler.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlerPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespacePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVTTCue.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVTTCue.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVTTCuePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMValidityState.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMValidityState.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMValidityStatePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoPlaybackQuality.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoPlaybackQuality.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoPlaybackQualityPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrack.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrack.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackList.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackList.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackListPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebAnimation.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebAnimation.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebAnimationPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamedFlow.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamedFlow.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamedFlowPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamespace.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamespace.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamespacePrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitPoint.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitPoint.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitPointPrivate.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.cpp:

(webkit_dom_wheel_event_get_property):
(webkit_dom_wheel_event_class_init):
(webkit_dom_wheel_event_get_wheel_delta):
(webkit_dom_wheel_event_init): Deleted.
(webkit_dom_wheel_event_init_wheel_event): Deleted.
(webkit_dom_wheel_event_get_wheel_delta_x): Deleted.
(webkit_dom_wheel_event_get_wheel_delta_y): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEventUnstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-4.0-sections.txt:
  • WebProcess/InjectedBundle/API/gtk/DOM/webkitdomautocleanups-unstable.h: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines-unstable.h: Removed.
3:03 AM Changeset in webkit [205542] by nael.ouedraogo@crf.canon.fr
  • 7 edits in trunk/Source/WebCore

Templatize JS bindings code generator of functions with variadic parameters
https://bugs.webkit.org/show_bug.cgi?id=158835

Reviewed by Darin Adler.

Add template functions to handle function with variadic parameter for DOM objects.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::addTrack):

  • Modules/mediastream/RTCPeerConnection.h:
  • bindings/js/JSDOMBinding.h:

(WebCore::VariadicHelperBase::convert):
(WebCore::toArguments):
(WebCore::jsFrozenArray):
(WebCore::toRefPtrNativeArray):
(WebCore::toNativeArray):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateParametersCheck):
(GetVariadicType):

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

(WebCore::jsTestObjPrototypeFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjPrototypeFunctionAny):

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

(WebCore::constructJSTestOverloadedConstructors5):

2:59 AM Changeset in webkit [205541] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

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

Unreviewed buildfix.

  • wasm/JSWASMModule.cpp:
2:22 AM Changeset in webkit [205540] by Carlos Garcia Campos
  • 36 edits
    1 delete in trunk

[GTK] Move some GObject DOM unstable API to stable
https://bugs.webkit.org/show_bug.cgi?id=161681

Reviewed by Žan Doberšek.

Source/WebKit2:

Move unstable API currently used by applications to the stable API in preparation for removing all unused
unstable API.

  • PlatformGTK.cmake:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCustom.cpp: Removed.
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCustom.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCustomUnstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:

(webkit_dom_dom_window_get_property):
(webkit_dom_dom_window_class_init):
(webkit_dom_dom_window_webkit_message_handlers_post_message):
(webkit_dom_dom_window_set_property): Deleted.
(webkit_dom_dom_window_get_computed_style): Deleted.
(webkit_dom_dom_window_capture_events): Deleted.
(webkit_dom_dom_window_get_frame_element): Deleted.
(webkit_dom_dom_window_get_offscreen_buffering): Deleted.
(webkit_dom_dom_window_get_outer_height): Deleted.
(webkit_dom_dom_window_get_outer_width): Deleted.
(webkit_dom_dom_window_get_inner_height): Deleted.
(webkit_dom_dom_window_get_inner_width): Deleted.
(webkit_dom_dom_window_get_screen_x): Deleted.
(webkit_dom_dom_window_set_status): Deleted.
(webkit_dom_dom_window_get_default_status): Deleted.
(webkit_dom_dom_window_get_window): Deleted.
(webkit_dom_dom_window_get_frames): Deleted.
(webkit_dom_dom_window_get_parent): Deleted.
(webkit_dom_dom_window_get_top): Deleted.
(webkit_dom_dom_window_get_document): Deleted.
(webkit_dom_dom_window_get_device_pixel_ratio): Deleted.
(webkit_dom_dom_window_get_orientation): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowUnstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp:

(webkit_dom_document_get_property):
(webkit_dom_document_webkit_cancel_fullscreen):
(webkit_dom_document_get_webkit_is_fullscreen):
(webkit_dom_document_get_webkit_fullscreen_keyboard_input_allowed):
(webkit_dom_document_get_webkit_current_fullscreen_element):

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragmentUnstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentUnstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp:

(webkit_dom_element_webkit_request_fullscreen): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementUnstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElementUnstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:

(webkit_dom_html_input_element_is_edited):

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp:

(webkit_dom_html_link_element_set_sizes):

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:

(webkit_dom_html_text_area_element_is_edited):

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRangeUnstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.cpp:

(webkit_dom_user_message_handlers_namespace_get_handler):
(webkit_dom_user_message_handlers_namespace_init): Deleted.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-4.0-sections.txt:
  • WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-docs.sgml:
  • WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines-unstable.h:
  • WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines.h:

Tools:

Do not use user message handler unstable API in the tests, since we have stable convenient API for that.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:

(testUserContentManagerScriptMessageFromDOMBindings):
(serverCallback): Deleted.
(beforeAll): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(documentLoadedCallback):
(emitURIChanged): Deleted.

1:55 AM Changeset in webkit [205539] by commit-queue@webkit.org
  • 5 edits in trunk

Using tests-options.json to compute whether tests are slow
https://bugs.webkit.org/show_bug.cgi?id=161626

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

Tools:

  • Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: Updated first test to use a MockHost.
  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager.init): Loading tests-options.json
(Manager._test_is_slow): Computing timeout value based on tests-options.json.

LayoutTests:

  • TestExpectations: Removing slow WPT expectations now that they are handled through tests-options.json.
1:20 AM Changeset in webkit [205538] by Hunseop Jeong
  • 2 edits in trunk/Tools

[EFL] Need the libosmesa to support the software backend drawing.
https://bugs.webkit.org/show_bug.cgi?id=147065

Reviewed by Gyuyoung Kim.

Added the libosmesa to support the software backend drawing.

  • efl/install-dependencies:

Sep 6, 2016:

11:40 PM Changeset in webkit [205537] by Carlos Garcia Campos
  • 7 edits in trunk

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

Reviewed by Michael Catanzaro.

Source/WebKit2:

Reset the viewport attributes on SimpleViewportController when viewport attributes change and fixed layout is
not used. We were only updating the viewport attributes when fixed layout was used, but not resetting them again
when it's no longer used. That caused that reference tests run after fast/fixed-layout/fixed-layout.html or
compositing/fixed-with-fixed-layout.html in the same worker thread were incorrectly rendered.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): Remove ifdefs and call
WebPage::viewportPropertiesDidChange() unconditionally.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setSize): Pass current page viewport arguments to sendViewportAttributesChanged().
(WebKit::WebPage::sendViewportAttributesChanged): It now receives the viewport arguments.
(WebKit::WebPage::viewportPropertiesDidChange): Move the iOS implementation from WebPageIOS.mm and for
coordinated graphics call sendViewportAttributesChanged() when fixed layout is used or reset the viewport
attributes when not used in case of threaded compositor.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::viewportPropertiesDidChange): Moved out of iOS ifdef.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::viewportPropertiesDidChange): Deleted.

LayoutTests:

Unskip compositing/fixed-with-fixed-layout.html and fast/fixed-layout/fixed-layout.html.

  • platform/gtk/TestExpectations:
11:14 PM Changeset in webkit [205536] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

Unreviewed. Fix the GTK+ build after r205524.

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:

(webkit_dom_html_input_element_get_max_length):
(webkit_dom_html_input_element_set_max_length):

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:

(webkit_dom_html_text_area_element_get_max_length):
(webkit_dom_html_text_area_element_set_max_length):

7:48 PM Changeset in webkit [205535] by sbarati@apple.com
  • 6 edits
    2 adds in trunk

ProxyObject's structure should not have ObjectPrototype as its prototype and it should not have special behavior for intercepting "proto"
https://bugs.webkit.org/show_bug.cgi?id=161558

Reviewed by Benjamin Poulain.

JSTests:

  • stress/proxy-get-prototype-of.js:
  • stress/proxy-set-prototype-of.js:

(let.handler.setPrototypeOf): Deleted.

  • stress/proxy-underscore-proto.js: Added.

(assert):

Source/JavaScriptCore:

ProxyObject had ObjectPrototype as its direct prototype.
This could lead to infinite loops when doing a getDirectPrototype()
loop.

Fixing this bug revealed another bug, which I made when implementing Proxy.
We should not special case "proto" in get and set for Proxy Object's
hooks. "proto" should just go through the normal set and get path.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/ProxyObject.cpp:

(JSC::performProxyGet):
(JSC::ProxyObject::put):

7:22 PM Changeset in webkit [205534] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Make JSC::PrivateName copyable
https://bugs.webkit.org/show_bug.cgi?id=161666

Reviewed by Ryosuke Niwa.

Define the custom copy constructor to make PrivateName copyable while using Ref<SymbolImpl>.
And since the custom copy constructor deletes the default move constructor, we explcitly define
it by = default;.

  • runtime/PrivateName.h:

(JSC::PrivateName::PrivateName):

6:43 PM Changeset in webkit [205533] by commit-queue@webkit.org
  • 4 edits in trunk

Unreviewed, rolling out r205521, r205526, and r205532.
https://bugs.webkit.org/show_bug.cgi?id=161668

broke API tests (Requested by alexchristensen on #webkit).

Reverted changesets:

"Punycode encode non-ascii hosts in URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161655
http://trac.webkit.org/changeset/205521

"Fix query-only and fragment-only relative URLs when using
URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161657
http://trac.webkit.org/changeset/205526

"URLParser should parse / as a relative URL"
https://bugs.webkit.org/show_bug.cgi?id=161667
http://trac.webkit.org/changeset/205532

6:35 PM Changeset in webkit [205532] by achristensen@apple.com
  • 4 edits in trunk

URLParser should parse / as a relative URL
https://bugs.webkit.org/show_bug.cgi?id=161667

Reviewed by Tim Horton.

Source/WebCore:

Covered by a new API test.

  • platform/URLParser.cpp:

(WebCore::URLParser::parse):

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::TEST_F):

5:49 PM Changeset in webkit [205531] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS] WebKit2 fails to build with iOS 10 beta SDK - "'UIWKTextInteractionAssistant' may not respond to 'selectAll:'"
https://bugs.webkit.org/show_bug.cgi?id=161663

Reviewed by Darin Adler.

The UIResponderStandardEditActions extensions, including the selectAll: message, are now
part of a formal protocol by the same name as of the iOS 10 beta SDK.

  • Platform/spi/ios/UIKitSPI.h:
5:48 PM Changeset in webkit [205530] by dbates@webkit.org
  • 3 edits in trunk/Tools

[iOS] DumpRenderTree and WebKitTestRunner fail to build - "Ad Hoc code signing is not allowed with SDK 'Simulator - iOS 10.0'"
https://bugs.webkit.org/show_bug.cgi?id=161661

Reviewed by Darin Adler.

Allow ad-hoc code signing when building the dummy DumpRenderTree and WebKitTestRunner
command line tools for simulator with the iOS 10 beta SDK.

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
5:31 PM Changeset in webkit [205529] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Web Inspector: Avoid linkifying some schemes in console logs
https://bugs.webkit.org/show_bug.cgi?id=161648
<rdar://problem/16413270>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-06
Reviewed by Brian Burg.

Source/WebCore:

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::openInNewTab):
If a javascript: link is passed just ignore it.

Source/WebInspectorUI:

  • UserInterface/Base/Main.js:

Don't linkify some kinds of links.

5:29 PM Changeset in webkit [205528] by dbates@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[iOS] Build fails in JSCLLIntOffsetsExtractor - Ad Hoc code signing is not allowed with SDK 'Simulator - iOS 10.0'
https://bugs.webkit.org/show_bug.cgi?id=161296

Reviewed by Dan Bernstein.

Allow ad-hoc code signing when building JavaScriptCore command line tools for simulator
with the iOS 10 beta SDK.

  • Configurations/Base.xcconfig:
5:18 PM Changeset in webkit [205527] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

Enable custom elements API in Safari Technology Preview
https://bugs.webkit.org/show_bug.cgi?id=161518

Reviewed by Chris Dumez.

Re-enable custom elements API in Safari Technology Preview after r203296
now that our implementation has caught up to the latest specification changes.

  • Shared/WebPreferencesDefinitions.h:
5:10 PM Changeset in webkit [205526] by achristensen@apple.com
  • 4 edits in trunk

Fix query-only and fragment-only relative URLs when using URLParser
https://bugs.webkit.org/show_bug.cgi?id=161657

Reviewed by Tim Horton.

Source/WebCore:

Covered by new API tests and progress towards passing the web platform tests when using URLParser.

  • platform/URLParser.cpp:

(WebCore::URLParser::parse):

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::TEST_F):

5:01 PM Changeset in webkit [205525] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking http/tests/security/cross-origin-plugin-allowed.html as flaky on mac-wk2 release.
https://bugs.webkit.org/show_bug.cgi?id=161539

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
5:00 PM Changeset in webkit [205524] by Chris Dumez
  • 28 edits in trunk

Add support for input.minLength / textArea.minLength
https://bugs.webkit.org/show_bug.cgi?id=161644

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

  • web-platform-tests/html/dom/interfaces-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooShort-expected.txt:

Source/WebCore:

Add support for input.minLength / textArea.minLength:

Chrome implements this, Firefox does not yet.

No new tests, rebaselined existing tests.

  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::tooShort):
(WebCore::FormAssociatedElement::valid):
(WebCore::FormAssociatedElement::typeMismatch): Deleted.

  • html/FormAssociatedElement.h:
  • html/HTMLAttributeNames.in:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::isValidValue):
(WebCore::HTMLInputElement::tooShort):
(WebCore::HTMLInputElement::tooLong):
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::effectiveMaxLength):
(WebCore::HTMLInputElement::maxLengthAttributeChanged):
(WebCore::HTMLInputElement::minLengthAttributeChanged):
(WebCore::HTMLInputElement::patternMismatch): Deleted.
(WebCore::parseAcceptAttribute): Deleted.
(WebCore::HTMLInputElement::isEnumeratable): Deleted.
(WebCore::HTMLInputElement::supportLabels): Deleted.

  • html/HTMLInputElement.h:

(WebCore::HTMLInputElement::supportsMinLength):
(WebCore::HTMLInputElement::supportsMaxLength): Deleted.

  • html/HTMLInputElement.idl:
  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::parseAttribute):
(WebCore::HTMLTextAreaElement::maxLengthAttributeChanged):
(WebCore::HTMLTextAreaElement::minLengthAttributeChanged):
(WebCore::HTMLTextAreaElement::validationMessage):
(WebCore::HTMLTextAreaElement::tooShort):
(WebCore::HTMLTextAreaElement::tooLong):
(WebCore::HTMLTextAreaElement::isValidValue):

  • html/HTMLTextAreaElement.h:
  • html/HTMLTextAreaElement.idl:
  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setMaxLength):
(WebCore::HTMLTextFormControlElement::setMinLength):

  • html/HTMLTextFormControlElement.h:

(WebCore::HTMLTextFormControlElement::maxLength):
(WebCore::HTMLTextFormControlElement::setMaxLength):
(WebCore::HTMLTextFormControlElement::minLength):
(WebCore::HTMLTextFormControlElement::setMinLength):

  • html/InputType.cpp:

(WebCore::InputType::validationMessage):

  • html/ValidityState.idl:
  • platform/LocalizedStrings.cpp:

(WebCore::validationMessageTooShortText):

  • platform/LocalizedStrings.h:

Source/WebKit/mac:

Update ObjC bindings to reflect method renaming.

  • DOM/DOMHTMLInputElement.mm:

(-[DOMHTMLInputElement maxLength]):
(-[DOMHTMLInputElement setMaxLength:]):

  • DOM/DOMHTMLTextAreaElement.mm:

(-[DOMHTMLTextAreaElement maxLength]):
(-[DOMHTMLTextAreaElement setMaxLength:]):

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

Unreviewed build fix for 32-bit platforms after r205520.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation): Deleted.

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

Member call on NULL pointer in JavaScriptCore/dfg/DFGAbstractInterpretterInlines.h
https://bugs.webkit.org/show_bug.cgi?id=160870

Reviewed by Darin Adler.

Credit goes to Jonathan Bedard for finding this bug using the undefined
behavior sanitizer.

The rule for MaterializeNewObject inside AI was assuming that the graph
is in SSA form. This used to be true when MaterializeNewObject was only
inserted by the allocation sinking phase. However, Filip added more uses
of MaterializeNewObject in his RegExp constant folding patch. This fixes
the bug by using the structure set inside the Node's OpInfo rather than
generating it from m_phiChildren inside AI.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

4:36 PM Changeset in webkit [205521] by achristensen@apple.com
  • 4 edits in trunk

Punycode encode non-ascii hosts in URLParser
https://bugs.webkit.org/show_bug.cgi?id=161655

Reviewed by Tim Horton.

Source/WebCore:

Covered by new API tests based on the web platform tests.

  • platform/URLParser.cpp:

(WebCore::URLParser::parse):
(WebCore::containsOnlyASCII):
(WebCore::domainToASCII):

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::wideString):
(TestWebKitAPI::TEST_F):

4:22 PM Changeset in webkit [205520] by sbarati@apple.com
  • 65 edits
    1 copy
    14 adds in trunk

Make JSMap and JSSet faster
https://bugs.webkit.org/show_bug.cgi?id=160989

Reviewed by Filip Pizlo.

JSTests:

  • microbenchmarks/dense-set.js: Added.

(bench):

  • microbenchmarks/large-map-iteration-with-additions.js: Added.

(bar):
(foo):

  • microbenchmarks/large-map-iteration-with-mutation.js: Added.

(bar):
(foo):

  • microbenchmarks/large-map-iteration.js: Added.

(bar):
(foo):

  • microbenchmarks/map-get-get-cse.js: Added.

(bar):
(foo):

  • microbenchmarks/map-has-get-cse-opportunity.js: Added.

(bar):
(foo):

  • microbenchmarks/sparse-set.js: Added.

(bench):

  • stress/map-cse-correctness.js: Added.

(assert):
(testHas):
(testGet):
(foo):

  • stress/map-iteration.js: Added.

(assert):
(test1):
(test2):
(test3):
(test4):
(test5):
(test6):
(test7):
(test8):
(test9):
(test10):
(test11):
(test12):
(test13):
(test14):
(test15):
(test16):
(test17):
(test18):

Source/JavaScriptCore:

This patch revamps how we implement Map and Set. It uses
a new hash map implementation. The hash map uses linear
probing and it uses Wang's 64 bit hash function for JSValues
that aren't strings. Strings use StringImpl's hash function.
The reason I wanted to roll our own HashTable is twofold:
I didn't want to inline WTF::HashMap's implementation into our
JIT, since that seems error prone and unmaintainable. Also, I wanted
a different structure for hash map buckets where buckets also exist in
a linked list.

The reason for making buckets part of a linked list is that iteration
is now simple. Iteration works by just traversing a linked list.
This design also allows for a simple implementation when doing iteration
while the hash table is mutating. Whenever we remove a bucket from
the hash table, it is removed from the list, meaning items in the
list don't point to it. However, the removed bucket will still point
to things that are either in the list, or have also been removed.
e.g, from a removed bucket, you can always follow pointers until you
either find an item in the list, or you find the tail of the list.
This is a really nice property because it means that a Map or Set
does not need to reason about the all the iterators that point
into its list. Also, whenever we add items to the Map or Set, we
hijack the tail as the new item, and make the new item point to a newly
created tail. This means that any iterator that pointed to the "tail" now
points to non-tail items. This makes the implementation of adding things
to the Map/Set while iterating easy.

I also made Map.prototype.get, Map.prototype.has, and Set.prototype.has
into intrinsics in the DFG. The IR can now reason about hash map
operations and can even do CSE over Wang's hash function, hash map
bucket lookups, hash map bucket loads, and testing if a key is in
the hash table. This makes code patterns for Map like so, super fast
in the FTL, since we will only be doing a single hash and hash bucket lookup:

`
function getKeyIfPresent(map, key) {

if (map.has(key))

return map.get(key);

}
`

This patch is roughly an 8% speedup on ES6SampleBench.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::not64):

  • bytecode/SpeculatedType.cpp:

(JSC::speculationFromClassInfo):

  • bytecode/SpeculatedType.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::execute):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGEdge.h:

(JSC::DFG::Edge::shift):
(JSC::DFG::Edge::makeWord):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGHeapLocation.cpp:

(WTF::printInternal):

  • dfg/DFGHeapLocation.h:
  • dfg/DFGNode.h:

(JSC::DFG::Node::hasHeapPrediction):

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

(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::speculateMapObject):
(JSC::DFG::SpeculativeJIT::speculateSetObject):
(JSC::DFG::SpeculativeJIT::speculate):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileMapHash):
(JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::compileLoadFromJSMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::compileIsNonEmptyMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::lowMapObject):
(JSC::FTL::DFG::LowerDFGToB3::lowSetObject):
(JSC::FTL::DFG::LowerDFGToB3::lowMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateMapObject):
(JSC::FTL::DFG::LowerDFGToB3::speculateSetObject):
(JSC::FTL::DFG::LowerDFGToB3::setMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::lowRegExpObject): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::lowStorage): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::speculateRegExpObject): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::setStorage): Deleted.

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::wangsInt64Hash):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitAllocateDestructibleObject): Deleted.

  • jit/JITOperations.h:
  • parser/ModuleAnalyzer.cpp:

(JSC::ModuleAnalyzer::ModuleAnalyzer):

  • runtime/HashMapImpl.cpp: Added.

(JSC::HashMapBucket<Data>::visitChildren):
(JSC::HashMapImpl<HashMapBucket>::visitChildren):
(JSC::HashMapImpl<HashMapBucket>::copyBackingStore):

  • runtime/HashMapImpl.h: Added.

(JSC::HashMapBucket::selectStructure):
(JSC::HashMapBucket::createStructure):
(JSC::HashMapBucket::create):
(JSC::HashMapBucket::HashMapBucket):
(JSC::HashMapBucket::setNext):
(JSC::HashMapBucket::setPrev):
(JSC::HashMapBucket::setKey):
(JSC::HashMapBucket::setValue):
(JSC::HashMapBucket::key):
(JSC::HashMapBucket::value):
(JSC::HashMapBucket::next):
(JSC::HashMapBucket::prev):
(JSC::HashMapBucket::deleted):
(JSC::HashMapBucket::setDeleted):
(JSC::HashMapBucket::offsetOfKey):
(JSC::HashMapBucket::offsetOfValue):
(JSC::HashMapBuffer::allocationSize):
(JSC::HashMapBuffer::buffer):
(JSC::HashMapBuffer::create):
(JSC::areKeysEqual):
(JSC::normalizeMapKey):
(JSC::jsMapHash):
(JSC::HashMapImpl::selectStructure):
(JSC::HashMapImpl::createStructure):
(JSC::HashMapImpl::create):
(JSC::HashMapImpl::HashMapImpl):
(JSC::HashMapImpl::buffer):
(JSC::HashMapImpl::finishCreation):
(JSC::HashMapImpl::emptyValue):
(JSC::HashMapImpl::isEmpty):
(JSC::HashMapImpl::deletedValue):
(JSC::HashMapImpl::isDeleted):
(JSC::HashMapImpl::findBucket):
(JSC::HashMapImpl::get):
(JSC::HashMapImpl::has):
(JSC::HashMapImpl::add):
(JSC::HashMapImpl::remove):
(JSC::HashMapImpl::size):
(JSC::HashMapImpl::clear):
(JSC::HashMapImpl::bufferSizeInBytes):
(JSC::HashMapImpl::offsetOfBuffer):
(JSC::HashMapImpl::offsetOfCapacity):
(JSC::HashMapImpl::head):
(JSC::HashMapImpl::tail):
(JSC::HashMapImpl::approximateSize):
(JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized):
(JSC::HashMapImpl::rehash):
(JSC::HashMapImpl::makeAndSetNewBuffer):

  • runtime/Intrinsic.h:
  • runtime/JSCJSValue.h:
  • runtime/JSCJSValueInlines.h:

(JSC::sameValue):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSMap.cpp:

(JSC::JSMap::destroy): Deleted.
(JSC::JSMap::estimatedSize): Deleted.
(JSC::JSMap::visitChildren): Deleted.
(JSC::JSMap::copyBackingStore): Deleted.
(JSC::JSMap::has): Deleted.
(JSC::JSMap::size): Deleted.
(JSC::JSMap::get): Deleted.
(JSC::JSMap::set): Deleted.
(JSC::JSMap::clear): Deleted.
(JSC::JSMap::remove): Deleted.

  • runtime/JSMap.h:

(JSC::JSMap::createStructure):
(JSC::JSMap::create):
(JSC::JSMap::get):
(JSC::JSMap::set):
(JSC::JSMap::JSMap):
(JSC::JSMap::Entry::key): Deleted.
(JSC::JSMap::Entry::value): Deleted.
(JSC::JSMap::Entry::visitChildren): Deleted.
(JSC::JSMap::Entry::setKey): Deleted.
(JSC::JSMap::Entry::setKeyWithoutWriteBarrier): Deleted.
(JSC::JSMap::Entry::setValue): Deleted.
(JSC::JSMap::Entry::clear): Deleted.

  • runtime/JSMapIterator.cpp:

(JSC::JSMapIterator::finishCreation):
(JSC::JSMapIterator::visitChildren):
(JSC::JSMapIterator::clone):

  • runtime/JSMapIterator.h:

(JSC::JSMapIterator::advanceIter):
(JSC::JSMapIterator::next):
(JSC::JSMapIterator::nextKeyValue):
(JSC::JSMapIterator::JSMapIterator):
(JSC::JSMapIterator::setIterator):
(JSC::JSMapIterator::finish): Deleted.
(JSC::JSMapIterator::iteratorData): Deleted.

  • runtime/JSModuleLoader.cpp:

(JSC::JSModuleLoader::finishCreation):

  • runtime/JSModuleLoader.h:

(JSC::JSModuleLoader::create):

  • runtime/JSModuleRecord.cpp:

(JSC::JSModuleRecord::finishCreation):

  • runtime/JSModuleRecord.h:

(JSC::JSModuleRecord::create):

  • runtime/JSSet.cpp:

(JSC::JSSet::destroy): Deleted.
(JSC::JSSet::estimatedSize): Deleted.
(JSC::JSSet::visitChildren): Deleted.
(JSC::JSSet::copyBackingStore): Deleted.
(JSC::JSSet::has): Deleted.
(JSC::JSSet::size): Deleted.
(JSC::JSSet::add): Deleted.
(JSC::JSSet::clear): Deleted.
(JSC::JSSet::remove): Deleted.

  • runtime/JSSet.h:

(JSC::JSSet::createStructure):
(JSC::JSSet::create):
(JSC::JSSet::add):
(JSC::JSSet::JSSet):
(JSC::JSSet::Entry::key): Deleted.
(JSC::JSSet::Entry::value): Deleted.
(JSC::JSSet::Entry::visitChildren): Deleted.
(JSC::JSSet::Entry::setKey): Deleted.
(JSC::JSSet::Entry::setKeyWithoutWriteBarrier): Deleted.
(JSC::JSSet::Entry::setValue): Deleted.
(JSC::JSSet::Entry::clear): Deleted.

  • runtime/JSSetIterator.cpp:

(JSC::JSSetIterator::finishCreation):
(JSC::JSSetIterator::visitChildren):
(JSC::JSSetIterator::clone):

  • runtime/JSSetIterator.h:

(JSC::JSSetIterator::advanceIter):
(JSC::JSSetIterator::next):
(JSC::JSSetIterator::JSSetIterator):
(JSC::JSSetIterator::setIterator):
(JSC::JSSetIterator::finish): Deleted.
(JSC::JSSetIterator::iteratorData): Deleted.

  • runtime/JSType.h:
  • runtime/MapBase.cpp: Added.

(JSC::MapBase<HashMapBucketType>::visitChildren):
(JSC::MapBase<HashMapBucketType>::estimatedSize):

  • runtime/MapBase.h: Added.

(JSC::MapBase::size):
(JSC::MapBase::has):
(JSC::MapBase::clear):
(JSC::MapBase::remove):
(JSC::MapBase::findBucket):
(JSC::MapBase::offsetOfHashMapImpl):
(JSC::MapBase::impl):
(JSC::MapBase::finishCreation):
(JSC::MapBase::MapBase):

  • runtime/MapConstructor.cpp:

(JSC::constructMap):

  • runtime/MapIteratorPrototype.cpp:

(JSC::MapIteratorPrototypeFuncNext):

  • runtime/MapPrototype.cpp:

(JSC::MapPrototype::finishCreation):
(JSC::getMap):
(JSC::privateFuncIsMap):
(JSC::privateFuncMapIteratorNext):

  • runtime/PropertyDescriptor.cpp:

(JSC::sameValue): Deleted.

  • runtime/PropertyDescriptor.h:
  • runtime/SetConstructor.cpp:

(JSC::constructSet):

  • runtime/SetIteratorPrototype.cpp:

(JSC::SetIteratorPrototypeFuncNext):

  • runtime/SetPrototype.cpp:

(JSC::SetPrototype::finishCreation):
(JSC::getSet):
(JSC::privateFuncSetIteratorNext):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:

  • ForwardingHeaders/runtime/HashMapImpl.h: Added.
  • ForwardingHeaders/runtime/MapBase.h: Added.
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::deserialize):

Source/WTF:

I made s_flagCount public in StringImpl since JSC's JITs now use this field.

  • wtf/text/StringImpl.h:
4:12 PM Changeset in webkit [205519] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

Strikethrough positions are erroneously snapped twice
https://bugs.webkit.org/show_bug.cgi?id=161647
<rdar://problem/11542470>

Reviewed by Zalan Bujtas.

Source/WebCore:

Because we're using an int for the position of the baseline, the math to calculate the
strikethrough position is snapped. Then, we snap it again inside GraphicsContext.

Test: fast/text/strikethrough-int.html

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):

  • rendering/TextDecorationPainter.h:

(WebCore::TextDecorationPainter::setBaseline):

LayoutTests:

  • fast/css3-text/css3-text-decoration/text-decoration-line-through-mispositioned-expected.html: Updated.
  • fast/text/strikethrough-int-expected-mismatch.html: Added.
  • fast/text/strikethrough-int.html: Added.
4:06 PM Changeset in webkit [205518] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Allow hiding of CSS variables in Computed styles panel
https://bugs.webkit.org/show_bug.cgi?id=161405

Patch by Devin Rousso <Devin Rousso> on 2016-09-06
Reviewed by Brian Burg.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Models/CSSProperty.js:

(WebInspector.CSSProperty.prototype.update):
(WebInspector.CSSProperty.prototype.get variable):
Sets a member variable if the CSS property begins with "--", indicating that it is a variable.

(WebInspector.CSSProperty.prototype.get name):
(WebInspector.CSSProperty.prototype.get value):
(WebInspector.CSSProperty.prototype.get priority):
(WebInspector.CSSProperty.prototype.get overridden):
(WebInspector.CSSProperty.prototype.get anonymous):
(WebInspector.CSSProperty.prototype.get inherited):
(WebInspector.CSSProperty.prototype.get valid):
(WebInspector.CSSProperty.prototype.get styleSheetTextRange):
(WebInspector.CSSProperty.prototype.get relatedShorthandProperty):
(WebInspector.CSSProperty.prototype.get relatedLonghandProperties):
Changed styling to be one line getters.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.PropertyVisibilityMode):
Dictionary for the three possible states of CSS property visibility:

  • ShowAll
  • HideVariables
  • HideNonVariables

(WebInspector.CSSStyleDeclarationTextEditor):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get shownProperties):
Added member variable that holds the list of properties resulting from the filter inside
WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties.

(WebInspector.CSSStyleDeclarationTextEditor.prototype.get propertyVisibilityMode):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.set propertyVisibilityMode):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties):
Added member variable controlling the visibility of CSS properties.

(WebInspector.CSSStyleDeclarationTextEditor.prototype.get delegate):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get style):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get showsImplicitProperties):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get sortProperties):
Changed styling to be one line getters.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WebInspector.ComputedStyleDetailsPanel.prototype.refresh):
(WebInspector.ComputedStyleDetailsPanel.prototype.filterDidChange):
(WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout):
(WebInspector.ComputedStyleDetailsPanel.prototype._handleVariablesSectionCollapsedStateChanged):
Added an additional text editor that displays the list of CSS Variables visible to the
selected node. Also ties this new editor into the refresh/collapse/filter event handlers.

(WebInspector.ComputedStyleDetailsPanel.prototype._handlePropertiesSectionCollapsedStateChanged):
Renamed from WebInspector.ComputedStyleDetailsPanel.prototype._handleCollapsedStateChanged.

(WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions):
Changed styling to be one line getters.

4:03 PM Changeset in webkit [205517] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: CodeMirror in resource content view should not show 'CR' characters
https://bugs.webkit.org/show_bug.cgi?id=160465

Patch by Devin Rousso <Devin Rousso> on 2016-09-06
Reviewed by Brian Burg.

  • UserInterface/Views/CodeMirrorOverrides.css:

(.CodeMirror .cm-invalidchar):
Hide all invalid characters.

4:01 PM Changeset in webkit [205516] by ddkilzer@apple.com
  • 10 edits in trunk/Source/WebCore

[iOS] Remove soft linking of MobileCoreServices.framework
<https://webkit.org/b/161641>
<rdar://problem/10420118>

Reviewed by Darin Adler.

  • Configurations/WebCore.xcconfig: Add hard link to

MobileCoreServices.framework.

  • editing/ios/EditorIOS.mm: Change #include to #import.
  • platform/graphics/cg/ImageSourceCGMac.mm:
  • platform/graphics/mac/ImageMac.mm:
  • platform/ios/PasteboardIOS.mm:
  • platform/ios/PlatformPasteboardIOS.mm:
  • platform/network/ios/WebCoreURLResponseIOS.mm:
  • platform/network/mac/UTIUtilities.mm:
  • Rearrange import statements as needed.
  • Remove soft link to MobileCoreServices.framework.
  • Add import of <MobileCoreServices/MobileCoreServices.h> as needed.
  • rendering/RenderThemeIOS.mm: Remove unused soft link to

MobileCoreServices.framework.

3:59 PM Changeset in webkit [205515] by Chris Dumez
  • 10 edits in trunk

Align srcset attribute parsing with the HTML specification
https://bugs.webkit.org/show_bug.cgi?id=161636

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline a couple of W3C tests now that more checks are passing.

  • web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/basic-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute-expected.txt:

Source/WebCore:

Align srcset attribute parsing with the HTML specification:

The new behavior is also consistent with Firefox and Chrome
as all 3 browsers now pass 100% of the checks at:

No new tests, rebaselined existing tests.

  • html/parser/HTMLParserIdioms.cpp:

(WebCore::parseValidHTMLNonNegativeIntegerInternal):
(WebCore::parseValidHTMLNonNegativeInteger):
(WebCore::parseValidHTMLFloatingPointNumberInternal):
(WebCore::parseValidHTMLFloatingPointNumber):

  • html/parser/HTMLParserIdioms.h:

Add convenience for parsing *valid* HTML non-negative integers and
*valid* floating point number values.

  • html/parser/HTMLSrcsetParser.cpp:

(WebCore::parseDescriptors):

  • Use parseValidHTMLFloatingPointNumber() to parse density so that the value is parsed as a valid HTML floating point number value, as per the spec.
  • Use parseValidHTMLNonNegativeInteger() to parse width and height so that the value is parsed as a valid HTML non-negative integer value, as per the spec.
  • Return false if descriptor does not have a h, w and x at the end as per: https://html.spec.whatwg.org/#parse-a-srcset-attribute (step 13: Anything else)
  • Return false if height is set but not width, as per: https://html.spec.whatwg.org/#parse-a-srcset-attribute (step 14)

(WebCore::parseImageCandidatesFromSrcsetAttribute):

LayoutTests:

Re-sync fast/hidpi/image-srcset-invalid-descriptor.html with Blink.

  • fast/hidpi/image-srcset-invalid-descriptor-expected.txt:
  • fast/hidpi/image-srcset-invalid-descriptor.html:
3:19 PM Changeset in webkit [205514] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking storage/indexeddb/objectstore-cursor.html as flaky on mac-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=161633

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
3:13 PM Changeset in webkit [205513] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking media/media-document-audio-repaint.html as flaky on El Capitan WK2.
https://bugs.webkit.org/show_bug.cgi?id=155757

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
3:06 PM Changeset in webkit [205512] by commit-queue@webkit.org
  • 4 edits in trunk

[CMake] Decouple generating bindings of WebCore and WebCoreTestSupport
https://bugs.webkit.org/show_bug.cgi?id=161474

Generating bindings of WebCore and WebCoreTestSupport shares a
single supplementalDependencyFile. But, nothing supplements any
IDL of WebCoreTestSupport. This introduces unnecessary
dependencies.

Patch by Fujii Hironori <Fujii Hironori> on 2016-09-06
Reviewed by Alex Christensen.

.:

  • Source/cmake/WebKitMacros.cmake:

(GENERATE_BINDINGS): Clear uninitialized variables before
use. This causes a problem in the second time of calling
GENERATE_BINDINGS.

Source/WebCore:

  • CMakeLists.txt: Do not input any IDL of WebCoreTestSupport to

preprocess-idls.pl. Do not use supplementalDependencyFile to
generate bindings of WebCoreTestSupport. Add SettingsMacros.h as
a source file of WebCoreDerivedSources to ensure make_settings.pl
is finished before compiling WebCoreDerivedSources.

2:54 PM Changeset in webkit [205511] by commit-queue@webkit.org
  • 11 edits
    1 add in trunk

[JSC] Make ArithClz32 work with Cell arguments
https://bugs.webkit.org/show_bug.cgi?id=161369

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

JSTests:

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

Source/JavaScriptCore:

ArithClz32 was already working with all primitive types
thanks to the magic of ValueToInt32.
This patch adds support for cell arguments through a function
call.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

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

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

(JSC::DFG::SpeculativeJIT::compileArithClz32):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileArithClz32):

2:53 PM Changeset in webkit [205510] by Alan Bujtas
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: !paintInfo.overlapTestRequests->contains(this) in WebCore::RenderWidget::paintContents
https://bugs.webkit.org/show_bug.cgi?id=135602
<rdar://problem/27701733>

Reviewed by Simon Fraser.

Source/WebCore:

ASSERT is updated to support multiple fragments painting. We just have to ensure that the FrameView's rect
has not changed between the 2 paintContents calls.

Test: fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paintContents):

LayoutTests:

  • fast/layers/assert-on-overlap-testing-with-frames-inside-columns-expected.txt: Added.
  • fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html: Added.
2:47 PM Changeset in webkit [205509] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Gardening: change to use old header guard to appease Win EWS.

Not reviewed.

  • runtime/AuxiliaryBarrier.h:
2:43 PM Changeset in webkit [205508] by Ryan Haddad
  • 13 edits in trunk/Source/JavaScriptCore

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

This change broke the Windows build (Requested by ryanhaddad
on #webkit).

Reverted changeset:

"Typed arrays should use MarkedSpace instead of CopiedSpace"
https://bugs.webkit.org/show_bug.cgi?id=161100
http://trac.webkit.org/changeset/205494

Patch by Commit Queue <commit-queue@webkit.org> on 2016-09-06

2:35 PM Changeset in webkit [205507] by Ryan Haddad
  • 64 edits
    15 deletes in trunk

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

Broke the iOS device build (Requested by ryanhaddad on
#webkit).

Reverted changeset:

"Make JSMap and JSSet faster"
https://bugs.webkit.org/show_bug.cgi?id=160989
http://trac.webkit.org/changeset/205504

Patch by Commit Queue <commit-queue@webkit.org> on 2016-09-06

2:27 PM Changeset in webkit [205506] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Remove unused overlap checking functions from FrameView.
https://bugs.webkit.org/show_bug.cgi?id=161635

Reviewed by Simon Fraser.

No change in functionality.

  • page/FrameView.cpp:

(WebCore::FrameView::isOverlappedIncludingAncestors): Deleted.

  • page/FrameView.h:
2:18 PM Changeset in webkit [205505] by Simon Fraser
  • 7 edits
    6 adds in trunk

Align element.scroll() / scrollTo() / scrollBy() with the CSSOM specification
https://bugs.webkit.org/show_bug.cgi?id=161610

Reviewed by Darin Adler, Chris Dumez.

Source/WebCore:

Implement Element.scroll(), scrollBy() and scrollTo() with x,y and ScrollToOptions
on Element, according to <https://drafts.csswg.org/cssom-view/#element-scrolling-members>

WebKit's behavior of treating scrolls on the body element in both quirks and strict mode
is preserved.

Tests: fast/dom/Element/scrolling-funtions-on-body-quirks.html

fast/dom/Element/scrolling-funtions-on-body.html
fast/dom/Element/scrolling-funtions-on-element.html

  • dom/Element.cpp:

(WebCore::Element::scrollBy):
(WebCore::normalizeNonFiniteValue):
(WebCore::Element::scrollTo):

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

(WebCore::HTMLBodyElement::scrollTo):

  • html/HTMLBodyElement.h:

LayoutTests:

  • fast/dom/Element/scrolling-funtions-on-body-expected.txt: Added.
  • fast/dom/Element/scrolling-funtions-on-body-quirks-expected.txt: Added.
  • fast/dom/Element/scrolling-funtions-on-body-quirks.html: Added.
  • fast/dom/Element/scrolling-funtions-on-body.html: Added.
  • fast/dom/Element/scrolling-funtions-on-element-expected.txt: Added.
  • fast/dom/Element/scrolling-funtions-on-element.html: Added.
2:13 PM Changeset in webkit [205504] by sbarati@apple.com
  • 64 edits
    1 copy
    14 adds in trunk

Make JSMap and JSSet faster
https://bugs.webkit.org/show_bug.cgi?id=160989

Reviewed by Filip Pizlo.

JSTests:

  • microbenchmarks/dense-set.js: Added.

(bench):

  • microbenchmarks/large-map-iteration-with-additions.js: Added.

(bar):
(foo):

  • microbenchmarks/large-map-iteration-with-mutation.js: Added.

(bar):
(foo):

  • microbenchmarks/large-map-iteration.js: Added.

(bar):
(foo):

  • microbenchmarks/map-get-get-cse.js: Added.

(bar):
(foo):

  • microbenchmarks/map-has-get-cse-opportunity.js: Added.

(bar):
(foo):

  • microbenchmarks/sparse-set.js: Added.

(bench):

  • stress/map-cse-correctness.js: Added.

(assert):
(testHas):
(testGet):
(foo):

  • stress/map-iteration.js: Added.

(assert):
(test1):
(test2):
(test3):
(test4):
(test5):
(test6):
(test7):
(test8):
(test9):
(test10):
(test11):
(test12):
(test13):
(test14):
(test15):
(test16):
(test17):
(test18):

Source/JavaScriptCore:

This patch revamps how we implement Map and Set. It uses
a new hash map implementation. The hash map uses linear
probing and it uses Wang's 64 bit hash function for JSValues
that aren't strings. Strings use StringImpl's hash function.
The reason I wanted to roll our own HashTable is twofold:
I didn't want to inline WTF::HashMap's implementation into our
JIT, since that seems error prone and unmaintainable. Also, I wanted
a different structure for hash map buckets where buckets also exist in
a linked list.

The reason for making buckets part of a linked list is that iteration
is now simple. Iteration works by just traversing a linked list.
This design also allows for a simple implementation when doing iteration
while the hash table is mutating. Whenever we remove a bucket from
the hash table, it is removed from the list, meaning items in the
list don't point to it. However, the removed bucket will still point
to things that are either in the list, or have also been removed.
e.g, from a removed bucket, you can always follow pointers until you
either find an item in the list, or you find the tail of the list.
This is a really nice property because it means that a Map or Set
does not need to reason about the all the iterators that point
into its list. Also, whenever we add items to the Map or Set, we
hijack the tail as the new item, and make the new item point to a newly
created tail. This means that any iterator that pointed to the "tail" now
points to non-tail items. This makes the implementation of adding things
to the Map/Set while iterating easy.

I also made Map.prototype.get, Map.prototype.has, and Set.prototype.has
into intrinsics in the DFG. The IR can now reason about hash map
operations and can even do CSE over Wang's hash function, hash map
bucket lookups, hash map bucket loads, and testing if a key is in
the hash table. This makes code patterns for Map like so, super fast
in the FTL, since we will only be doing a single hash and hash bucket lookup:

`
function getKeyIfPresent(map, key) {

if (map.has(key))

return map.get(key);

}
`

This patch is roughly an 8% speedup on ES6SampleBench.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/SpeculatedType.cpp:

(JSC::speculationFromClassInfo):

  • bytecode/SpeculatedType.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::execute):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGEdge.h:

(JSC::DFG::Edge::shift):
(JSC::DFG::Edge::makeWord):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGHeapLocation.cpp:

(WTF::printInternal):

  • dfg/DFGHeapLocation.h:
  • dfg/DFGNode.h:

(JSC::DFG::Node::hasHeapPrediction):

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

(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::speculateMapObject):
(JSC::DFG::SpeculativeJIT::speculateSetObject):
(JSC::DFG::SpeculativeJIT::speculate):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileMapHash):
(JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::compileLoadFromJSMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::compileIsNonEmptyMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::lowMapObject):
(JSC::FTL::DFG::LowerDFGToB3::lowSetObject):
(JSC::FTL::DFG::LowerDFGToB3::lowMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateMapObject):
(JSC::FTL::DFG::LowerDFGToB3::speculateSetObject):
(JSC::FTL::DFG::LowerDFGToB3::setMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::lowRegExpObject): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::lowStorage): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::speculateRegExpObject): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::setStorage): Deleted.

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::wangsInt64Hash):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitAllocateDestructibleObject): Deleted.

  • jit/JITOperations.h:
  • parser/ModuleAnalyzer.cpp:

(JSC::ModuleAnalyzer::ModuleAnalyzer):

  • runtime/HashMapImpl.cpp: Added.

(JSC::HashMapBucket<Data>::visitChildren):
(JSC::HashMapImpl<HashMapBucket>::visitChildren):
(JSC::HashMapImpl<HashMapBucket>::copyBackingStore):

  • runtime/HashMapImpl.h: Added.

(JSC::HashMapBucket::selectStructure):
(JSC::HashMapBucket::createStructure):
(JSC::HashMapBucket::create):
(JSC::HashMapBucket::HashMapBucket):
(JSC::HashMapBucket::setNext):
(JSC::HashMapBucket::setPrev):
(JSC::HashMapBucket::setKey):
(JSC::HashMapBucket::setValue):
(JSC::HashMapBucket::key):
(JSC::HashMapBucket::value):
(JSC::HashMapBucket::next):
(JSC::HashMapBucket::prev):
(JSC::HashMapBucket::deleted):
(JSC::HashMapBucket::setDeleted):
(JSC::HashMapBucket::offsetOfKey):
(JSC::HashMapBucket::offsetOfValue):
(JSC::HashMapBuffer::allocationSize):
(JSC::HashMapBuffer::buffer):
(JSC::HashMapBuffer::create):
(JSC::areKeysEqual):
(JSC::normalizeMapKey):
(JSC::jsMapHash):
(JSC::HashMapImpl::selectStructure):
(JSC::HashMapImpl::createStructure):
(JSC::HashMapImpl::create):
(JSC::HashMapImpl::HashMapImpl):
(JSC::HashMapImpl::buffer):
(JSC::HashMapImpl::finishCreation):
(JSC::HashMapImpl::emptyValue):
(JSC::HashMapImpl::isEmpty):
(JSC::HashMapImpl::deletedValue):
(JSC::HashMapImpl::isDeleted):
(JSC::HashMapImpl::findBucket):
(JSC::HashMapImpl::get):
(JSC::HashMapImpl::has):
(JSC::HashMapImpl::add):
(JSC::HashMapImpl::remove):
(JSC::HashMapImpl::size):
(JSC::HashMapImpl::clear):
(JSC::HashMapImpl::bufferSizeInBytes):
(JSC::HashMapImpl::offsetOfBuffer):
(JSC::HashMapImpl::offsetOfCapacity):
(JSC::HashMapImpl::head):
(JSC::HashMapImpl::tail):
(JSC::HashMapImpl::approximateSize):
(JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized):
(JSC::HashMapImpl::rehash):
(JSC::HashMapImpl::makeAndSetNewBuffer):

  • runtime/Intrinsic.h:
  • runtime/JSCJSValue.h:
  • runtime/JSCJSValueInlines.h:

(JSC::sameValue):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSMap.cpp:

(JSC::JSMap::destroy): Deleted.
(JSC::JSMap::estimatedSize): Deleted.
(JSC::JSMap::visitChildren): Deleted.
(JSC::JSMap::copyBackingStore): Deleted.
(JSC::JSMap::has): Deleted.
(JSC::JSMap::size): Deleted.
(JSC::JSMap::get): Deleted.
(JSC::JSMap::set): Deleted.
(JSC::JSMap::clear): Deleted.
(JSC::JSMap::remove): Deleted.

  • runtime/JSMap.h:

(JSC::JSMap::createStructure):
(JSC::JSMap::create):
(JSC::JSMap::get):
(JSC::JSMap::set):
(JSC::JSMap::JSMap):
(JSC::JSMap::Entry::key): Deleted.
(JSC::JSMap::Entry::value): Deleted.
(JSC::JSMap::Entry::visitChildren): Deleted.
(JSC::JSMap::Entry::setKey): Deleted.
(JSC::JSMap::Entry::setKeyWithoutWriteBarrier): Deleted.
(JSC::JSMap::Entry::setValue): Deleted.
(JSC::JSMap::Entry::clear): Deleted.

  • runtime/JSMapIterator.cpp:

(JSC::JSMapIterator::finishCreation):
(JSC::JSMapIterator::visitChildren):
(JSC::JSMapIterator::clone):

  • runtime/JSMapIterator.h:

(JSC::JSMapIterator::advanceIter):
(JSC::JSMapIterator::next):
(JSC::JSMapIterator::nextKeyValue):
(JSC::JSMapIterator::JSMapIterator):
(JSC::JSMapIterator::setIterator):
(JSC::JSMapIterator::finish): Deleted.
(JSC::JSMapIterator::iteratorData): Deleted.

  • runtime/JSModuleLoader.cpp:

(JSC::JSModuleLoader::finishCreation):

  • runtime/JSModuleLoader.h:

(JSC::JSModuleLoader::create):

  • runtime/JSModuleRecord.cpp:

(JSC::JSModuleRecord::finishCreation):

  • runtime/JSModuleRecord.h:

(JSC::JSModuleRecord::create):

  • runtime/JSSet.cpp:

(JSC::JSSet::destroy): Deleted.
(JSC::JSSet::estimatedSize): Deleted.
(JSC::JSSet::visitChildren): Deleted.
(JSC::JSSet::copyBackingStore): Deleted.
(JSC::JSSet::has): Deleted.
(JSC::JSSet::size): Deleted.
(JSC::JSSet::add): Deleted.
(JSC::JSSet::clear): Deleted.
(JSC::JSSet::remove): Deleted.

  • runtime/JSSet.h:

(JSC::JSSet::createStructure):
(JSC::JSSet::create):
(JSC::JSSet::add):
(JSC::JSSet::JSSet):
(JSC::JSSet::Entry::key): Deleted.
(JSC::JSSet::Entry::value): Deleted.
(JSC::JSSet::Entry::visitChildren): Deleted.
(JSC::JSSet::Entry::setKey): Deleted.
(JSC::JSSet::Entry::setKeyWithoutWriteBarrier): Deleted.
(JSC::JSSet::Entry::setValue): Deleted.
(JSC::JSSet::Entry::clear): Deleted.

  • runtime/JSSetIterator.cpp:

(JSC::JSSetIterator::finishCreation):
(JSC::JSSetIterator::visitChildren):
(JSC::JSSetIterator::clone):

  • runtime/JSSetIterator.h:

(JSC::JSSetIterator::advanceIter):
(JSC::JSSetIterator::next):
(JSC::JSSetIterator::JSSetIterator):
(JSC::JSSetIterator::setIterator):
(JSC::JSSetIterator::finish): Deleted.
(JSC::JSSetIterator::iteratorData): Deleted.

  • runtime/JSType.h:
  • runtime/MapBase.cpp: Added.

(JSC::MapBase<HashMapBucketType>::visitChildren):
(JSC::MapBase<HashMapBucketType>::estimatedSize):

  • runtime/MapBase.h: Added.

(JSC::MapBase::size):
(JSC::MapBase::has):
(JSC::MapBase::clear):
(JSC::MapBase::remove):
(JSC::MapBase::findBucket):
(JSC::MapBase::offsetOfHashMapImpl):
(JSC::MapBase::impl):
(JSC::MapBase::finishCreation):
(JSC::MapBase::MapBase):

  • runtime/MapConstructor.cpp:

(JSC::constructMap):

  • runtime/MapIteratorPrototype.cpp:

(JSC::MapIteratorPrototypeFuncNext):

  • runtime/MapPrototype.cpp:

(JSC::MapPrototype::finishCreation):
(JSC::getMap):
(JSC::privateFuncIsMap):
(JSC::privateFuncMapIteratorNext):

  • runtime/PropertyDescriptor.cpp:

(JSC::sameValue): Deleted.

  • runtime/PropertyDescriptor.h:
  • runtime/SetConstructor.cpp:

(JSC::constructSet):

  • runtime/SetIteratorPrototype.cpp:

(JSC::SetIteratorPrototypeFuncNext):

  • runtime/SetPrototype.cpp:

(JSC::SetPrototype::finishCreation):
(JSC::getSet):
(JSC::privateFuncSetIteratorNext):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:

  • ForwardingHeaders/runtime/HashMapImpl.h: Added.
  • ForwardingHeaders/runtime/MapBase.h: Added.
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::deserialize):

Source/WTF:

I made s_flagCount public since JSC's JITs now use this field.

  • wtf/text/StringImpl.h:
1:57 PM Changeset in webkit [205503] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip some asserting Fetch API tests.
https://bugs.webkit.org/show_bug.cgi?id=161632

Unreviewed test gardening.

1:50 PM Changeset in webkit [205502] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

[Xcode] WebKitLegacy.framework is re-signed on incremental build even if nothing’s changed
https://bugs.webkit.org/show_bug.cgi?id=161642

Reviewed by Tim Horton.

  • WebKit.xcodeproj/project.pbxproj: Removed the output file listed under the

Symlink WebKitPluginHost script build phase, because it doesn’t produce that file on iOS.
With no outputs listed, the script will still run every time, but the fact that it has run
won’t trigger re-signing the framework.

1:44 PM Changeset in webkit [205501] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Revert r205491 because it did not resolve the test failures, update bug number in TestExpectations.
https://bugs.webkit.org/show_bug.cgi?id=161366

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
1:39 PM Changeset in webkit [205500] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

<rdar://problem/8064563> Ugly NSLog in DOMInternal.mm

Rubber-stamped by Anders Carlsson.

  • DOM/DOMInternal.mm:

(-[WebScriptObject _initializeScriptDOMNodeImp]): Removed useless call to NSLog.

12:56 PM Changeset in webkit [205499] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Cannot undo in breakpoint editor
https://bugs.webkit.org/show_bug.cgi?id=152858

Patch by Devin Rousso <Devin Rousso> on 2016-09-06
Reviewed by Brian Burg.

  • UserInterface/Controllers/BreakpointPopoverController.js:

(WebInspector.BreakpointPopoverController.prototype._conditionCodeMirrorBeforeChange):
Since the breakpoint editor only allows a single line of JavaScript, it attempts to remove
all "\n" characters. During an "undo" action, this is not possible.

11:55 AM Changeset in webkit [205498] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Use TemporaryChange<> to maintain m_userIsInteracting
https://bugs.webkit.org/show_bug.cgi?id=161497

Reviewed by Tim Horton.

Replace some error-prone manual set/clear of m_userIsInteracting with
TemporaryChange<>.

No behavior change.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::keyEvent):
(WebKit::WebPage::dispatchTouchEvent):

11:55 AM Changeset in webkit [205497] by pvollan@apple.com
  • 2 edits in trunk/Source/WTF

[Win] Enable strict runtime stack buffer checks.
https://bugs.webkit.org/show_bug.cgi?id=161629

Reviewed by Brent Fulgham.

  • wtf/Platform.h:
11:38 AM Changeset in webkit [205496] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Remove SwipeTransitionStyle; only Overlap has ever been used
https://bugs.webkit.org/show_bug.cgi?id=161617

Reviewed by Alex Christensen.

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::handleSwipeGesture):
Remove SwipeTransitionStyle::Push, and SwipeTransitionStyle itself entirely,
because we've never used it and it is only supported by the Mac
implementation of ViewGestureController.

11:21 AM Changeset in webkit [205495] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit/win

[Win] Null pointer crash under WebView::scrollOffset.
https://bugs.webkit.org/show_bug.cgi?id=161620

Reviewed by Darin Adler.

Added null pointer checks.

  • WebView.cpp:

(WebView::scrollOffset):
(WebView::scrollBy):
(WebView::visibleContentRect):

11:18 AM Changeset in webkit [205494] by fpizlo@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

Typed arrays should use MarkedSpace instead of CopiedSpace
https://bugs.webkit.org/show_bug.cgi?id=161100

Reviewed by Geoffrey Garen.

This moves typed array backing stores out of CopiedSpace and into Auxiliary MarkedSpace.

This is a purely mechanical change since Auxiliary MarkedSpace already knows how to do
everything that typed arrays want.

  • dfg/DFGOperations.cpp:

(JSC::DFG::newTypedArrayWithSize):

  • dfg/DFGOperations.h:

(JSC::DFG::operationNewTypedArrayWithSizeForType):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileNewTypedArray):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculativeJIT::emitAllocateBasicStorage): Deleted.

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
(JSC::FTL::DFG::LowerDFGToB3::initializeArrayElements):
(JSC::FTL::DFG::LowerDFGToB3::splatWords):
(JSC::FTL::DFG::LowerDFGToB3::allocateBasicStorageAndGetEnd): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::allocateBasicStorage): Deleted.

  • heap/CopyToken.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::markAuxiliary):

  • jit/JITOperations.h:
  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
(JSC::JSArrayBufferView::JSArrayBufferView):

  • runtime/JSArrayBufferView.h:
  • runtime/JSGenericTypedArrayView.h:
  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector):
(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren):
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):
(JSC::JSGenericTypedArrayView<Adaptor>::copyBackingStore): Deleted.

11:16 AM Changeset in webkit [205493] by achristensen@apple.com
  • 5 edits in trunk

Implement relative file urls and begin implementing character encoding in URLParser
https://bugs.webkit.org/show_bug.cgi?id=161618

Reviewed by Tim Horton.

Source/WebCore:

Covered by new API tests.
Also, this is a significant step towards passing the URL web platform tests when using the URLParser,
which is still off by default.

  • platform/URLParser.cpp:

(WebCore::isInSimpleEncodeSet):
(WebCore::isInDefaultEncodeSet):
(WebCore::isInUserInfoEncodeSet):
(WebCore::isInvalidDomainCharacter):
(WebCore::shouldCopyFileURL):
(WebCore::percentEncode):
(WebCore::utf8PercentEncode):
(WebCore::encodeQuery):
(WebCore::isDefaultPort):
(WebCore::isPercentEncodedDot):
(WebCore::URLParser::parse):
(WebCore::percentDecode):
(WebCore::domainToASCII):
(WebCore::hasInvalidDomainCharacter):
(WebCore::URLParser::parsePort):
(WebCore::URLParser::parseHost):
(WebCore::isTabOrNewline): Deleted.

  • platform/URLParser.h:

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::TEST_F):

11:02 AM Changeset in webkit [205492] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the Apple-internal build following <https://trac.webkit.org/changeset/205488>
(https://bugs.webkit.org/show_bug.cgi?id=161090)

Use the default linkage for QuartzCore constants to match the linkage used for such constants
in the Apple-internal SDK.

  • platform/spi/cocoa/QuartzCoreSPI.h:
10:43 AM Changeset in webkit [205491] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Skipping editing/inserting/smart-link-when-caret-is-moved-before-URL.html.
https://bugs.webkit.org/show_bug.cgi?id=161366

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
10:43 AM Changeset in webkit [205490] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

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

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
10:20 AM Changeset in webkit [205489] by dbates@webkit.org
  • 8 edits
    2 adds in trunk

<table> inside <div align="right"> with large content inside = no scrollbar
https://bugs.webkit.org/show_bug.cgi?id=3352

Reviewed by Brent Fulgham.

Source/WebCore:

Respect "right" text-alignment only if the width of the child does not overflow the
width of its containing block. This makes our margin computation more closely conform
to section "Block-level, non-replaced elements in normal flow" of the CSS 2.1
spec., <http://www.w3.org/TR/CSS21/>, and to the behavior observed in Firefox, Chrome,
IE version 9 or later and Microsoft Edge.

Test: fast/block/align-overflow-child.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeInlineDirectionMargins):

LayoutTests:

Add a new test that is derived from the test LayoutTests/fast/block/align-bigger-child.html included
in <https://src.chromium.org/viewvc/blink?revision=187157&view=revision>.

Also update expected results of existing tests.

  • fast/block/align-overflow-child-expected.txt: Added.
  • fast/block/align-overflow-child.html: Added.
  • platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
  • platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
  • platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
10:17 AM Changeset in webkit [205488] by dbates@webkit.org
  • 25 edits in trunk/Source

Remove EXTERN_C from WTF
https://bugs.webkit.org/show_bug.cgi?id=161090

Reviewed by Brent Fulgham.

Guard external C declarations in WTF_EXTERN_C_BEGIN, WTF_EXTERN_C_END.

Source/WebCore:

  • platform/spi/cf/CFLocaleSPI.h:
  • platform/spi/cf/CFNetworkConnectionCacheSPI.h:
  • platform/spi/cf/CFNetworkSPI.h: Additionally, remove the workaround for <rdar://problem/18337182>

as this bug was fixed in El Capitan.

  • platform/spi/cf/CFUtilitiesSPI.h:
  • platform/spi/cocoa/CoreTextSPI.h:
  • platform/spi/cocoa/DataDetectorsCoreSPI.h:
  • platform/spi/cocoa/IOPMLibSPI.h:
  • platform/spi/cocoa/MachVMSPI.h:
  • platform/spi/cocoa/QuartzCoreSPI.h:
  • platform/spi/ios/MobileGestaltSPI.h:
  • platform/spi/ios/QuickLookSPI.h:
  • platform/spi/win/CoreTextSPIWin.cpp:
  • platform/spi/win/CoreTextSPIWin.h:

Source/WebKit2:

  • Platform/spi/ios/ManagedConfigurationSPI.h:

Source/WTF:

  • wtf/Compiler.h: Remove macro definition EXTERN_C.
  • wtf/spi/cf/CFBundleSPI.h:
  • wtf/spi/cocoa/NSMapTableSPI.h:
  • wtf/spi/cocoa/SecuritySPI.h:
  • wtf/spi/darwin/CommonCryptoSPI.h:
  • wtf/spi/darwin/SandboxSPI.h:
  • wtf/spi/darwin/XPCSPI.h:
  • wtf/spi/darwin/dyldSPI.h:
9:55 AM Changeset in webkit [205487] by Ryan Haddad
  • 12 edits in trunk/Source

Unreviewed, rolling out r205407.

Not the correct way to implement this functionality

Reverted changeset:

"Consult with the FrameLoaderClient about whether or not
content extensions should be enabled when loading this URL."
https://bugs.webkit.org/show_bug.cgi?id=161441
http://trac.webkit.org/changeset/205407

9:45 AM Changeset in webkit [205486] by commit-queue@webkit.org
  • 4 edits in trunk

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

tests-options.json is not known from knockout filesystem
(Requested by youenn on #webkit).

Reverted changeset:

"Using tests-options.json to compute whether tests are slow"
https://bugs.webkit.org/show_bug.cgi?id=161626
http://trac.webkit.org/changeset/205480

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

[GTK][Wayland] evince-browser-plugin prevents viewing PDFs
https://bugs.webkit.org/show_bug.cgi?id=158697

Reviewed by Michael Catanzaro.

Use a different cache file for plugins depending on the current platform display. Plugins can claim to work on
X11 but not on Wayland, for example, if they need XEmebed to work. That's the case of the evince browser plugin.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::cacheFilenameForCurrentDisplay):
(WebKit::PluginInfoCache::PluginInfoCache):

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

[Threaded Compositor] Update timer should have lower priority than tasks scheduled in compositing thread
https://bugs.webkit.org/show_bug.cgi?id=161625

Reviewed by Sergio Villar Senin.

This way, if a resize is scheduled, for example, and there are pending updates, the resize will happen first,
and then the updates will happen at the right size.

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:

(WebKit::CompositingRunLoop::CompositingRunLoop): Use G_PRIORITY_HIGH_IDLE as update timer priority. The actual
priority doesn't really matter as long as it's lower than G_PRIORITY_DEFAULT, because there are only two
possible sources in the compositing run loop, one for the tasks scheduled, and another one for the update timer.

9:24 AM Changeset in webkit [205483] by Michael Catanzaro
  • 2 edits in trunk/Tools

"Redundant argument in sprintf" warning spam from prepare-ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=161606

Reviewed by Darin Adler.

Avoid extra arguments in call to sprintf, hopefully without introducing new warnings this
time.

  • Scripts/prepare-ChangeLog:

(statusDescription):

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

Rebaseline http/tests/cookies/third-party-cookie-relaxing.html for Sierra.

Unreviewed test gardening.

  • platform/mac/http/tests/cookies/third-party-cookie-relaxing-expected.txt:
9:03 AM Changeset in webkit [205481] by commit-queue@webkit.org
  • 5 edits in trunk

http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=161627

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

Source/WebCore:

Covered by changed expectation.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::redirectReceived): Clearing the resource in lieu of clearing the request. This will stop the resource load.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse): Adding an ASSERT to ensure that no valid redirect responses is mistakenly processed here.

LayoutTests:

9:01 AM Changeset in webkit [205480] by commit-queue@webkit.org
  • 4 edits in trunk

Using tests-options.json to compute whether tests are slow
https://bugs.webkit.org/show_bug.cgi?id=161626

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

Tools:

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

(Manager.init): Loading tests-options.json
(Manager._test_is_slow): Computing timeout value based on tests-options.json.

LayoutTests:

  • TestExpectations: Removing slow WPT expectations now that they are handled through tests-options.json.
9:00 AM Changeset in webkit [205479] by Alan Bujtas
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: !currBox->needsLayout() in WebCore::RenderBlock::checkPositionedObjectsNeedLayout
https://bugs.webkit.org/show_bug.cgi?id=120291
<rdar://problem/27683456>

Reviewed by David Hyatt.

Source/WebCore:

This patch ensures that we always set the 'positioned child needs layout' bit on the containing block
when a new positioned descendant gets inserted. It fixes cases for simplified layout when
we ended up not laying out the descendant element.

Test: fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::insertPositionedObject):

LayoutTests:

  • fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out-expected.txt: Added.
  • fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out.html: Added.
7:32 AM Changeset in webkit [205478] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

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

Introduced "Use of uninitialized value $original in sprintf"
warning (Requested by mcatanzaro on #webkit).

Reverted changeset:

""Redundant argument in sprintf" warning spam from prepare-
ChangeLog"
https://bugs.webkit.org/show_bug.cgi?id=161606
http://trac.webkit.org/changeset/205461

7:29 AM Changeset in webkit [205477] by Michael Catanzaro
  • 2 edits in trunk/Source/JavaScriptCore

Silence GCC warning spam introduced in r205462

Rubber-stamped by Filip Pizlo.

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

5:30 AM Changeset in webkit [205476] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk

W3C test importer should be able to identify slow test
https://bugs.webkit.org/show_bug.cgi?id=161601

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

Tools:

Test parser is now identifying slow tests based on "meta element name=timeout content=long" elements.
Test importer is updating test-options.json file according that information.

In case of clean import, the test-options.json is cleaned from 'slow' options for all W3C tests.

  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.init):
(TestImporter.find_importable_tests):
(TestImporter.import_tests):
(TestImporter.update_test_options):
(TestImporter):
(TestImporter.remove_slow_from_w3c_test_options):

  • Scripts/webkitpy/w3c/test_parser.py:

(TestParser.analyze_test):
(TestParser.is_slow_test):
(TestParser.potential_ref_filename):

LayoutTests:

  • tests-options.json: Added.
4:28 AM Changeset in webkit [205475] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] glImageTargetTexture2D() is a GL function, rename accordingly
https://bugs.webkit.org/show_bug.cgi?id=161622

Patch by Emanuele Aina <Emanuele Aina> on 2016-09-06
Reviewed by Carlos Garcia Campos.

glImageTargetTexture2D() is a GL function, not EGL, using the 'egl'
prefix is misleading.

  • UIProcess/gtk/WaylandCompositor.cpp:

(WebKit::WaylandCompositor::Surface::prepareTextureForPainting):
(WebKit::WaylandCompositor::initializeEGL):

4:19 AM Changeset in webkit [205474] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[GTK][EFL] Make *_PROCESS_CMD_PREFIX conditional on DEVELOPER_MODE
https://bugs.webkit.org/show_bug.cgi?id=161621

Patch by Emanuele Aina <Emanuele Aina> on 2016-09-06
Reviewed by Carlos Garcia Campos.

Instead of enabling support for the *_PROCESS_CMD_PREFIX set of
environment valiables (eg. WEB_PROCESS_CMD_PREFIX) on debug builds
only, enable it when DEVELOPER_MODE is enabled as it already guards
similar features (eg. WEBKIT_EXEC_PATH).

  • UIProcess/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::getLaunchOptions):

  • UIProcess/Launcher/ProcessLauncher.h:
  • UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::ProcessLauncher::launchProcess):

4:06 AM Changeset in webkit [205473] by commit-queue@webkit.org
  • 55 edits
    17 adds in trunk

CachedResourceLoader is not taking into account fetch options to use or not cached resources
https://bugs.webkit.org/show_bug.cgi?id=161389

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

LayoutTests/imported/w3c:

Updated as new console log messages appear now that cors checks are done at SubresourceLoader level.

  • web-platform-tests/XMLHttpRequest/security-consideration.sub-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-basic.js: Fixing a typo in the test making the test always passing, since the fetch promise was not taken into account.
  • web-platform-tests/fetch/api/cors/cors-multiple-origins-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-origin-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-origin.js:

(corsOrigin): Fixing a typo in the test making the tests always passing, since the fetch promise was not taken into account.

  • web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt:

Source/WebCore:

Tests: http/tests/fetch/fetching-same-resource-with-diffferent-options.html

http/tests/security/cross-origin-cached-resource-parallel.html
http/tests/security/cross-origin-cached-resource.html
http/tests/security/load-image-after-redirection-2.html
http/tests/security/shape-outside-and-cached-resources.html

Adding CORS checks for the response in case of CORS fetch mode, in SubresourceLoader.
Removing the CORS checks in Image and DocumentThreadableLoader.

The direction of this patch is to make CachedResource origin-specific/fetch mode specific.

This will remove the need for CachedResource clients to do CORS checks when receiving the notifyFinished call.
This will also make the computation of whether a resource is clean or not much easier since the CachedResource knowd its origin and its response tainting.

Removing the CORS checks at ImageLoader creates the risk of using some cached resources loaded from previously no-cors mode without doing the actual CORS check.
Note that the risk was already there in case of a resource loaded through redirections.
Reusing a cached resource for a load with different options also leads to bad computation of the resource tainting.

As a first step, improvements are done but only for CachedImage resources.

This patch limits the direct reuse of cached resources as follow:

  • If the request and existing resources have different origins.
  • If the fetch mode is different between request and existing resource.

In those cases, a new CachedResource is created with the correct options and origin.
The data and response of the CachedResource found in the cache are copied efficiently in the new CachedResource, if the matching CachedResource finished loading (CachedImage specific).

If the matching CachedResource is still loading, we trigger a reload (with caching=false to not disturb the being loaded resource).
This should be made more efficient at some point, especially if the matching CachedResource already has its response set.

This triggers a change of behavior: previously, the CORS checks were done by the ImageLoader when the resource was finished loading.
The CORS checks were controlled by the crossOrigin attribute, which may be set or unset between the load start and the load end.

Now the crossOrigin attribute is checked at load start. If it is set, the CORS checks will happen even if the attribute is unset before the end of the load.
This is more consistent as the actual request was built with CORS enabled.

  • loader/CrossOriginPreflightChecker.cpp:

(WebCore::CrossOriginPreflightChecker::startPreflight): Setting correctly the preflight options as per fetch spec.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::didReceiveResponse): Removing CORS check.
(WebCore::DocumentThreadableLoader::loadRequest): Adding CORS check in sync mode.

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse): Adding CORS checks to the response
(WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl): Helper routine to do CORS checks

  • loader/SubresourceLoader.h:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::cloneData): Responsible to set image content from another CachedImage.

  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::computeOrigin): Helper routine to set the origin and whether the resource is cross-origin or not.
(WebCore::CachedResource::load): Using computeOrigin.
(WebCore::CachedResource::loadFrom): Loading from a CachedResource from the same type and which finished loading.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::cloneData):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest): Helper routine responsible to adapt the CachedResource
that can be reused to the origin and options of a new request.
(WebCore::CachedResourceLoader::requestResource): Calling updateCachedResourceWithCurrentRequest before actually returning the resource.
(WebCore::CachedResourceLoader::determineRevalidationPolicy): Space clean-up.

  • loader/cache/CachedResourceLoader.h:
  • loader/cache/CachedResourceRequest.h:

(WebCore::CachedResourceRequest::setCachingPolicy):

  • style/StylePendingResources.cpp:

(WebCore::Style::loadPendingImage): Allowing data URLs for ShapeOutside data.

LayoutTests:

Added specific expectations for fetch cors-origin* tests for mac-wk2 and ios-simulator-wk2 as these tests use
HTTPS, and the connection is refused.

  • TestExpectations: Marking http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin.html as flaky.
  • http/tests/eventsource/eventsource-cors-basic-expected.txt:
  • http/tests/eventsource/eventsource-cors-with-credentials-expected.txt:
  • http/tests/fetch/fetching-same-resource-with-diffferent-options-expected.txt: Added.
  • http/tests/fetch/fetching-same-resource-with-diffferent-options.html: Added.
  • http/tests/loading/cross-origin-XHR-willLoadRequest-expected.txt:
  • http/tests/resources/download-json-with-delay.php:
  • http/tests/resources/redirect.php:
  • http/tests/security/cross-origin-cached-resource-expected.txt: Added.
  • http/tests/security/cross-origin-cached-resource-parallel-expected.txt: Added.
  • http/tests/security/cross-origin-cached-resource-parallel.html: Added.
  • http/tests/security/cross-origin-cached-resource.html: Added.
  • http/tests/security/img-with-failed-cors-check-fails-to-load-expected.txt:
  • http/tests/security/load-image-after-redirection-2-expected.txt: Added.
  • http/tests/security/load-image-after-redirection-2.html: Added.
  • http/tests/security/resources/abe-allow-star.php:
  • http/tests/security/resources/allow-if-origin.php: Added.
  • http/tests/security/resources/cross-origin-cached-resource-iframe.html: Added.
  • http/tests/security/resources/rgbalpha.png: Added.
  • http/tests/security/shape-outside-and-cached-resources-expected.html: Added.
  • http/tests/security/shape-outside-and-cached-resources.html: Added.
  • http/tests/security/video-poster-cross-origin-crash-expected.txt:
  • http/tests/security/video-poster-cross-origin-crash2-expected.txt:
  • http/tests/xmlhttprequest/access-control-and-redirects-async-same-origin-expected.txt:
  • http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash-expected.txt:
  • http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
  • http/tests/xmlhttprequest/cross-origin-no-credential-prompt-expected.txt:
  • http/tests/xmlhttprequest/cross-site-denied-response-expected.txt:
  • http/tests/xmlhttprequest/onerror-event-expected.txt:
  • http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt:
  • http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt:
  • http/tests/xmlhttprequest/post-blob-content-type-async-expected.txt:
  • http/tests/xmlhttprequest/redirect-cross-origin-2-expected.txt:
  • http/tests/xmlhttprequest/redirect-cross-origin-expected.txt:
  • http/tests/xmlhttprequest/simple-cross-origin-denied-events-expected.txt:
  • http/tests/xmlhttprequest/simple-cross-origin-progress-events-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Added.
  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Added.
  • platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Added.
  • platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Added.
2:48 AM Changeset in webkit [205472] by pvollan@apple.com
  • 2 edits in trunk/Tools

[Win] Crash logs have incorrect symbols.
https://bugs.webkit.org/show_bug.cgi?id=161603

Reviewed by Darin Adler.

Add build path to _NT_SYMBOL_PATH environment variable.

  • Scripts/webkitpy/port/win.py:

(WinPort.setup_crash_log_saving):

12:09 AM Changeset in webkit [205471] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening

  • platform/gtk/TestExpectations: Mark 2 mediastream tests as crashing
12:03 AM WebKitGTK/2.14.x edited by Carlos Garcia Campos
(diff)
Note: See TracTimeline for information about the timeline view.