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

Timeline



Dec 2, 2016:

11:28 PM Changeset in webkit [209296] by keith_miller@apple.com
  • 4 edits in trunk

Unreviewed, fix git having a breakdown over trying to reland a rollout.

10:40 PM Changeset in webkit [209295] by keith_miller@apple.com
  • 5 edits
    2 adds in trunk

[JSC] add additional bit to JSTokenType bitfield
https://bugs.webkit.org/show_bug.cgi?id=165091

Patch by Caitlin Potter <caitp@igalia.com> on 2016-12-02
Reviewed by Geoffrey Garen.

JSTests:

  • stress/bug-165091.js: Added.

(shouldThrowSyntaxError):

Source/JavaScriptCore:

Avoid overflow which causes keyword tokens to be treated as unary
tokens now that "async" is tokenized as a keyword, by granting an
additional 64 bits to be occupied by token IDs.

  • parser/ParserTokens.h:
7:58 PM Changeset in webkit [209294] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit2

[iOS] Add a WebView private configuration for changing the WebContent update frequency
https://bugs.webkit.org/show_bug.cgi?id=165289
<rdar://problem/29472577>

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-12-02
Reviewed by Tim Horton.

Expose a preference which allows us to control the fps of web content updates.

  • UIProcess/API/APIPageConfiguration.h:

(API::PageConfiguration::contentUpdateFrequency):
(API::PageConfiguration::setContentUpdateFrequency):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _initializeWithConfiguration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _contentUpdateFrequency]):
(-[WKWebViewConfiguration _setContentUpdateFrequency:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(-[WKOneShotDisplayLinkHandler initWithDrawingAreaProxy:]):
(WebKit::RemoteLayerTreeDrawingAreaProxy::contentUpdateFrequency):

7:39 PM Changeset in webkit [209293] by caitp@igalia.com
  • 3 edits
    1 add in trunk

[JSC] add additional bit to JSTokenType bitfield
https://bugs.webkit.org/show_bug.cgi?id=165091

Reviewed by Geoffrey Garen.

JSTests:

  • stress/bug-165091.js: Added.

(shouldThrowSyntaxError):

Source/JavaScriptCore:

Avoid overflow which causes keyword tokens to be treated as unary
tokens now that "async" is tokenized as a keyword, by granting an
additional 64 bits to be occupied by token IDs.

  • parser/ParserTokens.h:
6:44 PM Changeset in webkit [209292] by Simon Fraser
  • 21 edits in trunk/Source/WebCore

Put names on layers in release builds
https://bugs.webkit.org/show_bug.cgi?id=165347

Reviewed by Tim Horton.

Put names on GraphicsLayers (and therefore CALayers) in release builds. Release names
are a simpler, truncated version of debug names, with <tagname> id class names.

Non-primary layer names converted to lowercase and "layer" removed.

Fix comments that refer to gdb.

Use ENABLE(TREE_DEBUGGING) in more places.

  • dom/Node.h:
  • dom/Position.h:
  • dom/Range.h:
  • editing/FrameSelection.h:
  • editing/VisiblePosition.h:
  • editing/VisibleSelection.h:
  • history/HistoryItem.h:
  • page/FrameTree.h:
  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setName):
(WebCore::GraphicsLayerCA::setContentsToSolidColor):
(WebCore::GraphicsLayerCA::updateNames):
(WebCore::GraphicsLayerCA::updateBackdropFilters):
(WebCore::GraphicsLayerCA::updateContentsImage):
(WebCore::GraphicsLayerCA::updateClippingStrategy):
(WebCore::GraphicsLayerCA::updateContentsRects):
(WebCore::GraphicsLayerCA::changeLayerTypeTo):

  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::tileGridContainerLayerName):
(WebCore::TileController::zoomedOutTileGridContainerLayerName):
(WebCore::TileController::createTileLayer):

  • rendering/CounterNode.h:
  • rendering/InlineBox.h:
  • rendering/InlineFlowBox.h:
  • rendering/RenderCounter.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::name):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createGraphicsLayer):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateAncestorClippingLayer):
(WebCore::RenderLayerBacking::updateDescendantClippingLayer):
(WebCore::RenderLayerBacking::updateForegroundLayer):
(WebCore::RenderLayerBacking::updateBackgroundLayer):
(WebCore::RenderLayerBacking::updateMaskingLayer):
(WebCore::RenderLayerBacking::updateChildClippingStrategy):
(WebCore::RenderLayerBacking::updateScrollingLayers):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
(WebCore::RenderLayerCompositor::ensureRootLayer):

  • rendering/RenderObject.h:
6:40 PM Changeset in webkit [209291] by graouts@webkit.org
  • 7 edits in trunk

[Modern Media Controls] Update the media controls size as the media element is resized
https://bugs.webkit.org/show_bug.cgi?id=165346

Reviewed by Dean Jackson.

The "resize" event dispatched by HTMLMediaElement indicates a change in the media's
intrinsic size, while the "resize" event dispatched by the HTMLMediaElement's ShadowRoot
indicates that the layout size of the media element has changed. We now use the latter.

  • Modules/modern-media-controls/media/media-controller.js:

(MediaController):
(MediaController.prototype.handleEvent):

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

Marking fast/dom/Window/window-resize-contents.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=165352

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
5:41 PM Changeset in webkit [209289] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-602.4.1

New tag.

5:31 PM Changeset in webkit [209288] by aestes@apple.com
  • 46 edits in trunk

[Cocoa] Adopt the PRODUCT_BUNDLE_IDENTIFIER build setting
https://bugs.webkit.org/show_bug.cgi?id=164492

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

  • Configurations/JavaScriptCore.xcconfig: Set PRODUCT_BUNDLE_IDENTIFIER to

com.apple.$(PRODUCT_NAME:rfc1034identifier).

  • Info.plist: Changed CFBundleIdentifier's value from com.apple.${PRODUCT_NAME} to

${PRODUCT_BUNDLE_IDENTIFIER}.

Source/WebCore:

  • Configurations/WebCore.xcconfig: Set PRODUCT_BUNDLE_IDENTIFIER to

com.apple.$(PRODUCT_NAME:rfc1034identifier).

  • Info.plist: Changed CFBundleIdentifier's value from com.apple.${PRODUCT_NAME} to

${PRODUCT_BUNDLE_IDENTIFIER}.

Source/WebInspectorUI:

  • Configurations/WebInspectorUIFramework.xcconfig: Set PRODUCT_BUNDLE_IDENTIFIER to

com.apple.$(PRODUCT_NAME:rfc1034identifier).

  • Info.plist: Changed CFBundleIdentifier's value from

com.apple.${PRODUCT_NAME:rfc1034identifier} to ${PRODUCT_BUNDLE_IDENTIFIER}.

Source/WebKit/mac:

  • Configurations/WebKitLegacy.xcconfig: Set PRODUCT_BUNDLE_IDENTIFIER to

com.apple.$(PRODUCT_NAME:rfc1034identifier).

  • Info.plist: Changed CFBundleIdentifier's value from com.apple.${PRODUCT_NAME} to

${PRODUCT_BUNDLE_IDENTIFIER}.

Source/WebKit2:

  • Configurations/DatabaseService.xcconfig: Set PRODUCT_BUNDLE_IDENTIFIER to

$(PRODUCT_NAME).

  • Configurations/NetworkService.xcconfig: Ditto.
  • Configurations/PluginService.32.xcconfig: Ditto.
  • Configurations/PluginService.64.xcconfig: Ditto.
  • Configurations/WebContentService.xcconfig: Ditto.
  • Configurations/WebKit.xcconfig: Set PRODUCT_BUNDLE_IDENTIFIER to

com.apple.$(PRODUCT_NAME:rfc1034identifier).

  • DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: Changed

CFBundleIdentifier's value from ${PRODUCT_NAME} to ${PRODUCT_BUNDLE_IDENTIFIER}.

  • Info.plist: Changed CFBundleIdentifier's value from com.apple.${PRODUCT_NAME} to

${PRODUCT_BUNDLE_IDENTIFIER}.

  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: Changed

CFBundleIdentifier's value from ${PRODUCT_NAME} to ${PRODUCT_BUNDLE_IDENTIFIER}.

  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: Ditto.
  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: Ditto.
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: Ditto.
  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: Ditto.
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: Ditto.
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: Ditto.
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist: Ditto.

Tools:

  • DumpRenderTree/TestNetscapePlugIn/mac/Info.plist: Changed CFBundleIdentifier's value from

com.apple.testnetscapeplugin to ${PRODUCT_BUNDLE_IDENTIFIER}.

  • DumpRenderTree/ios/Info.plist: Changed CFBundleIdentifier's value from

org.webkit.DumpRenderTree to ${PRODUCT_BUNDLE_IDENTIFIER}.

  • DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig: Set

PRODUCT_BUNDLE_IDENTIFIER to org.webkit.DumpRenderTree.

  • DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig: Set

PRODUCT_BUNDLE_IDENTIFIER to com.apple.testnetscapeplugin.

  • MiniBrowser/Configurations/MiniBrowser.xcconfig: Set PRODUCT_BUNDLE_IDENTIFIER to

org.webkit.$(PRODUCT_NAME:rfc1034identifier).

  • MiniBrowser/Configurations/MiniBrowserBundle.xcconfig: Set PRODUCT_BUNDLE_IDENTIFIER to

com.apple.$(PRODUCT_NAME:rfc1034identifier).

  • MiniBrowser/mac/Bundle/Info.plist: Changed CFBundleIdentifier's value from

com.apple.${PRODUCT_NAME:rfc1034identifier} to ${PRODUCT_BUNDLE_IDENTIFIER}.

  • MiniBrowser/mac/Info.plist: Changed CFBundleIdentifier's value from

org.webkit.${PRODUCT_NAME} to ${PRODUCT_BUNDLE_IDENTIFIER}.

  • TestWebKitAPI/Configurations/InjectedBundle.xcconfig: Set INFOPLIST_FILE to

InjectedBundle-Info.plist and set PRODUCT_BUNDLE_IDENTIFIER to
com.apple.$(PRODUCT_NAME:rfc1034identifier).

  • TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Set PRODUCT_BUNDLE_IDENTIFIER to

com.apple.$(PRODUCT_NAME:rfc1034identifier).

  • TestWebKitAPI/InjectedBundle-Info.plist: Changed CFBundleIdentifier's value from

com.yourcompany.${PRODUCT_NAME:rfc1034identifier} to ${PRODUCT_BUNDLE_IDENTIFIER}.

  • TestWebKitAPI/cocoa/WebProcessPlugIn/Info.plist: Added a CFBundleIdentifier key with the

value ${PRODUCT_BUNDLE_IDENTIFIER}.

  • WebKitTestRunner/Configurations/InjectedBundle.xcconfig: Set INFOPLIST_FILE to

InjectedBundle-Info.plist and set PRODUCT_BUNDLE_IDENTIFIER to
com.apple.WebKitTestRunner.InjectedBundle.

  • WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig: Set

PRODUCT_BUNDLE_IDENTIFIER to org.webkit.$(PRODUCT_NAME:rfc1034identifier).

  • WebKitTestRunner/InjectedBundle-Info.plist: Changed CFBundleIdentifier's value from

com.apple.WebKitTestRunner.InjectedBundle to ${PRODUCT_BUNDLE_IDENTIFIER}.

  • WebKitTestRunner/WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist: Changed

CFBundleIdentifier's value from org.webkit.${PRODUCT_NAME:rfc1034identifier} to
${PRODUCT_BUNDLE_IDENTIFIER}.

5:20 PM Changeset in webkit [209287] by dino@apple.com
  • 1 edit
    1 add in trunk/Websites/webkit.org

Make a public facing page to check for WebKit features
https://bugs.webkit.org/show_bug.cgi?id=165331
<rdar://problem/29488535>

Reviewed by Antoine Quint.

Add a web page to webkit.org that allows us to live
detect our experimental features. This is mostly for
internal debugging, but also provides simple examples
of how real content would do such detection.

  • experimental-features.html: Added.
5:09 PM Changeset in webkit [209286] by hyatt@apple.com
  • 2 edits in trunk/LayoutTests

[CSS Parser] Turn off more tests until new parser is on
https://bugs.webkit.org/show_bug.cgi?id=165349

Reviewed by Dean Jackson.

4:54 PM Changeset in webkit [209285] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Rebaseline fast/text/crash-complex-text-surrogate.html after r209279.

Unreviewed test gardening.

  • platform/ios-simulator/fast/text/crash-complex-text-surrogate-expected.txt:
  • platform/mac-yosemite/fast/text/crash-complex-text-surrogate-expected.txt:
4:37 PM Changeset in webkit [209284] by jfbastien@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

WebAssembly: mark WasmOps.h as private
https://bugs.webkit.org/show_bug.cgi?id=165335

Reviewed by Mark Lam.

  • JavaScriptCore.xcodeproj/project.pbxproj: WasmOps.h will be used by non-JSC and should therefore be private
4:35 PM Changeset in webkit [209283] by Chris Dumez
  • 7 edits
    2 deletes in trunk

Unreviewed, rolling out r209275 and r209276.
https://bugs.webkit.org/show_bug.cgi?id=165348

"broke the arm build" (Requested by keith_miller on #webkit).

Reverted changesets:

"Add Wasm floating point nearest and trunc"
https://bugs.webkit.org/show_bug.cgi?id=165339
http://trac.webkit.org/changeset/209275

"Unreviewed, forgot to change instruction after renaming."
http://trac.webkit.org/changeset/209276

Patch by Commit Queue <commit-queue@webkit.org> on 2016-12-02

4:22 PM Changeset in webkit [209282] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

HTML Interactive Form Validation popovers do not show in iOS WKWebViews
https://bugs.webkit.org/show_bug.cgi?id=165340
<rdar://problem/29489966>

Reviewed by Simon Fraser.

HTML Interactive Form Validation popovers do not show in iOS WKWebViews,
only in MobileSafari. To address the issue try to find an appropriate
UIViewController to present the popover when the client does not provide
a presenting view controller.

  • platform/ValidationBubble.h:
  • platform/ios/ValidationBubbleIOS.mm:

(WebCore::fallbackViewController):
(WebCore::ValidationBubble::setAnchorRect):

  • platform/spi/ios/UIKitSPI.h:
3:36 PM Changeset in webkit [209281] by matthew_hanson@apple.com
  • 3 edits in tags/Safari-603.1.14/Source/WebCore

Merge r209264. rdar://problem/29487187

3:21 PM Changeset in webkit [209280] by Brent Fulgham
  • 5 edits in trunk/Source/WebKit2

[Mac] Update sandbox profiles to use modern syntax and avoid duplication
https://bugs.webkit.org/show_bug.cgi?id=165332
<rdar://problem/26898991>

Reviewed by Anders Carlsson.

Update the Mac sandbox profiles to reflect that modern Cocoa applications
communicate with cfprefsd, rather than plists on disk (and have done so
for the past several releases).

Get rid of some duplicated rules, as well as old compatibility rules that
are never triggered under supported operating systems.

  • DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in:
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
3:07 PM Changeset in webkit [209279] by hyatt@apple.com
  • 6 edits in trunk/LayoutTests

[CSS Parser] Fix errors in numerous layout tests
https://bugs.webkit.org/show_bug.cgi?id=165343

Reviewed by Zalan Bujtas.

  • fast/backgrounds/repeat/parsing-background-repeat-expected.txt:
  • fast/backgrounds/repeat/script-tests/parsing-background-repeat.js:

The old parser partially applies shorthands, even if it rejects later on.
The new parser properly rejects the entire shorthand. Fix the test so that
the numbers at the end are not unitless so that the entire shorthand parses, allowing
the components to be obtained.

  • fast/css/unknown-pseudo-element-matching-expected.txt:
  • fast/css/unknown-pseudo-element-matching.html:
  • fast/text/crash-complex-text-surrogate.html:

The old parser allows the tag name to be omitted following a namespace bar (|). This
is not legal according to the namespaces spec, and the new parser behaves correctly.
For the crash test, it's important that all the code still runs, so we know the crash
doesn't happen, so I patched the test to put in '*' for the tag names to keep everything
the same.

For the unknown-pseudo-element test, I just removed the five invalid cases.

3:07 PM Changeset in webkit [209278] by matthew_hanson@apple.com
  • 22 edits in tags/Safari-603.1.14

Merge r209242.

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

Remove redundant LayoutUnit conversions.
https://bugs.webkit.org/show_bug.cgi?id=165338

Reviewed by Simon Fraser.

RenderBlockFlow::computeColumnCountAndWidth has some redundant LayoutUnti <-> unsigned conversions.

No change in functionality.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeColumnCountAndWidth):

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

Unreviewed, forgot to change instruction after renaming.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::nearestIntDouble):
(JSC::MacroAssemblerARM64::nearestIntFloat):

2:59 PM Changeset in webkit [209275] by keith_miller@apple.com
  • 7 edits
    2 adds in trunk

Add Wasm floating point nearest and trunc
https://bugs.webkit.org/show_bug.cgi?id=165339

Reviewed by Filip Pizlo.

JSTests:

  • wasm/function-tests/nearest.js: Added.
  • wasm/function-tests/trunc.js: Added.

Source/JavaScriptCore:

This patch also allows any wasm primitive type to be passed as a
string.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::nearestIntDouble):
(JSC::MacroAssemblerARM64::nearestIntFloat):
(JSC::MacroAssemblerARM64::truncDouble):
(JSC::MacroAssemblerARM64::truncFloat):

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::nearestIntDouble):
(JSC::MacroAssemblerX86Common::nearestIntFloat):

  • jsc.cpp:

(box):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::addOp<F64ConvertUI64>):
(JSC::Wasm::B3IRGenerator::addOp<OpType::F32ConvertUI64>):
(JSC::Wasm::B3IRGenerator::addOp<OpType::F64Nearest>):
(JSC::Wasm::B3IRGenerator::addOp<OpType::F32Nearest>):
(JSC::Wasm::B3IRGenerator::addOp<OpType::F64Trunc>):
(JSC::Wasm::B3IRGenerator::addOp<OpType::F32Trunc>):

  • wasm/WasmFunctionParser.h:

(JSC::Wasm::FunctionParser<Context>::parseExpression):

2:53 PM Changeset in webkit [209274] by hyatt@apple.com
  • 2 edits in trunk/LayoutTests

[CSS Parser] Turn off the large value test, since clamping is not the same.
https://bugs.webkit.org/show_bug.cgi?id=165341

Reviewed by Zalan Bujtas.

2:44 PM Changeset in webkit [209273] by fpizlo@apple.com
  • 2 edits in trunk/PerformanceTests

ES6SampleBench should report an average for Steady State so that all of the numbers are comparable
https://bugs.webkit.org/show_bug.cgi?id=165325

Reviewed by Saam Barati.

This makes all of the numbers that ES6SampleBench reports comparable to each other: they all speak of the time
it took to run an iteration of something.

  • ES6SampleBench/results.js:

(Results.prototype.reportResult):

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

Marking three imported/w3c/web-platform-tests/IndexedDB/idbindex-* tests as flaky on macOS debug.
https://bugs.webkit.org/show_bug.cgi?id=165222

Unreviewed test gardening.

  • platform/mac/TestExpectations:
2:36 PM Changeset in webkit [209271] by graouts@webkit.org
  • 12 edits
    4 copies
    8 adds in trunk

[Modern Media Controls] Add rewind and fast-forward support
https://bugs.webkit.org/show_bug.cgi?id=165294

Reviewed by Dean Jackson.

We implement support for rewinding and fast-forwarding the media by pressing dedicated
buttons in fullscreen on macOS. We introduce a new SeekButton class that the existing
RewindButton and ForwardButton classes now extend and which provides handling of
"mousedown" and "mouseup" events to indicate that a button is being pressed to the
UI delegate.

We also introduce a new SeekSupport class from which SeekBackwardSupport and
SeekForwardSupport inherit to integrate with those controls and update the media
time.

Tests: media/modern-media-controls/layout-node/layout-node-parent-of-type.html

media/modern-media-controls/seek-backward-support/seek-backward-support.html
media/modern-media-controls/seek-forward-support/seek-forward-support.html

  • Modules/modern-media-controls/controls/forward-button.js:
  • Modules/modern-media-controls/controls/layout-node.js:

(LayoutNode.prototype.parentOfType):

  • Modules/modern-media-controls/controls/rewind-button.js:
  • Modules/modern-media-controls/controls/seek-button.js: Added.

(SeekButton):
(SeekButton.prototype.handleEvent):
(SeekButton.prototype._didStartPressing):
(SeekButton.prototype._didStopPressing):
(SeekButton.prototype._notifyDelegateOfPressingState):

  • Modules/modern-media-controls/js-files:
  • Modules/modern-media-controls/media/media-controller.js:

(MediaController.prototype._updateControlsIfNeeded):

  • Modules/modern-media-controls/media/seek-backward-support.js: Added.

(SeekBackwardSupport.prototype.get control):
(SeekBackwardSupport.prototype.get multiplier):
(SeekBackwardSupport):

  • Modules/modern-media-controls/media/seek-forward-support.js: Added.

(SeekForwardSupport.prototype.get control):
(SeekForwardSupport.prototype.get multiplier):
(SeekForwardSupport):

  • Modules/modern-media-controls/media/seek-support.js: Added.

(SeekSupport.prototype.get multiplier):
(SeekSupport.prototype.buttonPressedStateDidChange):
(SeekSupport.prototype._startSeeking):
(SeekSupport.prototype._stopSeeking):
(SeekSupport.prototype._seek):
(SeekSupport):

  • WebCore.xcodeproj/project.pbxproj:
2:34 PM Changeset in webkit [209270] by matthew_hanson@apple.com
  • 5 edits in trunk/Source

‘Versioning.’

2:29 PM Changeset in webkit [209269] by beidson@apple.com
  • 2 edits in trunk/Tools

Make IndexedDB.WebProcessKillIDBCleanup even more reliable.
https://bugs.webkit.org/show_bug.cgi?id=165330

Reviewed by Alex Christensen.

The test currently nulls out a RetainPtr<WKWebView> to try to destroy the view and kill the process.

Problem is that doesn't reliably destroy the view.
We should explicitly kill the process instead.

Also, by relocating when we kill the process, we can better test behavior of the IndexedDB mechanism.
e.g. We explicitly confirm that a second WebProcess can simultaneously attach to the same unique database as the first.

  • TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup.mm:

(TEST):

2:27 PM Changeset in webkit [209268] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-603.1.14

New tag.

2:17 PM Changeset in webkit [209267] by Chris Dumez
  • 2 edits in trunk/Source/WebKit/mac

Regression(r209252): HTML interactive validation should not be enabled on iOS WK1 yet
https://bugs.webkit.org/show_bug.cgi?id=165328

Reviewed by Simon Fraser.

Only enable HTML interactive form validation on Mac WK1, not iOS WK1.

  • WebView/WebViewData.mm:

(-[WebViewPrivate init]):

2:15 PM Changeset in webkit [209266] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

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

broke 36 webkitpy tests (Requested by mcatanzaro on #webkit).

Reverted changeset:

"Make it possible to use an existing simulator instance for
one-off testing"
https://bugs.webkit.org/show_bug.cgi?id=164568
http://trac.webkit.org/changeset/209136

2:07 PM Changeset in webkit [209265] by hyatt@apple.com
  • 8 edits in trunk/Source/WebCore

[CSS Parser] Need to set edit flags properly when user-modify/select are used.
https://bugs.webkit.org/show_bug.cgi?id=165334

Reviewed by Dean Jackson.

The old parser calls parserSetUsesStyleBasedEditability on
StyleSheetContents* from inside isValidKeywordPropertyAndValue. This
is pretty lame, but we have to do the same in order to pass editing
layout tests.

All of the functions below have been patched with the sole purpose of
propagating StyleSheetContents* through to isValidKeywordPropertyAndValue
in the new parser.

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences):

  • css/parser/CSSParser.h:
  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::parseKeywordValue):
(WebCore::CSSParserFastPaths::maybeParseValue):

  • css/parser/CSSParserFastPaths.h:
  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::consumeDeclarationValue):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::CSSPropertyParser):
(WebCore::CSSPropertyParser::parseValue):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::parseFontFaceDescriptor):
(WebCore::CSSPropertyParser::consumeFont):
(WebCore::CSSPropertyParser::parseShorthand):

  • css/parser/CSSPropertyParser.h:
2:00 PM Changeset in webkit [209264] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

REGRESSION (r208802): TouchBar pause button doesn't work
https://bugs.webkit.org/show_bug.cgi?id=165333
-and corresponding-
rdar://problem/29487187

Reviewed by Wenson Hsieh.

The previous code got this right by using self.playing. _playing was totally un-
used, so this patch just removes it.

  • platform/mac/WebPlaybackControlsManager.h:
  • platform/mac/WebPlaybackControlsManager.mm:

(-[WebPlaybackControlsManager setPlaying:]):

1:46 PM Changeset in webkit [209263] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking media/modern-media-controls/scrubber-support/scrubber-support-click.html as a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=165327

Unreviewed test gardening.

1:46 PM Changeset in webkit [209262] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking http/tests/inspector/network/xhr-request-data-encoded-correctly.html as a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=164033

Unreviewed test gardening.

  • platform/mac/TestExpectations:
1:33 PM Changeset in webkit [209261] by wilander@apple.com
  • 7 edits
    3 adds in trunk

Require preflight for non-standard CORS-safelisted request headers Accept, Accept-Language, and Content-Language
https://bugs.webkit.org/show_bug.cgi?id=165178
<rdar://problem/18792250>

Reviewed by Youenn Fablet.

Fetch currently only restricts the header Content-Type for simple requests:
https://fetch.spec.whatwg.org/#cors-safelisted-request-header

This means simple CORS requests can send unexpected characters in Accept,
Accept-Language, and Content-Language header values.

RFC 7231 implies restrictions on these header values:

As per discussions in the W3C WebAppSec group we should try to restrict
these header values to help protect servers that do not expect simple CORS
requests.

Non-standard, safelisted header values should trigger a preflight and require
the headers to be whitelisted in the response's Access-Control-Allow-Headers.
For Fetch in no-cors mode this change means non-standard header values are not
allowed to be set.

Source/WebCore:

Test: http/tests/xmlhttprequest/cors-non-standard-safelisted-headers-should-trigger-preflight.html

  • loader/CrossOriginAccessControl.cpp:

(WebCore::isSimpleCrossOriginAccessRequest):

Now calls WebCore::isCrossOriginSafeRequestHeader() instead of
WebCore::isOnAccessControlSimpleRequestHeaderWhitelist().

(WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Deleted.

It was a duplicate of WebCore::isCrossOriginSafeRequestHeader().

  • loader/CrossOriginAccessControl.h:
  • loader/CrossOriginPreflightResultCache.cpp:

(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):

Now calls WebCore::isCrossOriginSafeRequestHeader() instead of
WebCore::isOnAccessControlSimpleRequestHeaderWhitelist().

  • platform/network/HTTPParsers.cpp:

(WebCore::isValidAcceptHeaderValue):

Basic check that the characters are all ASCII alphanumeric, ' ', '*', '.',
'/', ';', or '='.

(WebCore::isValidLanguageHeaderValue):

Basic check that the characters are all ASCII alphanumeric, ' ', '*', '-',
'.', ';', or '='.

(WebCore::isSimpleHeader):

Removed duplicate code. Now calls WebCore::isCrossOriginSafeRequestHeader().

(WebCore::isCrossOriginSafeRequestHeader):

Now makes a call to WebCore::isValidAcceptHeaderValue() for Accept
headers and WebCore::isValidLanguageHeaderValue() for Accept-Language
and Content-Language headers.

  • platform/network/HTTPParsers.h:

LayoutTests:

  • http/tests/xmlhttprequest/cors-non-standard-safelisted-headers-should-trigger-preflight-expected.txt: Added.
  • http/tests/xmlhttprequest/cors-non-standard-safelisted-headers-should-trigger-preflight.html: Added.

Tests that:

  • Normal Accept, Accept-Language, and Content-Language headers don't trigger

a preflight.

  • Abnormal Accept, Accept-Language, and Content-Language headers do trigger

a preflight.

  • Abnormal Accept, Accept-Language, and Content-Language headers are

accepted if the server whitelists them.

  • http/tests/xmlhttprequest/resources/cors-preflight-safelisted-headers-responder.php: Added.
1:25 PM Changeset in webkit [209260] by matthew_hanson@apple.com
  • 5 edits in branches/safari-602-branch/Source

Versioning.

1:25 PM Changeset in webkit [209259] by Alan Bujtas
  • 5 edits
    2 adds in trunk

ASSERTION FAILED: flowThread->regionInRange(region, startRegion, endRegion) in WebCore::RenderBox::borderBoxRectInRegion
https://bugs.webkit.org/show_bug.cgi?id=152113
<rdar://problem/27720221>

Reviewed by David Hyatt.

Source/WebCore:

In a nested column context, do not process a spanner if it belongs to an inner column.

While populating a flow, we search for possible spanners and construct multicolumnsets accordingly.
However due to the top-down nature of populating flows, a descendant spanner could belong to an inner
flow which hasn't been populated yet.
This patch checks if a potential spanner has an ancestor (which is also a descendant
of the flow that we are populating -> nested) that will eventually create a flow context.

Test: fast/multicol/assert-with-nested-columns-and-spanner.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeColumnCountAndWidth):
(WebCore::RenderBlockFlow::willCreateColumns):

  • rendering/RenderBlockFlow.h:
  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::isValidColumnSpanner):

LayoutTests:

  • fast/multicol/assert-with-nested-columns-and-spanner-expected.txt: Added.
  • fast/multicol/assert-with-nested-columns-and-spanner.html: Added.
1:02 PM Changeset in webkit [209258] by hyatt@apple.com
  • 4 edits in trunk

[CSS Parser] Make sure the z-component of transform-origin can be implicit
https://bugs.webkit.org/show_bug.cgi?id=165326

Reviewed by Tim Horton.

Source/WebCore:

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::consumeTransformOrigin):

LayoutTests:

12:59 PM Changeset in webkit [209257] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION (r192344): Web Inspector: Turning off Code Coverage or Type Profiler logs an error
https://bugs.webkit.org/show_bug.cgi?id=164804
<rdar://problem/29278028>

Reviewed by Matt Baker.

BasicBlockAnnotator and TypeTokenAnnotator were instanciated for a resource in an inactive Debugger tab.

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement):
Don't show any content view if we are not in a selected tab.

12:31 PM Changeset in webkit [209256] by hyatt@apple.com
  • 3 edits in trunk/LayoutTests

[CSS Parser] Fix invalid test font specification
https://bugs.webkit.org/show_bug.cgi?id=165324

Reviewed by Sam Weinig.

  • fast/text/trak-optimizeLegibility.html:
12:20 PM Changeset in webkit [209255] by hyatt@apple.com
  • 3 edits in trunk/Source/WebCore

[CSS Parser] Fix :any/:host to allow pseudo-elements. Support -webkit-border-radius.
https://bugs.webkit.org/show_bug.cgi?id=165323

Reviewed by Dean Jackson.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseShorthand):

  • css/parser/CSSSelectorParser.cpp:

(WebCore::CSSSelectorParser::consumePseudo):

12:12 PM Changeset in webkit [209254] by hyatt@apple.com
  • 2 edits in trunk/LayoutTests

[CSS Parser] Mark set-selector-text test, since it will need to be rewritten.
https://bugs.webkit.org/show_bug.cgi?id=165322

Reviewed by Dean Jackson.

12:05 PM Changeset in webkit [209253] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

[iOS] Tapping on an HTML validation bubble should dismiss it
https://bugs.webkit.org/show_bug.cgi?id=165122
<rdar://problem/29429372>

Reviewed by Simon Fraser.

Tapping on an HTML validation bubble should dismiss it. Previously it did
nothing.

No new tests, I tried writing one but the validation popover does not
show in the simulator, only on device. I believe at least one reason is that
_presentingViewControllerForWebView() is required and is currently not
implemented by WKTR. I'll look into this issue separately.

  • platform/ValidationBubble.h:
  • platform/ios/ValidationBubbleIOS.mm:

(-[WebValidationBubbleTapRecognizer initWithPopoverController:withPopoverView:]):
(-[WebValidationBubbleTapRecognizer dismissPopover]):
(WebCore::ValidationBubble::ValidationBubble):

12:05 PM Changeset in webkit [209252] by Chris Dumez
  • 13 edits
    2 adds in trunk

[Mac][WK1] Implement new HTML interactive form validation user interface
https://bugs.webkit.org/show_bug.cgi?id=164483

Reviewed by Simon Fraser.

Source/WebKit:

Add new files to xcode project.

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Implement new HTML interactive form validation user interface on Mac
WK1 and enable it by default.

  • WebCoreSupport/WebValidationMessageClient.h: Added.
  • WebCoreSupport/WebValidationMessageClient.mm: Added.

(WebValidationMessageClient::WebValidationMessageClient):
(WebValidationMessageClient::~WebValidationMessageClient):
(WebValidationMessageClient::showValidationMessage):
(WebValidationMessageClient::hideValidationMessage):
(WebValidationMessageClient::isValidationMessageVisible):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _frameOrBoundsChanged]):

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _willStartScrollingOrZooming]):
(-[WebView _contentsOfUserInterfaceItem:]):
(-[WebView _scaleWebView:atOrigin:]):
(-[WebView _didScrollDocumentInFrameView:]):
(-[WebView _setZoomMultiplier:isTextOnly:]):
(-[WebView showFormValidationMessage:withAnchorRect:]):
(-[WebView hideFormValidationMessage]):

  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:

(-[WebViewPrivate init]):

  • WebView/WebViewInternal.h:
  • WebView/WebViewPrivate.h:

Tools:

Add support for UIScriptController's contentsOfUserInterfaceItem("validationBubble")
on Mac DRT as this is needed by the HTML form validation layout tests.

  • DumpRenderTree/mac/UIScriptControllerMac.mm:

(WTR::UIScriptController::contentsOfUserInterfaceItem):

LayoutTests:

Unskip tests for HTML form validation that are now passing on Mac WK1.

  • platform/mac-wk1/TestExpectations:
11:55 AM Changeset in webkit [209251] by beidson@apple.com
  • 3 edits in trunk/Tools

IndexedDB.IndexedDBMultiProcess and IndexedDB.WebProcessKillIDBCleanup sometimes timeout.
https://bugs.webkit.org/show_bug.cgi?id=160780 and https://bugs.webkit.org/show_bug.cgi?id=161001

Reviewed by Alexey Proskuryakov.

These tests had "run-loop races."

The test spins the runloop waiting for one message.
Two messages might come in from the WebProcess in short succession, and both be delivered to the
UIProcess in the same spin of the runloop.

Therefore by the time the test stops spinning the runloop, notified that a message was received,
the first message has been overwritten by the second.

These tests are fixed by queueing the incoming messages instead of just storing one.

  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm:

(-[IndexedDBMPMessageHandler userContentController:didReceiveScriptMessage:]):
(getNextMessage):
(TEST):

  • TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup.mm:

(-[IndexedDBWebProcessKillMessageHandler userContentController:didReceiveScriptMessage:]):
(getNextMessage):
(TEST):

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

Marking media/modern-media-controls/tracks-support/tracks-support-click-track-in-panel.html as flaky on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=165319

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
11:19 AM Changeset in webkit [209249] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking media/modern-media-controls/media-controller/media-controller-fade-controls-when-entering-fullscreen.html as flaky on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=165318

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
10:51 AM Changeset in webkit [209248] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

[CSS Parser] Add support for the SVG 'kerning' property
https://bugs.webkit.org/show_bug.cgi?id=165315

Reviewed by Zalan Bujtas.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeKerning):
(WebCore::CSSPropertyParser::parseSingleValue):

10:40 AM Changeset in webkit [209247] by commit-queue@webkit.org
  • 5 edits
    3 deletes in trunk/Source/WebCore

[WebIDL] Remove support for the 'Nondeterministic' extended attribute
https://bugs.webkit.org/show_bug.cgi?id=165307

Patch by Sam Weinig <sam@webkit.org> on 2016-12-02
Reviewed by Chris Dumez.

We are not currently using the WebReplay functionality that the Nondeterministic
extended attribute is intended to aide. If we come back to WebReplay in the future,
we can bring it back.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
(GenerateImplementationFunctionCall):
(GetNativeTypeForMemoization): Deleted.

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp: Removed.
  • bindings/scripts/test/JS/JSTestNondeterministic.h: Removed.
  • bindings/scripts/test/TestNondeterministic.idl: Removed.
  • page/Navigator.idl:
  • page/Screen.idl:
10:38 AM Changeset in webkit [209246] by hyatt@apple.com
  • 1 edit
    2 deletes in trunk/LayoutTests

[CSS Parser] Require whitespace following condition tokens in media queries
https://bugs.webkit.org/show_bug.cgi?id=165314

Reviewed by Dean Jackson.

This test is invalid according to the media queries spec, which states that whitespace is
required following "and"/"or" tokens.

  • fast/css/media-rule-no-whitespace-expected.txt: Removed.
  • fast/css/media-rule-no-whitespace.html: Removed.
10:31 AM Changeset in webkit [209245] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

[CSS Parser] Support the -webkit-letterpress value for text-decoration
https://bugs.webkit.org/show_bug.cgi?id=165313

Reviewed by Dean Jackson.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeTextDecorationLine):

10:21 AM Changeset in webkit [209244] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking media/modern-media-controls/pip-support/pip-support-click.html as flaky on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=165311

Unreviewed test gardening.

  • platform/mac/TestExpectations:
10:05 AM Changeset in webkit [209243] by hyatt@apple.com
  • 2 edits in trunk/LayoutTests

[CSS Parser] Fix invalid gradients test
https://bugs.webkit.org/show_bug.cgi?id=165310

Reviewed by Zalan Bujtas.

  • fast/gradients/generated-gradients.html:

The content property here is using invalid syntax. It's supposed to be
space-separated, not comma-separated. The old parser was finding the first
value and then bailing when it saw the comma, but not rejecting. The new parser
properly rejected. To keep the test working, just drop all the extra invalid
gradients and keep the first one.

9:55 AM Changeset in webkit [209242] by jfbastien@apple.com
  • 22 edits in trunk

WebAssembly: revert patch causing odd breakage
https://bugs.webkit.org/show_bug.cgi?id=165308

Unreviewed.

Bug #164724 seems to cause build issues which I haven't tracked down yet. WasmOps.h can't be found:
./Source/JavaScriptCore/wasm/WasmFormat.h:34:10: fatal error: 'WasmOps.h' file not found

It's weird since the file is auto-generated and has been for a while. #164724 merely includes it in WasmFormat.h.

JSTests:

  • wasm/Builder.js:

(const._normalizeFunctionSignature):

  • wasm/Builder_WebAssemblyBinary.js:

(const.emitters.Type):
(const.emitters.Code):

  • wasm/LowLevelBinary.js:

(export.default.LowLevelBinary.prototype.inline_signature_type):
(export.default.LowLevelBinary.prototype.block_type): Deleted.

  • wasm/WASM.js:
  • wasm/js-api/test_basic_api.js:
  • wasm/self-test/test_BuilderWebAssembly.js:

(EmptyModule):
(CustomSection):

  • wasm/self-test/test_WASM.js:
  • wasm/wasm.json:

Source/JavaScriptCore:

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::zeroForType):
(JSC::Wasm::B3IRGenerator::addConstant):
(JSC::Wasm::createJSWrapper):

  • wasm/WasmCallingConvention.h:

(JSC::Wasm::CallingConvention::marshallArgument):

  • wasm/WasmFormat.cpp:

(JSC::Wasm::toString):

  • wasm/WasmFormat.h:

(JSC::Wasm::toB3Type):

  • wasm/WasmFunctionParser.h:

(JSC::Wasm::FunctionParser<Context>::parseExpression):

  • wasm/WasmModuleParser.cpp:

(JSC::Wasm::ModuleParser::parse):
(JSC::Wasm::ModuleParser::parseType):

  • wasm/WasmModuleParser.h:
  • wasm/WasmParser.h:

(JSC::Wasm::Parser::parseResultType):

  • wasm/generateWasm.py:

(Wasm.init):

  • wasm/generateWasmOpsHeader.py:

(cppMacro):
(opcodeMacroizer):
(typeMacroizer): Deleted.

  • wasm/js/WebAssemblyFunction.cpp:

(JSC::callWebAssemblyFunction):

  • wasm/wasm.json:
9:27 AM Changeset in webkit [209241] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

[CSS Parser] Fix the color-gamut media query evaluator
https://bugs.webkit.org/show_bug.cgi?id=165309

Reviewed by Zalan Bujtas).

  • css/MediaQueryEvaluator.cpp:

(WebCore::colorGamutEvaluate):
Unknown values should result in a failed match, not a successful match.

9:16 AM Changeset in webkit [209240] by Darin Adler
  • 5 edits in trunk/Source/WebCore

Remove use of WebCore::Dictionary in MediaSession
https://bugs.webkit.org/show_bug.cgi?id=165296

Reviewed by Chris Dumez.

I am not exactly sure of the status of this code. When I enabled it to test my
changes it did not compile until I fixed some things, and it's far out of date
of the latest draft of the Media Session Standard. But despite that I updated it.

  • DerivedSources.make: Removed a line that was breaking the build for some

configurations, perhaps only for programmers from Apple, after r209198.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::MediaSession): Fixed so it compiles.
(WebCore::MediaSession::setMetadata): Changed argument to use a struct rather
htan a WebCore::Dictionary.

  • Modules/mediasession/MediaSession.h: Added a Metadata struct, and used it.

Also fixed the arguments to the constructor.

  • Modules/mediasession/MediaSession.idl: Added MediaMetadata and used it instead

of Dictionary.

8:44 AM Changeset in webkit [209239] by hyatt@apple.com
  • 4 edits in trunk

[CSS Parser] Make sure margin and font set the implicit flag properly
https://bugs.webkit.org/show_bug.cgi?id=165306

Reviewed by Zalan Bujtas.

Source/WebCore:

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::consumeFont):
(WebCore::CSSPropertyParser::consume4Values):

LayoutTests:

8:32 AM Changeset in webkit [209238] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

[CSS Parser] Make sure the templatized consumeIdent uses CSSValuePool
https://bugs.webkit.org/show_bug.cgi?id=165302

Reviewed by Zalan Bujtas.

  • css/parser/CSSPropertyParserHelpers.h:

(WebCore::CSSPropertyParserHelpers::consumeIdent):

8:31 AM Changeset in webkit [209237] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

[CSS Parser] Fix font-variant parsing
https://bugs.webkit.org/show_bug.cgi?id=165301

Reviewed by Zalan Bujtas.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeFontVariantEastAsian):
(WebCore::CSSPropertyParser::consumeFontVariantShorthand):
Fix a bug with font-variant-east-asian parsing where the id
was getting improperly consumed even when it didn't match.

8:29 AM Changeset in webkit [209236] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

[CSS Parser] Fix animation property parsing
https://bugs.webkit.org/show_bug.cgi?id=165305

Reviewed by Zalan Bujtas.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeAnimationPropertyList):
Match the old parser by only creating a list for animation properties if there
are two or more comma-separated values. Otherwise just return the CSSValue for
the singleton without creating a list.

8:21 AM Changeset in webkit [209235] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Fix build break when disabling some features.
https://bugs.webkit.org/show_bug.cgi?id=165254

Source/WebCore:

Patch by Gustavo Sverzut Barbieri <barbieri@profusion.mobi> on 2016-12-02
Reviewed by Michael Catanzaro.

If we disable SVG_FONTS or XSLT, then
WebCore::CachedResource::isCORSSameOrigin() would have assertions
on non-existent members. These should be isolated within "#if" as
the other places.

If we're in DEVELOPER_MODE but did not provide
TEST_HYPHENATAION_PATH, then we must mark UNUSED_PARAM() if we're
not on GTK port (ie: EFL).

No new tests as this is a build fix.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::isCORSSameOrigin):

  • missing #if ENABLED(SVG_FONTS)
  • missing #if ENABLED(XSLT)
  • platform/text/hyphen/HyphenationLibHyphen.cpp:

(WebCore::scanTestDictionariesDirectoryIfNecessary):

  • missing UNUSED_PARAM()

Source/WebKit2:

The EFL port was broken if SPELLCHECK was disabled or
PLUGIN_ARCHITECTURE is not x11.

Patch by Gustavo Sverzut Barbieri <barbieri@profusion.mobi> on 2016-12-02
Reviewed by Michael Catanzaro.

  • UIProcess/efl/TextCheckerEfl.cpp:

(WebKit::TextChecker::checkTextOfParagraph):
(WebKit::TextChecker::checkSpellingOfString):
Fix UNUSED_PARAM() usage if SPELLCHECK is disabled.

  • UIProcess/efl/WebPageProxyEfl.cpp:

Isolate methods within #if PLUGIN_ARCHITECTURE(X11).

5:22 AM Changeset in webkit [209234] by magomez@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] Use an OpenGL < 3.0 compliant way to request the OpenGL version
https://bugs.webkit.org/show_bug.cgi?id=165253

Reviewed by Carlos Garcia Campos.

Use glGetString(GL_VERSION) to get the OpenGL version, as glGetIntegerv with GL_MAJOR_VERSION
and GL_MINOR_VERSION is only supported from 3.0 on.

Covered by existent tests.

  • platform/graphics/GLContext.cpp:

(WebCore::GLContext::version):

12:24 AM Changeset in webkit [209233] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix WinCairo build after r208997
https://bugs.webkit.org/show_bug.cgi?id=165283

Patch by Alex Christensen <achristensen@webkit.org> on 2016-12-02
Reviewed by Carlos Garcia Campos.

  • platform/graphics/GLContext.cpp:

glGetIntegerv is defined in gl2.h.
GL_MAJOR_VERSION is defined in gl3.h.
These are not included in the WinCairo build.

Dec 1, 2016:

10:08 PM Changeset in webkit [209232] by BJ Burg
  • 9 edits in trunk/Source/JavaScriptCore

Remote Inspector: fix weird typo in generated ObjC protocol type initializer implementations
https://bugs.webkit.org/show_bug.cgi?id=165295
<rdar://problem/29427778>

Reviewed by Joseph Pecoraro.

Remove a stray semicolon appended after custom initializer signatures.
This is a syntax error when building with less lenient compiler warnings.

  • inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:

(ObjCProtocolTypesImplementationGenerator._generate_init_method_for_required_members):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
9:31 PM Changeset in webkit [209231] by Darin Adler
  • 6 edits in trunk/Source/WebCore

Stop using WebCore::Dictionary in bindings for Fetch
https://bugs.webkit.org/show_bug.cgi?id=165241

Reviewed by Chris Dumez.

  • Modules/fetch/DOMWindowFetch.idl: Use RequestInit instead of Dictionary.

No effect on code generated since this is a JSBuiltin.

  • Modules/fetch/FetchRequest.cpp:

(WebCore::setReferrerPolicy): Deleted. Bindings handle this now.
(WebCore::setMode): Ditto.
(WebCore::setCredentials): Ditto.
(WebCore::setCache): Ditto.
(WebCore::setRedirect): Ditto.
(WebCore::setReferrer): Changed argument from Dictionary to String.
(WebCore::buildOptions): Changed argument from Dictionary to FetchRequest::Init,
and simplified the code accordingly.
(WebCore::FetchRequest::initializeOptions): Ditto.
(WebCore::FetchRequest::initializeWith): Ditto.

  • Modules/fetch/FetchRequest.h: Updated for above changes. Also added the Init struct.
  • Modules/fetch/FetchRequest.idl: Added missing "only-if-cached" value to RequestCache.

Added RequestInit dictionary and used it instead of Dictionary. Used more-specific string
types for the method and referrer attributes; no effect at runtime, since the code for
getters is the same for ByteString, USVString, and DOMString and these are read-only.

  • Modules/fetch/WorkerGlobalScopeFetch.idl: Use RequestInit instead of Dictionary.

No effect on code generated since this is a JSBuiltin.

7:30 PM Changeset in webkit [209230] by jiewen_tan@apple.com
  • 19 edits in trunk

Add a runtime flag for SubtleCrypto
https://bugs.webkit.org/show_bug.cgi?id=164982

Reviewed by Brent Fulgham.

Source/WebCore:

  • bindings/generic/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setSubtleCryptoEnabled):
(WebCore::RuntimeEnabledFeatures::subtleCryptoEnabled):

  • page/Crypto.idl:

Source/WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences subtleCryptoEnabled]):
(-[WebPreferences setSubtleCryptoEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetSubtleCryptoEnabled):
(WKPreferencesGetSubtleCryptoEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setSubtleCryptoEnabled):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
6:38 PM Changeset in webkit [209229] by sbarati@apple.com
  • 89 edits in trunk/Source

Rename CallFrame::callee() to CallFrame::jsCallee()
https://bugs.webkit.org/show_bug.cgi?id=165293

Reviewed by Keith Miller.

Source/JavaScriptCore:

Wasm will soon have its own Callee that doesn't derive
from JSObject, but derives from JSCell. I want to introduce
a new function like:
`
CalleeBase* CallFrame::callee()
`

once we have a Wasm callee. It only makes sense to name that
function callee() and rename the current one turn to:
`
JSObject* CallFrame::jsCallee()
`

  • API/APICallbackFunction.h:

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

  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::construct):
(JSC::JSCallbackObject<Parent>::call):

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::scope):
(JSC::DebuggerCallFrame::type):

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::friendlyFunctionName):

  • interpreter/CallFrame.h:

(JSC::ExecState::jsCallee):
(JSC::ExecState::callee): Deleted.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::dumpRegisters):
(JSC::notifyDebuggerOfUnwinding):

  • interpreter/ShadowChicken.cpp:

(JSC::ShadowChicken::update):

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::readNonInlinedFrame):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::traceFunctionPrologue):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/ArrayConstructor.cpp:

(JSC::constructArrayWithSizeQuirk):

  • runtime/AsyncFunctionConstructor.cpp:

(JSC::callAsyncFunctionConstructor):
(JSC::constructAsyncFunctionConstructor):

  • runtime/BooleanConstructor.cpp:

(JSC::constructWithBooleanConstructor):

  • runtime/ClonedArguments.cpp:

(JSC::ClonedArguments::createWithInlineFrame):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::arityCheckFor):

  • runtime/DateConstructor.cpp:

(JSC::constructWithDateConstructor):

  • runtime/DirectArguments.cpp:

(JSC::DirectArguments::createByCopying):

  • runtime/Error.h:

(JSC::StrictModeTypeErrorFunction::constructThrowTypeError):
(JSC::StrictModeTypeErrorFunction::callThrowTypeError):

  • runtime/ErrorConstructor.cpp:

(JSC::Interpreter::constructWithErrorConstructor):
(JSC::Interpreter::callErrorConstructor):

  • runtime/FunctionConstructor.cpp:

(JSC::constructWithFunctionConstructor):
(JSC::callFunctionConstructor):

  • runtime/GeneratorFunctionConstructor.cpp:

(JSC::callGeneratorFunctionConstructor):
(JSC::constructGeneratorFunctionConstructor):

  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::createSubclassStructure):

  • runtime/IntlCollator.cpp:

(JSC::IntlCollator::initializeCollator):

  • runtime/IntlCollatorConstructor.cpp:

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

  • runtime/IntlDateTimeFormat.cpp:

(JSC::IntlDateTimeFormat::initializeDateTimeFormat):

  • runtime/IntlDateTimeFormatConstructor.cpp:

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

  • runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::initializeNumberFormat):

  • runtime/IntlNumberFormatConstructor.cpp:

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

  • runtime/IntlObject.cpp:

(JSC::canonicalizeLocaleList):
(JSC::defaultLocale):
(JSC::lookupSupportedLocales):
(JSC::intlObjectFuncGetCanonicalLocales):

  • runtime/JSArrayBufferConstructor.cpp:

(JSC::constructArrayBuffer):

  • runtime/JSArrayBufferPrototype.cpp:

(JSC::arrayBufferProtoFuncSlice):

  • runtime/JSBoundFunction.cpp:

(JSC::boundThisNoArgsFunctionCall):
(JSC::boundFunctionCall):
(JSC::boundThisNoArgsFunctionConstruct):
(JSC::boundFunctionConstruct):

  • runtime/JSCellInlines.h:

(JSC::ExecState::vm):

  • runtime/JSCustomGetterSetterFunction.cpp:

(JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall):

  • runtime/JSFunction.cpp:

(JSC::callHostFunctionAsConstructor):

  • runtime/JSGenericTypedArrayViewConstructorInlines.h:

(JSC::constructGenericTypedArrayView):

  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:

(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncEval):

  • runtime/JSInternalPromiseConstructor.cpp:

(JSC::constructPromise):

  • runtime/JSMapIterator.cpp:

(JSC::JSMapIterator::createPair):
(JSC::JSMapIterator::clone):

  • runtime/JSNativeStdFunction.cpp:

(JSC::runStdFunction):

  • runtime/JSPromiseConstructor.cpp:

(JSC::constructPromise):

  • runtime/JSPropertyNameIterator.cpp:

(JSC::JSPropertyNameIterator::clone):

  • runtime/JSScope.h:

(JSC::ExecState::lexicalGlobalObject):

  • runtime/JSSetIterator.cpp:

(JSC::JSSetIterator::createPair):
(JSC::JSSetIterator::clone):

  • runtime/JSStringIterator.cpp:

(JSC::JSStringIterator::clone):

  • runtime/MapConstructor.cpp:

(JSC::constructMap):

  • runtime/MapPrototype.cpp:

(JSC::mapProtoFuncValues):
(JSC::mapProtoFuncEntries):
(JSC::mapProtoFuncKeys):
(JSC::privateFuncMapIterator):

  • runtime/NativeErrorConstructor.cpp:

(JSC::Interpreter::constructWithNativeErrorConstructor):
(JSC::Interpreter::callNativeErrorConstructor):

  • runtime/ObjectConstructor.cpp:

(JSC::constructObject):

  • runtime/ProxyObject.cpp:

(JSC::performProxyCall):
(JSC::performProxyConstruct):

  • runtime/ProxyRevoke.cpp:

(JSC::performProxyRevoke):

  • runtime/RegExpConstructor.cpp:

(JSC::constructWithRegExpConstructor):
(JSC::callRegExpConstructor):

  • runtime/ScopedArguments.cpp:

(JSC::ScopedArguments::createByCopying):

  • runtime/SetConstructor.cpp:

(JSC::constructSet):

  • runtime/SetPrototype.cpp:

(JSC::setProtoFuncValues):
(JSC::setProtoFuncEntries):
(JSC::privateFuncSetIterator):

  • runtime/StringConstructor.cpp:

(JSC::constructWithStringConstructor):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncIterator):

  • runtime/WeakMapConstructor.cpp:

(JSC::constructWeakMap):

  • runtime/WeakSetConstructor.cpp:

(JSC::constructWeakSet):

  • wasm/js/WebAssemblyCompileErrorConstructor.cpp:

(JSC::constructJSWebAssemblyCompileError):

  • wasm/js/WebAssemblyFunction.cpp:

(JSC::callWebAssemblyFunction):

  • wasm/js/WebAssemblyModuleConstructor.cpp:

(JSC::constructJSWebAssemblyModule):

  • wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:

(JSC::constructJSWebAssemblyRuntimeError):

Source/WebCore:

  • bindings/js/JSDOMConstructor.h:

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

  • bindings/js/JSDataCueCustom.cpp:

(WebCore::constructJSDataCue):

  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::callHTMLAllCollection):

  • bindings/js/JSHTMLElementCustom.cpp:

(WebCore::constructJSHTMLElement):

  • bindings/js/JSImageConstructor.cpp:

(WebCore::JSImageConstructor::construct):

  • bindings/js/JSMutationObserverCustom.cpp:

(WebCore::constructJSMutationObserver):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::callPlugin):

  • bindings/js/JSWorkerCustom.cpp:

(WebCore::constructJSWorker):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorDefinition):

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

(WebCore::JSFloat64ArrayConstructor::constructJSFloat64Array):

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

(WebCore::JSTestEventConstructorConstructor::construct):

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

(WebCore::JSTestInterfaceConstructor::construct):

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

(WebCore::JSTestNamedConstructorNamedConstructor::construct):

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

(WebCore::JSTestNodeConstructor::construct):

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

(WebCore::JSTestObjConstructor::construct):

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

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

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

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

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

(WebCore::JSTestTypedefsConstructor::construct):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::callObjCFallbackObject):

  • bridge/runtime_method.cpp:

(JSC::callRuntimeMethod):

  • bridge/runtime_object.cpp:

(JSC::Bindings::callRuntimeObject):
(JSC::Bindings::callRuntimeConstructor):

Source/WebKit2:

  • WebProcess/Plugins/Netscape/JSNPMethod.cpp:

(WebKit::callMethod):

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::callNPJSObject):
(WebKit::constructWithConstructor):

6:11 PM Changeset in webkit [209228] by graouts@webkit.org
  • 8 edits
    2 adds in trunk

[Modern Media Controls] Fade controls in when entering and exiting fullscreen
https://bugs.webkit.org/show_bug.cgi?id=165287

Reviewed by Dean Jackson.

Fade controls in when we enter and leave fullscreen.

Test: media/modern-media-controls/media-controller/media-controller-fade-controls-when-entering-fullscreen.html

  • Modules/modern-media-controls/controls/media-controls.css:

(.media-controls.fade-in):
(@keyframes fade-in):
(to):

  • Modules/modern-media-controls/controls/media-controls.js:

(MediaControls.prototype.presentInElement):

  • Modules/modern-media-controls/media/fullscreen-support.js:

(FullscreenSupport.prototype.buttonWasClicked):

  • Modules/modern-media-controls/media/media-controller.js:

(MediaController.prototype._updateControlsIfNeeded):

6:07 PM Changeset in webkit [209227] by graouts@webkit.org
  • 7 edits
    5 adds in trunk

[Modern Media Controls] Show and populate the tracks panel
https://bugs.webkit.org/show_bug.cgi?id=165284

Reviewed by Dean Jackson.

We added a TracksPanel in https://bugs.webkit.org/show_bug.cgi?id=165239 which allows to
show a list of media tracks and text tracks to choose from. We now show this panel when
clicking on the tracks button in the controls bar and populate its content with the
list of audio and text tracks for the media element. As an item is picked from the tracks
panel, we toggle the represented track's enabled state and dismiss the panel.

We also pick up the text track container display mostly unchanged from current media controls.

Tests: media/modern-media-controls/tracks-support/tracks-support-click-track-in-panel.html

media/modern-media-controls/tracks-support/tracks-support-show-and-populate-panel.html

  • Modules/modern-media-controls/controls/macos-inline-media-controls.js:

(MacOSInlineMediaControls.prototype.showTracksPanel):

  • Modules/modern-media-controls/controls/text-tracks.css: Added.

(video::-webkit-media-text-track-container):
(video::cue):
(video::-webkit-media-text-track-display):
(video::-webkit-media-text-track-display-backdrop):
(video::cue(:future)):
(video::-webkit-media-text-track-container b):
(video::-webkit-media-text-track-container u):
(video::-webkit-media-text-track-container i):
(video::-webkit-media-text-track-container .hidden):

  • Modules/modern-media-controls/media/media-controller.js:

(MediaController):

  • Modules/modern-media-controls/media/tracks-support.js:

(TracksSupport):
(TracksSupport.prototype.destroy):
(TracksSupport.prototype.buttonWasClicked):
(TracksSupport.prototype.tracksPanelNumberOfSections):
(TracksSupport.prototype.tracksPanelTitleForSection):
(TracksSupport.prototype.tracksPanelNumberOfTracksInSection):
(TracksSupport.prototype.tracksPanelTitleForTrackInSection):
(TracksSupport.prototype.tracksPanelIsTrackInSectionSelected):
(TracksSupport.prototype.tracksPanelSelectionDidChange):
(TracksSupport.prototype.syncControl):
(TracksSupport.prototype._textTracks):
(TracksSupport.prototype._audioTracks):
(TracksSupport.prototype._canPickAudioTracks):
(TracksSupport.prototype._canPickTextTracks):
(TracksSupport.prototype._sortedTrackList):

5:30 PM Changeset in webkit [209226] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Rare crash when preparing to print
https://bugs.webkit.org/show_bug.cgi?id=165280
<rdar://problem/28240254>

Reviewed by Dean Jackson.

  • page/Frame.cpp:

(WebCore::Frame::setPrinting): Only manipulate the FrameView if it is non-null.
(WebCore::Frame::documentAtPoint): Drive-by fix to change a 0 return to nullptr.

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

Removing Release-only flag from flaky test http/tests/cache/disk-cache/disk-cache-request-max-stale.html
https://bugs.webkit.org/show_bug.cgi?id=159840

Unreviewed test gardening..

  • platform/ios-simulator-wk2/TestExpectations:
5:21 PM Changeset in webkit [209224] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Put an obvious debug border on layers with backdrop filters
https://bugs.webkit.org/show_bug.cgi?id=165291

Reviewed by Tim Horton.

Put a wide magenta border on layers with backdrop filters, to highlight their performance impact.

Change the "contents layer" color (used by WebGL, video etc) to blue.

Make the clipping layer border slightly narrower.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::getDebugBorderInfo):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setBackdropFilters):

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

Marking media/modern-media-controls/tracks-panel/tracks-panel-hide-click-outside.html as a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=165290

Unreviewed test gardening.

  • platform/mac/TestExpectations:
4:52 PM Changeset in webkit [209222] by BJ Burg
  • 15 edits in trunk/Source/JavaScriptCore

Web Inspector: generated code should use a framework-style import for *ProtocolArrayConversions.h
https://bugs.webkit.org/show_bug.cgi?id=165281
<rdar://problem/29427778>

Reviewed by Joseph Pecoraro.

  • inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py:

(ObjCProtocolTypeConversionsHeaderGenerator.generate_output):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
4:47 PM Changeset in webkit [209221] by BJ Burg
  • 2 edits in trunk/Source/WebCore

Fix the Windows Release build after r209198
https://bugs.webkit.org/show_bug.cgi?id=165285

Unreviewed build fix.

  • Modules/webdriver/NavigatorWebDriver.cpp:

Brute force include all the inlines to work around a JSC issue.

4:24 PM Changeset in webkit [209220] by ggaren@apple.com
  • 6 edits
    1 copy
    1 move in trunk/Source/JavaScriptCore

SourceCodeKey should use unlinked source code
https://bugs.webkit.org/show_bug.cgi?id=165286

Reviewed by Saam Barati.

This patch splits out UnlinkedSourceCode from SourceCode, and deploys
UnlinkedSourceCode in SourceCodeKey.

It's misleading to store SourceCode in SourceCodeKey because SourceCode
has an absolute location whereas unlinked cached code has no location.

I plan to deploy UnlinkedSourceCode in more places, to indicate code
that has no absolute location.

(JSC::UnlinkedSourceCode::toUTF8):
(JSC::SourceCode::toUTF8): Deleted.

  • parser/SourceCode.h:

(JSC::SourceCode::SourceCode):
(JSC::SourceCode::startColumn):
(JSC::SourceCode::isHashTableDeletedValue): Deleted.
(JSC::SourceCode::hash): Deleted.
(JSC::SourceCode::view): Deleted.
(JSC::SourceCode::providerID): Deleted.
(JSC::SourceCode::isNull): Deleted.
(JSC::SourceCode::provider): Deleted.
(JSC::SourceCode::startOffset): Deleted.
(JSC::SourceCode::endOffset): Deleted.
(JSC::SourceCode::length): Deleted. Move a bunch of stuff in to a new
base class, UnlinkedSourceCode.

  • parser/SourceCodeKey.h:

(JSC::SourceCodeKey::SourceCodeKey): Use UnlinkedSourceCode since code
in the cache has no location.

  • parser/UnlinkedSourceCode.h: Copied from Source/JavaScriptCore/parser/SourceCode.h.

(JSC::UnlinkedSourceCode::UnlinkedSourceCode):
(JSC::UnlinkedSourceCode::provider):
(JSC::SourceCode::SourceCode): Deleted.
(JSC::SourceCode::isHashTableDeletedValue): Deleted.
(JSC::SourceCode::hash): Deleted.
(JSC::SourceCode::view): Deleted.
(JSC::SourceCode::providerID): Deleted.
(JSC::SourceCode::isNull): Deleted.
(JSC::SourceCode::provider): Deleted.
(JSC::SourceCode::firstLine): Deleted.
(JSC::SourceCode::startColumn): Deleted.
(JSC::SourceCode::startOffset): Deleted.
(JSC::SourceCode::endOffset): Deleted.
(JSC::SourceCode::length): Deleted.
(JSC::makeSource): Deleted.
(JSC::SourceCode::subExpression): Deleted.

  • runtime/CodeCache.h: Use UnlinkedSourceCode in the cache.
4:04 PM Changeset in webkit [209219] by Ryan Haddad
  • 2 edits in trunk/JSTests

Skip flaky test ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js
https://bugs.webkit.org/show_bug.cgi?id=162567

Reviewed by Saam Barati.

  • ChakraCore.yaml:
2:55 PM Changeset in webkit [209218] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-602-branch

Merge r209149. rdar://problem/29404230

2:54 PM Changeset in webkit [209217] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

[CSS Parser] Only allow a single font-family in @font-face
https://bugs.webkit.org/show_bug.cgi?id=165278

Reviewed by Zalan Bujtas.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeFontFamilyDescriptor):
(WebCore::CSSPropertyParser::parseFontFaceDescriptor):

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

Remove webkitpy dependency on Eliza
https://bugs.webkit.org/show_bug.cgi?id=164979

Reviewed by Daniel Bates.

This module is not on pypi, so installing it is a challenge. The jokes feel pretty old too!

  • Scripts/webkitpy/thirdparty/init.py:
  • Scripts/webkitpy/thirdparty/init_unittest.py: Changed mock import hook to

test buildbot instead of eliza.

  • Scripts/webkitpy/tool/bot/ircbot.py:
  • Scripts/webkitpy/tool/bot/ircbot_unittest.py:
2:48 PM Changeset in webkit [209215] by Chris Dumez
  • 3 edits
    2 adds in trunk

Source/WebKit2:
[iOS][WK2] Tapping an element generates a 'click' event that has 0 as timeStamp
https://bugs.webkit.org/show_bug.cgi?id=165270
<rdar://problem/29224355>

Reviewed by Simon Fraser.

Tapping an element generates a 'click' event that has 0 as timeStamp
instead of having a proper timeStamp value. This is breaking some
sites.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::completeSyntheticClick):

LayoutTests:
[iOS] Tapping an element generates a 'click' event that has 0 as timeStamp
https://bugs.webkit.org/show_bug.cgi?id=165270
<rdar://problem/29224355>

Reviewed by Simon Fraser.

Add layout test coverage.

  • fast/events/ios/click-event-timestamp-expected.txt: Added.
  • fast/events/ios/click-event-timestamp.html: Added.
2:36 PM Changeset in webkit [209214] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Try to fix the EFL/Gtk build

  • UIProcess/efl/WebProcessPoolEfl.cpp:

(WebKit::WebProcessPool::platformResolvePathsForSandboxExtensions):

  • UIProcess/gtk/WebProcessPoolGtk.cpp:

(WebKit::WebProcessPool::platformResolvePathsForSandboxExtensions):

2:32 PM Changeset in webkit [209213] by Matt Baker
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Show async stack traces for workers
https://bugs.webkit.org/show_bug.cgi?id=165235
<rdar://problem/29450172>

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/CallFrameTreeElement.css:

(.tree-outline > .children > .item.call-frame.async-boundary):
(.tree-outline:not(.single-thread) > .children > .item.call-frame.async-boundary):
(.tree-outline .item.call-frame.async-boundary::before):
(.tree-outline.single-thread .item.call-frame.async-boundary::before):
(.tree-outline .item.call-frame.async-boundary): Deleted.
Style changes for single/multiple-thread call stacks.
Padding changes to account for Thread tree element.
Make selectors more specific where needed.

  • UserInterface/Views/DebuggerSidebarPanel.css:

(.sidebar > .panel.navigation.debugger .tree-outline.single-thread > .item.thread):
(.sidebar > .panel.navigation.debugger .tree-outline.single-thread):
Style changes for single/multiple-thread call stacks.

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel):
Use a single tree outline for showing a single thread or multiple threads.
For single-threaded, hide Thread tree element and un-indent children.

(WebInspector.DebuggerSidebarPanel.prototype._targetAdded):
(WebInspector.DebuggerSidebarPanel.prototype._targetRemoved):
(WebInspector.DebuggerSidebarPanel.prototype._updateCallStackTreeOutline):
Update tree style and whether Thread tree element is selectable.
(WebInspector.DebuggerSidebarPanel.prototype._debuggerActiveCallFrameDidChange):
Remove support for second tree outline.

(WebInspector.DebuggerSidebarPanel.prototype._updateSingleThreadCallStacks): Deleted.
(WebInspector.DebuggerSidebarPanel.prototype._selectActiveCallFrameTreeElement): Deleted.
(WebInspector.DebuggerSidebarPanel.prototype._showSingleThreadCallStacks): Deleted.
(WebInspector.DebuggerSidebarPanel.prototype._showMultipleThreadCallStacks): Deleted.
No longer needed after unifying tree outlines.

  • UserInterface/Views/ThreadTreeElement.js:

(WebInspector.ThreadTreeElement.prototype.refresh):
Append call frames from the async stack trace.

2:31 PM Changeset in webkit [209212] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

Every WKWebView initialization spends a few milliseconds hitting the disk
https://bugs.webkit.org/show_bug.cgi?id=165268
<rdar://problem/29010113>

Reviewed by Brady Eidson.

Every WKWebView init currently involves doing directory creation and
symlink resolution for a number of paths (to create sandbox extensions
for all of our storage directories), which means touching the disk a
lot during init. All of these paths are immutable per-WebProcessPool,
so, instead, cache them on WebProcessPool and create sandbox extensions
from the already-resolved paths. This is a sizable (~4x) speedup when
initializing subsequent web views.

  • Shared/SandboxExtension.h:

(WebKit::SandboxExtension::createHandleWithoutResolvingPath):
Add createHandleWithoutResolvingPath, which makes a sandbox extension
handle without doing symlink resolution.

(WebKit::resolvePathForSandboxExtension):
(WebKit::resolveAndCreateReadWriteDirectoryForSandboxExtension):
Add two functions that do the same resolution that SandboxExtension::createHandle
and ::createHandleForReadWriteDirectory do, but just return the paths,
for later use with createHandleWithoutResolvingPath.

  • Shared/mac/SandboxExtensionMac.mm:

(WebKit::resolveAndCreateReadWriteDirectoryForSandboxExtension):
(WebKit::resolvePathForSandboxExtension):
(WebKit::SandboxExtension::createHandleWithoutResolvingPath):
(WebKit::SandboxExtension::createHandle):
(WebKit::SandboxExtension::createHandleForReadWriteDirectory):
Implement the aforementioned functions, and reimplement the existing
createHandle{ForReadWriteDirectory} functions in terms of them.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformDefaultIconDatabasePath):
Stop wasting time generating and resolving a platform default icon
database path, since we don't actually use it for anything anymore except
to determine whether the icon database is enabled, and we only want to
enable it if the client has provided a path.

(WebKit::WebProcessPool::platformResolvePathsForSandboxExtensions):
(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/WebProcessPool.cpp:

(WebKit::m_hiddenPageThrottlingTimer):
(WebKit::WebProcessPool::resolvePathsForSandboxExtensions):
(WebKit::WebProcessPool::createNewWebProcess):

  • UIProcess/WebProcessPool.h:

Resolve paths in resolvePathsForSandboxExtensions, and use the resolved
paths along with createHandleWithoutResolvingPath in order to effectively
cache the resolution operation.

2:24 PM Changeset in webkit [209211] by matthew_hanson@apple.com
  • 11 edits
    12 adds in branches/safari-602-branch

Merge r209145. rdar://problem/29404231

2:23 PM Changeset in webkit [209210] by matthew_hanson@apple.com
  • 6 edits
    2 adds in branches/safari-602-branch

Merge r208745. rdar://problem/29277336

2:23 PM Changeset in webkit [209209] by matthew_hanson@apple.com
  • 3 edits
    4 adds in branches/safari-602-branch

Merge r208825. rdar://problem/29277338

2:23 PM Changeset in webkit [209208] by matthew_hanson@apple.com
  • 2 edits in branches/safari-602-branch/Source/WebCore

Merge r208629. rdar://problem/29277337

2:23 PM Changeset in webkit [209207] by matthew_hanson@apple.com
  • 3 edits
    2 adds in branches/safari-602-branch

Merge r208628. rdar://problem/29277337

2:14 PM Changeset in webkit [209206] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Blacklist Netflix for TouchBar support
https://bugs.webkit.org/show_bug.cgi?id=165104

Rubber-stamped by Tim Horton.

Meant to not have the www. in the first case because that is covered by the second
case.

  • html/HTMLMediaElement.cpp:

(WebCore::needsPlaybackControlsManagerQuirk):

2:07 PM Changeset in webkit [209205] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

[CSS Parser] Support -webkit-overflow-scrolling: touch
https://bugs.webkit.org/show_bug.cgi?id=165275

Reviewed by Zalan Bujtas.

  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):

2:00 PM Changeset in webkit [209204] by keith_miller@apple.com
  • 9 edits
    1 add in trunk

Add wasm int to floating point opcodes
https://bugs.webkit.org/show_bug.cgi?id=165252

Reviewed by Geoffrey Garen.

JSTests:

Add tests for Wasm integral to floating point conversion opcodes.

  • wasm/function-tests/int-to-floating-point.js: Added.
  • wasm/wasm.json:

Source/JavaScriptCore:

This patch adds support for the Wasm integral type => floating point
type conversion opcodes. Most of these were already supported by B3
however there was no support for uint64 to float/double. Unfortunately,
AFAIK x86_64 does not have a single instruction that performs this
conversion. Since there is a signed conversion instruction on x86 we
use that for all uint64s that don't have the top bit set. If they do have
the top bit set we need to divide by 2 (rounding up) then convert the number
with the signed conversion then double the result.

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::convertUInt64ToDouble):
(JSC::MacroAssemblerX86_64::convertUInt64ToFloat):

  • jsc.cpp:

(valueWithTypeOfWasmValue):
(box):
(functionTestWasmModuleFunctions):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::addOp<F64ConvertUI64>):
(JSC::Wasm::B3IRGenerator::addOp<OpType::F32ConvertUI64>):

  • wasm/WasmFunctionParser.h:

(JSC::Wasm::FunctionParser<Context>::parseExpression):

  • wasm/wasm.json:
1:58 PM Changeset in webkit [209203] by ggaren@apple.com
  • 1 edit
    1 add in trunk/JSTests

Land a test case for <rdar://problem/27889416>
https://bugs.webkit.org/show_bug.cgi?id=165272

Reviewed by Saam Barati.

  • stress/marked-argument-buffer.js: Added.

(allocate):
(test.o.toString):
(test):

1:57 PM Changeset in webkit [209202] by hyatt@apple.com
  • 2 edits in trunk/LayoutTests

[CSS Parser] Fix an invalid shadow DOM test
https://bugs.webkit.org/show_bug.cgi?id=165273

Reviewed by Zalan Bujtas.

  • fast/shadow-dom/css-scoping-slot-with-id.html:

Pseudo-element needs to be rightmost. The rule is illegal, but our old parser
incorrectly allowed it. Fix the test by just flipping the order so that ::slotted(*)
occurs last.

1:47 PM Changeset in webkit [209201] by ggaren@apple.com
  • 6 edits
    1 move in trunk/Source/JavaScriptCore

Renamed EvalCodeCache => DirectEvalCodeCache
https://bugs.webkit.org/show_bug.cgi?id=165271

Reviewed by Saam Barati.

We only use this cache for DirectEval, not IndirectEval.

(JSC::DirectEvalCodeCache::visitAggregate):
(JSC::CodeBlock::stronglyVisitStrongReferences):
(JSC::EvalCodeCache::visitAggregate): Deleted.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::directEvalCodeCache):
(JSC::CodeBlock::evalCodeCache): Deleted.

  • bytecode/DirectEvalCodeCache.h: Copied from Source/JavaScriptCore/bytecode/EvalCodeCache.h.

(JSC::EvalCodeCache::CacheKey::CacheKey): Deleted.
(JSC::EvalCodeCache::CacheKey::hash): Deleted.
(JSC::EvalCodeCache::CacheKey::isEmptyValue): Deleted.
(JSC::EvalCodeCache::CacheKey::operator==): Deleted.
(JSC::EvalCodeCache::CacheKey::isHashTableDeletedValue): Deleted.
(JSC::EvalCodeCache::CacheKey::Hash::hash): Deleted.
(JSC::EvalCodeCache::CacheKey::Hash::equal): Deleted.
(JSC::EvalCodeCache::tryGet): Deleted.
(JSC::EvalCodeCache::set): Deleted.
(JSC::EvalCodeCache::isEmpty): Deleted.
(JSC::EvalCodeCache::clear): Deleted.

  • bytecode/EvalCodeCache.h: Removed.
  • interpreter/Interpreter.cpp:

(JSC::eval):

  • runtime/DirectEvalExecutable.cpp:

(JSC::DirectEvalExecutable::create):

1:45 PM Changeset in webkit [209200] by jiewen_tan@apple.com
  • 12 edits
    21 adds in trunk

Update SubtleCrypto::unwrapKey to match the latest spec
https://bugs.webkit.org/show_bug.cgi?id=164747
<rdar://problem/29258198>

Reviewed by Brent Fulgham.

LayoutTests/imported/w3c:

  • WebCryptoAPI/idlharness-expected.txt:

Source/WebCore:

This patch does following few things:

  1. It updates the SubtleCrypto::unwrapKey method to match the latest spec: https://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-unwrapKey. It also refers to the latest Editor's Draft to a certain degree: https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-unwrapKey.
  2. It implements unwrapKey operations of the following algorithms: AES-KW.

Tests: crypto/subtle/aes-cbc-import-key-unwrap-jwk-rsa-key-private.html

crypto/subtle/aes-cbc-import-key-uwrap-jwk-rsa-key-public.html
crypto/subtle/aes-kw-generate-key-wrap-key-unwrap-key.html
crypto/subtle/aes-kw-import-key-unwrap-raw-key.html
crypto/subtle/rsa-oaep-import-key-unwrap-jwk-oct-key.html
crypto/subtle/unwrapKey-malformed-parameters.html
crypto/workers/subtle/aes-cbc-import-key-unwrap-key.html
crypto/workers/subtle/aes-kw-import-key-unwrap-key.html
crypto/workers/subtle/rsa-oaep-import-key-unwrap-key.html

  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::normalizeCryptoAlgorithmParameters):
(WebCore::jsSubtleCryptoFunctionWrapKeyPromise):
Add some comments.
(WebCore::jsSubtleCryptoFunctionUnwrapKeyPromise):
(WebCore::JSSubtleCrypto::unwrapKey):

  • crypto/CryptoAlgorithm.cpp:

(WebCore::CryptoAlgorithm::unwrapKey):

  • crypto/CryptoAlgorithm.h:
  • crypto/SubtleCrypto.idl:
  • crypto/algorithms/CryptoAlgorithmAES_KW.cpp:

(WebCore::CryptoAlgorithmAES_KW::unwrapKey):

  • crypto/algorithms/CryptoAlgorithmAES_KW.h:
  • crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp:

(WebCore::CryptoAlgorithmAES_KW::platformUnwrapKey):

  • crypto/mac/CryptoAlgorithmAES_KWMac.cpp:

(WebCore::unwrapKeyAES_KW):
(WebCore::CryptoAlgorithmAES_KW::platformUnwrapKey):
(WebCore::CryptoAlgorithmAES_KW::platformDecrypt):

LayoutTests:

  • crypto/subtle/aes-cbc-import-key-unwrap-jwk-rsa-key-private-expected.txt: Added.
  • crypto/subtle/aes-cbc-import-key-unwrap-jwk-rsa-key-private.html: Added.
  • crypto/subtle/aes-cbc-import-key-uwrap-jwk-rsa-key-public-expected.txt: Added.
  • crypto/subtle/aes-cbc-import-key-uwrap-jwk-rsa-key-public.html: Added.
  • crypto/subtle/aes-kw-generate-key-wrap-key-unwrap-key-expected.txt: Added.
  • crypto/subtle/aes-kw-generate-key-wrap-key-unwrap-key.html: Added.
  • crypto/subtle/aes-kw-import-key-unwrap-raw-key-expected.txt: Added.
  • crypto/subtle/aes-kw-import-key-unwrap-raw-key.html: Added.
  • crypto/subtle/rsa-oaep-import-key-unwrap-jwk-oct-key-expected.txt: Added.
  • crypto/subtle/rsa-oaep-import-key-unwrap-jwk-oct-key.html: Added.
  • crypto/subtle/unwrapKey-malformed-parameters-expected.txt: Added.
  • crypto/subtle/unwrapKey-malformed-parameters.html: Added.
  • crypto/workers/subtle/aes-cbc-import-key-unwrap-key-expected.txt: Added.
  • crypto/workers/subtle/aes-cbc-import-key-unwrap-key.html: Added.
  • crypto/workers/subtle/aes-kw-import-key-unwrap-key-expected.txt: Added.
  • crypto/workers/subtle/aes-kw-import-key-unwrap-key.html: Added.
  • crypto/workers/subtle/resources/aes-cbc-import-key-unwrap-key.js: Added.
  • crypto/workers/subtle/resources/aes-kw-import-key-unwrap-key.js: Added.
  • crypto/workers/subtle/resources/rsa-oaep-import-key-unwrap-key.js: Added.
  • crypto/workers/subtle/rsa-oaep-import-key-unwrap-key-expected.txt: Added.
  • crypto/workers/subtle/rsa-oaep-import-key-unwrap-key.html: Added.
1:41 PM Changeset in webkit [209199] by hyatt@apple.com
  • 4 edits in trunk

[CSS Parser] Fix font-variant parsing
https://bugs.webkit.org/show_bug.cgi?id=165266

Reviewed by Dean Jackson.

Source/WebCore:

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeFontVariantEastAsian):
(WebCore::consumeFontVariantAlternates):
(WebCore::consumeFontVariantPosition):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::parseFontFaceDescriptor):
(WebCore::CSSPropertyParser::consumeFontVariantShorthand):
(WebCore::consumeFontVariantList): Deleted.

LayoutTests:

1:39 PM Changeset in webkit [209198] by BJ Burg
  • 4 edits
    2 copies
    1 move
    1 add in trunk/Source/WebCore

Web Automation: expose navigator.webdriver if the page is controlled by automation
https://bugs.webkit.org/show_bug.cgi?id=165245
<rdar://problem/29449874>

Reviewed by Joseph Pecoraro.

Move the implementation into OpenSource. It's in Modules/webdriver/.

  • CMakeLists.txt:
  • DerivedSources.make:

Add new paths and files.

  • Modules/webdriver/NavigatorWebDriver.cpp: Added.

(WebCore::NavigatorWebDriver::NavigatorWebDriver):
(WebCore::NavigatorWebDriver::~NavigatorWebDriver):
(WebCore::NavigatorWebDriver::supplementName):
(WebCore::NavigatorWebDriver::isControlledByAutomation):
(WebCore::NavigatorWebDriver::from):
(WebCore::JSNavigator::webdriver):

  • Modules/webdriver/NavigatorWebDriver.h: Added.
  • Modules/webdriver/NavigatorWebDriver.idl: Added.
  • WebCore.xcodeproj/project.pbxproj:
1:33 PM Changeset in webkit [209197] by beidson@apple.com
  • 19 edits
    5 adds in trunk

IndexedDB 2.0: Implement IDBObjectStore.getKey().
https://bugs.webkit.org/show_bug.cgi?id=165256

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/idbobjectstore-getkey-1-private.html

storage/indexeddb/modern/idbobjectstore-getkey-1.html

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::getKey):

  • Modules/indexeddb/IDBObjectStore.h:
  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::createObjectStoreGet):
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::requestedObjectStoreRecordType):

  • Modules/indexeddb/IDBRequest.h:
  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::requestGetRecord):
(WebCore::IDBTransaction::requestIndexRecord):
(WebCore::IDBTransaction::didGetRecordOnServer):

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

(WebCore::IDBServer::MemoryIDBBackingStore::getRecord):

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

(WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):

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

(WebCore::IDBServer::UniqueIDBDatabase::getRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performGetRecord):

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

(WebCore::IDBGetRecordData::isolatedCopy):

  • Modules/indexeddb/shared/IDBGetRecordData.h:

(WebCore::IDBGetRecordData::encode):
(WebCore::IDBGetRecordData::decode):

LayoutTests:

  • storage/indexeddb/modern/idbobjectstore-getkey-1-expected.txt: Added.
  • storage/indexeddb/modern/idbobjectstore-getkey-1-private-expected.txt: Added.
  • storage/indexeddb/modern/idbobjectstore-getkey-1-private.html: Added.
  • storage/indexeddb/modern/idbobjectstore-getkey-1.html: Added.
  • storage/indexeddb/modern/resources/idbobjectstore-getkey-1.js: Added.
1:23 PM Changeset in webkit [209196] by ggaren@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Removed some unnecessary indirection in code generation
https://bugs.webkit.org/show_bug.cgi?id=165264

Reviewed by Keith Miller.

There's no need to route through JSGlobalObject when producing code --
it just made the code harder to read.

This patch moves functions from JSGlobalObject to their singleton
call sites.

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getUnlinkedEvalCodeBlock):
(JSC::CodeCache::getUnlinkedGlobalEvalCodeBlock): Deleted.

  • runtime/CodeCache.h:
  • runtime/DirectEvalExecutable.cpp:

(JSC::DirectEvalExecutable::create):

  • runtime/IndirectEvalExecutable.cpp:

(JSC::IndirectEvalExecutable::create):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::createProgramCodeBlock): Deleted.
(JSC::JSGlobalObject::createLocalEvalCodeBlock): Deleted.
(JSC::JSGlobalObject::createGlobalEvalCodeBlock): Deleted.
(JSC::JSGlobalObject::createModuleProgramCodeBlock): Deleted.

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

(JSC::ModuleProgramExecutable::create):

  • runtime/ProgramExecutable.cpp:

(JSC::ProgramExecutable::initializeGlobalProperties):

  • runtime/ProgramExecutable.h:
1:22 PM Changeset in webkit [209195] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebCore

Misc. cleanup in Modules/fetch
https://bugs.webkit.org/show_bug.cgi?id=165240

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-12-01
Reviewed by Darin Adler.

  • Modules/fetch/DOMWindowFetch.h:
  • Modules/fetch/FetchBody.cpp:
  • Modules/fetch/FetchBody.h:
  • Modules/fetch/FetchBodyConsumer.cpp:
  • Modules/fetch/FetchBodyOwner.cpp:
  • Modules/fetch/FetchBodyOwner.h:
  • Modules/fetch/FetchInternals.js:

(consumeStream):

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

Remove unnecessary includes and forward declarations.

  • Modules/fetch/DOMWindowFetch.js:

(fetch):

  • Modules/fetch/FetchResponse.js:

(initializeFetchResponse):

  • Modules/fetch/WorkerGlobalScopeFetch.js:

(fetch):
Improve style.

1:10 PM Changeset in webkit [209194] by graouts@webkit.org
  • 3 edits
    6 adds in trunk

[Modern Media Controls] Turn off text selection
https://bugs.webkit.org/show_bug.cgi?id=165261

Reviewed by Dean Jackson.

We turn off text selection and force a non-text cursor for all text in media controls.

Tests: media/modern-media-controls/airplay-placard/airplay-placard-text-section.html

media/modern-media-controls/pip-placard/pip-placard-text-section.html
media/modern-media-controls/status-label/status-label-text-selection.html

  • Modules/modern-media-controls/controls/media-controls.css:

(.media-controls):

1:09 PM MathML/Fonts edited by fred.wang@free.fr
(diff)
12:33 PM Changeset in webkit [209193] by Chris Dumez
  • 6 edits in trunk

Parameter to DOMStringList.contains() should be mandatory
https://bugs.webkit.org/show_bug.cgi?id=165257

Reviewed by Alex Christensen.

Source/WebCore:

Parameter to DOMStringList.contains() should be mandatory.
Gecko and Blink have it mandatory but WebKit had it optional and the
string 'undefined" was used by default, which is not helpful.

No new tests, updated existing test.

  • dom/DOMStringList.idl:

LayoutTests:

Extend layout test coverage.

  • storage/indexeddb/database-basics-expected.txt:
  • storage/indexeddb/resources/database-basics.js:

(checkObjectStore):

12:12 PM Changeset in webkit [209192] by Beth Dakin
  • 3 edits in trunk/Tools

Force clicking tests fail on some machines
https://bugs.webkit.org/show_bug.cgi?id=165263

Reviewed by Tim Horton.

Initialize com.apple.trackpad.forceClick to 1 so that we don’t have to depend on
the user account having this feature enabled.

  • WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:

(WTR::InjectedBundle::platformInitialize):

  • WebKitTestRunner/mac/main.mm:

(setDefaultsToConsistentValuesForTesting):

11:42 AM Changeset in webkit [209191] by jiewen_tan@apple.com
  • 6 edits
    2 adds in trunk

SubtleCrypto::deriveBits always return NOT_SUPPORTED_ERR for now
https://bugs.webkit.org/show_bug.cgi?id=164745
<rdar://problem/29258118>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • WebCryptoAPI/idlharness-expected.txt:

Source/WebCore:

Since we don't support any cryptography algorithms that has deriveBits operations,
SubtleCrypto::deriveBits will always return NOT_SUPPORTED_ERR for now.

Test: crypto/subtle/deriveBits-malformed-parameters.html

  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::normalizeCryptoAlgorithmParameters):
(WebCore::jsSubtleCryptoFunctionDeriveBitsPromise):
(WebCore::JSSubtleCrypto::deriveBits):

  • crypto/SubtleCrypto.idl:

LayoutTests:

  • crypto/subtle/deriveBits-malformed-parameters-expected.txt: Added.
  • crypto/subtle/deriveBits-malformed-parameters.html: Added.
11:33 AM Changeset in webkit [209190] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking media/modern-media-controls/tracks-panel/tracks-panel-select-track-with-keyboard.html as failing on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=165262

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
11:31 AM Changeset in webkit [209189] by Antti Koivisto
  • 12 edits in trunk/Source/WebKit2

Revert r208931
https://bugs.webkit.org/show_bug.cgi?id=164924

PLT regression.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::makeCacheKey):
(WebKit::NetworkCache::Cache::makeCacheKey): Deleted.

  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheBlobStorage.cpp:

(WebKit::NetworkCache::BlobStorage::BlobStorage):
(WebKit::NetworkCache::BlobStorage::add):
(WebKit::NetworkCache::BlobStorage::get):

  • NetworkProcess/cache/NetworkCacheBlobStorage.h:
  • NetworkProcess/cache/NetworkCacheData.cpp:

(WebKit::NetworkCache::computeSHA1):
(WebKit::NetworkCache::makeSalt): Deleted.
(WebKit::NetworkCache::readOrMakeSalt): Deleted.

  • NetworkProcess/cache/NetworkCacheData.h:
  • NetworkProcess/cache/NetworkCacheKey.cpp:

(WebKit::NetworkCache::noPartitionString):
(WebKit::NetworkCache::Key::Key):
(WebKit::NetworkCache::Key::hasPartition):
(WebKit::NetworkCache::Key::computeHash):
(WebKit::NetworkCache::Key::hashAsString):
(WebKit::NetworkCache::Key::computePartitionHash): Deleted.

  • NetworkProcess/cache/NetworkCacheKey.h:

(WebKit::NetworkCache::Key::hash):
(WebKit::NetworkCache::Key::partitionHash): Deleted.
(WebKit::NetworkCache::Key::hashAsString): Deleted.
(WebKit::NetworkCache::Key::partitionHashAsString): Deleted.

  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:

(WebKit::NetworkCache::makeSubresourcesKey):
(WebKit::NetworkCache::constructRevalidationRequest):
(WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::saveToDiskIfReady):
(WebKit::NetworkCache::SpeculativeLoadManager::retrieveSubresourcesEntry):

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::open):
(WebKit::NetworkCache::traverseRecordsFiles):
(WebKit::NetworkCache::Storage::Storage):
(WebKit::NetworkCache::Storage::recordDirectoryPathForKey):
(WebKit::NetworkCache::decodeRecordHeader):
(WebKit::NetworkCache::Storage::readRecord):
(WebKit::NetworkCache::Storage::encodeRecord):
(WebKit::NetworkCache::Storage::traverse):
(WebKit::NetworkCache::makeSaltFilePath): Deleted.

  • NetworkProcess/cache/NetworkCacheStorage.h:

(WebKit::NetworkCache::Storage::salt): Deleted.

11:27 AM Changeset in webkit [209188] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[MediaStream][Mac] Video presets sometimes don't work
https://bugs.webkit.org/show_bug.cgi?id=165214
<rdar://problem/29444533>

Reviewed by Jer Noble.

  • platform/mediastream/mac/AVVideoCaptureSource.h:
  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::setPreset): Set videoSettings width and height.
(WebCore::AVVideoCaptureSource::setupCaptureSession): Store videoSettings object for later use.

Set videoSettings width and height.

(WebCore::AVVideoCaptureSource::bestSessionPresetForVideoDimensions):
(WebCore::AVVideoCaptureSource::sizeForPreset): New.

10:41 AM Changeset in webkit [209187] by graouts@webkit.org
  • 7 edits
    2 adds in trunk

[Modern Media Controls] Promote the "on" property from AirPlayButton to IconButton
https://bugs.webkit.org/show_bug.cgi?id=165260

Reviewed by NOBODY (OOPS!).

With the fix for https://bugs.webkit.org/show_bug.cgi?id=165239 we now set the "on"
property for the TracksButton as well, so it makes sense to provide that property
for all IconButton subclasses, not just AirplayButton.

Test: media/modern-media-controls/icon-button/icon-button-on.html

  • Modules/modern-media-controls/controls/airplay-button.css:

(button.airplay.on):

  • Modules/modern-media-controls/controls/airplay-button.js:

(AirplayButton):
(AirplayButton.prototype.get on): Deleted.
(AirplayButton.prototype.set on): Deleted.

  • Modules/modern-media-controls/controls/icon-button.css:

(button.icon:active,):
(button.icon:active): Deleted.

  • Modules/modern-media-controls/controls/icon-button.js:

(IconButton.prototype.get on):
(IconButton.prototype.set on):

10:38 AM Changeset in webkit [209186] by graouts@webkit.org
  • 3 edits
    2 adds in trunk/LayoutTests

[Modern Media Controls] Fix media/modern-media-controls/status-label/status-label.html
https://bugs.webkit.org/show_bug.cgi?id=165259

Reviewed by Dean Jackson.

We broke the test at media/modern-media-controls/status-label/status-label.html with the
fix for https://bugs.webkit.org/show_bug.cgi?id=165239 since the test would test the
font-family for a StatusLabel which would only inherited to be -apple-system when hosted
in a MediaControls instance. We now remove this assertion and added a dedicated test
for when a StatusLabel is hosted in a MediaControls.

  • media/modern-media-controls/status-label/status-label-expected.txt:
  • media/modern-media-controls/status-label/status-label-font-expected.txt: Added.
  • media/modern-media-controls/status-label/status-label-font.html: Added.
  • media/modern-media-controls/status-label/status-label.html:
10:35 AM Changeset in webkit [209185] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking media/modern-media-controls/media-controller/media-controller-fullscreen-ltr.html as failing on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=165258

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
10:04 AM Changeset in webkit [209184] by weinig@apple.com
  • 39 edits
    2 moves
    4 adds
    1 delete in trunk

[WebIDL] Remove custom bindings for File and Blob constructors
https://bugs.webkit.org/show_bug.cgi?id=165218

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

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

Update results (still failing) to account for stricter rules about dictionary default values.

Source/WebCore:

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:

Add/remove new files.

  • bindings/js/JSBlobCustom.cpp:

(WebCore::constructJSBlob): Deleted.

  • bindings/js/JSFileCustom.cpp: Removed.

Remove custom constructors.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateDefaultValue):
(GenerateDictionaryImplementationContent):
(GenerateParametersCheck):
Add support for optional sequences without default values. Move string default value
optimizations into GenerateDefaultValue.

  • fileapi/Blob.cpp:

(WebCore::Blob::Blob):

  • fileapi/Blob.h:

(WebCore::Blob::create):

  • fileapi/Blob.idl:
  • fileapi/File.cpp:

(WebCore::File::File):

  • fileapi/File.h:
  • fileapi/File.idl:

Add support for the generated constructors.

  • fileapi/BlobBuilder.cpp: Copied from Source/WebCore/fileapi/WebKitBlobBuilder.cpp.
  • fileapi/BlobBuilder.h: Copied from Source/WebCore/fileapi/WebKitBlobBuilder.h.
  • fileapi/WebKitBlobBuilder.cpp: Removed.
  • fileapi/WebKitBlobBuilder.h: Removed.

Rename WebKitBlobBuilder to BlobBuilder, and update to work with generated constructor.

  • fileapi/BlobPropertyBag.h: Added.
  • fileapi/BlobPropertyBag.idl: Added.

Added.

  • fileapi/ThreadableBlobRegistry.cpp:

(WebCore::ThreadableBlobRegistry::registerBlobURL):

  • fileapi/ThreadableBlobRegistry.h:
  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::registerBlobURL):

  • platform/network/BlobRegistryImpl.h:

Avoid copies of the BlobPart Vector.

  • platform/network/BlobPart.h:

Replace header-guards with #pragma once.

Source/WebKit2:

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::registerBlobURL):

  • NetworkProcess/FileAPI/NetworkBlobRegistry.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::registerBlobURL):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • WebProcess/FileAPI/BlobRegistryProxy.cpp:

(WebKit::BlobRegistryProxy::registerBlobURL):

  • WebProcess/FileAPI/BlobRegistryProxy.h:

Avoid copies of the BlobPart Vector.

LayoutTests:

  • fast/files/blob-constructor-expected.txt:
  • fast/files/file-constructor-expected.txt:
  • fast/files/file-constructor.html:
  • fast/files/script-tests/blob-constructor.js:

Update for stricter parsing and changed error text. (The error text
is regressed, but consistent with all generated bindings. I will work
on making improvements on this soon.)

  • http/tests/fetch/fetch-as-blob.js:

Update to account for stricter rules about dictionary default values.

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

Marking media/modern-media-controls/audio/audio-controls-buttons.html as a timeout.
https://bugs.webkit.org/show_bug.cgi?id=165234

Unreviewed test gardening.

  • platform/mac/TestExpectations:
8:16 AM Changeset in webkit [209182] by graouts@webkit.org
  • 13 edits
    19 adds in trunk

[Modern Media Controls] Provide a UI object to show a list of tracks
https://bugs.webkit.org/show_bug.cgi?id=165239

Reviewed by Dean Jackson.

We add a new TracksPanel object which we will be using to display a list of
audio and text tracks. The tracks panel can be shown by calling showTracksPanel()
on a MacOSMediaControls object and will be dismissed by hitting the Escape key
or mousing down outside of the panel's bounds. While the tracks panel is up,
arrows can be used to focus individual tracks which can be activated by either
pressing the Space bar or Enter key.

Activating a track will briefly animate its background to indicate selection and
dismissing the tracks panel is also animated with a quick fade-out animation.

Data for the tracks panel is provided by specifying a dataSource property and
implementing the required methods to provide the number of sections in the panel,
the number of tracks in each section, etc.

Tests: media/modern-media-controls/tracks-panel/tracks-panel-hide-click-outside.html

media/modern-media-controls/tracks-panel/tracks-panel-hide-esc-key.html
media/modern-media-controls/tracks-panel/tracks-panel-hide.html
media/modern-media-controls/tracks-panel/tracks-panel-population.html
media/modern-media-controls/tracks-panel/tracks-panel-right-x.html
media/modern-media-controls/tracks-panel/tracks-panel-select-track-with-keyboard.html
media/modern-media-controls/tracks-panel/tracks-panel-select-track-with-mouse.html
media/modern-media-controls/tracks-panel/tracks-panel.html

  • Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css:

(.media-controls.mac.fullscreen):
(.media-controls.mac.fullscreen > .controls-bar):
(.media-controls.mac.fullscreen .tracks-panel):

  • Modules/modern-media-controls/controls/macos-inline-media-controls.css:

(.media-controls.mac.inline .tracks-panel):

  • Modules/modern-media-controls/controls/macos-media-controls.js:

(MacOSMediaControls.prototype.showTracksPanel):
(MacOSMediaControls.prototype.hideTracksPanel):
(MacOSMediaControls):

  • Modules/modern-media-controls/controls/media-controls.css:

(.media-controls):

  • Modules/modern-media-controls/controls/placard.css:

(.placard):

  • Modules/modern-media-controls/controls/status-label.css:

(.status-label):

  • Modules/modern-media-controls/controls/tracks-panel.css: Added.

(.tracks-panel):
(.tracks-panel *):
(.tracks-panel.fade-out):
(.tracks-panel-section):
(.tracks-panel-section:first-of-type):
(.tracks-panel-section > h3):
(.tracks-panel-section > ul):
(.tracks-panel-section > ul > li):
(.tracks-panel-section > ul > li:focus):
(.tracks-panel-section > ul > li.selected:before):
(.tracks-panel-section > ul > li.animated):
(@keyframes tracks-panel-item-selection):
(22.22%):

  • Modules/modern-media-controls/controls/tracks-panel.js: Added.

(TracksPanel.prototype.get presented):
(TracksPanel.prototype.presentInParent):
(TracksPanel.prototype.hide):
(TracksPanel.prototype.get rightX):
(TracksPanel.prototype.set rightX):
(TracksPanel.prototype.trackNodeSelectionAnimationDidEnd):
(TracksPanel.prototype.mouseMovedOverTrackNode):
(TracksPanel.prototype.mouseExitedTrackNode):
(TracksPanel.prototype.commitProperty):
(TracksPanel.prototype.handleEvent):
(TracksPanel.prototype._childrenFromDataSource.):
(TracksPanel.prototype._childrenFromDataSource):
(TracksPanel.prototype._handleMousedown):
(TracksPanel.prototype._handleKeydown):
(TracksPanel.prototype._dismiss):
(TracksPanel.prototype._focusTrackNode):
(TracksPanel.prototype._focusPreviousTrackNode):
(TracksPanel.prototype._focusNextTrackNode):
(TracksPanel.prototype._focusFirstTrackNode):
(TracksPanel.prototype._focusLastTrackNode):
(TrackNode):
(TrackNode.prototype.activate):
(TrackNode.prototype.handleEvent):
(TrackNode.prototype._animationDidEnd):

  • Modules/modern-media-controls/js-files:
  • WebCore.xcodeproj/project.pbxproj:
8:15 AM Changeset in webkit [209181] by akling@apple.com
  • 7 edits
    3 adds in trunk/Source/WebCore

Log some basic memory usage stats at interesting points in time
<https://webkit.org/b/165206>

Reviewed by Antti Koivisto.

This patch adds a mechanism to mark points of interests where we might
want to do performance-related logging:

class PerformanceLogging {

enum PointOfInterest {

MainFrameLoadStarted,
MainFrameLoadCompleted,

}
void didReachPointOfInterest(PointOfInterest)

}

You get to this object via MainFrame::performanceLogging().

We respond to these callbacks by logging some basic data about memory usage
to the PerformanceLogging channel.

More PointOfInterest values will be added soon.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::setState):

  • page/MainFrame.cpp:

(WebCore::MainFrame::MainFrame):

  • page/MainFrame.h:
  • page/PerformanceLogging.cpp: Added.

(WebCore::toString):
(WebCore::getMemoryUsageStatistics):
(WebCore::PerformanceLogging::PerformanceLogging):
(WebCore::writeLog):
(WebCore::PerformanceLogging::didReachPointOfInterest):
(WebCore::PerformanceLogging::getPlatformMemoryUsageStatistics):

  • page/PerformanceLogging.h: Added.
  • page/cocoa/PerformanceLoggingCocoa.mm: Added.

(WebCore::PerformanceLogging::getPlatformMemoryUsageStatistics):

  • platform/Logging.h:
3:05 AM Changeset in webkit [209180] by svillar@igalia.com
  • 3 edits in trunk/Source/WebCore

[css-grid] Move more attributes from RenderGrid to the new Grid class
https://bugs.webkit.org/show_bug.cgi?id=165094

Reviewed by Darin Adler.

Moved more attributes from RenderGrid to Grid as they are not really part of the state of
the RenderGrid object. In particular m_autoRepeat{Columns|Rows},
m_autoRepeatEmpty{Columns|Rows} and m_orderIterator. All of them are now private attributes
of the Grid class so clients should use the getters/setters provided by this patch.

This change allows to definitely remove the grid{Column|Row}Count() methods from
RenderGrid. These two became Grid::numTracks() which returns the number of tracks in the
data structure used to represent the grid (currently a matrix). Contrary to that,
RenderGrid::numTracks() returns the actual size of the grid.

No new tests as this is a refactoring.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::Grid::numTracks):
(WebCore::RenderGrid::Grid::ensureGridSize):
(WebCore::RenderGrid::Grid::setAutoRepeatTracks):
(WebCore::RenderGrid::Grid::autoRepeatTracks):
(WebCore::RenderGrid::Grid::setAutoRepeatEmptyColumns):
(WebCore::RenderGrid::Grid::setAutoRepeatEmptyRows):
(WebCore::RenderGrid::Grid::hasAutoRepeatEmptyTracks):
(WebCore::RenderGrid::Grid::isEmptyAutoRepeatTrack):
(WebCore::RenderGrid::Grid::autoRepeatEmptyTracks):
(WebCore::RenderGrid::Grid::gridItemSpan):
(WebCore::RenderGrid::Grid::clear):
(WebCore::RenderGrid::RenderGrid):
(WebCore::RenderGrid::computeTrackSizesForDirection):
(WebCore::RenderGrid::guttersSize):
(WebCore::RenderGrid::computeIntrinsicLogicalHeight):
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::rawGridTrackSize):
(WebCore::RenderGrid::gridTrackSize):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::RenderGrid::computeEmptyTracksForAutoRepeat):
(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
(WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
(WebCore::RenderGrid::trackSizesForComputedStyle):
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
(WebCore::RenderGrid::assumedRowsSizeForOrthogonalChild):
(WebCore::RenderGrid::gridAreaBreadthForChild):
(WebCore::RenderGrid::gridAreaBreadthForChildIncludingAlignmentOffsets):
(WebCore::RenderGrid::populateGridPositionsForDirection):
(WebCore::RenderGrid::columnAxisOffsetForChild):
(WebCore::RenderGrid::rowAxisOffsetForChild):
(WebCore::RenderGrid::numTracks):
(WebCore::RenderGrid::paintChildren):
(WebCore::RenderGrid::gridColumnCount): Deleted.
(WebCore::RenderGrid::gridRowCount): Deleted.
(WebCore::RenderGrid::hasAutoRepeatEmptyTracks): Deleted.
(WebCore::RenderGrid::isEmptyAutoRepeatTrack): Deleted.
(WebCore::RenderGrid::cachedGridSpan): Deleted.

  • rendering/RenderGrid.h:

(WebCore::RenderGrid::autoRepeatCountForDirection): Deleted.

1:24 AM Changeset in webkit [209179] by Yusuke Suzuki
  • 7 edits in trunk

Introduce StringImpl::StaticStringImpl with constexpr constructor
https://bugs.webkit.org/show_bug.cgi?id=165093

Reviewed by Darin Adler.

Source/WTF:

This patch adds new class, StringImpl::StaticStringImpl.
By using this class, we can easily create static StringImpls.
This class has constexpr constructor. You can initialize instances
of this class as global static variables without invoking global
constructors.

We already have similar system, StaticASCIILiteral. But using it
requires some special perl script since we need to calculate
hash value. On the other hand, we can use StaticStringImpl without
any script supports since we implement constexpr hash function.
In the future, we will replace all the use of StaticASCIILiteral
with this StaticStringImpl.

We define empty / null strings as StaticStringImpl. And we make
StringImpl::empty() & StringImpl::null() inline functions.

  • wtf/Hasher.h:

(WTF::StringHasher::hashWithTop8BitsMasked):
(WTF::StringHasher::hash):
(WTF::StringHasher::finalize):
(WTF::StringHasher::finalizeAndMaskTop8Bits):
(WTF::StringHasher::computeLiteralHash):
(WTF::StringHasher::computeLiteralHashAndMaskTop8Bits):
(WTF::StringHasher::avalancheBits3):
(WTF::StringHasher::avalancheBits2):
(WTF::StringHasher::avalancheBits1):
(WTF::StringHasher::avalancheBits0):
(WTF::StringHasher::avalancheBits):
(WTF::StringHasher::avoidZero):
(WTF::StringHasher::processPendingCharacter):
(WTF::StringHasher::calculateWithRemainingLastCharacter1):
(WTF::StringHasher::calculateWithRemainingLastCharacter0):
(WTF::StringHasher::calculateWithRemainingLastCharacter):
(WTF::StringHasher::calculate1):
(WTF::StringHasher::calculate0):
(WTF::StringHasher::calculate):
(WTF::StringHasher::computeLiteralHashImpl):

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

(WTF::StringImpl::StaticStringImpl::StaticStringImpl):
(WTF::StringImpl::null):
(WTF::StringImpl::empty):

  • wtf/text/StringStatics.cpp:

(WTF::StringImpl::null): Deleted.
(WTF::StringImpl::empty): Deleted.

Tools:

  • TestWebKitAPI/Tests/WTF/StringImpl.cpp:

(TestWebKitAPI::TEST):

1:22 AM Changeset in webkit [209178] by pvollan@apple.com
  • 3 edits in trunk/JSTests

[Win] Skip failing JSC tests.
https://bugs.webkit.org/show_bug.cgi?id=165140

Reviewed by Mark Lam.

  • ChakraCore.yaml:
  • microbenchmarks/tan.js:
Note: See TracTimeline for information about the timeline view.