Timeline



Jan 26, 2018:

10:26 PM Changeset in webkit [227713] by rniwa@webkit.org
  • 4 edits
    2 adds in trunk/LayoutTests

Make accessibility/mac/selection-notification-focus-change.html more reliable and re-enable it
https://bugs.webkit.org/show_bug.cgi?id=182198
<rdar://problem/36930258>

Reviewed by Tim Horton.

Refactored the test by splitting each test case into its own function split by setTimeout by zero seconds
instead of triggering the next test case when receiving a specific notification to make the test more robust.

Also moved functions which trigger the focus move into evalAndLog so that they appear in the expected result,
and added more logging to make the debugging of the test easier.

Finally, added WebKit2 specific expected result because it has one extra test failure compared to WebKit1.

  • accessibility/mac/selection-notification-focus-change-expected.txt:
  • accessibility/mac/selection-notification-focus-change.html:
  • platform/mac-wk2/accessibility/mac: Added.
  • platform/mac-wk2/accessibility/mac/selection-notification-focus-change-expected.txt: Added.
  • platform/mac/TestExpectations: Removed the flaky test failure expectation since this test should now have

the same expected result everywhere on macOS.

8:26 PM Changeset in webkit [227712] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Layout Test http/wpt/beacon/beacon-async-error-logging.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=182184
<rdar://problem/36929478>

Reviewed by Youenn Fablet.

Stop relying on a setTimeout(500) to end the test. Instead rely on the
internals.setConsoleMessageListener() API to wait for the console message
we are expecting.

  • http/wpt/beacon/beacon-async-error-logging.html:
7:32 PM Changeset in webkit [227711] by Ricky Mondello
  • 5 edits in trunk

Use the standard -webkit-autofill color on iOS
https://bugs.webkit.org/show_bug.cgi?id=182182

Reviewed by Tim Horton.

Source/WebCore:

  • css/html.css:

(input:-webkit-autofill, input:-webkit-autofill-strong-password):

LayoutTests:

Update test expectations.

  • platform/ios/fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button-expected.txt:
  • platform/ios/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt:
6:13 PM Changeset in webkit [227710] by Megan Gardner
  • 5 edits in trunk

Don't retain focus for input peripheral views
https://bugs.webkit.org/show_bug.cgi?id=182204

Reviewed by Tim Horton.

Source/WebKit:

Retaining focus on input peripheral views makes it so they cannot dismiss themselves with
the current architecture. This should probably be fixed in UIKit, as there is no reason for
focus to be retained on these views anyways, as they don't have keyboard input, but this
guards against over-aggressive retain requests.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _restoreFocusWithToken:]):
(-[WKContentView _preserveFocusWithToken:destructively:]):

LayoutTests:

Fixed a spelling error while fixing a bug this test caught.

  • fast/forms/ios/ipad/unfocus-inside-fixed-hittest.html:
  • fast/forms/ios/ipad/unfocus-inside-fixed-hittest-expected.txt:
5:49 PM Changeset in webkit [227709] by Chris Dumez
  • 5 edits in trunk

Make sure service worker code does not launch a StorageProcess unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=182192
<rdar://problem/36927427>

Reviewed by Geoffrey Garen.

Source/WebKit:

When calling WebProcess::existingWebToStorageProcessConnection(), make sure we do not
force the creation of a WebProcess connection to the StorageProcess. If there is
no WebProcess, just return false right away.

  • WebProcess/Storage/WebServiceWorkerProvider.cpp:

(WebKit::WebServiceWorkerProvider::existingServiceWorkerConnectionForSession):

  • WebProcess/WebProcess.h:

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
5:43 PM Changeset in webkit [227708] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/appcache-ordering-main.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=182176
<rdar://problem/36915685>

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-26

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

Web Inspector: Timelines content browser NavigationBar is squashed at narrow heights
https://bugs.webkit.org/show_bug.cgi?id=182196
<rdar://problem/36929899>

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/NavigationBar.css:

(.navigation-bar):

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

Mark imported/blink/fast/text/international-iteration-simple-text.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=179853

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
5:26 PM Changeset in webkit [227705] by jmarcell@apple.com
  • 4 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227687. rdar://problem/36873343

5:25 PM Changeset in webkit [227704] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Tools

Apply patch. rdar://problem/36830858

[safari-605-branch] API test CSSPropertyParserTest.GridTrackLimits is failing
<rdar://problem/36830858>

Reviewed by Maciej Stachowiak.

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Make it match the other FeatureDefines.xcconfig files, otherwise it will result in test failures.
4:49 PM Changeset in webkit [227703] by Matt Baker
  • 19 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: TabBar redesign: improvements to tab layout and resize behavior
https://bugs.webkit.org/show_bug.cgi?id=181468
<rdar://problem/36395439>

Reviewed by Devin Rousso.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Images/TabPicker.svg: Added.

New ">>" icon for the tab picker button.

  • UserInterface/Views/CanvasTabContentView.js:

(WI.CanvasTabContentView):

  • UserInterface/Views/ConsoleTabContentView.js:

(WI.ConsoleTabContentView):

  • UserInterface/Views/DebuggerTabContentView.js:

(WI.DebuggerTabContentView):

  • UserInterface/Views/ElementsTabContentView.js:

(WI.ElementsTabContentView):

  • UserInterface/Views/GeneralTabBarItem.js:

(WI.GeneralTabBarItem):
(WI.GeneralTabBarItem.fromTabContentViewConstructor):
(WI.GeneralTabBarItem.prototype.get title):
Add missing override for getter/setter pair.
(WI.GeneralTabBarItem.prototype.set title):
(WI.GeneralTabBarItem.prototype._handleContextMenuEvent):
Show the close button on ephemeral tabs only (Search, New Tab).
Replace unused representedObject parameter with isEphemeral, which
determines whether to show a close button for the tab.

  • UserInterface/Views/LayersTabContentView.js:

(WI.LayersTabContentView):

  • UserInterface/Views/NavigationBar.js:

Remove unused symbol.

  • UserInterface/Views/NetworkTabContentView.js:

(WI.NetworkTabContentView):

  • UserInterface/Views/NewTabContentView.js:

(WI.NewTabContentView):

  • UserInterface/Views/PinnedTabBarItem.js:

(WI.PinnedTabBarItem):
Remove unused parameter.

  • UserInterface/Views/ResourcesTabContentView.js:

(WI.ResourcesTabContentView):

  • UserInterface/Views/SearchTabContentView.js:

(WI.SearchTabContentView):

  • UserInterface/Views/StorageTabContentView.js:

(WI.StorageTabContentView):

  • UserInterface/Views/TabBar.css:

(.tab-bar > .item):
(.tab-bar.calculate-width > .item):
(.tab-bar > .item.pinned.tab-picker):
(.tab-bar > .item > .close):
(.tab-bar > .item > .title):
(.tab-bar:not(.collapsed) > .item > .title):
(.tab-bar.collapsed > .item:not(.pinned) > .icon):
(.tab-bar > .item:hover > .close):
(.tab-bar.collapsed > .item:hover > .close):
(.tab-bar:not(.collapsed) > .item.ephemeral:hover > .icon):
(.tab-bar.collapsed > .item.ephemeral:hover > .title):
(body[dir=ltr] .tab-bar > .item > .close): Deleted.
(body[dir=rtl] .tab-bar > .item > .close): Deleted.
(.tab-bar > .item > .flex-space): Deleted.
(.tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
(body[dir=ltr] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
(body[dir=rtl] .tab-bar > .item:not(.pinned) > .flex-space:last-child): Deleted.
(body[dir=ltr] .tab-bar > .item > .title): Deleted.
(body[dir=rtl] .tab-bar > .item > .title): Deleted.
(.tab-bar.collapsed > .item): Deleted.
(.tab-bar.collapsed > .item > .flex-space): Deleted.
(.tab-bar.collapsed > .item > .close): Deleted.
(body[dir=ltr] .tab-bar.collapsed > .item > .close): Deleted.
(body[dir=rtl] .tab-bar.collapsed > .item > .close): Deleted.
(.tab-bar.hide-titles > .item > .title): Deleted.
(.tab-bar.collapsed:not(.hide-titles) > .item:not(.pinned):hover > .icon,): Deleted.
(.tab-bar.collapsed:not(.hide-titles) > .item:hover > .close,): Deleted.
Clean up tab styles and prevent tabs from shrinking during flex layout.
Added new calculate-width class, to disable flex layout when measuring
the minimum width of the TabBar required to fit all tab items.

  • UserInterface/Views/TabBar.js:

(WI.TabBar):
(WI.TabBar.prototype.set selectedTabBarItem):
(WI.TabBar.prototype.layout.forceItemHidden):
(WI.TabBar.prototype.layout):
Perform two layout passes, similar to NavigationBar. The first pass disables
flex layout and measures tab items at full size. If the bar isn't wide enough
to show all the tabs, hide their icons and measure again. If there still isn't
room, hide tabs starting from the end of the bar and display the tab picker.

(WI.TabBar.prototype._handleMouseDown):
(WI.TabBar.prototype._handleTabPickerTabContextMenu):

  • UserInterface/Views/TabBarItem.js:

(WI.TabBarItem):

  • UserInterface/Views/TimelineTabContentView.js:

(WI.TimelineTabContentView):

4:45 PM Changeset in webkit [227702] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r222961): Clear function not clearing whole screen when antialias is set to false
https://bugs.webkit.org/show_bug.cgi?id=179368
<rdar://problem/36111549>

Reviewed by Sam Weinig.

When we changed from using a CAOpenGLLayer to a regular CALayer, we should
have also swapped the "opaque" property to "contentsOpaque".

Covered by the existing test: fast/canvas/webgl/context-attributes-alpha.html
(when run on some hardware!)

  • platform/graphics/cocoa/WebGLLayer.mm:

(-[WebGLLayer initWithGraphicsContext3D:]):

4:43 PM Changeset in webkit [227701] by mark.lam@apple.com
  • 68 edits
    1 add in trunk/Source

Add infrastructure for pointer preparation.
https://bugs.webkit.org/show_bug.cgi?id=182191
<rdar://problem/36889194>

Reviewed by JF Bastien.

Source/WebCore:

No new tests because this patch does not introduce any behavior change.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestDOMJIT.cpp:
  • bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

  • bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:
  • bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
  • bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/PointerPreparations.h: Added.
4:05 PM Changeset in webkit [227700] by sbarati@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix emitAllocateWithNonNullAllocator to work on arm
https://bugs.webkit.org/show_bug.cgi?id=182187
<rdar://problem/36906550>

Reviewed by Filip Pizlo.

This patch unifies the x86 and ARM paths in emitAllocateWithNonNullAllocator
and makes it so that emitAllocateWithNonNullAllocator uses the macro scratch
register on ARM.

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::allocateHeapCell):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):

3:44 PM Changeset in webkit [227699] by jmarcell@apple.com
  • 2 edits in tags/Safari-605.1.25.1/Source/ThirdParty/libwebrtc

Cherry-pick r227698. rdar://problem/36926420

2:37 PM Changeset in webkit [227698] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

Disable VCP for MacOS
https://bugs.webkit.org/show_bug.cgi?id=182183
<rdar://problem/36919791>

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-26
Reviewed by Eric Carlson.

  • Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.h:
2:36 PM Changeset in webkit [227697] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

REGRESSiON (r226492): Crash under Element::absoluteEventBounds() on a SVGPathElement which has not been laid out yet
https://bugs.webkit.org/show_bug.cgi?id=182185
rdar://problem/36836262

Reviewed by Zalan Bujtas.

Document::absoluteRegionForEventTargets() can fire when layout is dirty, and SVGPathElement's path() can be null if it
hasn't been laid out yet. So protect against a null path in getBBox().

Not easily testable because internals.nonFastScrollableRects() forces layout, and the crash depends on the timing of
absoluteRegionForEventTargets().

  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::getBBox):

2:11 PM Changeset in webkit [227696] by Chris Dumez
  • 6 edits in trunk

Offlined content does not work for apps on home screen
https://bugs.webkit.org/show_bug.cgi?id=182070
<rdar://problem/36843906>

Reviewed by Youenn Fablet.

Source/WebCore:

Already registered service workers were unable to intercept the very first
load because registration matching was happening after the registration
was loaded from disk, but *before* its active worker was populated.

We now initialize the registrations' active worker as soon as we load
them from disk. We do not necessarily have a SW Context process connection
identifier yet at this point so I made it optional on the SWServerWorker.
This identifier gets set on the SWServerWorker when the worker is actually
launched and gets cleared when the SWServerWorker gets terminated.

Covered by new API test.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::addRegistrationFromStore):
(WebCore::SWServer::installContextData):
(WebCore::SWServer::terminateWorkerInternal):
(WebCore::SWServer::workerContextTerminated):
(WebCore::SWServer::fireInstallEvent):
(WebCore::SWServer::fireActivateEvent):

  • workers/service/server/SWServerWorker.cpp:

(WebCore::SWServerWorker::SWServerWorker):

  • workers/service/server/SWServerWorker.h:

(WebCore::SWServerWorker::contextConnectionIdentifier const):
(WebCore::SWServerWorker::setContextConnectionIdentifier):

Tools:

Add API test coverage to make sure an already registered service worker is able to intercept
the very first load.

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:

(-[SWMessageHandlerWithExpectedMessage userContentController:didReceiveScriptMessage:]):

1:41 PM Changeset in webkit [227695] by jmarcell@apple.com
  • 18 edits
    4 deletes in tags/Safari-605.1.25.1/Source

Revert r227340. rdar://problem/36746140

1:41 PM Changeset in webkit [227694] by jmarcell@apple.com
  • 57 edits
    4 deletes in tags/Safari-605.1.25.1

Revert r227425. rdar://problem/36791667

1:23 PM Changeset in webkit [227693] by Joseph Pecoraro
  • 14 edits in trunk/Source/JavaScriptCore

Rebaselining builtin generator tests after r227685.

Unreviewed.

  • Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result:
  • Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result:
  • Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result:
  • Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result:
  • Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result:
  • Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result:
  • Scripts/tests/builtins/expected/JavaScriptCore-InternalClashingNames-Combined.js-result:
  • Scripts/tests/builtins/expected/WebCore-AnotherGuardedInternalBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result:
  • Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result:

It used to be that the builtins generator was minifying by default. That was an accident
and we now only minify on Release builds. The generator tests are now getting the
default unminified output behavior so they need to update their expectations
for some extra whitespace.

1:14 PM Changeset in webkit [227692] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

We should only append ParserArenaDeletable pointers to ParserArena::m_deletableObjects.
https://bugs.webkit.org/show_bug.cgi?id=182180
<rdar://problem/36460697>

Reviewed by Michael Saboff.

Some parser Node subclasses extend ParserArenaDeletable via multiple inheritance,
but not as the Node's first base class. ParserArena::m_deletableObjects is
expecting pointers to objects of the shape of ParserArenaDeletable. We ensure
this by allocating the Node subclass, and casting it to ParserArenaDeletable to
get the correct pointer to append to ParserArena::m_deletableObjects.

To simplify things, we introduce a JSC_MAKE_PARSER_ARENA_DELETABLE_ALLOCATED
(analogous to WTF_MAKE_FAST_ALLOCATED) for use in Node subclasses that extends
ParserArenaDeletable.

  • parser/NodeConstructors.h:

(JSC::ParserArenaDeletable::operator new):

  • parser/Nodes.h:
  • parser/ParserArena.h:

(JSC::ParserArena::allocateDeletable):

12:55 PM Changeset in webkit [227691] by commit-queue@webkit.org
  • 15 edits in trunk

Addressing post-review comments after r226614
https://bugs.webkit.org/show_bug.cgi?id=182151

Patch by Chris Nardi <cnardi@chromium.org> on 2018-01-26
Reviewed by Myles C. Maxfield.

PerformanceTests:

  • StitchMarker/wtf/text/StringImpl.h:

(WTF::isSpaceOrNewline):

  • StitchMarker/wtf/text/TextBreakIterator.cpp:

(WTF::numCodeUnitsInGraphemeClusters):

  • StitchMarker/wtf/text/TextBreakIterator.h:

Source/WebCore:

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::sanitizeUserInputValue):

  • html/TextFieldInputType.cpp:

(WebCore::limitLength):

  • platform/LocalizedStrings.cpp:

(WebCore::truncatedStringForLookupMenuItem):

  • rendering/updating/RenderTreeBuilderFirstLetter.cpp:

(WebCore::RenderTreeBuilder::FirstLetter::createRenderers):

Source/WTF:

  • wtf/text/StringImpl.h:

(WTF::isSpaceOrNewline):

  • wtf/text/TextBreakIterator.cpp:

(WTF::numCodeUnitsInGraphemeClusters):

  • wtf/text/TextBreakIterator.h:

Tools:

  • TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp:

(TestWebKitAPI::TEST):

12:51 PM Changeset in webkit [227690] by jmarcell@apple.com
  • 7 edits in tags/Safari-605.1.25.1/Source

Versioning.

12:17 PM Changeset in webkit [227689] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.25.1

New tag.

12:16 PM Changeset in webkit [227688] by jmarcell@apple.com
  • 6 edits in branches/safari-605-branch

Cherry-pick r227570. rdar://problem/36873398

12:15 PM Changeset in webkit [227687] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit

Allow cellular access for default-created ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=182179
<rdar://problem/36572023>

Reviewed by Andy Estes.

This makes it so when we recover from a NetworkProcess crash (see r227590) on iOS, we will
be able to continue browsing using cell data.

  • Shared/WebsiteDataStoreParameters.cpp:

(WebKit::WebsiteDataStoreParameters::privateSessionParameters):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setPrivateBrowsingEnabled):

11:39 AM Changeset in webkit [227686] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] prefers-reduced-motion media query is not working
https://bugs.webkit.org/show_bug.cgi?id=182169
<rdar://problem/36801631>

Patch by Antoine Quint <Antoine Quint> on 2018-01-26
Reviewed by Dean Jackson.

The code that would eventually query UIKit for the system setting was not run since USE(NEW_THEME) is off on iOS.
Adding a PLATFORM(IOS) flag here allows the code to run.

  • css/MediaQueryEvaluator.cpp:

(WebCore::prefersReducedMotionEvaluate):

11:32 AM Changeset in webkit [227685] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

JavaScriptCore builtins should be partially minified in Release builds not Debug builds
https://bugs.webkit.org/show_bug.cgi?id=182165

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-26
Reviewed by Keith Miller.

  • Scripts/builtins/builtins_model.py:

(BuiltinFunction.fromString):
Apply minifications on Release builds instead of Debug builds.
Also eliminate leading whitespace.

10:52 AM Changeset in webkit [227684] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

Fix style - need to use C comments.

  • wtf/Platform.h:
10:42 AM Changeset in webkit [227683] by fpizlo@apple.com
  • 11 edits in trunk/Source

Disable TLS-based TLCs
https://bugs.webkit.org/show_bug.cgi?id=182175

Reviewed by Saam Barati.

Source/JavaScriptCore:

Check for the new USE(FAST_TLS_FOR_TLC) flag instead of just ENABLE(FAST_TLS_JIT).

  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::~BlockDirectory):

  • heap/BlockDirectory.h:
  • heap/ThreadLocalCache.cpp:

(JSC::ThreadLocalCache::installSlow):
(JSC::ThreadLocalCache::installData):

  • heap/ThreadLocalCache.h:
  • heap/ThreadLocalCacheInlines.h:

(JSC::ThreadLocalCache::getImpl):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):

  • runtime/VM.cpp:

(JSC::VM::~VM):

  • runtime/VM.h:

Source/WTF:

Add a flag for TLS-based TLCs and set it to 0. We can re-enable this feature when we need to use TLCs for
actual thread-local allocation and when we fix the fact that WebCore context switches JSC VMs without telling
us.

  • wtf/Platform.h:
10:36 AM Changeset in webkit [227682] by achristensen@apple.com
  • 10 edits in trunk/Source/WebKit

Clean up more networking code
https://bugs.webkit.org/show_bug.cgi?id=182161

Reviewed by Anders Carlsson.

Two cleanups:

  1. The WebProcess doesn't need to initialize NetworkSessions.
  2. WebFrameNetworkingContext doesn't need to have the NetworkingContext functions to support ResourceHandles in WebKit any more.
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:
  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/RemoteNetworkingContext.h:

(): Deleted.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:
  • NetworkProcess/curl/RemoteNetworkingContextCurl.cpp:

(WebKit::RemoteNetworkingContext::~RemoteNetworkingContext): Deleted.
(WebKit::RemoteNetworkingContext::isValid const): Deleted.
(WebKit::RemoteNetworkingContext::storageSession const): Deleted.

  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::~RemoteNetworkingContext): Deleted.
(WebKit::RemoteNetworkingContext::isValid const): Deleted.
(WebKit::RemoteNetworkingContext::localFileContentSniffingEnabled const): Deleted.
(WebKit::RemoteNetworkingContext::storageSession const): Deleted.
(WebKit::RemoteNetworkingContext::sourceApplicationAuditData const): Deleted.
(WebKit::RemoteNetworkingContext::sourceApplicationIdentifier const): Deleted.
(WebKit::RemoteNetworkingContext::blockedError const): Deleted.

  • NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:

(WebKit::RemoteNetworkingContext::~RemoteNetworkingContext): Deleted.
(WebKit::RemoteNetworkingContext::isValid const): Deleted.
(WebKit::RemoteNetworkingContext::storageSession const): Deleted.

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::clearCachedCredentials):

9:50 AM Changeset in webkit [227681] by Ryan Haddad
  • 2 edits in branches/safari-605-branch/LayoutTests

Cherry-pick r227426. rdar://problem/36837397

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

CSP post checks should be done for service worker responses
https://bugs.webkit.org/show_bug.cgi?id=182160

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-26
Reviewed by Daniel Bates.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/fetch-csp.https-expected.txt:

Source/WebCore:

Covered by updated test.

Add security checks when receiving a service worker response.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse):

  • loader/cache/CachedResourceLoader.h:
8:53 AM Changeset in webkit [227679] by pvollan@apple.com
  • 2 edits in trunk/Tools

Unreviewed, rolling out r224920.

Some Win EWS bots are not coming back up after starting reboot.

  • EWSTools/start-queue-win.sh:
8:49 AM Changeset in webkit [227678] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Update test expectations.

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:48 AM Changeset in webkit [227677] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

WebDriver: simplify the tests json report
https://bugs.webkit.org/show_bug.cgi?id=182171

Reviewed by Carlos Alberto Lopez Perez.

We are duplicating the test name in every subtest name. WPT already changed the format to remove the test name
form the subtest name. We should do the same for simplicity and compatibility with WPT.

  • Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:

(WebDriverTestRunner.dump_results_to_json_file):

8:36 AM WPE edited by cturner@igalia.com
fix typo (diff)
6:57 AM Changeset in webkit [227676] by Manuel Rego Casasnovas
  • 20 edits
    2 adds in trunk

[css-multicol] Support percentages in column-gap
https://bugs.webkit.org/show_bug.cgi?id=182004

Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

New expected results for a few tests that are passing now.
One is the test for this specific patch, the other are tests related to animations
of "normal" and initial value, that were fixed with the introduction of GapLength.

  • web-platform-tests/css/css-multicol/multicol-gap-animation-002-expected.txt:
  • web-platform-tests/css/css-multicol/multicol-gap-animation-003-expected.txt:
  • web-platform-tests/css/css-multicol/multicol-gap-percentage-001-expected.txt:

Source/WebCore:

This patch adds percentage support to column-gap property.

Most of the changes are related to the parsing logic,
the column-gap property now accepts both length and percentages,
on top of the "normal" initial value.
A new utility class GapLength has been added, as it'll be useful
to implement row-gap in the future.

Apart from that the muticolumn layout code has been modified
to resolve the percentage gaps (treating them as zero while computing
preferred widths) and resolving them during layout.
This doesn't follow the current text on the spec, but there is an
ongoing discussion that might cause the text is changed:
https://github.com/w3c/csswg-drafts/issues/509#issuecomment-355242101
We could update the implementation once we have a definitive answer
from the CSS WG.

Test: web-platform-tests/css/css-multicol/multicol-gap-percentage-001.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyinStyle):

  • css/CSSProperties.json:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertGapLength):

  • css/StyleBuilderCustom.h:

(WebCore::forwardInheritedValue):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeGapLength):
(WebCore::CSSPropertyParser::parseSingleValue):

  • page/FrameView.cpp:

(WebCore::FrameView::applyPaginationToViewport):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::columnGap const):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::columnGap const):

  • rendering/style/GapLength.cpp: Added.

(WebCore::operator<<):

  • rendering/style/GapLength.h: Added.

(WebCore::GapLength::GapLength):
(WebCore::GapLength::isNormal const):
(WebCore::GapLength::length const):
(WebCore::GapLength::operator== const):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::columnGap const):
(WebCore::RenderStyle::setColumnGap):
(WebCore::RenderStyle::initialColumnGap):

  • rendering/style/StyleMultiColData.cpp:

(WebCore::StyleMultiColData::StyleMultiColData):
(WebCore::StyleMultiColData::operator== const):

  • rendering/style/StyleMultiColData.h:
  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

6:52 AM Changeset in webkit [227675] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

[GTK] Support using long-tap gesture to open context menu
https://bugs.webkit.org/show_bug.cgi?id=140747

Patch by Jan-Michael Brummer <jan.brummer@tabos.org> on 2018-01-26
Reviewed by Carlos Garcia Campos.

Add long press gesture which simulates a secondary mouse press to open context menu.

  • UIProcess/gtk/GestureController.cpp:

(WebKit::GestureController::GestureController):
(WebKit::GestureController::handleEvent):
(WebKit::GestureController::isProcessingGestures const):
(WebKit::GestureController::Gesture::simulateMousePress):
(WebKit::GestureController::DragGesture::handleTap):
(WebKit::GestureController::LongPressGesture::longPressed):
(WebKit::GestureController::LongPressGesture::pressed):
(WebKit::GestureController::LongPressGesture::LongPressGesture):

  • UIProcess/gtk/GestureController.h:

(WebKit::GestureController::reset):

5:20 AM Changeset in webkit [227674] by Carlos Garcia Campos
  • 7 edits in trunk/Source/WebDriver

WebDriver: service hangs after a browser crash
https://bugs.webkit.org/show_bug.cgi?id=182170

Reviewed by Carlos Alberto Lopez Perez.

This is currently happening in the GTK+ debug bot. There's a test that makes the browser crash due to an assert,
hanging the whole process and preventing the rest of the tests from running. When the browser crashes, we
correctly handle the pending requests, by completing them with an error. However, if the client tries to send
another command we fail to send the message to the browser and the reply is never sent to the client. In the
case of the tests, delete session command is sent, but never gets a reply.

  • Session.cpp:

(WebDriver::Session::isConnected const): Return whether the session is connected to the browser.

  • Session.h:
  • SessionHost.cpp:

(WebDriver::SessionHost::sendCommandToBackend): Pass the message ID to SessionHost::sendMessageToBackend().

  • SessionHost.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::deleteSession): Ignore unknown errors if the session is no longer connected.

  • glib/SessionHostGlib.cpp:

(WebDriver::SessionHost::sendMessageToBackend): Handle errors when sending the command by completing the request
with an error.

2:46 AM Changeset in webkit [227673] by emilio
  • 3 edits in trunk/Source/WebCore

Remove unused RenderFragmentedFlow::createFragmentedFlowStyle.
https://bugs.webkit.org/show_bug.cgi?id=182138

Reviewed by Manuel Rego Casasnovas.

Has no callers.

No new tests, just removes unused code so no behavior change.

  • rendering/RenderFragmentedFlow.cpp:
  • rendering/RenderFragmentedFlow.h:
2:45 AM Changeset in webkit [227672] by emilio
  • 3 edits in trunk/Source/WebCore

Remove useless RenderBlockFlow overrides.
https://bugs.webkit.org/show_bug.cgi?id=182139

Reviewed by Manuel Rego Casasnovas.

I think these are leftovers from the CSS regions removal, looking at
blame.

No new tests, no behavior change.

  • rendering/RenderBlockFlow.cpp:
  • rendering/RenderBlockFlow.h:
1:50 AM Changeset in webkit [227671] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebDriver

WebDriver: timeouts value and cookie expiry should be limited to max safe integer
https://bugs.webkit.org/show_bug.cgi?id=182167

Reviewed by Žan Doberšek.

This changed recently in the spec, but our implementation was wrong in any case since we were limiting to
INT_MAX. Use valueAsNumberInRange() to ensure we get a valid double value in the given range, and then convert
to unsigned if it's a valid integer.

Fixes: imported/w3c/webdriver/tests/sessions/new_session/create_firstMatch.py::test_valid[timeouts-value10]

imported/w3c/webdriver/tests/sessions/new_session/create_alwaysMatch.py::test_valid[timeouts-value10]

  • Session.h:
  • WebDriverService.cpp:

(WebDriver::valueAsNumberInRange):
(WebDriver::unsignedValue):
(WebDriver::deserializeTimeouts):
(WebDriver::deserializeCookie):

1:18 AM Changeset in webkit [227670] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

Unreviewed. REGRESSION(r227647): window.open() is broken in GTK and WPE after r227647.

In r227647, API::UIClient::createNewPage() was changed to use CompletionHandler instead of Function. All
implementations were updated expect the GLib one, and we didn't notice it because the method doesn't have the
final/override mark.

  • UIProcess/API/glib/WebKitUIClient.cpp:

(UIClient::createNewPage):

12:54 AM Changeset in webkit [227669] by svillar@igalia.com
  • 2 edits in trunk/Source/WebKit

[WebVR] Make WebVR available by default for developer builds
https://bugs.webkit.org/show_bug.cgi?id=182101

Reviewed by Michael Catanzaro.

Moved WebVR setting to the experimental features section and make it
available by default for developer builds for GTK and WPE.

  • Shared/WebPreferences.yaml:
12:51 AM Changeset in webkit [227668] by Carlos Garcia Campos
  • 11 edits in trunk/WebDriverTests

Unreviewed. Update W3C WebDriver imported tests.

  • imported/w3c/importer.json:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executormarionette.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/pytestrunner/runner.py:
  • imported/w3c/webdriver/tests/element_click/select.py:
  • imported/w3c/webdriver/tests/interaction/element_clear.py:
  • imported/w3c/webdriver/tests/sessions/new_session/support/create.py:
  • imported/w3c/webdriver/tests/state/get_element_attribute.py:
  • imported/w3c/webdriver/tests/state/get_element_property.py:
  • imported/w3c/webdriver/tests/state/get_element_tag_name.py:
  • imported/w3c/webdriver/tests/state/is_element_selected.py:

Jan 25, 2018:

9:30 PM Changeset in webkit [227667] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Network Table: Sort indicator is not displayed when sorted column is hidden and re-shown
https://bugs.webkit.org/show_bug.cgi?id=182164
<rdar://problem/36892619>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-25
Reviewed by Brian Burg.

  • UserInterface/Views/Table.js:

(WI.Table.prototype.showColumn):
Re-add the sort classes if the column being shown is the active sort column.

9:22 PM Changeset in webkit [227666] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Network - Cookies view should behave better at narrow widths, all data is hidden
https://bugs.webkit.org/show_bug.cgi?id=182163
<rdar://problem/36893241>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-25
Reviewed by Brian Burg.

  • UserInterface/Views/ResourceCookiesContentView.css:

(.resource-cookies .table):
Give these tables a reasonable minimum size so that if the inspector
is narrow, the content view can still be scrolled to see all of
the table data.

  • UserInterface/Views/Table.css:

(.table > .header):
Match the data-container and mark overflow as hidden, otherwise
super narrow widths show header content beyond the edge.

9:08 PM Changeset in webkit [227665] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Add InspectorShaderProgram to Unified Sources build
https://bugs.webkit.org/show_bug.cgi?id=182084

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-25
Reviewed by Dan Bernstein.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • Sources.txt:

Move to Sources.txt always.

  • inspector/InspectorShaderProgram.cpp:

Add ENABLE(WEBGL) guard to contents.

9:03 PM Changeset in webkit [227664] by rniwa@webkit.org
  • 15 edits
    4 adds in trunk

Make scrolling to the focused element async
https://bugs.webkit.org/show_bug.cgi?id=181575
<rdar://problem/36459767>

Reviewed by Simon Fraser.

Source/WebCore:

Made the revealing of the focused element asynchronous in Element::focus. Like selection, schedule a timer when
a new element is focused, and only scroll to the focused element when the timer fires. If any other scrolling
happens meanwhile, we cancel this timer.

There are two Web exposed behavioral changes:

  1. The scrolling position doesn't change immediately when calling Element::focus.
  2. Only the last focused element will be revealed.

Both behavioral changes pose its own compatibility risks but we're making a conscious decision here since
the scrolling asynchronous has a clear performance benefit.

There is one edge case to cosnider: when the history controller restores the scrolling position, canceling the
timer results in a focused element in an overflow: hidden element to be never revealed. Expediate revealing of
the focused element in this one case instead of canceling.

Tests: fast/scrolling/scroll-to-focused-element-asynchronously.html

fast/scrolling/scroll-to-focused-element-canceled-by-fragment-navigation.html

  • dom/Element.cpp:

(WebCore::Element::focus): Call updateFocusAppearance on focusAppearanceUpdateTarget to handle HTMLAreaElement
which delegates the focus appearance update to its image element.
(WebCore::Element::focusAppearanceUpdateTarget): Extracted. Returns "this" element for all but HTMLAreaElement.
(WebCore::Element::updateFocusAppearance): Schedule the revealing of the focused element in FrameView instead of
synchronously scrolling to the focused element.

  • dom/Element.h:

(WebCore::Element::defaultFocusTextStateChangeIntent):

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::focusAppearanceUpdateTarget): Extracted from updateFocusAppearance.
(WebCore::HTMLAreaElement::updateFocusAppearance): Deleted.

  • html/HTMLAreaElement.h:
  • loader/HistoryController.cpp:

(WebCore::HistoryController::restoreScrollPositionAndViewState): Reveal the focused element
prior to restoring the scrolling location of the fragment navigation. This is needed to reveal a focused element
inside overflow: hidden element which got focused.

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView): Added a boolean flag and a timer for scrolling to the focused element.
(WebCore::FrameView::reset): Stop the timer and clear the flag.
(WebCore::FrameView::maintainScrollPositionAtAnchor): Ditto when scrolling to an anchor.
(WebCore::FrameView::setScrollPosition): Ditto when some other programatic scroll or the user scrolls the view.
(WebCore::FrameView::scheduleScrollToFocusedElement): Added.
(WebCore::FrameView::scrollToFocusedElementImmediatelyIfNeeded): Added.
(WebCore::FrameView::scrollToFocusedElementTimerFired): Added.
(WebCore::FrameView::scrollToAnchor): Stop the timer and clear the flag when scrolling to an achor.
(WebCore::FrameView::setWasScrolledByUser): Ditto when the user scrolls.

  • page/FrameView.h:

LayoutTests:

Updated the tests per the behavioral change and added two more tests for scrolling to the focused element.

  • accessibility/mac/webkit-scrollarea-position.html: Wait for the focus scrolling to take effect.
  • fast/events/reveal-link-when-focused.html: Ditto.
  • fast/images/imagemap-scroll.html: Ditto.
  • fast/overflow/scroll-nested-positioned-layer-in-overflow.html: Ditto.
  • fast/overflow/scrollRevealButton.html: Ditto.
  • fast/transforms/scrollIntoView-transformed.html: Ditto. We need to focus each element in a seperate task

since only the last focused element will be revealed otherwise.

  • fast/scrolling/scroll-to-focused-element-asynchronously-expected.txt: Added.
  • fast/scrolling/scroll-to-focused-element-asynchronously.html: Added.
  • fast/scrolling/scroll-to-focused-element-canceled-by-fragment-navigation-expected.txt: Added.
  • fast/scrolling/scroll-to-focused-element-canceled-by-fragment-navigation.html: Added.
9:03 PM Changeset in webkit [227663] by jmarcell@apple.com
  • 11 edits in branches/safari-605-branch

Cherry-pick r227612. rdar://problem/36873390

9:03 PM Changeset in webkit [227662] by jmarcell@apple.com
  • 7 edits
    1 add in branches/safari-605-branch

Cherry-pick r227590. rdar://problem/36873343

9:03 PM Changeset in webkit [227661] by jmarcell@apple.com
  • 4 edits in branches/safari-605-branch/Source/WebInspectorUI

Cherry-pick r227585. rdar://problem/36873363

9:03 PM Changeset in webkit [227660] by jmarcell@apple.com
  • 8 edits in branches/safari-605-branch

Cherry-pick r227578. rdar://problem/36873356

9:03 PM Changeset in webkit [227659] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebInspectorUI

Cherry-pick r227572. rdar://problem/36873386

9:03 PM Changeset in webkit [227658] by jmarcell@apple.com
  • 3 edits
    4 adds in branches/safari-605-branch

Cherry-pick r227567. rdar://problem/36873353

9:03 PM Changeset in webkit [227657] by jmarcell@apple.com
  • 19 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227566. rdar://problem/36722508

9:03 PM Changeset in webkit [227656] by jmarcell@apple.com
  • 10 edits
    3 adds in branches/safari-605-branch

Cherry-pick r227533. rdar://problem/36873383

9:02 PM Changeset in webkit [227655] by jmarcell@apple.com
  • 5 edits in branches/safari-605-branch/Source/JavaScriptCore

Cherry-pick r227435. rdar://problem/36873349

9:02 PM Changeset in webkit [227654] by jmarcell@apple.com
  • 5 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227430. rdar://problem/36873610

9:02 PM Changeset in webkit [227653] by jmarcell@apple.com
  • 20 edits
    1 add in branches/safari-605-branch

Cherry-pick r227410. rdar://problem/36873404

8:58 PM Changeset in webkit [227652] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: "Displayed Columns" should not be displayed in context menu if all columns are required columns
https://bugs.webkit.org/show_bug.cgi?id=182162
<rdar://problem/36893758>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-25
Reviewed by Matt Baker.

  • UserInterface/Views/Table.js:

(WI.Table.prototype._handleHeaderContextMenu):
Only add the header column when we know there are hideable columns.

7:42 PM Changeset in webkit [227651] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk

REGRESSION(r217236): [iOS] PDFDocumentImage does not update its cached ImageBuffer if it has a sub-rectangle of the image
https://bugs.webkit.org/show_bug.cgi?id=182083

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-01-25
Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/images/pdf-as-image-dest-rect-change.html

Revert the change r217236 back. Fix the issue of throwing out the cached
ImageBuffer of the PDF document image when moving its rectangle.

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::cacheParametersMatch): Return the if-statement
which was deleted in r217236 back but intersect it with dstRect. The context
clipping rectangle can be more than the dstRect.
(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
-- Remove a wrong optimization which used to work for Mac only if the context

interpolation quality is not set to low or none quality. This optimization
does not consider the case when srcRect or destRect change after caching
the ImageBuffer. Or even if m_cachedImageRect does not include the
whole clipping rectangle.

-- Move back the call to cacheParametersMatch() before changing the

m_cachedImageRect.

-- Always intersect the clipping rectangle with the dstRect to ensure we

only look at the dirty rectangle inside the image boundary.

-- If cacheParametersMatch() returns true, set m_cachedDestinationRect to

dstRect and move m_cachedImageRect by the difference between the new
and the old dstRects since no re-caching will happen.

  • platform/graphics/cg/PDFDocumentImage.h:
  • testing/Internals.cpp:

(WebCore::pdfDocumentImageFromImageElement):
(WebCore::Internals::pdfDocumentCachingCount):

  • testing/Internals.h:
  • testing/Internals.idl:

Add an internal API which returns the number of drawing the PDF into an
ImageBuffer.

LayoutTests:

PDFDocumentImage renders only on CG platforms. Enable the new test for
iOS only.

  • TestExpectations:
  • fast/images/pdf-as-image-dest-rect-change-expected.txt: Added.
  • fast/images/pdf-as-image-dest-rect-change.html: Added.
  • platform/ios/TestExpectations:
7:31 PM Changeset in webkit [227650] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Remove unnecessary developerExtrasEnabled checks
https://bugs.webkit.org/show_bug.cgi?id=182156

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-25
Reviewed by Matt Baker.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
(WebCore::InspectorInstrumentation::frameDocumentUpdatedImpl):
(WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
These checks should not be needed. The step above bails if there is
no inspector frontend, and there can be no inspector frontend unless
developer extras enabled are enabled.

6:42 PM Changeset in webkit [227649] by Yusuke Suzuki
  • 6 edits
    1 add in trunk

imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html crashes
https://bugs.webkit.org/show_bug.cgi?id=181980

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-expected.txt: Added.

Source/JavaScriptCore:

We accidentally failed to propagate errored promise in instantiate and satify phase if entry.{instantiate,satisfy}
promises are set. Since we just returned entry, it becomes succeeded promise even if the dependent fetch, instantiate,
and satisfy promises are failed. This patch fixes error propagation by returning entry.instantiate and entry.satisfy
correctly.

  • builtins/ModuleLoaderPrototype.js:

(requestInstantiate):
(requestSatisfy):

LayoutTests:

5:35 PM Changeset in webkit [227648] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed, fix windows build.

  • wtf/MathExtras.h:

(WTF::opaque):

5:31 PM Changeset in webkit [227647] by achristensen@apple.com
  • 7 edits in trunk

REGRESSION (r221899): Web Content process hangs when webpage tries to make a new window if the WKWebView doesn’t have a UI delegate
https://bugs.webkit.org/show_bug.cgi?id=182152

Reviewed by Joseph Pecoraro.

Source/WebKit:

Call the completion handler of the default API::UIClient::createNewPage.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::createNewPage):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::createNewPage):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

(-[NoUIDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):

5:18 PM Changeset in webkit [227646] by Wenson Hsieh
  • 4 edits in trunk/Source/WebCore

Add localizable strings for extra-zoomed form controls
https://bugs.webkit.org/show_bug.cgi?id=182080

Reviewed by Tim Horton.

Add new localizable strings. Additionally, run update-webkit-localizable-strings to re-sort
Localizable.strings.

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

(WebCore::formControlCancelButtonTitle):
(WebCore::formControlHideButtonTitle):
(WebCore::formControlGoButtonTitle):
(WebCore::formControlSearchButtonTitle):
(WebCore::textInputModeWriteButton):
(WebCore::textInputModeSpeechButton):

  • platform/LocalizedStrings.h:
5:12 PM Changeset in webkit [227645] by Wenson Hsieh
  • 2 edits
    10 adds in trunk/Source/WebKit

[iOS] [WK2] Introduce new views and view controllers to support extra-zoomed text form controls
https://bugs.webkit.org/show_bug.cgi?id=182000
<rdar://problem/35143035>

Reviewed by Tim Horton.

Add new files to support text form control editing while extra-zoomed.

  • UIProcess/ios/forms/WKFocusedFormControlView.h: Added.
  • UIProcess/ios/forms/WKFocusedFormControlView.mm: Added.
  • UIProcess/ios/forms/WKFocusedFormControlViewController.h: Added.
  • UIProcess/ios/forms/WKFocusedFormControlViewController.mm: Added.
  • UIProcess/ios/forms/WKTextFormControlViewController.h: Added.
  • UIProcess/ios/forms/WKTextFormControlViewController.mm: Added.
  • UIProcess/ios/forms/WKTextInputViewController.h: Added.
  • UIProcess/ios/forms/WKTextInputViewController.mm: Added.
  • UIProcess/ios/forms/WKTextSuggestionButton.h: Added.
  • UIProcess/ios/forms/WKTextSuggestionButton.mm: Added.
  • WebKit.xcodeproj/project.pbxproj:
4:41 PM Changeset in webkit [227644] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Gardening: fix 32-bit build after r227643.
https://bugs.webkit.org/show_bug.cgi?id=182086

Not reviewed.

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitDynamicPoisonOnLoadedType):

4:05 PM Changeset in webkit [227643] by fpizlo@apple.com
  • 10 edits in trunk/Source

DirectArguments should protect itself using dynamic poisoning and precise index masking
https://bugs.webkit.org/show_bug.cgi?id=182086

Reviewed by Saam Barati.

Source/JavaScriptCore:

This implements dynamic poisoning and precise index masking in DirectArguments, using the
helpers from <wtf/MathExtras.h> and helpers in AssemblyHelpers and FTL::LowerDFGToB3.

We use dynamic poisoning for DirectArguments since this object did not have any additional
indirection inside it that could have been poisoned. So, we use the xor of the expected type
and the actual type as an additional input into the pointer.

We use precise index masking for bounds checks, because it's not worth doing index masking
unless we know that precise index masking is too slow.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::lshiftPtr):
(JSC::MacroAssembler::rshiftPtr):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal):
(JSC::FTL::DFG::LowerDFGToB3::preciseIndexMask64):
(JSC::FTL::DFG::LowerDFGToB3::preciseIndexMask32):
(JSC::FTL::DFG::LowerDFGToB3::dynamicPoison):
(JSC::FTL::DFG::LowerDFGToB3::dynamicPoisonOnLoadedType):
(JSC::FTL::DFG::LowerDFGToB3::dynamicPoisonOnType):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitPreciseIndexMask32):
(JSC::AssemblyHelpers::emitDynamicPoison):
(JSC::AssemblyHelpers::emitDynamicPoisonOnLoadedType):
(JSC::AssemblyHelpers::emitDynamicPoisonOnType):

  • jit/AssemblyHelpers.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitDirectArgumentsGetByVal):

  • runtime/DirectArguments.h:

(JSC::DirectArguments::getIndexQuickly const):
(JSC::DirectArguments::setIndexQuickly):
(JSC::DirectArguments::argument):

  • runtime/GenericArgumentsInlines.h:

Source/WTF:

Add helpers for:

Dynamic poisoning: this means arranging to have the pointer you will dereference become an
invalid pointer if the type check you were relying on would have failed.

Precise index masking: a variant of index masking that does not depend on distancing. I figured
I'd just try this first for DirectArguments, since I didn't think that arguments[i] was ever
hot enough to warrant anything better. Turns out that in all of the benchmarks that care about
arguments performance, we optimize things to the point that the index masking isn't on a hot
path anymore. Turns out, it's neutral!

  • wtf/MathExtras.h:

(WTF::preciseIndexMask):
(WTF::dynamicPoison):

3:45 PM Changeset in webkit [227642] by jmarcell@apple.com
  • 7 edits in branches/safari-605-branch/Source

Versioning.

3:43 PM Changeset in webkit [227641] by jer.noble@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed build fix after r227631; make USE_VIDEOTOOLBOX universally enabled on iOS.

  • wtf/Platform.h:
3:42 PM Changeset in webkit [227640] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.25

Tag Safari-605.1.25.

3:09 PM Changeset in webkit [227639] by Chris Dumez
  • 10 edits in trunk

Access to service workers / Cache API should be disabled in sandboxed frames without allow-same-origin flag
https://bugs.webkit.org/show_bug.cgi?id=182140
<rdar://problem/36879952>

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline several WPT test that either pass or fail differently.

  • web-platform-tests/service-workers/cache-storage/window/sandboxed-iframes.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/sandboxed-iframe-navigator-serviceworker.https-expected.txt:

Source/WebCore:

Throw a SecurityError when accessing navigator.serviceWorker or window.caches inside a sandboxed iframe
without the allow-same-origin flag. This behavior is consistent with Chrome. Firefox, however, seems
to return these objects but have their API reject promises with a SecurityError instead.

No new tests, rebaselined existing tests.

  • Modules/cache/DOMWindowCaches.cpp:

(WebCore::DOMWindowCaches::caches): Deleted.

  • Modules/cache/DOMWindowCaches.h:
  • Modules/cache/DOMWindowCaches.idl:
  • page/NavigatorBase.cpp:
  • page/NavigatorBase.h:
  • page/NavigatorServiceWorker.idl:
3:08 PM Changeset in webkit [227638] by Chris Dumez
  • 9 edits in trunk

Clients.get(id) should only returns clients in the service worker's origin
https://bugs.webkit.org/show_bug.cgi?id=182149
<rdar://problem/36882310>

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebase WPT test that is now passing.

  • web-platform-tests/service-workers/service-worker/clients-get-cross-origin.https-expected.txt:

Source/WebCore:

When looking for SW clients with a given identifier, only look in the list of
clients that have the same origin as the service worker.

No new tests, rebaselined existing test.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::serviceWorkerClientWithOriginByID const):
(WebCore::SWServer::serviceWorkerClientByID const): Deleted.

  • workers/service/server/SWServer.h:
  • workers/service/server/SWServerWorker.cpp:

(WebCore::SWServerWorker::findClientByIdentifier const):

  • workers/service/server/SWServerWorker.h:

Source/WebKit:

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::postMessageToServiceWorker):

3:06 PM Changeset in webkit [227637] by commit-queue@webkit.org
  • 6 edits in trunk

WebPluginInfoProvider should handle null host queries
https://bugs.webkit.org/show_bug.cgi?id=182112

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-25
Reviewed by Chris Dumez.

Source/WebCore:

No change of behavior.

Removed assertion that is not always true, as shown by API tests.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):

Source/WebKit:

Return early if host is null.

  • WebProcess/Plugins/WebPluginInfoProvider.cpp:

(WebKit::WebPluginInfoProvider::populatePluginCache):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/PluginLoadClientPolicies.mm:

(TEST):

2:56 PM Changeset in webkit [227636] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Rename some local vars from type to typedArrayType for greater clarity.
https://bugs.webkit.org/show_bug.cgi?id=182148
<rdar://problem/36882310>

Reviewed by Saam Barati.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):

2:49 PM Changeset in webkit [227635] by commit-queue@webkit.org
  • 4 edits in trunk

ShapeOutside should use same origin credentials mode
https://bugs.webkit.org/show_bug.cgi?id=182141

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-25
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/fetch-request-css-images.https-expected.txt:

Source/WebCore:

Covered by updated test.
As per https://drafts.csswg.org/css-shapes/#shape-outside-property, ShapeOutside images
should be fetched with anonymous cors mode, meaning credentials should be set to same-origin.

  • style/StylePendingResources.cpp:

(WebCore::Style::loadPendingImage):

2:47 PM Changeset in webkit [227634] by Ryan Haddad
  • 2 edits in branches/safari-605-branch/LayoutTests

Cherry-pick r227421. rdar://problem/36837397

2:46 PM Changeset in webkit [227633] by Ryan Haddad
  • 4 edits
    2 adds in branches/safari-605-branch/LayoutTests

Cherry-pick r227260. rdar://problem/36837397

2:31 PM Changeset in webkit [227632] by wilander@apple.com
  • 2 edits in trunk/Source/WebCore

Make sure we have a frame as we iterate in ResourceLoadObserver::nonNullOwnerURL()
https://bugs.webkit.org/show_bug.cgi?id=182116
<rdar://problem/36210134>

Reviewed by Alex Christensen.

No new tests. No known repro case, just crash logs.

  • loader/ResourceLoadObserver.cpp:

(WebCore::ResourceLoadObserver::nonNullOwnerURL const):

2:29 PM Changeset in webkit [227631] by jer.noble@apple.com
  • 12 edits
    3 adds in trunk

Move ImageDecoderAVFObjC from using AVSampleBufferGenerator to AVAssetReaderOutput for parsing
https://bugs.webkit.org/show_bug.cgi?id=182091

Reviewed by Eric Carlson.

Source/WebCore:

No new tests; should be covered by existing tests.

AVSampleBufferGenerator is not available on iOS, so in order to enable ImageDecoderAVFObjC there,
we must adopt a similar API which is available both on iOS and macOS: AVAssetReaderOutput. Unlike
the generator, AVAssetReaderOutput doesn't necessarily generate samples in decode order, so we'll
repurpose the SampleMap from EME to hold the decoded samples as well as their generated images.

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

(WebCore::SampleMap::size const):

  • platform/MIMETypeRegistry.cpp:

(WebCore::MIMETypeRegistry::isSupportedImageVideoOrSVGMIMEType):

  • platform/MediaSample.h:

(WebCore::MediaSample::hasAlpha const):

  • platform/graphics/ImageDecoder.cpp:

(WebCore::ImageDecoder::create):
(WebCore::ImageDecoder::supportsMediaType):

  • platform/graphics/avfoundation/MediaSampleAVFObjC.h: Make non-final.

(WebCore::MediaSampleAVFObjC::sampleBuffer const):
(WebCore::MediaSampleAVFObjC::MediaSampleAVFObjC):

  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h:
  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:

(WebCore::ImageDecoderAVFObjCSample::create):
(WebCore::ImageDecoderAVFObjCSample::sampleBuffer const):
(WebCore::ImageDecoderAVFObjCSample::image const):
(WebCore::ImageDecoderAVFObjCSample::setImage):
(WebCore::ImageDecoderAVFObjCSample::ImageDecoderAVFObjCSample):
(WebCore::ImageDecoderAVFObjCSample::cacheMetadata):
(WebCore::toSample):
(WebCore::ImageDecoderAVFObjC::readSamples):
(WebCore::ImageDecoderAVFObjC::storeSampleBuffer):
(WebCore::ImageDecoderAVFObjC::advanceCursor):
(WebCore::ImageDecoderAVFObjC::setTrack):
(WebCore::ImageDecoderAVFObjC::encodedDataStatus const):
(WebCore::ImageDecoderAVFObjC::repetitionCount const):
(WebCore::ImageDecoderAVFObjC::frameIsCompleteAtIndex const):
(WebCore::ImageDecoderAVFObjC::frameDurationAtIndex const):
(WebCore::ImageDecoderAVFObjC::frameHasAlphaAtIndex const):
(WebCore::ImageDecoderAVFObjC::createFrameImageAtIndex):
(WebCore::ImageDecoderAVFObjC::setData):
(WebCore::ImageDecoderAVFObjC::clearFrameBufferCache):
(WebCore::ImageDecoderAVFObjC::sampleAtIndex const):
(WebCore::ImageDecoderAVFObjC::readSampleMetadata): Deleted.

Source/WTF:

  • wtf/Platform.h:

LayoutTests:

  • platform/ios/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-source-set-expected.txt: Added.
2:27 PM Changeset in webkit [227630] by Simon Fraser
  • 16 edits in trunk/Source/WebKit

ASSERT(CGSizeEqualToSize(m_resizeScrollOffset, CGSizeZero)) in WebViewImpl::setFrameAndScrollBy()
https://bugs.webkit.org/show_bug.cgi?id=182082
rdar://problem/13971838

Reviewed by Tim Horton.

Safari could call WebViewImpl::setFrameAndScrollBy() multiple times with different scroll offsets,
triggering this assertion.

Rename to m_resizeScrollOffset to m_scrollOffsetAdjustment to reduce confusion with actual scroll offsets.
This parameter has no effect on macOS, but is used by the -[WKWebView setFrame:andScrollBy:] so at some point
needs to be hooked up to allow synchronous view resize and scroll adjustment (e.g. for the Find bar animation).

Remove DrawingAreaProxy's m_layerPosition which was unused, and remove the parameters from the UpdateGeometry message.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::setFrameAndScrollBy):
(WebKit::WebViewImpl::setDrawingAreaSize):

  • UIProcess/DrawingAreaProxy.cpp:

(WebKit::DrawingAreaProxy::setSize):

  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::updateGeometry):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::updateGeometry):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):

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

[webkitpy] Stop modifying path information only when running on Cygwin
https://bugs.webkit.org/show_bug.cgi?id=182136

On LayoutTestApacheHttpd, some path configuration is modified when platform
is Windows. This modification is only required for AppleWin running on Cygwin.
WinCairo uses native Windows environment, so the condition should be changed.

Patch by Basuke Suzuki <Basuke Suzuki> on 2018-01-25
Reviewed by Per Arne Vollan.

  • Scripts/webkitpy/layout_tests/servers/apache_http_server.py:

(LayoutTestApacheHttpd.init):
(LayoutTestApacheHttpd._get_apache_config_file_path):

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

Rename the Poisoned::isPoisoned constant to Poisoned::isPoisonedType.
https://bugs.webkit.org/show_bug.cgi?id=182143
<rdar://problem/36880970>

Reviewed by JF Bastien.

This is so that it doesn't conflict with the isPoisoned() debugging methods that
are normally not built. Also renamed PoisonedUniquePtr::isPoisonedUniquePtr to
PoisonedUniquePtr::isPoisonedUniquePtrType to be consistent.

  • wtf/Poisoned.h:
  • wtf/PoisonedUniquePtr.h:
1:30 PM Changeset in webkit [227627] by Keith Rollin
  • 4 edits in trunk/Source/WebKit

Add logging to facilitate binding of WebContent and Network processes to UI process
https://bugs.webkit.org/show_bug.cgi?id=182066

Reviewed by Brent Fulgham.

When examining sysdiagnose logs and tracing events from one process to
another, it would be helpful to know which WebKit processes were
related to each other. When Safari, Mail, Messages, etc. are all
running at the same time, it may otherwise be difficult to know if a
particular Network process, for example was associated with Safari or
some other application. Add some logging to the creation of WebContent
and Network processes to identify their "presenting process" (parent
application).

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • Platform/Logging.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

1:27 PM Changeset in webkit [227626] by commit-queue@webkit.org
  • 4 edits in trunk

DocumentThreadableLoader should ensure service worker is not reused if redirection comes from the network
https://bugs.webkit.org/show_bug.cgi?id=182137

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-25
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/fetch-request-fallback.https-expected.txt:

Source/WebCore:

Covered by rebased test.
In case redirection does not come from memory cache or service worker, disable service worker interception when following the redirection.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::redirectReceived):

1:26 PM Changeset in webkit [227625] by commit-queue@webkit.org
  • 6 edits in trunk

DocumentLoader should interrupt ongoing load when getting a redirection from network that matches a service worker
https://bugs.webkit.org/show_bug.cgi?id=182115

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-25
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/navigation-redirect.https-expected.txt:

Source/WebCore:

Covered by rebased test.

In case a navigation load is going to the network process,
we need to interrupt it if having a redirection that leads to a new request going to a service worker.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::redirectReceived):

Source/WebKit:

  • WebProcess/Storage/ServiceWorkerClientFetch.cpp:

(WebKit::ServiceWorkerClientFetch::didReceiveResponse):

1:12 PM Changeset in webkit [227624] by Chris Dumez
  • 4 edits in trunk

Registering same scope as the script directory without the last slash should fail
https://bugs.webkit.org/show_bug.cgi?id=182122
<rdar://problem/36877167>

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline WPT test now that one more check is passing.

  • web-platform-tests/service-workers/service-worker/registration-security-error.https-expected.txt:

Source/WebCore:

This aligns our behavior with Firefox and Chrome.

No new tests, rebaselined existing test.

  • workers/service/ServiceWorkerJob.cpp:

(WebCore::ServiceWorkerJob::didReceiveResponse):

12:23 PM Changeset in webkit [227623] by graouts@webkit.org
  • 7 edits in trunk

[Web Animations] Expose the reverse() method
https://bugs.webkit.org/show_bug.cgi?id=182100
<rdar://problem/36867117>

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Update WPT test output with progressions.

  • web-platform-tests/web-animations/interfaces/Animation/idlharness-expected.txt:
  • web-platform-tests/web-animations/timing-model/animations/reversing-an-animation-expected.txt:

Source/WebCore:

We expose and implement the reverse() method on Animation as specified.

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::setPlaybackRate):
(WebCore::WebAnimation::reverse):

  • animation/WebAnimation.h:
  • animation/WebAnimation.idl:
12:21 PM Changeset in webkit [227622] by graouts@webkit.org
  • 18 edits in trunk

[Web Animations] Account for provided easings when computing progress and resolving keyframe effect values
https://bugs.webkit.org/show_bug.cgi?id=182098
<rdar://problem/36866149>

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Update expected values with a few adjusted failures and many progressions.

  • web-platform-tests/css-timing-1/step-timing-functions-output-expected.txt:
  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt:
  • web-platform-tests/web-animations/interfaces/Animation/effect-expected.txt:
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt:
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/iterationComposite-expected.txt:
  • web-platform-tests/web-animations/timing-model/time-transformations/transformed-progress-expected.txt:

Source/WebCore:

We now account for the timing functions provided through the "easing" propreties on whole animation effects
and individual keyframes. Exposing those exposed shortcomings of our keyframe resolution in general through
WPT tests so we now implement the "effect value of a keyframe effect" procedure from the spec to correctly
resolve keyframes in KeyframeEffect::setAnimatedPropertiesInStyle(). The tests also showed some shortcomings
in our TimingFunction code where our step() function resolution wasn't fully compliant and our cubic-bezier()
resolution not accurate enough. We now have microsecond accuracy when resolving cubic-bezier() timing functions
and identify cubic-bezier(0, 0, 0, 0), cubic-bezier(0, 0, 1, 1) and cubic-bezier(1, 1, 1, 1) as linear timing
functions, as called out by the WPT tests.

  • animation/AnimationEffect.cpp:

(WebCore::AnimationEffect::transformedProgress const): Account for the effect-wide timing function when computing
the progress.
(WebCore::AnimationEffect::iterationProgress const): Use the transformed progress now that we support this procedure.

  • animation/AnimationEffect.h:
  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::apply): We now use the computed progress from AnimationEffect rather than compute based
on the provided time, which we've dropped as an argument.
(WebCore::KeyframeEffect::getAnimatedStyle):
(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle): Implement the "effect value of a keyframe effect" procedure
in full as specified (save for composite operations).
(WebCore::KeyframeEffect::applyAtLocalTime): Deleted.

  • animation/KeyframeEffect.h:
  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::resolve):

  • css/CSSTimingFunctionValue.h: Fix a small error made in a previous patch where we used "int" instead of "unsigned".
  • platform/animation/TimingFunction.cpp:

(WebCore::TimingFunction::transformTime const):

  • platform/animation/TimingFunction.h:

LayoutTests:

Update an animated value due to more accurate resolution of cubic-bezier() timing functions.

  • platform/mac/transitions/default-timing-function-expected.txt:
12:13 PM Changeset in webkit [227621] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Fix crash when preconnecting while closing private browsing
https://bugs.webkit.org/show_bug.cgi?id=182114
<rdar://problem/35637284>

Reviewed by Joseph Pecoraro.

  • NetworkProcess/PreconnectTask.cpp:

There is a race condition when destroying a session while a page is initiating a preconnect.
If this happens, fail gracefully instead of trying to preconnect with a null session.

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

[Win] Update test expectations.

Unreviewed test gardening.

  • platform/win/TestExpectations:
12:00 PM Changeset in webkit [227619] by Ryan Haddad
  • 2 edits in branches/safari-605-branch/LayoutTests

Work towards rdar://problem/36837397.

Unreviewed test gardening.

  • platform/mac/TestExpectations:
11:34 AM Changeset in webkit [227618] by mitz@apple.com
  • 5 edits in trunk/Source/WebKit

[Mac] Enable library validation for Networking & Storage XPC services
https://bugs.webkit.org/show_bug.cgi?id=173424
<rdar://problem/32386565>

Reviewed by Joseph Pecoraro.

  • Configurations/BaseXPCService.xcconfig: Moved the definitions of WK_LIBRARY_VALIDATION_ENABLED and WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS from WebContentService.xcconfig to here and made them Mac-only at this level.
  • Configurations/NetworkService.xcconfig: Also set OTHER_CODE_SIGN_FLAGS to WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS.
  • Configurations/StorageService.xcconfig: Ditto.
  • Configurations/WebContentService.xcconfig: Moved definitions from here to BaseXPCService.xcconfig.
11:32 AM Changeset in webkit [227617] by fpizlo@apple.com
  • 58 edits
    12 adds in trunk/Source

JSC GC should support TLCs (thread local caches)
https://bugs.webkit.org/show_bug.cgi?id=181559

Reviewed by Mark Lam and Saam Barati.
Source/JavaScriptCore:


This is a big step towards object distancing by site origin. This patch implements TLCs, or
thread-local caches, which allow each thread to allocate from its own free lists. It also
means that any given thread can context-switch TLCs. This will allow us to do separate
allocation for separate site origins. Eventually, once we reshape how MarkedBlock looks, this
will allow us to have a hard distancing constraint between objects from different origins.

In this new design, every "size class" is represented as a BlockDirectory (formerly known as
MarkedAllocator, prior to r226822). This contains a bag of blocks allocated using some
aligned memory allocator (which roughly represents which cage you came out of), and anyone
using the same allocator can share those blocks - but so long as they are in that
BlockDirectory, they will have the size and type of that directory. Previously, each
BlockDirectory had exactly one FreeList. Now, each BlockDirectory has a double-linked-list of
LocalAllocators, each of which has a FreeList.

To decide which LocalAllocator to allocate out of, we need a ThreadLocalCache and a
BlockDirectory. The directory gives us an offset-within-the-ThreadLocalCache, which we simply
call the Allocator (which is just a POD type that contains a 32-bit offset). Each allocation
starts by figuring out what Allocator it wants (often we have this information at JIT time).
Then the allocation loads its ThreadLocalCache::Data from a fast TLS slot. Then we add the
Allocator offset to the ThreadLocalCache::Data to get the LocalAllocator. Note that we use
offsets as opposed to indices to make it easy to do the math on each allocation (if
LocalAllocator had a weird size then every allocation would have to do an imul).

This is a definite slow-down on GC-heavy benchmarks, but by a small margin, and only on
unusually heavy tests. For example, boyer and splay are both 3% regressed, but the Octane
geomean is just fine. The JetStream score regressed by 0.5% with p = 0.08 (so maybe there is
something there, but it's not significant according to our threshold).

Relanding after fixing ARM64 bug in AssemblyHelpers::emitAllocateWithNonNullAllocator(). That
function needs to be careful to avoid using the scratch register because the FTL will call it
in disallow-scratch-register mode.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • b3/B3LowerToAir.cpp:
  • b3/B3PatchpointSpecial.cpp:

(JSC::B3::PatchpointSpecial::admitsStack):

  • b3/B3StackmapSpecial.cpp:

(JSC::B3::StackmapSpecial::forEachArgImpl):
(JSC::B3::StackmapSpecial::isArgValidForRep):

  • b3/B3StackmapValue.cpp:

(JSC::B3::StackmapValue::appendSomeRegisterWithClobber):

  • b3/B3StackmapValue.h:
  • b3/B3Validate.cpp:
  • b3/B3ValueRep.cpp:

(JSC::B3::ValueRep::addUsedRegistersTo const):
(JSC::B3::ValueRep::dump const):
(WTF::printInternal):

  • b3/B3ValueRep.h:

(JSC::B3::ValueRep::ValueRep):

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateImpl):

  • bytecode/ObjectAllocationProfile.h:

(JSC::ObjectAllocationProfile::ObjectAllocationProfile):
(JSC::ObjectAllocationProfile::clear):

  • bytecode/ObjectAllocationProfileInlines.h:

(JSC::ObjectAllocationProfile::initializeProfile):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitAllocateRawObject):
(JSC::DFG::SpeculativeJIT::compileMakeRope):
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileCreateThis):
(JSC::DFG::SpeculativeJIT::compileNewObject):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::emitAllocateJSCell):
(JSC::DFG::SpeculativeJIT::emitAllocateJSObject):

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

(JSC::FTL::DFG::LowerDFGToB3::compileMakeRope):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject):
(JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl):
(JSC::FTL::DFG::LowerDFGToB3::allocateHeapCell):
(JSC::FTL::DFG::LowerDFGToB3::allocateObject):
(JSC::FTL::DFG::LowerDFGToB3::allocatorForSize):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedObject):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedCell):

  • heap/Allocator.cpp: Added.

(JSC::Allocator::cellSize const):

  • heap/Allocator.h: Added.

(JSC::Allocator::Allocator):
(JSC::Allocator::offset const):
(JSC::Allocator::operator== const):
(JSC::Allocator::operator!= const):
(JSC::Allocator::operator bool const):

  • heap/AllocatorInlines.h: Added.

(JSC::Allocator::allocate const):
(JSC::Allocator::tryAllocate const):

  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::BlockDirectory):
(JSC::BlockDirectory::findBlockForAllocation):
(JSC::BlockDirectory::stopAllocating):
(JSC::BlockDirectory::prepareForAllocation):
(JSC::BlockDirectory::stopAllocatingForGood):
(JSC::BlockDirectory::resumeAllocating):
(JSC::BlockDirectory::endMarking):
(JSC::BlockDirectory::isFreeListedCell):
(JSC::BlockDirectory::didConsumeFreeList): Deleted.
(JSC::BlockDirectory::tryAllocateWithoutCollecting): Deleted.
(JSC::BlockDirectory::allocateIn): Deleted.
(JSC::BlockDirectory::tryAllocateIn): Deleted.
(JSC::BlockDirectory::doTestCollectionsIfNeeded): Deleted.
(JSC::BlockDirectory::allocateSlowCase): Deleted.

  • heap/BlockDirectory.h:

(JSC::BlockDirectory::cellKind const):
(JSC::BlockDirectory::allocator const):
(JSC::BlockDirectory::freeList const): Deleted.
(JSC::BlockDirectory::offsetOfFreeList): Deleted.
(JSC::BlockDirectory::offsetOfCellSize): Deleted.

  • heap/BlockDirectoryInlines.h:

(JSC::BlockDirectory::isFreeListedCell const): Deleted.
(JSC::BlockDirectory::allocate): Deleted.

  • heap/CompleteSubspace.cpp:

(JSC::CompleteSubspace::CompleteSubspace):
(JSC::CompleteSubspace::allocatorFor):
(JSC::CompleteSubspace::allocate):
(JSC::CompleteSubspace::allocateNonVirtual):
(JSC::CompleteSubspace::allocatorForSlow):
(JSC::CompleteSubspace::allocateSlow):
(JSC::CompleteSubspace::tryAllocateSlow):

  • heap/CompleteSubspace.h:

(JSC::CompleteSubspace::allocatorForSizeStep):
(JSC::CompleteSubspace::allocatorForNonVirtual):

  • heap/FreeList.h:
  • heap/GCDeferralContext.h:
  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::lastChanceToFinalize):

  • heap/Heap.h:

(JSC::Heap::threadLocalCacheLayout):

  • heap/IsoCellSet.h:
  • heap/IsoSubspace.cpp:

(JSC::IsoSubspace::IsoSubspace):
(JSC::IsoSubspace::allocatorFor):
(JSC::IsoSubspace::allocate):
(JSC::IsoSubspace::allocateNonVirtual):

  • heap/IsoSubspace.h:

(JSC::IsoSubspace::allocatorForNonVirtual):

  • heap/LocalAllocator.cpp: Added.

(JSC::LocalAllocator::LocalAllocator):
(JSC::LocalAllocator::reset):
(JSC::LocalAllocator::~LocalAllocator):
(JSC::LocalAllocator::stopAllocating):
(JSC::LocalAllocator::resumeAllocating):
(JSC::LocalAllocator::prepareForAllocation):
(JSC::LocalAllocator::stopAllocatingForGood):
(JSC::LocalAllocator::allocateSlowCase):
(JSC::LocalAllocator::didConsumeFreeList):
(JSC::LocalAllocator::tryAllocateWithoutCollecting):
(JSC::LocalAllocator::allocateIn):
(JSC::LocalAllocator::tryAllocateIn):
(JSC::LocalAllocator::doTestCollectionsIfNeeded):
(JSC::LocalAllocator::isFreeListedCell const):

  • heap/LocalAllocator.h: Added.

(JSC::LocalAllocator::offsetOfFreeList):
(JSC::LocalAllocator::offsetOfCellSize):

  • heap/LocalAllocatorInlines.h: Added.

(JSC::LocalAllocator::allocate):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::stopAllocatingForGood):

  • heap/MarkedSpace.h:
  • heap/SlotVisitor.cpp:
  • heap/SlotVisitor.h:
  • heap/Subspace.h:
  • heap/ThreadLocalCache.cpp: Added.

(JSC::ThreadLocalCache::create):
(JSC::ThreadLocalCache::ThreadLocalCache):
(JSC::ThreadLocalCache::~ThreadLocalCache):
(JSC::ThreadLocalCache::allocateData):
(JSC::ThreadLocalCache::destroyData):
(JSC::ThreadLocalCache::installSlow):
(JSC::ThreadLocalCache::installData):
(JSC::ThreadLocalCache::allocatorSlow):
(JSC::ThreadLocalCache::destructor):

  • heap/ThreadLocalCache.h: Added.

(JSC::ThreadLocalCache::offsetOfSize):
(JSC::ThreadLocalCache::offsetOfFirstAllocator):

  • heap/ThreadLocalCacheInlines.h: Added.

(JSC::ThreadLocalCache::getImpl):
(JSC::ThreadLocalCache::get):
(JSC::ThreadLocalCache::install):
(JSC::ThreadLocalCache::allocator):
(JSC::ThreadLocalCache::tryGetAllocator):

  • heap/ThreadLocalCacheLayout.cpp: Added.

(JSC::ThreadLocalCacheLayout::ThreadLocalCacheLayout):
(JSC::ThreadLocalCacheLayout::~ThreadLocalCacheLayout):
(JSC::ThreadLocalCacheLayout::allocateOffset):
(JSC::ThreadLocalCacheLayout::snapshot):
(JSC::ThreadLocalCacheLayout::directory):

  • heap/ThreadLocalCacheLayout.h: Added.
  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):
(JSC::AssemblyHelpers::emitAllocate):
(JSC::AssemblyHelpers::emitAllocateVariableSized):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::vm):
(JSC::AssemblyHelpers::emitAllocateJSCell):
(JSC::AssemblyHelpers::emitAllocateJSObject):
(JSC::AssemblyHelpers::emitAllocateJSObjectWithKnownSize):
(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator): Deleted.
(JSC::AssemblyHelpers::emitAllocate): Deleted.
(JSC::AssemblyHelpers::emitAllocateVariableSized): Deleted.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_new_object):
(JSC::JIT::emit_op_create_this):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_new_object):
(JSC::JIT::emit_op_create_this):

  • runtime/ButterflyInlines.h:

(JSC::Butterfly::createUninitialized):
(JSC::Butterfly::tryCreate):
(JSC::Butterfly::growArrayRight):

  • runtime/DirectArguments.cpp:

(JSC::DirectArguments::overrideThings):

  • runtime/GenericArgumentsInlines.h:

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

  • runtime/HashMapImpl.h:

(JSC::HashMapBuffer::create):

  • runtime/JSArray.cpp:

(JSC::JSArray::tryCreateUninitializedRestricted):
(JSC::JSArray::unshiftCountSlowCase):

  • runtime/JSArray.h:

(JSC::JSArray::tryCreate):

  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):

  • runtime/JSCellInlines.h:

(JSC::tryAllocateCellHelper):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::threadLocalCache const):

  • runtime/JSLock.cpp:

(JSC::JSLock::didAcquireLock):

  • runtime/Options.h:
  • runtime/RegExpMatchesArray.h:

(JSC::tryCreateUninitializedRegExpMatchesArray):

  • runtime/VM.cpp:

(JSC::VM::VM):

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

(JSC::VMEntryScope::VMEntryScope):

Source/WTF:

  • wtf/Bitmap.h: Just fixing a compile error.
11:27 AM Changeset in webkit [227616] by eric.carlson@apple.com
  • 2 edits in trunk/Tools

REGRESSION(r227457): Release assert in updateLayout while destructing a media element
https://bugs.webkit.org/show_bug.cgi?id=182038
<rdar://problem/36812083>

Reviewed by Jer Noble.

  • TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:

(TestWebKitAPI::TEST): Show/hide page so controls are always updated.

10:48 AM Changeset in webkit [227615] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Web Animations] Avoid querying the current time multiple time when resolving the play state
https://bugs.webkit.org/show_bug.cgi?id=182099

Patch by Antoine Quint <Antoine Quint> on 2018-01-25
Reviewed by Dean Jackson.

No test change since this shouldn't cause any change in behavior.

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::playState const):

10:43 AM Changeset in webkit [227614] by hyatt@apple.com
  • 7 edits in trunk/Source/WebKit

Enable lines clamp support for Apple Mail by default
https://bugs.webkit.org/show_bug.cgi?id=182113

Reviewed by Dean Jackson.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::appleMailLinesClampEnabled):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_cpuLimit):

10:40 AM Changeset in webkit [227613] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Adjusted expectation for memory/memory-pressure-simulation.html.
https://bugs.webkit.org/show_bug.cgi?id=170629

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
10:02 AM Changeset in webkit [227612] by commit-queue@webkit.org
  • 11 edits in trunk

Set integrity fetch options for loading scripts and CSS
https://bugs.webkit.org/show_bug.cgi?id=182077

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-25
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/fetch-request-resources.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-resources.https.html:

Source/WebCore:

Covered by updated test.

Set integrity fetch option in script and CSS loading.

  • bindings/js/CachedModuleScriptLoader.cpp:

(WebCore::CachedModuleScriptLoader::load):

  • bindings/js/CachedScriptFetcher.cpp:

(WebCore::CachedScriptFetcher::requestModuleScript const):
(WebCore::CachedScriptFetcher::requestScriptWithCache const):

  • bindings/js/CachedScriptFetcher.h:
  • dom/LoadableClassicScript.cpp:

(WebCore::LoadableClassicScript::load):

  • dom/ScriptElementCachedScriptFetcher.cpp:

(WebCore::ScriptElementCachedScriptFetcher::requestModuleScript const):

  • dom/ScriptElementCachedScriptFetcher.h:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

10:00 AM Changeset in webkit [227611] by Ryan Haddad
  • 6 edits in branches/safari-605-branch/LayoutTests

Work towards rdar://problem/36837397.

Unreviewed test gardening.

LayoutTests/imported/w3c:

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

LayoutTests:

  • platform/mac-elcapitan-wk2/fast/dom/navigator-detached-no-crash-expected.txt:
  • platform/mac-wk1/fast/dom/navigator-detached-no-crash-expected.txt:
  • platform/mac/TestExpectations:
9:48 AM Changeset in webkit [227610] by dbates@webkit.org
  • 2 edits in trunk/Tools

webkit-patch upload emits irrelevant simulator warnings
https://bugs.webkit.org/show_bug.cgi?id=181702
<rdar://problem/36556359>

Reviewed by Aakash Jain.

Remove warning when a person explicitly passes --child-processes with a value greater than
the default number of simulator instances webkitpy would have used had --child-processes
been omitted. Moreover, the placement of the warning logic to support printing such a message
(in the IOSSimulatorPort constructor) caused side effects that may print other warning messages.

By default, webkitpy will parallelize running tests using the maximum number of simulator
instances that can be supported based on available system resources at the time run-webkit-tests
is invoked. It seems reasonable to assume that a person that explicitly overrides this default
by specifying --child-processes knows what they are doing. The effects of picking a large
value be obvious, the system may become sluggish.

As a side benefit of this change we no longer will emit simulator warnings whenever the iOS
simulator port is instantiated by non-layout test related code (e.g. check-webkit-style).

  • Scripts/webkitpy/port/ios_simulator.py:

(IOSSimulatorPort.init):

9:21 AM Changeset in webkit [227609] by commit-queue@webkit.org
  • 58 edits
    12 deletes in trunk/Source

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

it made ARM64 (Linux and iOS) crash (Requested by pizlo-mbp on
#webkit).

Reverted changeset:

"JSC GC should support TLCs (thread local caches)"
https://bugs.webkit.org/show_bug.cgi?id=181559
https://trac.webkit.org/changeset/227592

8:44 AM WebKitGTK/Gardening/Calendar edited by magomez@igalia.com
(diff)
8:40 AM Changeset in webkit [227608] by magomez@igalia.com
  • 4 edits in trunk/LayoutTests

Unreviewed GTK+ gardening after r227599.

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/overflow/line-clamp-expected.png:
  • platform/gtk/fast/overflow/line-clamp-expected.txt:
7:52 AM Changeset in webkit [227607] by svillar@igalia.com
  • 7 edits in trunk

[WebVR][GTK][WPE] Remove the WebVR public API added in r227518
https://bugs.webkit.org/show_bug.cgi?id=182102

Reviewed by Carlos Garcia Campos.

Source/WebKit:

  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:

Tools:

  • MiniBrowser/gtk/main.c:

(main): Removed the call to set_enable_webvr().

7:37 AM Changeset in webkit [227606] by Claudio Saavedra
  • 3 edits in trunk/Source/WebKit

[GTK] Fix build with touch events disabled

Unreviewed build fix.

Explicitly include gtk.h in files that were indirectly getting it
only when touch events were enabled.

  • UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:
  • UIProcess/gtk/WaylandCompositor.h:
7:25 AM Changeset in webkit [227605] by Manuel Rego Casasnovas
  • 2 edits in trunk/LayoutTests

[css-multicol] Some test imported in r227600 are failing

Unreviewed gardening.

5:53 AM Changeset in webkit [227604] by Carlos Garcia Campos
  • 4 edits in trunk

WebDriver: add support for slow tests
https://bugs.webkit.org/show_bug.cgi?id=182095

Reviewed by Carlos Alberto Lopez Perez.

Tools:

Add timeout mark to slow tests.

  • Scripts/webkitpy/webdriver_tests/pytest_runner.py:

(TestExpectationsMarker.init): Save the timeout.
(TestExpectationsMarker.pytest_collection_modifyitems): If test is slow use timeout * 5.
(run): Pass timeout to TestExpectationsMarker constructor.

WebDriverTests:

Mark several tests as slow.

5:52 AM Changeset in webkit [227603] by Carlos Garcia Campos
  • 11 edits in trunk

WebDriver: test imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_browserName fails
https://bugs.webkit.org/show_bug.cgi?id=181985

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

The problem is that we are considering a failure when the browser name doesn't match the capabilities, instead
of trying with the next merged capabilities. This is happening because when processing capabilities, we only
match the ones that we know without having to launch the browser. Browser name and version are provided by the
browser during the session initialization. This patch reworks the session creation to make it possible to try
with the next merged capabilities when matching fails after the browser is launched.

  • Session.cpp:

(WebDriver::Session::Session): Initialize timeouts from capabilities, because now we have the final capabilities here.
(WebDriver::Session::id const): Return the session ID from the SessionHost, since it's now created there.
(WebDriver::Session::createTopLevelBrowsingContext): Do not start the session, it has already been started a
this point.
(WebDriver::Session::createElement): Use id() instead of m_id.

  • Session.h:
  • SessionHost.h:

(WebDriver::SessionHost::sessionID const): Return the session ID.

  • WebDriverService.cpp:

(WebDriver::WebDriverService::matchCapabilities const): Remove the error handling, and return a boolean instead,
since not mathing is not an error.
(WebDriver::WebDriverService::processCapabilities const): Return a list of matched capabilities, instead of the
JSON object corresponding to the first match.
(WebDriver::WebDriverService::newSession): Use helper connectToBrowser().
(WebDriver::WebDriverService::connectToBrowser): Create a session host for the next merged capabilities and
connect to the browser.
(WebDriver::WebDriverService::createSession): Start a new automation session. If capabilities didn't match,
start the process again calling connectToBrowser(), otherwise create the new session and top level.

  • WebDriverService.h:
  • glib/SessionHostGlib.cpp:

(WebDriver::matchBrowserOptions): Helper to check browser options.
(WebDriver::SessionHost::matchCapabilities): Use matchBrowserOptions() and return true or false instead of an
optional error message.
(WebDriver::SessionHost::startAutomationSession): Create the session ID here and notify the caller in case
capabilities didn't match.
(WebDriver::SessionHost::setTargetList): Notify that capabilities did match.

  • gtk/WebDriverServiceGtk.cpp:

(WebDriver::WebDriverService::platformMatchCapability const): Make it return bool.

  • wpe/WebDriverServiceWPE.cpp:

(WebDriver::WebDriverService::platformMatchCapability const): Ditto.

WebDriverTests:

Remove expectations for imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_browserName.

5:51 AM Changeset in webkit [227602] by Carlos Garcia Campos
  • 4 edits in trunk

WebDriver: test imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_platformName fails
https://bugs.webkit.org/show_bug.cgi?id=181984

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

Platform name is expected to be lower case, so do not compre ignoring case.

Fixes: imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_platformName

  • WebDriverService.cpp:

(WebDriver::WebDriverService::matchCapabilities const):

WebDriverTests:

Remove expectations for imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_platformName.

5:50 AM Changeset in webkit [227601] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

WebDriver: test imported/selenium/py/test/selenium/webdriver/common/alerts_tests.py crashes in debug
https://bugs.webkit.org/show_bug.cgi?id=182096

Reviewed by Carlos Alberto Lopez Perez.

It's an assert in HashTable iterators checkValidity(). The problem is that we get the keys to iterate the values
and the map is modified inside the loop. We need to use copyToVector to copy the keys.

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::WebAutomationSession::respondToPendingPageNavigationCallbacksWithTimeout):
(WebKit::WebAutomationSession::respondToPendingFrameNavigationCallbacksWithTimeout):
(WebKit::WebAutomationSession::willShowJavaScriptDialog):

5:26 AM Changeset in webkit [227600] by Manuel Rego Casasnovas
  • 130 edits
    6 copies
    37 adds in trunk/LayoutTests

[css-multicol] Update WPT test suite
https://bugs.webkit.org/show_bug.cgi?id=182087

Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/css-multicol/OWNERS: Added.
  • web-platform-tests/css/css-multicol/extremely-tall-multicol-with-extremely-tall-child-crash-expected.txt: Added.
  • web-platform-tests/css/css-multicol/extremely-tall-multicol-with-extremely-tall-child-crash.html: Added.
  • web-platform-tests/css/css-multicol/multicol-basic-001-expected.html:
  • web-platform-tests/css/css-multicol/multicol-basic-001.html:
  • web-platform-tests/css/css-multicol/multicol-basic-002-expected.html:
  • web-platform-tests/css/css-multicol/multicol-basic-002.html:
  • web-platform-tests/css/css-multicol/multicol-basic-003-expected.html:
  • web-platform-tests/css/css-multicol/multicol-basic-003.html:
  • web-platform-tests/css/css-multicol/multicol-basic-004-expected.html:
  • web-platform-tests/css/css-multicol/multicol-basic-004.html:
  • web-platform-tests/css/css-multicol/multicol-basic-005-expected.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-basic-005.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-basic-006-expected.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-basic-006.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-basic-007-expected.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-basic-007.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-basic-008-expected.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-basic-008.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-block-no-clip-001-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-width-002-expected.xht.
  • web-platform-tests/css/css-multicol/multicol-block-no-clip-001.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-001.xht.
  • web-platform-tests/css/css-multicol/multicol-block-no-clip-002-expected.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-block-no-clip-002.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-clip-001.xht.
  • web-platform-tests/css/css-multicol/multicol-br-inside-avoidcolumn-001-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-br-inside-avoidcolumn-001.xht:
  • web-platform-tests/css/css-multicol/multicol-break-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-break-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-break-001.xht:
  • web-platform-tests/css/css-multicol/multicol-clip-001.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-001.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-002.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-003.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-004-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-004.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-005-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-005.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-006-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-006.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-007-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-007.xht:
  • web-platform-tests/css/css-multicol/multicol-columns-invalid-002.xht:
  • web-platform-tests/css/css-multicol/multicol-containing-001.xht:
  • web-platform-tests/css/css-multicol/multicol-containing-002.xht:
  • web-platform-tests/css/css-multicol/multicol-count-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-count-001.xht:
  • web-platform-tests/css/css-multicol/multicol-count-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-count-computed-003-expected.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-count-computed-003.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-count-computed-005-expected.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-count-computed-005.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-fill-000.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-001.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-001.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-002.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-003.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-auto-block-children-002.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-balance-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-balance-001.xht:
  • web-platform-tests/css/css-multicol/multicol-fill-balance-002-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-fill-balance-002.html: Added.
  • web-platform-tests/css/css-multicol/multicol-gap-000.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-animation-001-expected.txt: Added.
  • web-platform-tests/css/css-multicol/multicol-gap-animation-001.html: Added.
  • web-platform-tests/css/css-multicol/multicol-gap-animation-002-expected.txt: Added.
  • web-platform-tests/css/css-multicol/multicol-gap-animation-002.html: Added.
  • web-platform-tests/css/css-multicol/multicol-gap-animation-003-expected.txt: Added.
  • web-platform-tests/css/css-multicol/multicol-gap-animation-003.html: Added.
  • web-platform-tests/css/css-multicol/multicol-gap-fraction-002-expected.html: Added.
  • web-platform-tests/css/css-multicol/multicol-gap-fraction-002.html: Added.
  • web-platform-tests/css/css-multicol/multicol-gap-large-001.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-large-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-gap-percentage-001-expected.txt: Added.
  • web-platform-tests/css/css-multicol/multicol-gap-percentage-001.html: Added.
  • web-platform-tests/css/css-multicol/multicol-height-block-child-001-expected.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-height-block-child-001.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-inherit-001.xht:
  • web-platform-tests/css/css-multicol/multicol-inherit-002.xht:
  • web-platform-tests/css/css-multicol/multicol-inherit-003.xht:
  • web-platform-tests/css/css-multicol/multicol-margin-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-margin-001.xht:
  • web-platform-tests/css/css-multicol/multicol-margin-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-margin-002.xht:
  • web-platform-tests/css/css-multicol/multicol-margin-child-001.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-005.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-column-rule-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-column-rule-001.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-002.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-003.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-004-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-004.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-005-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-nested-margin-005.xht:
  • web-platform-tests/css/css-multicol/multicol-overflow-000.xht:
  • web-platform-tests/css/css-multicol/multicol-reduce-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-reduce-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-000-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-002.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-003.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-color-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-color-inherit-002.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-dashed-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-double-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-fraction-002.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-fraction-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-fraction-003.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-groove-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-hidden-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-inset-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-large-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-large-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-large-002.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-large-001.xht.
  • web-platform-tests/css/css-multicol/multicol-rule-none-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-outset-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-px-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-px-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-ridge-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-samelength-001.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-shorthand-2-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-shorthand-001-expected.xht.
  • web-platform-tests/css/css-multicol/multicol-rule-shorthand-2.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-002.xht.
  • web-platform-tests/css/css-multicol/multicol-rule-solid-000.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-stacking-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-rule-stacking-001.xht:
  • web-platform-tests/css/css-multicol/multicol-shorthand-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-shorthand-001.xht:
  • web-platform-tests/css/css-multicol/multicol-span-000.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-001.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-003.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-block-sibling-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-block-sibling-003.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-001.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-bottom-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-bottom-001.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-firstchild-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-span-all-margin-nested-firstchild-001.xht:
  • web-platform-tests/css/css-multicol/multicol-span-none-001-expected.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-span-none-001.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-table-cell-vertical-align-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-table-cell-vertical-align-001.xht:
  • web-platform-tests/css/css-multicol/multicol-width-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-001.xht:
  • web-platform-tests/css/css-multicol/multicol-width-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-003-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-ch-001-expected.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-width-ch-001.xht: Added.
  • web-platform-tests/css/css-multicol/multicol-width-count-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-count-001.xht:
  • web-platform-tests/css/css-multicol/multicol-width-count-002-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-negative-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-width-small-001.xht:
  • web-platform-tests/css/css-multicol/multicol-zero-height-001-expected.xht:
  • web-platform-tests/css/css-multicol/multicol-zero-height-001.xht:
  • web-platform-tests/css/css-multicol/support/w3c-import.log: Added.
  • web-platform-tests/css/css-multicol/w3c-import.log: Added.

LayoutTests:

4:18 AM Changeset in webkit [227599] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[Cairo] Use GraphicsContextImplCairo in Nicosia::PaintingContextCairo
https://bugs.webkit.org/show_bug.cgi?id=182094

Reviewed by Carlos Garcia Campos.

Have Nicosia::PaintingContextCairo create a GraphicsContext object that
utilizes a factory function which returns a freshly-allocated
GraphicsContextImplCairo through which all the painting is then done.
This moves GraphicsLayer painting over to using the GraphicsContextImpl
infrastructure.

No new tests -- no changes in behavior.

  • platform/graphics/nicosia/NicosiaPaintingContextCairo.cpp:

(Nicosia::PaintingContextCairo::PaintingContextCairo):

2:24 AM Changeset in webkit [227598] by graouts@webkit.org
  • 3 edits
    98 copies
    73 adds
    1 delete in trunk/LayoutTests

[Web Animations] Update WPT tests and move them to imported/w3c/web-platform-tests
https://bugs.webkit.org/show_bug.cgi?id=182092

Unreviewed test gardening.

LayoutTests/imported/w3c:

  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt.
  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/accumulation-per-property.html.
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/addition-per-property-expected.txt.
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/addition-per-property.html.
  • web-platform-tests/web-animations/animation-model/animation-types/discrete-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/discrete-animation-expected.txt.
  • web-platform-tests/web-animations/animation-model/animation-types/discrete.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/discrete-animation.html.
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt.
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/interpolation-per-property.html.
  • web-platform-tests/web-animations/animation-model/animation-types/property-list.js: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/property-list.js.
  • web-platform-tests/web-animations/animation-model/animation-types/property-types.js: Renamed from LayoutTests/http/wpt/web-animations/animation-model/animation-types/property-types.js.
  • web-platform-tests/web-animations/animation-model/animation-types/visibility-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-visibility-expected.txt.
  • web-platform-tests/web-animations/animation-model/animation-types/visibility.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-visibility.html.
  • web-platform-tests/web-animations/animation-model/combining-effects/effect-composition-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/combining-effects/effect-composition-expected.txt.
  • web-platform-tests/web-animations/animation-model/combining-effects/effect-composition.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/combining-effects/effect-composition.html.
  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-context-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-context-expected.txt.
  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-context.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-context.html.
  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt: Added.
  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/iterationComposite.html.
  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt.
  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html.
  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance-expected.txt.
  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance.html: Renamed from LayoutTests/http/wpt/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance.html.
  • web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animatable/animate-no-browsing-context-expected.txt.
  • web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animatable/animate-no-browsing-context.html.
  • web-platform-tests/web-animations/interfaces/Animatable/animate.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animatable/animate.html.
  • web-platform-tests/web-animations/interfaces/Animatable/getAnimations-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/Animatable/getAnimations.html: Added.
  • web-platform-tests/web-animations/interfaces/Animation/cancel-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/cancel-expected.txt.
  • web-platform-tests/web-animations/interfaces/Animation/cancel.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/cancel.html.
  • web-platform-tests/web-animations/interfaces/Animation/constructor-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/constructor-expected.txt.
  • web-platform-tests/web-animations/interfaces/Animation/constructor.html: Added.
  • web-platform-tests/web-animations/interfaces/Animation/effect-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/effect-expected.txt.
  • web-platform-tests/web-animations/interfaces/Animation/effect.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/effect.html.
  • web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/Animation/finish.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/finish.html.
  • web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/Animation/finished.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/finished.html.
  • web-platform-tests/web-animations/interfaces/Animation/id-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/id-expected.txt.
  • web-platform-tests/web-animations/interfaces/Animation/id.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/id.html.
  • web-platform-tests/web-animations/interfaces/Animation/idlharness-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt.
  • web-platform-tests/web-animations/interfaces/Animation/idlharness.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/idlharness.html.
  • web-platform-tests/web-animations/interfaces/Animation/oncancel-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/oncancel-expected.txt.
  • web-platform-tests/web-animations/interfaces/Animation/oncancel.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/oncancel.html.
  • web-platform-tests/web-animations/interfaces/Animation/onfinish-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/onfinish-expected.txt.
  • web-platform-tests/web-animations/interfaces/Animation/onfinish.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/onfinish.html.
  • web-platform-tests/web-animations/interfaces/Animation/pause-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/pause-expected.txt.
  • web-platform-tests/web-animations/interfaces/Animation/pause.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/pause.html.
  • web-platform-tests/web-animations/interfaces/Animation/pending-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/Animation/pending.html: Added.
  • web-platform-tests/web-animations/interfaces/Animation/play-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/play-expected.txt.
  • web-platform-tests/web-animations/interfaces/Animation/play.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/play.html.
  • web-platform-tests/web-animations/interfaces/Animation/playbackRate-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/playbackRate-expected.txt.
  • web-platform-tests/web-animations/interfaces/Animation/playbackRate.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/playbackRate.html.
  • web-platform-tests/web-animations/interfaces/Animation/ready-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/ready-expected.txt.
  • web-platform-tests/web-animations/interfaces/Animation/ready.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/ready.html.
  • web-platform-tests/web-animations/interfaces/Animation/startTime-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/startTime-expected.txt.
  • web-platform-tests/web-animations/interfaces/Animation/startTime.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Animation/startTime.html.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/delay-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/delay.html: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/direction-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/direction.html: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/duration-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/duration.html: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/easing.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/AnimationEffectTiming/easing.html.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/endDelay-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/endDelay.html: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/fill-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/fill.html: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/getComputedTiming-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/getComputedTiming.html: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/idlharness-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/idlharness.html: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/iterationStart-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/iterationStart.html: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/iterations-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/AnimationEffectTiming/iterations.html: Added.
  • web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/constructor-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/constructor.html: Added.
  • web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/idlharness-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/idlharness.html: Added.
  • web-platform-tests/web-animations/interfaces/Document/getAnimations-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Document/getAnimations-expected.txt.
  • web-platform-tests/web-animations/interfaces/Document/getAnimations.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/Document/getAnimations.html.
  • web-platform-tests/web-animations/interfaces/Document/timeline-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/Document/timeline.html: Added.
  • web-platform-tests/web-animations/interfaces/DocumentTimeline/constructor-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/DocumentTimeline/constructor-expected.txt.
  • web-platform-tests/web-animations/interfaces/DocumentTimeline/constructor.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/DocumentTimeline/constructor.html.
  • web-platform-tests/web-animations/interfaces/DocumentTimeline/idlharness-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/AnimationTimeline/idlharness-expected.txt.
  • web-platform-tests/web-animations/interfaces/DocumentTimeline/idlharness.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/AnimationTimeline/idlharness.html.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/composite-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/composite.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/composite.html.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor.html: Added.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/copy-constructor-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/copy-constructor.html: Added.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/idlharness-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/idlharness.html: Added.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/iterationComposite-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/iterationComposite.html: Added.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt: Added.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes.html: Added.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/target-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/setTarget-expected.txt.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/target.html: Renamed from LayoutTests/http/wpt/web-animations/interfaces/KeyframeEffect/setTarget.html.
  • web-platform-tests/web-animations/resources/easing-tests.js: Renamed from LayoutTests/http/wpt/web-animations/resources/easing-tests.js.
  • web-platform-tests/web-animations/resources/effect-tests.js: Renamed from LayoutTests/http/wpt/web-animations/resources/effect-tests.js.
  • web-platform-tests/web-animations/resources/keyframe-tests.js: Added.
  • web-platform-tests/web-animations/resources/keyframe-utils.js: Added.
  • web-platform-tests/web-animations/resources/xhr-doc.py: Renamed from LayoutTests/http/wpt/web-animations/resources/xhr-doc.py.
  • web-platform-tests/web-animations/testcommon.js: Renamed from LayoutTests/http/wpt/web-animations/testcommon.js.
  • web-platform-tests/web-animations/timing-model/animation-effects/active-time-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/active-time-expected.txt.
  • web-platform-tests/web-animations/timing-model/animation-effects/active-time.html: Added.
  • web-platform-tests/web-animations/timing-model/animation-effects/current-iteration-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/current-iteration-expected.txt.
  • web-platform-tests/web-animations/timing-model/animation-effects/current-iteration.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/current-iteration.html.
  • web-platform-tests/web-animations/timing-model/animation-effects/local-time-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/local-time-expected.txt.
  • web-platform-tests/web-animations/timing-model/animation-effects/local-time.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/local-time.html.
  • web-platform-tests/web-animations/timing-model/animation-effects/phases-and-states-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/phases-and-states-expected.txt.
  • web-platform-tests/web-animations/timing-model/animation-effects/phases-and-states.html: Added.
  • web-platform-tests/web-animations/timing-model/animation-effects/simple-iteration-progress-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/simple-iteration-progress-expected.txt.
  • web-platform-tests/web-animations/timing-model/animation-effects/simple-iteration-progress.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animation-effects/simple-iteration-progress.html.
  • web-platform-tests/web-animations/timing-model/animations/canceling-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/canceling-an-animation-expected.txt.
  • web-platform-tests/web-animations/timing-model/animations/canceling-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/canceling-an-animation.html.
  • web-platform-tests/web-animations/timing-model/animations/current-time-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/current-time-expected.txt.
  • web-platform-tests/web-animations/timing-model/animations/current-time.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/current-time.html.
  • web-platform-tests/web-animations/timing-model/animations/finishing-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/finishing-an-animation-expected.txt.
  • web-platform-tests/web-animations/timing-model/animations/finishing-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/finishing-an-animation.html.
  • web-platform-tests/web-animations/timing-model/animations/pausing-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/pausing-an-animation-expected.txt.
  • web-platform-tests/web-animations/timing-model/animations/pausing-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/pausing-an-animation.html.
  • web-platform-tests/web-animations/timing-model/animations/play-states-expected.txt: Added.
  • web-platform-tests/web-animations/timing-model/animations/play-states.html: Added.
  • web-platform-tests/web-animations/timing-model/animations/playing-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/playing-an-animation-expected.txt.
  • web-platform-tests/web-animations/timing-model/animations/playing-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/playing-an-animation.html.
  • web-platform-tests/web-animations/timing-model/animations/reversing-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/reversing-an-animation-expected.txt.
  • web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/reversing-an-animation.html.
  • web-platform-tests/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt.
  • web-platform-tests/web-animations/timing-model/animations/set-the-animation-start-time.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-animation-start-time.html.
  • web-platform-tests/web-animations/timing-model/animations/set-the-target-effect-of-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-target-effect-of-an-animation-expected.txt.
  • web-platform-tests/web-animations/timing-model/animations/set-the-target-effect-of-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-target-effect-of-an-animation.html.
  • web-platform-tests/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt.
  • web-platform-tests/web-animations/timing-model/animations/set-the-timeline-of-an-animation.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation.html.
  • web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/updating-the-finished-state-expected.txt.
  • web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/animations/updating-the-finished-state.html.
  • web-platform-tests/web-animations/timing-model/time-transformations/transformed-progress-expected.txt: Renamed from LayoutTests/http/wpt/web-animations/timing-model/time-transformations/transformed-progress-expected.txt.
  • web-platform-tests/web-animations/timing-model/time-transformations/transformed-progress.html: Renamed from LayoutTests/http/wpt/web-animations/timing-model/time-transformations/transformed-progress.html.
  • web-platform-tests/web-animations/timing-model/timelines/document-timelines-expected.txt: Added.
  • web-platform-tests/web-animations/timing-model/timelines/document-timelines.html: Added.
  • web-platform-tests/web-animations/timing-model/timelines/timelines-expected.txt: Added.
  • web-platform-tests/web-animations/timing-model/timelines/timelines.html: Added.

LayoutTests:

  • TestExpectations:
  • http/wpt/web-animations/OWNERS: Removed.
  • http/wpt/web-animations/README.md: Removed.
  • http/wpt/web-animations/interfaces/Animatable/animate-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/Animatable/getAnimations-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/Animatable/getAnimations.html: Removed.
  • http/wpt/web-animations/interfaces/Animation/constructor.html: Removed.
  • http/wpt/web-animations/interfaces/Animation/finish-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/Animation/finished-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/Animation/playState-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/Animation/playState.html: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/delay-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/delay.html: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/direction-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/direction.html: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/duration-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/duration.html: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/endDelay-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/endDelay.html: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/fill-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/fill.html: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/getAnimations-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/getAnimations.html: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/getComputedStyle-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/getComputedStyle.html: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart.html: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/iterations-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/iterations.html: Removed.
  • http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline.html: Removed.
  • http/wpt/web-animations/interfaces/KeyframeEffect/composite-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/KeyframeEffect/constructor-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/KeyframeEffect/constructor.html: Removed.
  • http/wpt/web-animations/interfaces/KeyframeEffect/copy-constructor-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/KeyframeEffect/copy-constructor.html: Removed.
  • http/wpt/web-animations/interfaces/KeyframeEffect/getComputedTiming-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/KeyframeEffect/getComputedTiming.html: Removed.
  • http/wpt/web-animations/interfaces/KeyframeEffect/iterationComposite-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes.html: Removed.
  • http/wpt/web-animations/interfaces/KeyframeEffectReadOnly/copy-constructor-expected.txt: Removed.
  • http/wpt/web-animations/interfaces/KeyframeEffectReadOnly/copy-constructor.html: Removed.
  • http/wpt/web-animations/resources/keyframe-utils.js: Removed.
  • http/wpt/web-animations/timing-model/animation-effects/active-time.html: Removed.
  • http/wpt/web-animations/timing-model/animation-effects/phases-and-states.html: Removed.
1:06 AM Changeset in webkit [227597] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

undefined reference to 'JSC::B3::BasicBlock::fallThrough() const
https://bugs.webkit.org/show_bug.cgi?id=180637

Patch by Alejandro G. Castro <alex@igalia.com> on 2018-01-25
Reviewed by Michael Catanzaro.

We need to make sure the implementation of the inline functions is
compiled when we compile the code using the function, now that the
compilation is divided, or we could end up with undefined symbols
when the declaration is not inlined, at least with some compilers
and optimizations enabled -O2.

  • b3/B3SwitchValue.cpp: replace the include.

Jan 24, 2018:

11:59 PM Changeset in webkit [227596] by fred.wang@free.fr
  • 7 edits
    2 adds in trunk

ScrollingStateNode::reconcileLayerPositionForViewportRect is only called on direct children of the root
https://bugs.webkit.org/show_bug.cgi?id=179946

Patch by Frederic Wang <fwang@igalia.com> on 2018-01-24
Reviewed by Simon Fraser.

Source/WebCore:

ScrollingStateNode::reconcileLayerPositionForViewportRect is currently only called on the
direct children of root of the scrolling tree. Hence nodes like "position: fixed" will not
update their layers after scrolling when they are deeper in the tree. This is already
possible on iOS with overflow nodes and will happen with subframes when async scrolling is
implemented. This commit fixes that issue by recursively calling the function
ScrollingStateNode::reconcileLayerPositionForViewportRect on the scrolling tree.

Test: fast/scrolling/ios/reconcile-layer-position-recursive.html

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::reconcileViewportConstrainedLayerPositions): Just call
reconcileLayerPositionForViewportRect on the root node.

  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::reconcileLayerPositionForViewportRect): By default, this
function now recursively calls reconcileLayerPositionForViewportRect on the children.

  • page/scrolling/ScrollingStateNode.h:
  • page/scrolling/ScrollingStateFixedNode.cpp:

(WebCore::ScrollingStateFixedNode::reconcileLayerPositionForViewportRect): Call the function
on children.

  • page/scrolling/ScrollingStateStickyNode.cpp:

(WebCore::ScrollingStateStickyNode::reconcileLayerPositionForViewportRect): Ditto.

LayoutTests:

Add a test that verifies the correct update of the graphic layer of a "position: fixed" and
"position: sticky" nodes inside a non-flat scrolling tree. The test checks recursive call
on overflow, "position: sticky" and "position: fixed" nodes.

  • fast/scrolling/ios/reconcile-layer-position-recursive-expected.txt: Added.
  • fast/scrolling/ios/reconcile-layer-position-recursive.html: Added.
11:19 PM Changeset in webkit [227595] by Manuel Rego Casasnovas
  • 8 edits
    403 copies
    3 adds
    1 delete in trunk/LayoutTests

Move css-color & css-multicol WPT suites to the proper folder
https://bugs.webkit.org/show_bug.cgi?id=182044

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/css/css-color/: Renamed from LayoutTests/imported/w3c/css/css-color-3/.
  • web-platform-tests/css/css-multicol/: Renamed from LayoutTests/imported/w3c/css/css-multicol-1/.

LayoutTests:

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-wk1/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/win/TestExpectations:
11:18 PM Changeset in webkit [227594] by zandobersek@gmail.com
  • 13 edits in trunk/Source/WebCore

[Cairo] Use GraphicsContextImplCairo for ImageBuffer context
https://bugs.webkit.org/show_bug.cgi?id=181977

Reviewed by Carlos Garcia Campos.

Enhance the GraphicsContextImpl interface to the point of enabling the
Cairo-based implementation to be used for GraphicsContext construction
in ImageBufferCairo.cpp.

In order to enable GraphicsContextImpl implementations to properly
manage PlatformGraphicsContext objects, the hasPlatformContext() and
platformContext() methods are added. Cairo implementation returns true
in the first method, and returns pointer to the PlatformContextCairo
object in the second. The DisplayList::Recorder, due to its recording
nature, doesn't manage such an object, so it returns false and nullptr,
respectively.

GraphicsContextImpl also gains the setCTM(), getCTM(), clipBounds() and
roundToDevicePixels() methods, corresponding to the GraphicsContext
methods that now invoke these new methods on any existing m_impl object.
GraphicsContextImplCairo implementations mimic the existing behavior in
the Cairo-specific GraphicsContext methods, but DisplayList::Recorder
implementations remain no-op, logging the invocation but doing nothing
otherwise.

drawImage() and drawTiledImage() methods on the GraphicsContextImpl
interface are changed to return the ImageDrawResult value, corresponding
to what's been done in the method. In DisplayList::Recorder, the methods
return ImageDrawResult::DidRecord, while in GraphicsContextImplCairo the
methods return the return result of Image::draw() or Image::drawTiled()
call.

To make the protected Image::draw() and Image::drawTiled() methods
accessible, invocations of those are packed into static drawImageImpl()
and drawTiledImageImpl() functions on the GraphicsContextImpl class.
This makes it possible to simply declare GraphicsContextImpl class as a
friend class of Image, and not every specific GraphicsContextImpl
derivation. Implementations of these functions mirror behavior of the
drawImage() and drawTiledImage() methods on the GraphicsContext class,
when an m_impl object isn't present, constructing a scope-tied
InterpolationQualityMaintainer object and invoking the relevant Image
method.

To make immediate use of the new GraphicsContextImplCairo functionality,
the GraphicsContext construction in Cairo-specific ImageBuffer
implementation now uses a factory function that returns a new
GraphicsContextImplCairo object through which the given
PlatformContextCairo is used for painting.

No new tests -- no change in functionality.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::hasPlatformContext const):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::hasPlatformContext const): Deleted.

  • platform/graphics/GraphicsContextImpl.cpp:

(WebCore::GraphicsContextImpl::drawImageImpl):
(WebCore::GraphicsContextImpl::drawTiledImageImpl):

  • platform/graphics/GraphicsContextImpl.h:
  • platform/graphics/Image.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::getCTM const):
(WebCore::GraphicsContext::platformContext const):
(WebCore::GraphicsContext::clipBounds const):
(WebCore::GraphicsContext::roundToDevicePixels):
(WebCore::GraphicsContext::setCTM):

  • platform/graphics/cairo/GraphicsContextImplCairo.cpp:

(WebCore::m_private):
(WebCore::GraphicsContextImplCairo::~GraphicsContextImplCairo):
(WebCore::GraphicsContextImplCairo::hasPlatformContext const):
(WebCore::GraphicsContextImplCairo::platformContext const):
(WebCore::GraphicsContextImplCairo::updateState):
(WebCore::GraphicsContextImplCairo::setLineCap):
(WebCore::GraphicsContextImplCairo::setLineDash):
(WebCore::GraphicsContextImplCairo::setLineJoin):
(WebCore::GraphicsContextImplCairo::setMiterLimit):
(WebCore::GraphicsContextImplCairo::fillRect):
(WebCore::GraphicsContextImplCairo::fillRoundedRect):
(WebCore::GraphicsContextImplCairo::fillRectWithRoundedHole):
(WebCore::GraphicsContextImplCairo::fillPath):
(WebCore::GraphicsContextImplCairo::fillEllipse):
(WebCore::GraphicsContextImplCairo::strokeRect):
(WebCore::GraphicsContextImplCairo::strokePath):
(WebCore::GraphicsContextImplCairo::strokeEllipse):
(WebCore::GraphicsContextImplCairo::clearRect):
(WebCore::GraphicsContextImplCairo::drawGlyphs):
(WebCore::GraphicsContextImplCairo::drawImage):
(WebCore::GraphicsContextImplCairo::drawTiledImage):
(WebCore::GraphicsContextImplCairo::drawNativeImage):
(WebCore::GraphicsContextImplCairo::drawPattern):
(WebCore::GraphicsContextImplCairo::drawRect):
(WebCore::GraphicsContextImplCairo::drawLine):
(WebCore::GraphicsContextImplCairo::drawLinesForText):
(WebCore::GraphicsContextImplCairo::drawLineForDocumentMarker):
(WebCore::GraphicsContextImplCairo::drawEllipse):
(WebCore::GraphicsContextImplCairo::drawFocusRing):
(WebCore::GraphicsContextImplCairo::save):
(WebCore::GraphicsContextImplCairo::restore):
(WebCore::GraphicsContextImplCairo::translate):
(WebCore::GraphicsContextImplCairo::rotate):
(WebCore::GraphicsContextImplCairo::scale):
(WebCore::GraphicsContextImplCairo::concatCTM):
(WebCore::GraphicsContextImplCairo::setCTM):
(WebCore::GraphicsContextImplCairo::getCTM):
(WebCore::GraphicsContextImplCairo::beginTransparencyLayer):
(WebCore::GraphicsContextImplCairo::endTransparencyLayer):
(WebCore::GraphicsContextImplCairo::clip):
(WebCore::GraphicsContextImplCairo::clipOut):
(WebCore::GraphicsContextImplCairo::clipPath):
(WebCore::GraphicsContextImplCairo::clipBounds):
(WebCore::GraphicsContextImplCairo::roundToDevicePixels):
(WebCore::m_platformContext): Deleted.

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

(WebCore::ImageBuffer::ImageBuffer):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::clipBounds const):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::getCTM const):
(WebCore::GraphicsContext::roundToDevicePixels):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::drawImage):
(WebCore::DisplayList::Recorder::drawTiledImage):
(WebCore::DisplayList::Recorder::drawNativeImage):
(WebCore::DisplayList::Recorder::setCTM):
(WebCore::DisplayList::Recorder::getCTM):
(WebCore::DisplayList::Recorder::clipBounds):
(WebCore::DisplayList::Recorder::roundToDevicePixels):

  • platform/graphics/displaylists/DisplayListRecorder.h:
11:14 PM Changeset in webkit [227593] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Linker error in ShareableBitmapCairo.cpp undefined reference to WebCore::Cairo::ShadowState::ShadowState
https://bugs.webkit.org/show_bug.cgi?id=182060

Patch by Christopher Reid <chris.reid@sony.com> on 2018-01-24
Reviewed by Žan Doberšek.

No new tests, no change in behavior.

Added exports to WebCore::Cairo::ShadowState::ShadowState.

  • platform/graphics/cairo/CairoOperations.h:
8:19 PM Changeset in webkit [227592] by fpizlo@apple.com
  • 58 edits
    12 adds in trunk/Source

JSC GC should support TLCs (thread local caches)
https://bugs.webkit.org/show_bug.cgi?id=181559

Reviewed by Mark Lam and Saam Barati.
Source/JavaScriptCore:


This is a big step towards object distancing by site origin. This patch implements TLCs, or
thread-local caches, which allow each thread to allocate from its own free lists. It also
means that any given thread can context-switch TLCs. This will allow us to do separate
allocation for separate site origins. Eventually, once we reshape how MarkedBlock looks, this
will allow us to have a hard distancing constraint between objects from different origins.

In this new design, every "size class" is represented as a BlockDirectory (formerly known as
MarkedAllocator, prior to r226822). This contains a bag of blocks allocated using some
aligned memory allocator (which roughly represents which cage you came out of), and anyone
using the same allocator can share those blocks - but so long as they are in that
BlockDirectory, they will have the size and type of that directory. Previously, each
BlockDirectory had exactly one FreeList. Now, each BlockDirectory has a double-linked-list of
LocalAllocators, each of which has a FreeList.

To decide which LocalAllocator to allocate out of, we need a ThreadLocalCache and a
BlockDirectory. The directory gives us an offset-within-the-ThreadLocalCache, which we simply
call the Allocator (which is just a POD type that contains a 32-bit offset). Each allocation
starts by figuring out what Allocator it wants (often we have this information at JIT time).
Then the allocation loads its ThreadLocalCache::Data from a fast TLS slot. Then we add the
Allocator offset to the ThreadLocalCache::Data to get the LocalAllocator. Note that we use
offsets as opposed to indices to make it easy to do the math on each allocation (if
LocalAllocator had a weird size then every allocation would have to do an imul).

This is a definite slow-down on GC-heavy benchmarks, but by a small margin, and only on
unusually heavy tests. For example, boyer and splay are both 3% regressed, but the Octane
geomean is just fine. The JetStream score regressed by 0.5% with p = 0.08 (so maybe there is
something there, but it's not significant according to our threshold).

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • b3/B3LowerToAir.cpp:
  • b3/B3PatchpointSpecial.cpp:

(JSC::B3::PatchpointSpecial::admitsStack):

  • b3/B3StackmapSpecial.cpp:

(JSC::B3::StackmapSpecial::forEachArgImpl):
(JSC::B3::StackmapSpecial::isArgValidForRep):

  • b3/B3StackmapValue.cpp:

(JSC::B3::StackmapValue::appendSomeRegisterWithClobber):

  • b3/B3StackmapValue.h:
  • b3/B3Validate.cpp:
  • b3/B3ValueRep.cpp:

(JSC::B3::ValueRep::addUsedRegistersTo const):
(JSC::B3::ValueRep::dump const):
(WTF::printInternal):

  • b3/B3ValueRep.h:

(JSC::B3::ValueRep::ValueRep):

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateImpl):

  • bytecode/ObjectAllocationProfile.h:

(JSC::ObjectAllocationProfile::ObjectAllocationProfile):
(JSC::ObjectAllocationProfile::clear):

  • bytecode/ObjectAllocationProfileInlines.h:

(JSC::ObjectAllocationProfile::initializeProfile):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitAllocateRawObject):
(JSC::DFG::SpeculativeJIT::compileMakeRope):
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileCreateThis):
(JSC::DFG::SpeculativeJIT::compileNewObject):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::emitAllocateJSCell):
(JSC::DFG::SpeculativeJIT::emitAllocateJSObject):

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

(JSC::FTL::DFG::LowerDFGToB3::compileMakeRope):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject):
(JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl):
(JSC::FTL::DFG::LowerDFGToB3::allocateHeapCell):
(JSC::FTL::DFG::LowerDFGToB3::allocateObject):
(JSC::FTL::DFG::LowerDFGToB3::allocatorForSize):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedObject):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedCell):

  • heap/Allocator.cpp: Added.

(JSC::Allocator::cellSize const):

  • heap/Allocator.h: Added.

(JSC::Allocator::Allocator):
(JSC::Allocator::offset const):
(JSC::Allocator::operator== const):
(JSC::Allocator::operator!= const):
(JSC::Allocator::operator bool const):

  • heap/AllocatorInlines.h: Added.

(JSC::Allocator::allocate const):
(JSC::Allocator::tryAllocate const):

  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::BlockDirectory):
(JSC::BlockDirectory::findBlockForAllocation):
(JSC::BlockDirectory::stopAllocating):
(JSC::BlockDirectory::prepareForAllocation):
(JSC::BlockDirectory::stopAllocatingForGood):
(JSC::BlockDirectory::resumeAllocating):
(JSC::BlockDirectory::endMarking):
(JSC::BlockDirectory::isFreeListedCell):
(JSC::BlockDirectory::didConsumeFreeList): Deleted.
(JSC::BlockDirectory::tryAllocateWithoutCollecting): Deleted.
(JSC::BlockDirectory::allocateIn): Deleted.
(JSC::BlockDirectory::tryAllocateIn): Deleted.
(JSC::BlockDirectory::doTestCollectionsIfNeeded): Deleted.
(JSC::BlockDirectory::allocateSlowCase): Deleted.

  • heap/BlockDirectory.h:

(JSC::BlockDirectory::cellKind const):
(JSC::BlockDirectory::allocator const):
(JSC::BlockDirectory::freeList const): Deleted.
(JSC::BlockDirectory::offsetOfFreeList): Deleted.
(JSC::BlockDirectory::offsetOfCellSize): Deleted.

  • heap/BlockDirectoryInlines.h:

(JSC::BlockDirectory::isFreeListedCell const): Deleted.
(JSC::BlockDirectory::allocate): Deleted.

  • heap/CompleteSubspace.cpp:

(JSC::CompleteSubspace::CompleteSubspace):
(JSC::CompleteSubspace::allocatorFor):
(JSC::CompleteSubspace::allocate):
(JSC::CompleteSubspace::allocateNonVirtual):
(JSC::CompleteSubspace::allocatorForSlow):
(JSC::CompleteSubspace::allocateSlow):
(JSC::CompleteSubspace::tryAllocateSlow):

  • heap/CompleteSubspace.h:

(JSC::CompleteSubspace::allocatorForSizeStep):
(JSC::CompleteSubspace::allocatorForNonVirtual):

  • heap/FreeList.h:
  • heap/GCDeferralContext.h:
  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::lastChanceToFinalize):

  • heap/Heap.h:

(JSC::Heap::threadLocalCacheLayout):

  • heap/IsoCellSet.h:
  • heap/IsoSubspace.cpp:

(JSC::IsoSubspace::IsoSubspace):
(JSC::IsoSubspace::allocatorFor):
(JSC::IsoSubspace::allocate):
(JSC::IsoSubspace::allocateNonVirtual):

  • heap/IsoSubspace.h:

(JSC::IsoSubspace::allocatorForNonVirtual):

  • heap/LocalAllocator.cpp: Added.

(JSC::LocalAllocator::LocalAllocator):
(JSC::LocalAllocator::reset):
(JSC::LocalAllocator::~LocalAllocator):
(JSC::LocalAllocator::stopAllocating):
(JSC::LocalAllocator::resumeAllocating):
(JSC::LocalAllocator::prepareForAllocation):
(JSC::LocalAllocator::stopAllocatingForGood):
(JSC::LocalAllocator::allocateSlowCase):
(JSC::LocalAllocator::didConsumeFreeList):
(JSC::LocalAllocator::tryAllocateWithoutCollecting):
(JSC::LocalAllocator::allocateIn):
(JSC::LocalAllocator::tryAllocateIn):
(JSC::LocalAllocator::doTestCollectionsIfNeeded):
(JSC::LocalAllocator::isFreeListedCell const):

  • heap/LocalAllocator.h: Added.

(JSC::LocalAllocator::offsetOfFreeList):
(JSC::LocalAllocator::offsetOfCellSize):

  • heap/LocalAllocatorInlines.h: Added.

(JSC::LocalAllocator::allocate):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::stopAllocatingForGood):

  • heap/MarkedSpace.h:
  • heap/SlotVisitor.cpp:
  • heap/SlotVisitor.h:
  • heap/Subspace.h:
  • heap/ThreadLocalCache.cpp: Added.

(JSC::ThreadLocalCache::create):
(JSC::ThreadLocalCache::ThreadLocalCache):
(JSC::ThreadLocalCache::~ThreadLocalCache):
(JSC::ThreadLocalCache::allocateData):
(JSC::ThreadLocalCache::destroyData):
(JSC::ThreadLocalCache::installSlow):
(JSC::ThreadLocalCache::installData):
(JSC::ThreadLocalCache::allocatorSlow):
(JSC::ThreadLocalCache::destructor):

  • heap/ThreadLocalCache.h: Added.

(JSC::ThreadLocalCache::offsetOfSize):
(JSC::ThreadLocalCache::offsetOfFirstAllocator):

  • heap/ThreadLocalCacheInlines.h: Added.

(JSC::ThreadLocalCache::getImpl):
(JSC::ThreadLocalCache::get):
(JSC::ThreadLocalCache::install):
(JSC::ThreadLocalCache::allocator):
(JSC::ThreadLocalCache::tryGetAllocator):

  • heap/ThreadLocalCacheLayout.cpp: Added.

(JSC::ThreadLocalCacheLayout::ThreadLocalCacheLayout):
(JSC::ThreadLocalCacheLayout::~ThreadLocalCacheLayout):
(JSC::ThreadLocalCacheLayout::allocateOffset):
(JSC::ThreadLocalCacheLayout::snapshot):
(JSC::ThreadLocalCacheLayout::directory):

  • heap/ThreadLocalCacheLayout.h: Added.
  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):
(JSC::AssemblyHelpers::emitAllocate):
(JSC::AssemblyHelpers::emitAllocateVariableSized):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::vm):
(JSC::AssemblyHelpers::emitAllocateJSCell):
(JSC::AssemblyHelpers::emitAllocateJSObject):
(JSC::AssemblyHelpers::emitAllocateJSObjectWithKnownSize):
(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator): Deleted.
(JSC::AssemblyHelpers::emitAllocate): Deleted.
(JSC::AssemblyHelpers::emitAllocateVariableSized): Deleted.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_new_object):
(JSC::JIT::emit_op_create_this):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_new_object):
(JSC::JIT::emit_op_create_this):

  • runtime/ButterflyInlines.h:

(JSC::Butterfly::createUninitialized):
(JSC::Butterfly::tryCreate):
(JSC::Butterfly::growArrayRight):

  • runtime/DirectArguments.cpp:

(JSC::DirectArguments::overrideThings):

  • runtime/GenericArgumentsInlines.h:

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

  • runtime/HashMapImpl.h:

(JSC::HashMapBuffer::create):

  • runtime/JSArray.cpp:

(JSC::JSArray::tryCreateUninitializedRestricted):
(JSC::JSArray::unshiftCountSlowCase):

  • runtime/JSArray.h:

(JSC::JSArray::tryCreate):

  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):

  • runtime/JSCellInlines.h:

(JSC::tryAllocateCellHelper):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::threadLocalCache const):

  • runtime/JSLock.cpp:

(JSC::JSLock::didAcquireLock):

  • runtime/Options.h:
  • runtime/RegExpMatchesArray.h:

(JSC::tryCreateUninitializedRegExpMatchesArray):

  • runtime/VM.cpp:

(JSC::VM::VM):

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

(JSC::VMEntryScope::VMEntryScope):

Source/WTF:

  • wtf/Bitmap.h: Just fixing a compile error.
8:12 PM Changeset in webkit [227591] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[Curl] Implement didSendData client callback.
https://bugs.webkit.org/show_bug.cgi?id=182063

Patch by Basuke Suzuki <Basuke Suzuki> on 2018-01-24
Reviewed by Alex Christensen.

No new tests (covered by existing tests).

  • platform/network/curl/CurlDownload.h:
  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::willSendData):

  • platform/network/curl/CurlRequestClient.h:
  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::curlDidSendData):

  • platform/network/curl/ResourceHandleCurlDelegate.h:
6:35 PM Changeset in webkit [227590] by achristensen@apple.com
  • 7 edits
    1 add in trunk

Gracefully recover from NetworkProcess crashes in private browsing
https://bugs.webkit.org/show_bug.cgi?id=182073
<rdar://problem/36572023>

Reviewed by Geoff Garen.

Source/WebKit:

If we're using a non-persistent WKWebsiteDataStore and the NetworkProcess crashes and we try to do a load,
then the WebProcess restarts the NetworkProcess but doesn't recreate the ephemeral session in the NetworkProcess.
When this happens, we've already lost the browsing state in memory in the NetworkProcess, but we don't want to hang.
If this is the problem, then just recreate the ephemeral session and continue loading.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::removeStorageAccessForFrame):
(WebKit::NetworkConnectionToWebProcess::removeStorageAccessForAllFramesOnPage):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::startNetworkLoad):

  • Shared/WebsiteDataStoreParameters.cpp:

(WebKit::WebsiteDataStoreParameters::privateSessionParameters):
(WebKit::WebsiteDataStoreParameters::legacyPrivateSessionParameters): Deleted.

  • Shared/WebsiteDataStoreParameters.h:

(WebKit::WebsiteDataStoreParameters::legacyPrivateSessionParameters):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm: Added.

(-[CrashDelegate webView:didFinishNavigation:]):
(-[CrashDelegate webView:didFailProvisionalNavigation:withError:]):
(-[CrashDelegate webView:didFailNavigation:withError:]):
(TEST):

5:28 PM Changeset in webkit [227589] by jiewen_tan@apple.com
  • 15 edits
    8 adds in trunk

[WebAuthN] Implement PublicKeyCredential’s DiscoverFromExternalSource? with a dummy authenticator
https://bugs.webkit.org/show_bug.cgi?id=182032
<rdar://problem/36459922>

Reviewed by Brent Fulgham.

Source/WebCore:

This patch implements PublicKeyCredential's DiscoverFromExternalSource? from
https://www.w3.org/TR/webauthn/#getAssertion as of 5 December 2017. In order to
do testing, a dummy authenticator is implemented to exercise a failure and a
pass path. A number of dependencies need to be resolved later in order to comply
with the spec, which are marked by FIXME in the patch and tracked by proper
bugs. Those dependencies will be addressed once the first prototype is finshed.

Tests: http/tests/webauthn/public-key-credential-get-with-invalid-parameters.https.html

http/wpt/credential-management/credentialscontainer-store-basics.https.html
http/wpt/webauthn/public-key-credential-get-failure.https.html
http/wpt/webauthn/public-key-credential-get-success.https.html

  • Modules/credentialmanagement/CredentialsContainer.cpp:

(WebCore::CredentialsContainer::get):
(WebCore::CredentialsContainer::isCreate):
Fixes some minor issues.

  • Modules/webauthn/Authenticator.cpp:

(WebCore::Authenticator::getAssertion const):

  • Modules/webauthn/Authenticator.h:

(WebCore::Authenticator::AssertionReturnBundle::AssertionReturnBundle):

  • Modules/webauthn/PublicKeyCredential.cpp:

(WebCore::PublicKeyCredential::collectFromCredentialStore):
Changed a parameter type.
(WebCore::PublicKeyCredential::discoverFromExternalSource):
(WebCore::PublicKeyCredential::create):
Improved some comments.

  • Modules/webauthn/PublicKeyCredential.h:
  • Modules/webauthn/PublicKeyCredentialRequestOptions.h:

(): Deleted.

  • bindings/js/JSAuthenticatorResponseCustom.cpp:

(WebCore::toJSNewlyCreated):

LayoutTests:

  • http/tests/webauthn/public-key-credential-get-with-invalid-parameters.https-expected.txt: Added.
  • http/tests/webauthn/public-key-credential-get-with-invalid-parameters.https.html: Added.
  • http/tests/webauthn/public-key-credential-same-origin-with-ancestors-2.https-expected.txt:
  • http/tests/webauthn/public-key-credential-same-origin-with-ancestors.https-expected.txt:
  • http/tests/webauthn/resources/last-layer-frame.https.html:
  • http/wpt/credential-management/credentialscontainer-store-basics.https-expected.txt: Added.
  • http/wpt/credential-management/credentialscontainer-store-basics.https.html: Added.
  • http/wpt/webauthn/idl.https-expected.txt:
  • http/wpt/webauthn/idl.https.html:
  • http/wpt/webauthn/public-key-credential-create-success.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure.https-expected.txt: Added.
  • http/wpt/webauthn/public-key-credential-get-failure.https.html: Added.
  • http/wpt/webauthn/public-key-credential-get-success.https-expected.txt: Added.
  • http/wpt/webauthn/public-key-credential-get-success.https.html: Added.
5:17 PM Changeset in webkit [227588] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

Move WebGL's colorspace code into IOSurface
https://bugs.webkit.org/show_bug.cgi?id=182076
<rdar://problem/36846863>

Reviewed by Simon Fraser, with assistance from Tim Horton.

Rather than have WebGLLayer talk directly to an IOSurfaceRef,
use a helper function on WebCore::IOSurface.

No behaviour change.

  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::migrateColorSpaceToProperties): Add new helper.

  • platform/graphics/cocoa/WebGLLayer.mm:

(-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]): The
newly created IOSurfaces call the helper to set up their colorspace.

5:07 PM Changeset in webkit [227587] by jmarcell@apple.com
  • 5 edits
    5 adds in branches/safari-605-branch

Cherry-pick r227581. rdar://problem/36846010

4:22 PM Changeset in webkit [227586] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Web Inspector: Simplify update-LegacyInspectorBackendCommands.rb
https://bugs.webkit.org/show_bug.cgi?id=182067

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-24
Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/scripts/codegen/models.py:

(Framework.fromString):
(Frameworks):

  • inspector/scripts/generate-inspector-protocol-bindings.py:

(generate_from_specification):
Allow framework WebInspectorUI to generate just the backend commands files.

Source/WebInspectorUI:

  • Scripts/update-LegacyInspectorBackendCommands.rb:

Remove stale dependency_json, it has always been empty for a while now.
Switch to framework WebInspectorUI to generate only the backend commands
and not spend time generating a bunch of cpp files.

4:15 PM Changeset in webkit [227585] by Nikita Vasilyev
  • 4 edits in trunk/Source/WebInspectorUI

REGRESSION (r226994): Web Inspector: Styles: Suggestions popover floats in top-left corner of Web Inspector after tabbing
https://bugs.webkit.org/show_bug.cgi?id=182027

Reviewed by Matt Baker.

r226994 added a layout of all properties on property removal. Layout caused
a property element to be removed from DOM right before dislaying the suggestion
popover, resulting in the popover being displayed at the top left corner.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
Only update property view indices when a property is removed.

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty):
(WI.SpreadsheetStyleProperty.prototype.set index):

  • UserInterface/Views/SpreadsheetTextField.js:

(WI.SpreadsheetTextField.prototype._updateCompletions):
Checking this._element.parentNode to see if the element is attached to the DOM tree is unreliable,
since the element may have a non-null parent node that is detached from the DOM tree. To fix that,
we could traverse element's ancestors, but I used a concise isConnected property instead.

4:13 PM Changeset in webkit [227584] by Ryan Haddad
  • 11 edits in branches/safari-605-branch/JSTests

JSC test gardening for <rdar://problem/36827460>.

  • stress/async-generator-assertion.js:
  • stress/async-iteration-async-from-sync.js:
  • stress/async-iteration-basic.js:
  • stress/async-iteration-evaluation.js:
  • stress/async-iteration-for-await-of-syntax.js:
  • stress/async-iteration-for-await-of.js:

(assert):

  • stress/async-iteration-syntax.js:
  • stress/async-iteration-yield-promise.js:
  • stress/async-iteration-yield-star-interface.js:
  • stress/async-iteration-yield-star.js:
3:55 PM Changeset in webkit [227583] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Add a note about not implementing these functions without discussion.
<rdar://problem/36666458>

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::clientWaitSync):
(WebCore::WebGL2RenderingContext::getSyncParameter):

3:30 PM Changeset in webkit [227582] by mitz@apple.com
  • 9 edits
    1 copy in trunk/Source/WebKit

Enable library validation on the Web Content service
Part 1 of https://bugs.webkit.org/show_bug.cgi?id=172365
<rdar://problem/26470661>

Reviewed by David Kilzer.

This makes the Web Content process signed with the Library Validation flag in production
builds. Because doing so would prevent engineering builds of Apple apps that use an
injected bundle from working, this also adds a Development version of the service, which
does not enforce Library Validation. The UI process chooses to use the Development service
iff it would need to load an injected bundle that is not part of the OS.

  • Configurations/DebugRelease.xcconfig: Disable Library Validation in engineering builds.
  • Configurations/WebContentService.Development.xcconfig: Added. Like the normal service, but only installed when WebKit is installed in the OS, and uses a Development variant.
  • Configurations/WebContentService.xcconfig: For the Development variant, append ".Development" to the product name, which is also the service identifier. Enable Library Validation for the Normal variant of the service when WK_LIBRARY_VALIDATION_ENABLED allows it.
  • UIProcess/Launcher/ProcessLauncher.h: Add nonValidInjectedCodeAllowed member to LaunchOptions, false by default.
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::serviceName): Use the Development variant if nonValidInjectedCodeAllowed is true.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::getLaunchOptions): Initialize nonValidInjectedCodeAllowed using

the new shouldAllowNonValidInjectedCode().

(WebKit::WebProcessProxy::shouldAllowNonValidInjectedCode const): Generic implementation

that returns false.

  • UIProcess/WebProcessProxy.h: Declared shouldAllowNonValidInjectedCode.
  • UIProcess/mac/WebProcessProxyMac.mm:

(WebKit::WebProcessProxy::shouldAllowNonValidInjectedCode const): Return true if this is

system WebKit with a non-system injected bundle.

  • WebKit.xcodeproj/project.pbxproj: Added new service target.
3:23 PM Changeset in webkit [227581] by commit-queue@webkit.org
  • 5 edits
    5 adds in trunk

Opaque being-loaded responses should clone their body
https://bugs.webkit.org/show_bug.cgi?id=182056

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-24
Reviewed by Brady Eidson.

Source/WebCore:

Test: http/wpt/service-workers/clone-opaque-being-loaded-response.https.html

When cloning a being-loaded response, make sure we create a ReadableStream.
Before the patch, the readableStream was not created in that case for opaque responses.

  • Modules/fetch/FetchBodyOwner.cpp:

(WebCore::FetchBodyOwner::readableStream):
(WebCore::FetchBodyOwner::createReadableStream):

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

(WebCore::FetchResponse::clone):

LayoutTests:

  • http/wpt/service-workers/clone-opaque-being-loaded-response-worker.js: Added.
  • http/wpt/service-workers/clone-opaque-being-loaded-response.html: Added.
  • http/wpt/service-workers/clone-opaque-being-loaded-response.https-expected.txt: Added.
  • http/wpt/service-workers/resources/clone-opaque-being-loaded-response-iframe.html: Added.
  • http/wpt/service-workers/resources/lengthy-pass.py: Added.

(main):

3:19 PM Changeset in webkit [227580] by jmarcell@apple.com
  • 1 edit in tags/Safari-606.1.1.3/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig

Apply patch. rdar://problem/36808496

Adding VideoProcessing as linked framework to MacOS10.15

3:01 PM Changeset in webkit [227579] by jmarcell@apple.com
  • 55 edits in branches/safari-605-branch

Cherry-pick r227527. rdar://problem/36830339

3:00 PM Changeset in webkit [227578] by Chris Dumez
  • 8 edits in trunk

close() operation should not be exposed inside a ServiceWorkerGlobalScope
https://bugs.webkit.org/show_bug.cgi?id=182057

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/close.https-expected.txt:
  • web-platform-tests/workers/interfaces.worker-expected.txt:

Source/WebCore:

Move close() from WorkerGlobalScope to DedicatedWorkerGlobalScope as per:

This change to the specification was made to avoid exposing this deprecated
features to service workers (which are new).

No new tests, rebaselined existing test.

  • workers/DedicatedWorkerGlobalScope.idl:
  • workers/WorkerGlobalScope.idl:
2:52 PM Changeset in webkit [227577] by hyatt@apple.com
  • 29 edits
    16 adds in trunk

Implement line clamp for mail.
https://bugs.webkit.org/show_bug.cgi?id=180818

Reviewed by Dean Jackson.

Source/WebCore:

This patch implements a form of clamping that can clamp lines at both the top
and the bottom, and the interior can be replaced with a DOM element (identified
by id) that replaces the middle section.

The implementation derives from the multicolumn classes, but ultimately the
clamp should derive from the fragmentset classes instead (with most of the current
multicolumn code moving into base classes).

The virtualization of many of the multicolumn functions is something that would happen
once we move pages/printing over to this pagination model anyway.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Add the new clamp classes.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyinStyle):

  • css/CSSProperties.json:
  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueWebkitLinesClamp):

  • css/parser/CSSParser.cpp:

(WebCore::CSSParserContext::CSSParserContext):

  • css/parser/CSSParserMode.h:

(WebCore::CSSParserContextHash::hash):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeLinesClamp):
(WebCore::CSSPropertyParser::parseSingleValue):
Implement the new CSS property, webkit-lines-clamp. This is only exposed if a preference
is set, so it is not exposed to the Web.

  • page/Settings.yaml:

Add a new setting to control allowing access to the new CSS property.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willCreateColumns const):
Make sure columns are created when lines clamp is set.

(WebCore::getHeightForLineCount):
(WebCore::RenderBlockFlow::logicalHeightForLineCount):
(WebCore::RenderBlockFlow::logicalHeightExcludingLineCount):
(WebCore::RenderBlockFlow::layoutExcludedChildren):
(WebCore::RenderBlockFlow::heightForLineCount): Deleted.

  • rendering/RenderBlockFlow.h:

Re-use the same clamping logic as the old line clamp code, but modernize it to work
with writing modes and to be able to go backwards from the end of the block.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
The line count method got renamed to have the word "logical" in it, since it now
works with vertical writing.

  • rendering/RenderFragmentContainer.cpp:

(WebCore::RenderFragmentContainer::pageLogicalHeightForOffset const):

  • rendering/RenderFragmentContainer.h:

Since line clamp sets have variable page heights, this new method takes the offset
as an argument so that it can return the appropriate page for the given offset.
This method will eventually be used by printing/page sets as well, since pages
can have variable heights.

  • rendering/RenderFragmentedFlow.cpp:

(WebCore::RenderFragmentedFlow::validateFragments):
(WebCore::RenderFragmentedFlow::pageLogicalHeightForOffset const):
(WebCore::RenderFragmentedFlow::pageRemainingLogicalHeightForOffset const):

  • rendering/RenderFragmentedFlow.h:

Support for variable page heights in a fragment set.

  • rendering/RenderLinesClampFlow.cpp: Added.

(WebCore::RenderLinesClampFlow::RenderLinesClampFlow):
(WebCore::RenderLinesClampFlow::renderName const):
(WebCore::RenderLinesClampFlow::layout):
(WebCore::RenderLinesClampFlow::createMultiColumnSet):
(WebCore::RenderLinesClampFlow::isChildAllowedInFragmentedFlow const):
(WebCore::RenderLinesClampFlow::layoutFlowExcludedObjects):

  • rendering/RenderLinesClampFlow.h: Added.
  • rendering/RenderLinesClampSet.cpp: Added.

(WebCore::RenderLinesClampSet::RenderLinesClampSet):
(WebCore::RenderLinesClampSet::recalculateColumnHeight):
(WebCore::RenderLinesClampSet::computeLogicalHeight const):
(WebCore::RenderLinesClampSet::columnCount const):
(WebCore::RenderLinesClampSet::columnRectAt const):
(WebCore::RenderLinesClampSet::columnIndexAtOffset const):
(WebCore::RenderLinesClampSet::pageLogicalTopForOffset const):
(WebCore::RenderLinesClampSet::pageLogicalHeightForOffset const):
(WebCore::RenderLinesClampSet::fragmentedFlowPortionRectAt const):
(WebCore::RenderLinesClampSet::fragmentedFlowPortionOverflowRect):
(WebCore::RenderLinesClampSet::customBlockProgressionAdjustmentForColumn const):
(WebCore::RenderLinesClampSet::renderName const):

  • rendering/RenderLinesClampSet.h: Added.

The new classes. They subclass all the methods necessary to do multi-pass layout,
and to determine the page heights of each section.

  • rendering/RenderMultiColumnFlow.cpp:

(WebCore::RenderMultiColumnFlow::isColumnSpanningDescendant const):
(WebCore::isValidColumnSpanner):
(WebCore::RenderMultiColumnFlow::processPossibleSpannerDescendant):
(WebCore::RenderMultiColumnFlow::createMultiColumnSet):

  • rendering/RenderMultiColumnFlow.h:
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::collectLayerFragments):
(WebCore::RenderMultiColumnSet::columnTranslationForOffset const):

  • rendering/RenderMultiColumnSet.h:

(WebCore::RenderMultiColumnSet::skipLayerFragmentCollectionForColumn const):
(WebCore::RenderMultiColumnSet::customBlockProgressionAdjustmentForColumn const):
Virtualized methods so that lines clamp can subclass and change behavior.

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderLinesClampFlow const):
(WebCore::RenderObject::isRenderLinesClampSet const):
Add new functions for type checking.

  • rendering/RenderRubyText.cpp:

Include adjustment.

  • rendering/style/LineClampValue.h:

(WebCore::LinesClampValue::LinesClampValue):
(WebCore::LinesClampValue::isNone const):
(WebCore::LinesClampValue::operator== const):
(WebCore::LinesClampValue::operator!= const):
(WebCore::LinesClampValue::start const):
(WebCore::LinesClampValue::end const):
(WebCore::LinesClampValue::center const):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::linesClamp const):
(WebCore::RenderStyle::hasLinesClamp const):
(WebCore::RenderStyle::setLinesClamp):
(WebCore::RenderStyle::initialLinesClamp):
(WebCore::RenderStyle::hasInlineColumnAxis const):

  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):

  • rendering/style/StyleRareNonInheritedData.h:

The front end style implementation of the new property.

  • rendering/updating/RenderTreeBuilderMultiColumn.cpp:

(WebCore::RenderTreeBuilder::MultiColumn::createFragmentedFlow):
Make sure to build the correct renderer when lines clamp is set.

LayoutTests:

Added parsing tests, basic and advanced clamping examples, and vertical
writing tests. Revised an iOS clamp test to account for a slight change
in rendering caused by altering clamping to be consistent with the pagination
model of breaking beteween lines.

  • fast/block/lines-clamp-advanced-expected.html: Added.
  • fast/block/lines-clamp-advanced-rl-expected.html: Added.
  • fast/block/lines-clamp-advanced-rl.html: Added.
  • fast/block/lines-clamp-advanced.html: Added.
  • fast/block/lines-clamp-basic-expected.html: Added.
  • fast/block/lines-clamp-basic-rl-expected.html: Added.
  • fast/block/lines-clamp-basic-rl.html: Added.
  • fast/block/lines-clamp-basic.html: Added.
  • fast/css/lines-clamp-parsing-expected.txt: Added.
  • fast/css/lines-clamp-parsing.html: Added.
  • platform/ios-simulator-wk2/fast/overflow: Added.
  • platform/ios-simulator-wk2/fast/overflow/line-clamp-expected.txt: Added.
2:47 PM Changeset in webkit [227576] by aakash_jain@apple.com
  • 2 edits in trunk/Websites/webkit.org

Update code style guidelines for Python
https://bugs.webkit.org/show_bug.cgi?id=179387

Rubber-stamped by Alexey Proskuryakov.

  • code-style.md:
2:43 PM Changeset in webkit [227575] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[Curl] Allocate CurlSSLVerifier only when it is required.
https://bugs.webkit.org/show_bug.cgi?id=182061

CurlSSLVerifier was a member function of CurlRequest. This patch do
lazy initialization of it only when actually it is required.
Also configuration method is not required by moving those stuff to
constructor of SSLVerifier which makes much safer because there's
no change to change its behavior from outside.

Patch by Basuke Suzuki <Basuke Suzuki> on 2018-01-24
Reviewed by Alex Christensen.

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::willSetupSslCtx):
(WebCore::CurlRequest::didCompleteTransfer):
(WebCore::CurlRequest::finalizeTransfer):

  • platform/network/curl/CurlRequest.h:
  • platform/network/curl/CurlSSLVerifier.cpp:

(WebCore::CurlSSLVerifier::CurlSSLVerifier):
(WebCore::CurlSSLVerifier::setSslCtx): Deleted.

  • platform/network/curl/CurlSSLVerifier.h:

(WebCore::CurlSSLVerifier::setCurlHandle): Deleted.
(WebCore::CurlSSLVerifier::setHostName): Deleted.

2:39 PM Changeset in webkit [227574] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html as flaky on High Sierra Release.
https://bugs.webkit.org/show_bug.cgi?id=181601

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:35 PM Changeset in webkit [227573] by Dewei Zhu
  • 2 edits in trunk/Websites/perf.webkit.org

Check existence of 'node_modules_dir' before creating it.
https://bugs.webkit.org/show_bug.cgi?id=182040

Reviewed by Aakash Jain.

Fix the bug introduced in r227395.

  • tools/run-tests.py: Added directory existence check.
2:26 PM Changeset in webkit [227572] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

ReferenceError:​ Can't find variable:​ DOMAgent (at ScriptSyntaxTree.js:​178:​22)​
https://bugs.webkit.org/show_bug.cgi?id=182059

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-24
Reviewed by Matt Baker.

  • UserInterface/Models/ScriptSyntaxTree.js:

(WI.ScriptSyntaxTree.functionReturnDivot):
DOMAgent won't be available in a ServiceWorker or JSContext inspector. So add
a check for DOMAgent, and assume if DOMAgent doesn't exist that we should fall
back to the latest path (non-iOS 9) target.

2:25 PM Changeset in webkit [227571] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

Fix race-condition in fast/text/click-ellipsis-assertion-failure.html
https://bugs.webkit.org/show_bug.cgi?id=182055
<rdar://problem/36830203>

Reviewed by Simon Fraser.

  • fast/text/click-ellipsis-assertion-failure.html: Wait for promise before ending test.
2:20 PM Changeset in webkit [227570] by Antti Koivisto
  • 6 edits in trunk

Assertion failure in RenderMultiColumnSet::requiresBalancing() on fast/multicol/spanner-crash-when-adding-summary.html
https://bugs.webkit.org/show_bug.cgi?id=179308
<rdar://problem/34592771>

Reviewed by Zalan Bujtas.

Source/WebCore:

The issue here is that we fail to tear down render tree for a summary element because adding another summary element
takes it out of the composed tree. This leaves behind renderers that break some multicolumn assumptions.

  • rendering/updating/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::tearDownRenderers):
(WebCore::RenderTreeUpdater::tearDownLeftoverShadowHostChildren):

When tearing down renderers go through the real children of the shadow hosts at the end and see if we left any renderers behind.
If so, tear them down too.

  • rendering/updating/RenderTreeUpdater.h:

LayoutTests:

Unskip fast/multicol/spanner-crash-when-adding-summary.html

  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
2:19 PM Changeset in webkit [227569] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview 48

Added a tag for Safari Technology Preview release 48.

2:17 PM Changeset in webkit [227568] by Dewei Zhu
  • 3 edits in trunk/Websites/perf.webkit.org

Fix the bug that 'TestGroupResultsViewer' creates unnecessary rows.
https://bugs.webkit.org/show_bug.cgi?id=181967

Reviewed by Ryosuke Niwa.

Fixed a bug caused by a typo in CommitSet.equals, which makes it returns incorrect results for most
comparison between a CommitSet and a MeasurementCommitSet.

MeasurementCommitSet does not have full information for the commits, thus, it cannot build mappings
between root/patch/owner commit/requires build to repository. When querying whether a given repository
needs to be built, MeasurementCommitSet will return undefined. Due to 'undefined != false', this
equality check will fail. Making 'CommitSet.requiresBuildForRepository' defaults to 'false' would fix
this bug.

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

(CommitSet.prototype.requiresBuildForRepository): Make it return false when key does not exist
instead of 'undefined'.
(CommitSet.prototype.equals): Fixed the typo that causes the bug.
Use wrapped functions instead of querying the mapping directly.

  • unit-tests/commit-set-tests.js: Added unit tests.
2:11 PM Changeset in webkit [227567] by dbates@webkit.org
  • 3 edits
    4 adds in trunk

[CSP] Check policy for targeted windows when navigating to a JavaScript URL
https://bugs.webkit.org/show_bug.cgi?id=182018
<rdar://problem/36795781>

Reviewed by Brent Fulgham.

Source/WebCore:

Move the CSP check to be earlier in the function.

Test: http/tests/security/contentSecurityPolicy/window-open-javascript-url-with-target-blocked.html

  • loader/FrameLoader.cpp:

(WebCore::createWindow):

LayoutTests:

  • http/tests/security/contentSecurityPolicy/resources/window-open-javascript-url-with-target-blocked.html: Added.
  • http/tests/security/contentSecurityPolicy/resources/window-open-javascript-url-with-target-blocked.js: Added.

(done):

  • http/tests/security/contentSecurityPolicy/window-open-javascript-url-with-target-blocked-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/window-open-javascript-url-with-target-blocked.html: Added.
2:00 PM Changeset in webkit [227566] by Chris Dumez
  • 19 edits
    2 adds in trunk

Add a IPC::SendSyncOption indicating we should not process incoming IPC while waiting for the sync reply
https://bugs.webkit.org/show_bug.cgi?id=182021
<rdar://problem/21629943>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Add layout testing infrastructure for the new flag.

Test: fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply.html

  • page/ChromeClient.h:
  • testing/Internals.cpp:

(WebCore::Internals::testIncomingSyncIPCMessageWhileWaitingForSyncReply):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

Add a new DoNotProcessIncomingMessagesWhenWaitingForSyncReply SendSyncOption that the caller can
set when calling sendSync(). This indicates that the sendSync() should return only when we receive
the response to our sync IPC message, and that we should not process ANY incoming IPC in the meantime.

This patch also starts using this flag in 3 places where we know processing incoming IPC is an issue
and is causing crashes.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::sendSyncMessage):
When DoNotProcessIncomingMessagesWhenWaitingForSyncReply SendSyncOption is set, make sure
we set the ShouldDispatchMessageWhenWaitingForSyncReply flag on the encoder. If we did not set this
flag then it could cause deadlocks when the destination process is also waiting on a synchronous
IPC from us. Normally, this flag already gets set for sync messages because sendSyncMessage() calls
sendMessage() with DispatchMessageEvenWhenWaitingForSyncReply SyncOption. However, sendMessage()
ignores the DispatchMessageEvenWhenWaitingForSyncReply flag if the
m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage flag is set on the
connection. Note that this flag is set on the connection from the WebProcess to the UIProcess at
the moment, which is why we saw deadlocks on the previous iteration of this patch.

(IPC::Connection::waitForSyncReply):
If DoNotProcessIncomingMessagesWhenWaitingForSyncReply SendSyncOption is set, do not
process incoming IPC messages while waiting for our sync IPC reply.

  • Platform/IPC/Connection.h:

Add new SendSyncOption.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::testIncomingSyncIPCMessageWhileWaitingForSyncReply):

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

Testing infrastructure.

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::loadResourceSynchronously):
Use new flag.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::testIncomingSyncIPCMessageWhileWaitingForSyncReply):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

Testing infrastructure.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
Use new flag.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::syncIPCMessageWhileWaitingForSyncReplyForTesting):
Testing infrastructure.

(WebKit::WebProcess::ensureNetworkProcessConnection):
Use new flag.

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

Testing infrastructure.

LayoutTests:

Add layout test coverage for the new flag.

  • fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply-expected.txt: Added.
  • fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply.html: Added.
1:59 PM Changeset in webkit [227565] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Adjusted expectations for http/tests/cache/disk-cache/memory-cache-revalidation-updates-disk-cache.html.
https://bugs.webkit.org/show_bug.cgi?id=162975

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:58 PM Changeset in webkit [227564] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Web Inspector: Remove duplicate preference update for WebAuthentication value
https://bugs.webkit.org/show_bug.cgi?id=182058

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-24
Reviewed by Brian Burg.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):
An identical update already happens in generated code.

1:58 PM Changeset in webkit [227563] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

REGRESSION (r227430): ASSERTION FAILED: !self.zoomToScaleCompletionHandler in TestRunnerWKWebView::zoomToScale
https://bugs.webkit.org/show_bug.cgi?id=182052

Patch by Ali Juma <ajuma@chromium.org> on 2018-01-24
Reviewed by Simon Fraser.

Don't set zoomToScaleCompletionHandler in zoomToScale:animated when calling the completion handler
immediately.

Test: fast/visual-viewport/viewport-dimensions.html

  • WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:

(-[TestRunnerWKWebView zoomToScale:animated:completionHandler:]):

1:57 PM Changeset in webkit [227562] by Ryan Haddad
  • 3 edits in branches/safari-605-branch/Tools

Cherry-pick r226897. rdar://problem/36837397

1:55 PM Changeset in webkit [227561] by Ryan Haddad
  • 3 edits in branches/safari-605-branch/LayoutTests

Cherry-pick r227080. rdar://problem/36837397

1:54 PM Changeset in webkit [227560] by Ryan Haddad
  • 2 edits in branches/safari-605-branch/LayoutTests

Cherry-pick r226720. rdar://problem/36837397

1:54 PM Changeset in webkit [227559] by Ryan Haddad
  • 2 edits in branches/safari-605-branch/LayoutTests

Cherry-pick r226759. rdar://problem/36837397

1:44 PM Changeset in webkit [227558] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Fix Windows build after r227552
https://bugs.webkit.org/show_bug.cgi?id=182026

  • pal/spi/cg/CoreGraphicsSPI.h:
1:26 PM Changeset in webkit [227557] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Layout Test http/tests/workers/service/basic-unregister-then-register-again-reuse.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=182030
<rdar://problem/36802933>

Reviewed by Youenn Fablet.

The service worker was only extending its lifetime using waitUntil() for 10 seconds. On the flakiness
dashboard, I see that the test sometimes takes more than 10 seconds to run on some bots, which can
cause the test to fail since the service worker is not keeping the registration alive anymore.
To address the issue, raise the lifetime to 30 seconds.

  • http/tests/workers/service/resources/basic-unregister-then-register-again-reuse-worker.js:

(event.waitUntil.new.Promise):

1:06 PM Changeset in webkit [227556] by jmarcell@apple.com
  • 7 edits in tags/Safari-606.1.1.3/Source

Versioning.

1:04 PM Changeset in webkit [227555] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Remove WebProcess access to QTKit
https://bugs.webkit.org/show_bug.cgi?id=182035

Reviewed by Alexey Proskuryakov.

  • WebProcess/com.apple.WebProcess.sb.in:

This isn't needed any more. We only have a little bit of code that uses QTKit which we should remove,
and it's only used for fullscreen controls in WebKitLegacy. Let's tighten up the sandbox!

1:01 PM Changeset in webkit [227554] by achristensen@apple.com
  • 1 edit
    2 deletes in trunk/LayoutTests

Remove El Capitan test expectations.

  • platform/mac-elcapitan: Removed.
  • platform/mac-elcapitan-wk2: Removed.
  • platform/mac-elcapitan-wk2/fast: Removed.
  • platform/mac-elcapitan-wk2/fast/dom: Removed.
  • platform/mac-elcapitan-wk2/fast/dom/HTMLLinkElement: Removed.
  • platform/mac-elcapitan-wk2/fast/dom/HTMLLinkElement/preconnect-support-expected.txt: Removed.
  • platform/mac-elcapitan-wk2/fast/dom/navigator-detached-no-crash-expected.txt: Removed.
  • platform/mac-elcapitan-wk2/http: Removed.
  • platform/mac-elcapitan-wk2/http/tests: Removed.
  • platform/mac-elcapitan-wk2/http/tests/contentextensions: Removed.
  • platform/mac-elcapitan-wk2/http/tests/contentextensions/make-https-expected.txt: Removed.
  • platform/mac-elcapitan-wk2/imported: Removed.
  • platform/mac-elcapitan-wk2/imported/w3c: Removed.
  • platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests: Removed.
  • platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch: Removed.
  • platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api: Removed.
  • platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/basic: Removed.
  • platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/fetch/api/cors: Removed.
  • platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/url: Removed.
  • platform/mac-elcapitan-wk2/imported/w3c/web-platform-tests/url/failure-expected.txt: Removed.
  • platform/mac-elcapitan/TestExpectations: Removed.
  • platform/mac-elcapitan/accessibility: Removed.
  • platform/mac-elcapitan/accessibility/form-control-value-settable-expected.txt: Removed.
  • platform/mac-elcapitan/compositing: Removed.
  • platform/mac-elcapitan/compositing/contents-opaque: Removed.
  • platform/mac-elcapitan/compositing/contents-opaque/control-layer-expected.txt: Removed.
  • platform/mac-elcapitan/compositing/repaint: Removed.
  • platform/mac-elcapitan/compositing/repaint/iframes: Removed.
  • platform/mac-elcapitan/compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt: Removed.
  • platform/mac-elcapitan/compositing/rtl: Removed.
  • platform/mac-elcapitan/compositing/rtl/rtl-overflow-scrolling-expected.txt: Removed.
  • platform/mac-elcapitan/css2.1: Removed.
  • platform/mac-elcapitan/css3: Removed.
  • platform/mac-elcapitan/css3/selectors3: Removed.
  • platform/mac-elcapitan/css3/selectors3/html: Removed.
  • platform/mac-elcapitan/css3/selectors3/html/css3-modsel-19b-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/html/css3-modsel-23-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/html/css3-modsel-24-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/html/css3-modsel-64-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/html/css3-modsel-68-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/html/css3-modsel-69-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/xhtml: Removed.
  • platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-19b-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-23-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-24-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-64-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-68-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/xhtml/css3-modsel-69-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/xml: Removed.
  • platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-19b-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-23-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-24-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-64-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-68-expected.txt: Removed.
  • platform/mac-elcapitan/css3/selectors3/xml/css3-modsel-69-expected.txt: Removed.
  • platform/mac-elcapitan/editing: Removed.
  • platform/mac-elcapitan/editing/deleting: Removed.
  • platform/mac-elcapitan/editing/deleting/delete-emoji-2-expected.txt: Removed.
  • platform/mac-elcapitan/editing/deleting/delete-emoji-3-expected.txt: Removed.
  • platform/mac-elcapitan/editing/deleting/delete-emoji-4-expected.txt: Removed.
  • platform/mac-elcapitan/editing/deleting/delete-emoji-5-expected.txt: Removed.
  • platform/mac-elcapitan/editing/deleting/delete-emoji-6-expected.txt: Removed.
  • platform/mac-elcapitan/editing/deleting/delete-emoji-7-expected.txt: Removed.
  • platform/mac-elcapitan/editing/deleting/delete-emoji-8-expected.txt: Removed.
  • platform/mac-elcapitan/editing/deleting/delete-emoji-9-expected.txt: Removed.
  • platform/mac-elcapitan/editing/deleting/delete-emoji-expected.txt: Removed.
  • platform/mac-elcapitan/editing/input: Removed.
  • platform/mac-elcapitan/editing/input/caret-at-the-edge-of-input-expected.txt: Removed.
  • platform/mac-elcapitan/editing/input/reveal-caret-of-multiline-input-expected.txt: Removed.
  • platform/mac-elcapitan/editing/inserting: Removed.
  • platform/mac-elcapitan/editing/inserting/4960120-1-expected.txt: Removed.
  • platform/mac-elcapitan/editing/inserting/before-after-input-element-expected.txt: Removed.
  • platform/mac-elcapitan/editing/mac: Removed.
  • platform/mac-elcapitan/editing/mac/attributed-string: Removed.
  • platform/mac-elcapitan/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Removed.
  • platform/mac-elcapitan/editing/mac/spelling: Removed.
  • platform/mac-elcapitan/editing/mac/spelling/autocorrection-at-beginning-of-word-1-expected.txt: Removed.
  • platform/mac-elcapitan/editing/mac/spelling/autocorrection-at-beginning-of-word-2-expected.txt: Removed.
  • platform/mac-elcapitan/editing/mac/spelling/delete-autocorrected-word-2-expected.txt: Removed.
  • platform/mac-elcapitan/editing/pasteboard: Removed.
  • platform/mac-elcapitan/editing/pasteboard/4641033-expected.txt: Removed.
  • platform/mac-elcapitan/editing/pasteboard/4806874-expected.txt: Removed.
  • platform/mac-elcapitan/editing/pasteboard/4944770-1-expected.txt: Removed.
  • platform/mac-elcapitan/editing/pasteboard/4944770-2-expected.txt: Removed.
  • platform/mac-elcapitan/editing/pasteboard/drop-text-without-selection-expected.txt: Removed.
  • platform/mac-elcapitan/editing/pasteboard/input-field-1-expected.txt: Removed.
  • platform/mac-elcapitan/editing/pasteboard/pasting-tabs-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection: Removed.
  • platform/mac-elcapitan/editing/selection/3690703-2-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection/3690703-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection/3690719-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection/4397952-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection/4895428-3-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection/4975120-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection/5240265-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection/drag-select-1-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection/replaced-boundaries-3-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection/select-across-readonly-input-3-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection/select-box-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection/select-element-paragraph-boundary-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection/select-from-textfield-outwards-expected.txt: Removed.
  • platform/mac-elcapitan/editing/selection/selection-button-text-expected.txt: Removed.
  • platform/mac-elcapitan/fast: Removed.
  • platform/mac-elcapitan/fast/attachment: Removed.
  • platform/mac-elcapitan/fast/attachment/attachment-label-highlight-expected.txt: Removed.
  • platform/mac-elcapitan/fast/attachment/attachment-progress-expected.txt: Removed.
  • platform/mac-elcapitan/fast/attachment/attachment-select-on-click-expected.txt: Removed.
  • platform/mac-elcapitan/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt: Removed.
  • platform/mac-elcapitan/fast/attachment/attachment-subtitle-expected.txt: Removed.
  • platform/mac-elcapitan/fast/block: Removed.
  • platform/mac-elcapitan/fast/block/float: Removed.
  • platform/mac-elcapitan/fast/block/float/026-expected.png: Removed.
  • platform/mac-elcapitan/fast/block/float/026-expected.txt: Removed.
  • platform/mac-elcapitan/fast/block/float/028-expected.png: Removed.
  • platform/mac-elcapitan/fast/block/float/028-expected.txt: Removed.
  • platform/mac-elcapitan/fast/block/float/float-avoidance-expected.txt: Removed.
  • platform/mac-elcapitan/fast/block/float/overhanging-tall-block-expected.png: Removed.
  • platform/mac-elcapitan/fast/block/float/overhanging-tall-block-expected.txt: Removed.
  • platform/mac-elcapitan/fast/block/margin-collapse: Removed.
  • platform/mac-elcapitan/fast/block/margin-collapse/103-expected.txt: Removed.
  • platform/mac-elcapitan/fast/block/positioning: Removed.
  • platform/mac-elcapitan/fast/block/positioning/inline-block-relposition-expected.txt: Removed.
  • platform/mac-elcapitan/fast/canvas: Removed.
  • platform/mac-elcapitan/fast/canvas/canvas-strokePath-gradient-shadow-expected.txt: Removed.
  • platform/mac-elcapitan/fast/canvas/canvas-strokeRect-gradient-shadow-expected.txt: Removed.
  • platform/mac-elcapitan/fast/css: Removed.
  • platform/mac-elcapitan/fast/css/continuationCrash-expected.txt: Removed.
  • platform/mac-elcapitan/fast/css/focus-ring-exists-for-search-field-expected.txt: Removed.
  • platform/mac-elcapitan/fast/css/line-height-expected.txt: Removed.
  • platform/mac-elcapitan/fast/css/margin-top-bottom-dynamic-expected.txt: Removed.
  • platform/mac-elcapitan/fast/css/text-overflow-input-expected.txt: Removed.
  • platform/mac-elcapitan/fast/css/text-transform-select-expected.txt: Removed.
  • platform/mac-elcapitan/fast/dom: Removed.
  • platform/mac-elcapitan/fast/dom/HTMLInputElement: Removed.
  • platform/mac-elcapitan/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt: Removed.
  • platform/mac-elcapitan/fast/dom/HTMLTableColElement: Removed.
  • platform/mac-elcapitan/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt: Removed.
  • platform/mac-elcapitan/fast/dom/HTMLTextAreaElement: Removed.
  • platform/mac-elcapitan/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt: Removed.
  • platform/mac-elcapitan/fast/dynamic: Removed.
  • platform/mac-elcapitan/fast/dynamic/008-expected.txt: Removed.
  • platform/mac-elcapitan/fast/dynamic/positioned-movement-with-positioned-children-expected.txt: Removed.
  • platform/mac-elcapitan/fast/events: Removed.
  • platform/mac-elcapitan/fast/events/context-no-deselect-expected.txt: Removed.
  • platform/mac-elcapitan/fast/events/shadow-event-path-2-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms: Removed.
  • platform/mac-elcapitan/fast/forms/001-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/004-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/alternative-presentation-button: Removed.
  • platform/mac-elcapitan/fast/forms/alternative-presentation-button/replacement-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/auto-fill-button: Removed.
  • platform/mac-elcapitan/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/auto-fill-button/input-contacts-auto-fill-button-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/basic-buttons-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/basic-inputs-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/basic-selects-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/basic-textareas-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/basic-textareas-quirks-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/blankbuttons-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/box-shadow-override-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/button-align-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/button-cannot-be-nested-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/button-default-title-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/button-generated-content-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/button-positioned-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/button-sizes-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/button-style-color-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/button-table-styles-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/button-text-transform-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/button-white-space-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/control-clip-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/control-clip-overflow-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/control-restrict-line-height-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/disabled-select-change-index-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/encoding-test-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/fieldset-align-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/file: Removed.
  • platform/mac-elcapitan/fast/forms/file/file-input-direction-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/file/file-input-disabled-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/file/input-file-re-render-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/floating-textfield-relayout-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/form-element-geometry-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/hidden-listbox-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-align-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-appearance-bkcolor-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-appearance-default-bkcolor-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-appearance-disabled-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-appearance-focus-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-appearance-height-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-appearance-preventDefault-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-appearance-readonly-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-appearance-selection-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-appearance-spinbutton-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-appearance-spinbutton-up-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-appearance-visibility-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-appearance-width-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-baseline-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-button-sizes-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-disabled-color-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-double-click-selection-gap-bug-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-field-text-truncated-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-first-letter-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-placeholder-visibility-1-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-placeholder-visibility-3-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-readonly-autoscroll-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-readonly-dimmed-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-readonly-empty-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-spaces-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-table-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-text-click-inside-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-text-click-outside-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-text-double-click-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-text-drag-down-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-text-option-delete-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-text-scroll-left-on-blur-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-text-self-emptying-click-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-text-word-wrap-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-value-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/input-width-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/listbox-bidi-align-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/listbox-scrollbar-incremental-load-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/listbox-width-change-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/menulist-clip-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/menulist-deselect-update-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/menulist-narrow-width-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/menulist-no-overflow-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/menulist-restrict-line-height-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/menulist-style-color-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/menulist-width-change-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/minWidthPercent-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/number: Removed.
  • platform/mac-elcapitan/fast/forms/number/number-appearance-rtl-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/number/number-appearance-spinbutton-layer-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/option-script-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/option-strip-whitespace-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/option-text-clip-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/placeholder-position-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/placeholder-pseudo-style-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/plaintext-mode-2-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/search: Removed.
  • platform/mac-elcapitan/fast/forms/search-cancel-button-style-sharing-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/search-display-none-cancel-button-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/search-input-rtl-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/search-rtl-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/search-styled-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/search-vertical-alignment-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/search/search-padding-cancel-results-buttons-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/search/search-size-with-decorations-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/searchfield-heights-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select: Removed.
  • platform/mac-elcapitan/fast/forms/select-background-none-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-baseline-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-block-background-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-change-listbox-size-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-change-listbox-to-popup-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-change-popup-to-listbox-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-dirty-parent-pref-widths-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-disabled-appearance-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-empty-option-height-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-initial-position-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-item-background-clip-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-list-box-with-height-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-listbox-multiple-no-focusring-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-non-native-rendering-direction-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-overflow-scroll-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-overflow-scroll-inherited-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-selected-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-style-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select-writing-direction-natural-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/select/optgroup-rendering-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/stuff-on-my-optgroup-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/tabbing-input-iframe-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/textAreaLineHeight-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/textarea-align-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/textarea-placeholder-pseudo-style-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/textarea-placeholder-visibility-1-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/textarea-placeholder-visibility-2-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/textarea-scroll-height-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/textarea-scrollbar-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/textarea-scrolled-type-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/textarea-setinnerhtml-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/textfield-focus-ring-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/textfield-outline-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/textfield-overflow-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/validation-message-appearance-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/visual-hebrew-text-field-expected.txt: Removed.
  • platform/mac-elcapitan/fast/frames: Removed.
  • platform/mac-elcapitan/fast/frames/take-focus-from-iframe-expected.txt: Removed.
  • platform/mac-elcapitan/fast/hidpi: Removed.
  • platform/mac-elcapitan/fast/hidpi/resize-corner-hidpi-expected.txt: Removed.
  • platform/mac-elcapitan/fast/html: Removed.
  • platform/mac-elcapitan/fast/html/details-no-summary4-expected.txt: Removed.
  • platform/mac-elcapitan/fast/html/details-open-javascript-expected.txt: Removed.
  • platform/mac-elcapitan/fast/html/details-open2-expected.txt: Removed.
  • platform/mac-elcapitan/fast/html/details-open4-expected.txt: Removed.
  • platform/mac-elcapitan/fast/html/keygen-expected.txt: Removed.
  • platform/mac-elcapitan/fast/inline: Removed.
  • platform/mac-elcapitan/fast/lists: Removed.
  • platform/mac-elcapitan/fast/lists/dynamic-marker-crash-expected.txt: Removed.
  • platform/mac-elcapitan/fast/overflow: Removed.
  • platform/mac-elcapitan/fast/overflow/overflow-x-y-expected.txt: Removed.
  • platform/mac-elcapitan/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt: Removed.
  • platform/mac-elcapitan/fast/overflow/scrollRevealButton-expected.txt: Removed.
  • platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.png: Removed.
  • platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.txt: Removed.
  • platform/mac-elcapitan/fast/parser: Removed.
  • platform/mac-elcapitan/fast/parser/document-write-option-expected.txt: Removed.
  • platform/mac-elcapitan/fast/parser/entity-comment-in-textarea-expected.txt: Removed.
  • platform/mac-elcapitan/fast/parser/open-comment-in-textarea-expected.txt: Removed.
  • platform/mac-elcapitan/fast/repaint: Removed.
  • platform/mac-elcapitan/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt: Removed.
  • platform/mac-elcapitan/fast/repaint/search-field-cancel-expected.txt: Removed.
  • platform/mac-elcapitan/fast/repaint/subtree-root-skipped-expected.txt: Removed.
  • platform/mac-elcapitan/fast/replaced: Removed.
  • platform/mac-elcapitan/fast/replaced/replaced-breaking-expected.txt: Removed.
  • platform/mac-elcapitan/fast/replaced/replaced-breaking-mixture-expected.txt: Removed.
  • platform/mac-elcapitan/fast/replaced/width100percent-button-expected.txt: Removed.
  • platform/mac-elcapitan/fast/replaced/width100percent-menulist-expected.txt: Removed.
  • platform/mac-elcapitan/fast/replaced/width100percent-textarea-expected.txt: Removed.
  • platform/mac-elcapitan/fast/selectors: Removed.
  • platform/mac-elcapitan/fast/selectors/064-expected.txt: Removed.
  • platform/mac-elcapitan/fast/spatial-navigation: Removed.
  • platform/mac-elcapitan/fast/spatial-navigation/snav-multiple-select-focusring-expected.txt: Removed.
  • platform/mac-elcapitan/fast/table: Removed.
  • platform/mac-elcapitan/fast/table/003-expected.txt: Removed.
  • platform/mac-elcapitan/fast/table/append-cells2-expected.txt: Removed.
  • platform/mac-elcapitan/fast/table/colspanMinWidth-expected.txt: Removed.
  • platform/mac-elcapitan/fast/table/colspanMinWidth-vertical-expected.txt: Removed.
  • platform/mac-elcapitan/fast/table/remove-td-display-none-expected.txt: Removed.
  • platform/mac-elcapitan/fast/table/spanOverlapRepaint-expected.txt: Removed.
  • platform/mac-elcapitan/fast/table/text-field-baseline-expected.txt: Removed.
  • platform/mac-elcapitan/fast/text: Removed.
  • platform/mac-elcapitan/fast/text/backslash-to-yen-sign-euc-expected.txt: Removed.
  • platform/mac-elcapitan/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
  • platform/mac-elcapitan/fast/text/drawBidiText-expected.txt: Removed.
  • platform/mac-elcapitan/fast/text/emoji-expected.txt: Removed.
  • platform/mac-elcapitan/fast/text/font-weights-expected.txt: Removed.
  • platform/mac-elcapitan/fast/text/font-weights-zh-expected.png: Removed.
  • platform/mac-elcapitan/fast/text/font-weights-zh-expected.txt: Removed.
  • platform/mac-elcapitan/fast/text/international: Removed.
  • platform/mac-elcapitan/fast/text/international/hindi-spacing-expected.txt: Removed.
  • platform/mac-elcapitan/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt: Removed.
  • platform/mac-elcapitan/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt: Removed.
  • platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.png: Removed.
  • platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.txt: Removed.
  • platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.png: Removed.
  • platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.txt: Removed.
  • platform/mac-elcapitan/fast/text/textIteratorNilRenderer-expected.txt: Removed.
  • platform/mac-elcapitan/fast/transforms: Removed.
  • platform/mac-elcapitan/fast/transforms/transformed-focused-text-input-expected.txt: Removed.
  • platform/mac-elcapitan/http: Removed.
  • platform/mac-elcapitan/http/tests: Removed.
  • platform/mac-elcapitan/http/tests/navigation: Removed.
  • platform/mac-elcapitan/http/tests/navigation/javascriptlink-frames-expected.txt: Removed.
  • platform/mac-elcapitan/http/tests/security: Removed.
  • platform/mac-elcapitan/http/tests/security/mixedContent: Removed.
  • platform/mac-elcapitan/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Removed.
  • platform/mac-elcapitan/imported: Removed.
  • platform/mac-elcapitan/imported/w3c: Removed.
  • platform/mac-elcapitan/imported/w3c/web-platform-tests: Removed.
  • platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch: Removed.
  • platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api: Removed.
  • platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/basic: Removed.
  • platform/mac-elcapitan/imported/w3c/web-platform-tests/fetch/api/cors: Removed.
  • platform/mac-elcapitan/imported/w3c/web-platform-tests/media-source: Removed.
  • platform/mac-elcapitan/imported/w3c/web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt: Removed.
  • platform/mac-elcapitan/imported/w3c/web-platform-tests/resource-timing: Removed.
  • platform/mac-elcapitan/imported/w3c/web-platform-tests/resource-timing/test_resource_timing-expected.txt: Removed.
  • platform/mac-elcapitan/media: Removed.
  • platform/mac-elcapitan/media/controls: Removed.
  • platform/mac-elcapitan/media/controls-after-reload-expected.txt: Removed.
  • platform/mac-elcapitan/media/controls-strict-expected.png: Removed.
  • platform/mac-elcapitan/media/controls-styling-expected.txt: Removed.
  • platform/mac-elcapitan/media/controls-without-preload-expected.png: Removed.
  • platform/mac-elcapitan/media/controls/inline-elements-dropoff-order-expected.txt: Removed.
  • platform/mac-elcapitan/media/media-document-audio-repaint-expected.txt: Removed.
  • platform/mac-elcapitan/media/media-fullscreen-inline-expected.txt: Removed.
  • platform/mac-elcapitan/media/media-fullscreen-not-in-document-expected.txt: Removed.
  • platform/mac-elcapitan/media/track: Removed.
  • platform/mac-elcapitan/media/track/video-track-alternate-groups-expected.txt: Removed.
  • platform/mac-elcapitan/media/video-controls-rendering-expected.txt: Removed.
  • platform/mac-elcapitan/media/video-display-toggle-expected.png: Removed.
  • platform/mac-elcapitan/media/video-display-toggle-expected.txt: Removed.
  • platform/mac-elcapitan/media/video-no-audio-expected.txt: Removed.
  • platform/mac-elcapitan/media/video-volume-slider-expected.txt: Removed.
  • platform/mac-elcapitan/platform: Removed.
  • platform/mac-elcapitan/platform/mac: Removed.
  • platform/mac-elcapitan/platform/mac/scrollbars: Removed.
  • platform/mac-elcapitan/platform/mac/scrollbars/key-window-not-first-responder-expected.txt: Removed.
  • platform/mac-elcapitan/plugins: Removed.
  • platform/mac-elcapitan/plugins/mouse-click-plugin-clears-selection-expected.txt: Removed.
  • platform/mac-elcapitan/svg: Removed.
  • platform/mac-elcapitan/svg/custom: Removed.
  • platform/mac-elcapitan/svg/custom/inline-svg-in-xhtml-expected.txt: Removed.
  • platform/mac-elcapitan/svg/hixie: Removed.
  • platform/mac-elcapitan/svg/hixie/mixed: Removed.
  • platform/mac-elcapitan/svg/hixie/mixed/003-expected.txt: Removed.
  • platform/mac-elcapitan/tables: Removed.
  • platform/mac-elcapitan/tables/mozilla: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug1188-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug12384-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug138725-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug18359-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug194024-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug24200-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug2479-2-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug2479-3-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug2479-4-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug26178-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug28928-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug29326-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug30559-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug30692-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug33855-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug39209-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug4382-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug4429-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug4527-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug46368-1-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug46368-2-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug51037-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug51727-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug52505-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug52506-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug55545-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug59354-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug68912-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug7342-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug96334-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/bugs/bug99948-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/collapsing_borders: Removed.
  • platform/mac-elcapitan/tables/mozilla/collapsing_borders/bug41262-4-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/core: Removed.
  • platform/mac-elcapitan/tables/mozilla/core/margins-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/dom: Removed.
  • platform/mac-elcapitan/tables/mozilla/dom/tableDom-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla/other: Removed.
  • platform/mac-elcapitan/tables/mozilla/other/move_row-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla_expected_failures: Removed.
  • platform/mac-elcapitan/tables/mozilla_expected_failures/bugs: Removed.
  • platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug1725-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla_expected_failures/collapsing_borders: Removed.
  • platform/mac-elcapitan/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt: Removed.
  • platform/mac-elcapitan/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt: Removed.
  • platform/mac-elcapitan/transforms: Removed.
  • platform/mac-elcapitan/transforms/2d: Removed.
  • platform/mac-elcapitan/transforms/2d/zoom-menulist-expected.txt: Removed.
  • platform/mac-elcapitan/transforms/3d: Removed.
  • platform/mac-elcapitan/transforms/3d/general: Removed.
  • platform/mac-elcapitan/transforms/3d/general/perspective-non-layer-expected.txt: Removed.
1:01 PM Changeset in webkit [227553] by jmarcell@apple.com
  • 1 copy in tags/Safari-606.1.1.3

New tag.

1:00 PM WebKitGTK/2.18.x edited by Michael Catanzaro
(diff)
12:58 PM Changeset in webkit [227552] by achristensen@apple.com
  • 32 edits in trunk/Source/WebCore

Remove pre-Sierra-OS-specific code in WebCore
https://bugs.webkit.org/show_bug.cgi?id=182026

Reviewed by Tim Horton.

Source/WebCore:

  • page/cocoa/UserAgent.mm:

(WebCore::systemMarketingVersionForUserAgentString):

  • page/scrolling/mac/ScrollingMomentumCalculatorMac.mm:

(WebCore::ScrollingMomentumCalculatorMac::retargetedScrollOffsetDidChange):

  • platform/cocoa/PasteboardCocoa.mm:

(WebCore::bitmapPNGFileType):

  • platform/graphics/FontPlatformData.cpp:
  • platform/graphics/FontPlatformData.h:
  • platform/graphics/avfoundation/objc/VideoFullscreenLayerManager.mm:

(WebCore::VideoFullscreenLayerManager::setVideoFullscreenLayer):

  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(layerContentsFormat):
(PlatformCALayerCocoa::updateContentsFormat):
(PlatformCALayerCocoa::backingStoreBytesPerPixel const):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::linearRGBColorSpaceRef):
(WebCore::extendedSRGBColorSpaceRef):

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::drawPDFPage):

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::getCSSAttribute):
(WebCore::capabilitiesForFontDescriptor):
(WebCore::findClosestFont):
(WebCore::platformFontLookupWithFamily):
(WebCore::lookupFallbackFont):
(WebCore::fontWeightFromCoreText): Deleted.

  • platform/graphics/cocoa/FontCocoa.mm:

(WebCore::Font::variantCapsSupportsCharacterForSynthesis const):
(WebCore::Font::platformWidthForGlyph const):
(WebCore::advanceForColorBitmapFont): Deleted.
(WebCore::canUseFastGlyphAdvanceGetter): Deleted.

  • platform/graphics/cocoa/FontPlatformDataCocoa.mm:

(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::hash const):
(WebCore::FontPlatformData::platformIsEqual const):
(WebCore::FontPlatformData::ctFont const):

  • platform/graphics/cocoa/GraphicsContextCocoa.mm:

(WebCore::linearRGBColorSpaceRef): Deleted.

  • platform/graphics/cocoa/WebCoreDecompressionSession.mm:

(WebCore::WebCoreDecompressionSession::setTimebase):

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::supportsFormat):

  • platform/mac/PlatformScreenMac.mm:

(WebCore::screenSupportsExtendedColor):

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::didCreateScrollerImp):
(WebCore::ScrollbarThemeMac::isLayoutDirectionRTL):

  • platform/mac/ThemeMac.mm:

(WebCore::ThemeMac::userPrefersReducedMotion const):

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdatePlatformRequest):

  • platform/text/mac/TextBoundaries.mm:

(WebCore::findNextWordFromIndex):

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::shouldPlaceBlockDirectionScrollbarOnLeft const):

  • testing/Internals.mm:

(WebCore::Internals::userPrefersReducedMotion const):

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:
  • pal/spi/cg/CoreGraphicsSPI.h:
  • pal/spi/cocoa/DataDetectorsCoreSPI.h:
  • pal/spi/cocoa/QuartzCoreSPI.h:
  • pal/spi/mac/AVFoundationSPI.h:
  • pal/spi/mac/NSMenuSPI.h:
  • pal/spi/mac/NSScrollingMomentumCalculatorSPI.h:
  • pal/spi/mac/PIPSPI.h:
12:55 PM Changeset in webkit [227551] by achristensen@apple.com
  • 10 edits in trunk/Tools

Remove pre-Sierra-OS-specific code in Tools
https://bugs.webkit.org/show_bug.cgi?id=182034

Reviewed by Tim Horton.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(setDefaultsToConsistentValuesForTesting):

  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController windowDidLoad]):
(-[BrowserWindowController share:]):

  • MiniBrowser/mac/MiniBrowser_Prefix.pch:
  • TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:

(-[EventStreamPlayer playbackTimerFired:]):

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/FontCache.cpp: Removed.
  • TestWebKitAPI/Tests/WebKitCocoa/RunOpenPanel.mm:
  • TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:

(TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):

  • WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:

(WTR::InjectedBundle::platformInitialize):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::initializeWebViewConfiguration):

12:53 PM Changeset in webkit [227550] by achristensen@apple.com
  • 19 edits in trunk/Source/WebKit

Remove pre-Sierra-OS-specific code in WebKit
https://bugs.webkit.org/show_bug.cgi?id=182024

Reviewed by Tim Horton.

  • PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
  • Shared/Cocoa/DataDetectionResult.mm:

(WebKit::DataDetectionResult::encode const):

  • Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:

(IPC::ArgumentCoder<WebCore::Payment>::encode):
(IPC::ArgumentCoder<WebCore::PaymentContact>::encode):
(IPC::ArgumentCoder<WebCore::PaymentMerchantSession>::encode):
(IPC::ArgumentCoder<WebCore::PaymentMethod>::encode):

  • Shared/WebPreferencesDefaultValues.h:
  • Shared/cg/ShareableBitmapCG.cpp:

(WebKit::wantsExtendedRange):

  • Shared/ios/InteractionInformationAtPosition.mm:

(WebKit::InteractionInformationAtPosition::encode const):

  • Shared/mac/CodeSigning.mm:

(WebKit::codeSigningIdentifier):
(WebKit::codeSigningIdentifierForCurrentProcess):

  • Shared/mac/ColorSpaceData.mm:

(WebKit::ColorSpaceData::encode const):

  • Shared/mac/PasteboardTypes.mm:

(WebKit::PasteboardTypes::forURL):

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<ProtectionSpace>::encodePlatformData):
(IPC::ArgumentCoder<Credential>::encodePlatformData):
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::encode):
(IPC::ArgumentCoder<MediaPlaybackTargetContext>::encodePlatformData):

  • Shared/mac/WebHitTestResultData.mm:

(WebKit::WebHitTestResultData::platformEncode const):

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _setObject:forBundleParameter:]):
(-[WKProcessPool _setObjectsForBundleParametersWithDictionary:]):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _handleAcceptedCandidate:]):

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::handleAcceptedCandidate):
(WebKit::WebViewImpl::performDragOperation):

  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::showPopupMenu):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):

  • WebProcess/com.apple.WebProcess.sb.in:
12:52 PM Changeset in webkit [227549] by Michael Catanzaro
  • 1 edit in trunk/Source/WebKit/ChangeLog

Fix ChangeLog entry for recent commit

12:49 PM Changeset in webkit [227548] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Stop using AuthenticationClient in WebKit
https://bugs.webkit.org/show_bug.cgi?id=182016

Reviewed by Brady Eidson.

It was necessary to support ResourceHandle use in WebKit, but now we're using NetworkSession everywhere in WebKit.

  • Shared/Authentication/AuthenticationManager.cpp:

(WebKit::AuthenticationManager::useCredentialForSingleChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
(WebKit::AuthenticationManager::cancelSingleChallenge):
(WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):

12:48 PM Changeset in webkit [227547] by ap@apple.com
  • 3 edits in trunk/Tools

REGRESSION (r226485): Many new wasm leaks detected by the leaks bot
https://bugs.webkit.org/show_bug.cgi?id=181400
<rdar://problem/36358768>

Reviewed by Joseph Pecoraro.

  • BuildSlaveSupport/build.webkit.org-config/config.json: Remove incorrect option.
  • Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options):

Always disable poisoning when running with --leaks, as this should work locally,
not just on bots.

12:48 PM Changeset in webkit [227546] by achristensen@apple.com
  • 17 edits in trunk/Source

Remove WebProcess authentication code
https://bugs.webkit.org/show_bug.cgi?id=182020

Reviewed by Brady Eidson.

Source/WebCore:

We were keeping it around for pre-NetworkSession media loading, which is gone now.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerShouldWaitForResponseToAuthenticationChallenge): Deleted.

  • html/HTMLMediaElement.h:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):

  • loader/ResourceLoader.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge): Deleted.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerShouldWaitForResponseToAuthenticationChallenge): Deleted.

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

(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge): Deleted.

Source/WebKit:

  • Shared/Authentication/AuthenticationManager.cpp:
  • Shared/Authentication/AuthenticationManager.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveAuthenticationChallenge): Deleted.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):

  • WebProcess/WebProcess.cpp:

(WebKit::m_webSQLiteDatabaseTracker):

12:33 PM Changeset in webkit [227545] by Chris Dumez
  • 2 edits in trunk/LayoutTests/imported/w3c

Unreviewed, rebaseline flaky service worker test

  • web-platform-tests/service-workers/service-worker/windowclient-navigate.https-expected.txt:
12:25 PM Changeset in webkit [227544] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

[GTK] Page crash after swipe gesture running GNOME3 under wayland

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

Patch by Jan-Michael Brummer <jan.brummer@tabos.org> on 2018-01-24
Reviewed by Michael Catanzaro.

Add missing GDK_TOUCH_CANCEL support which fixes page crashes due to cancelled gestures.

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebTouchEvent):

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::doneWithTouchEvent):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(touchPointStateForEvents):
(webkitWebViewBaseGetTouchPointsForEvent):
(webkitWebViewBaseTouchEvent):

  • UIProcess/gtk/GestureController.cpp:

(WebKit::GestureController::handleEvent):

12:21 PM Changeset in webkit [227543] by Chris Dumez
  • 11 edits in trunk/LayoutTests

Unreviewed, unskip some service worker tests that no longer time out

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/clients-matchall-include-uncontrolled.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/extendable-event-waituntil.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/indexeddb.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/navigation-redirect.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/postmessage-msgport-to-client.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/postmessage.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/sandboxed-iframe-fetch-event.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/update-recovery.https-expected.txt:

LayoutTests:

12:15 PM Changeset in webkit [227542] by jmarcell@apple.com
  • 7 edits in branches/safari-605-branch

Cherry-pick r227531. rdar://problem/36830355

12:15 PM Changeset in webkit [227541] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227525. rdar://problem/36830360

12:15 PM Changeset in webkit [227540] by jmarcell@apple.com
  • 5 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227524. rdar://problem/36830369

12:15 PM Changeset in webkit [227539] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKitLegacy/win

Cherry-pick r227481. rdar://problem/36830349

12:15 PM Changeset in webkit [227538] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKitLegacy/win

Cherry-pick r227480. rdar://problem/36830349

12:15 PM Changeset in webkit [227537] by jmarcell@apple.com
  • 13 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227479. rdar://problem/36830349

11:34 AM Changeset in webkit [227536] by jdiggs@igalia.com
  • 5 edits
    3 adds in trunk

AX: SVG AAM mapping trumps ARIA role attribute in the case of SVG root
https://bugs.webkit.org/show_bug.cgi?id=181994

Reviewed by Chris Fleizach.

Source/WebCore:

Only return AccessibilityRole::Group if we have no author-provided
ARIA role attribute value.

Test: accessibility/svg-element-with-aria-role.html

  • accessibility/AccessibilitySVGRoot.cpp:

(WebCore::AccessibilitySVGRoot::roleValue const):

  • accessibility/AccessibilitySVGRoot.h:

LayoutTests:

  • accessibility/svg-element-with-aria-role.html: Added.
  • platform/gtk/accessibility/svg-element-with-aria-role-expected.txt: Added.
  • platform/mac/accessibility/svg-element-with-aria-role-expected.txt: Added.
  • platform/win/TestExpectations: Skip test.
11:33 AM Changeset in webkit [227535] by achristensen@apple.com
  • 14 edits in trunk/Source

Remove unused QTKit preference
https://bugs.webkit.org/show_bug.cgi?id=181968

Reviewed by Alexey Proskuryakov.

Source/WebCore:

They weren't used and didn't do anything.

  • page/DeprecatedGlobalSettings.cpp:

(WebCore::DeprecatedGlobalSettings::setQTKitEnabled): Deleted.

  • page/DeprecatedGlobalSettings.h:

(WebCore::DeprecatedGlobalSettings::isQTKitEnabled): Deleted.

Source/WebKit:

  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKPreferencesSetQTKitEnabled):
(WKPreferencesGetQTKitEnabled):

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetQTKitEnabled): Deleted.
(WKPreferencesGetQTKitEnabled): Deleted.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _setQTKitEnabled:]): Deleted.
(-[WKPreferences _qtKitEnabled]): Deleted.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Source/WebKitLegacy/mac:

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

(+[WebPreferences initialize]):
(-[WebPreferences setQTKitEnabled:]): Deleted.
(-[WebPreferences isQTKitEnabled]): Deleted.

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

(-[WebView _preferencesChanged:]):

11:29 AM Changeset in webkit [227534] by graouts@webkit.org
  • 13 edits in trunk

[Web Animations] Compute the progress and currentIteration properties on getComputedTiming()
https://bugs.webkit.org/show_bug.cgi?id=182039
<rdar://problem/36813568>

Reviewed by Dean Jackson.

Source/WebCore:

Compute the "progress" and "currentIteration" properties on the dictionary returned by getComputedTiming().
To support this we implement several procedures from the specification implemented separately with links
and steps copied from the specification. There is one last procedure we don't implement, which is to obtain
the transformed time following the application of the provided easing, which will be the next patch.

  • animation/AnimationEffect.cpp:

(WebCore::AnimationEffect::phase const):
(WebCore::AnimationEffect::activeTime const):
(WebCore::AnimationEffect::overallProgress const):
(WebCore::AnimationEffect::simpleIterationProgress const):
(WebCore::AnimationEffect::currentIteration const):
(WebCore::AnimationEffect::currentDirection const):
(WebCore::AnimationEffect::directedProgress const):
(WebCore::AnimationEffect::iterationProgress const):
(WebCore::AnimationEffect::getComputedTiming):

  • animation/AnimationEffect.h:

LayoutTests:

Update expectations with progressions as we expose more of the API.

  • http/wpt/web-animations/interfaces/AnimationEffectTiming/delay-expected.txt:
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt:
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart-expected.txt:
  • http/wpt/web-animations/timing-model/animation-effects/active-time-expected.txt:
  • http/wpt/web-animations/timing-model/animation-effects/current-iteration-expected.txt:
  • http/wpt/web-animations/timing-model/animation-effects/phases-and-states-expected.txt:
  • http/wpt/web-animations/timing-model/animation-effects/simple-iteration-progress-expected.txt:
  • http/wpt/web-animations/timing-model/animations/set-the-target-effect-of-an-animation-expected.txt:
  • http/wpt/web-animations/timing-model/time-transformations/transformed-progress-expected.txt:
11:17 AM Changeset in webkit [227533] by dbates@webkit.org
  • 10 edits
    3 adds in trunk

REGRESSION (r226138): Selecting a line that ends with zero-width joiner (ZWJ) may cause text transformation
https://bugs.webkit.org/show_bug.cgi?id=181993
<rdar://problem/36421080>

Reviewed by David Hyatt.

Source/WebCore:

Re-implement paint optimization that was inadvertently removed in r226138. This optimization
works around an issue where selecting the last printable character in a line that is followed
followed by a zero-width joiner transforms the selected character.

We need to fix <https://bugs.webkit.org/show_bug.cgi?id=181964> to improve the interaction
of selection and zero-width joiner characters. For now, re-implement a paint optimization
to perform a single paint operation when the style of the non-selected text is identical
to the style of the selected text.

Test: fast/text/mac/select-character-before-zero-width-joiner.html

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::MarkerSubrangeStyle::areBackgroundMarkerSubrangeStylesEqual):
(WebCore::InlineTextBox::MarkerSubrangeStyle::areForegroundMarkerSubrangeStylesEqual):
(WebCore::InlineTextBox::MarkerSubrangeStyle::areDecorationMarkerSubrangeStylesEqual):
Add helper functions to determine when marker styles are identical. We make use of these
equality functions to coalesce adjacent subranges that have the same visual style and
hence reduce the number of drawing commands to paint all the subranges in a line.

(WebCore::InlineTextBox::paint): Coalesce subranges before painting.

(WebCore::InlineTextBox::subdivideAndResolveStyle): Split out the logic to coalesce
subranges with the same style into its own function InlineTextBox::coalesceAdjacentSubranges()
and kept this function focused on subdivision and style resolution. Manually compute
the frontmost subranges so that we can resolve style for each subrange with respect to
the correct base style. Formerly we always resolved style with respect the specified
base style. Now we resolve style with respect the previous frontmost subrange to ensure
styles cascade as expected. This change causes no visual difference now. Once we implement
<https://bugs.webkit.org/show_bug.cgi?id=175784> we will be able to test this change
with respect to selection of ::spelling-error/::grammar-error pseudo elements.

(WebCore::InlineTextBox::coalesceAdjacentSubranges): Extracted logic from InlineTextBox::subdivideAndResolveStyle().

(WebCore::InlineTextBox::MarkerSubrangeStyle::operator== const): Deleted.
(WebCore::InlineTextBox::MarkerSubrangeStyle::operator!= const): Deleted.
Comparing MarkerSubrangeStyle objects should be performed using the appropriate
are*MarkerSubrangeStylesEqual() non-member function.

  • rendering/InlineTextBox.h:
  • rendering/MarkerSubrange.cpp:

(WebCore::subdivide): Remove overlap strategy FrontmostWithLongestEffectiveRange
as this strategy is now implemented by InlineTextBox::subdivideAndResolveStyle() and
InlineTextBox::coalesceAdjacentSubranges() that compute the set of frontmost subranges and
coalesces adjacent subranges with the same style into the longest effective subrange,
respectively. Unlike WebCore::subdivide(), InlineTextBox knows what the base style should
be for the subranges and can more aggressively coalesce adjacent subranges of different
types that have the same visual style.

  • rendering/MarkerSubrange.h:

Tools:

Remove unit test for overlap strategy FrontmostWithLongestEffectiveRange
as we no longer support this strategy.

  • TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:

LayoutTests:

Add a Mac-specific test to ensure that selecting the last visible character on a line
that ends with a zero-width joiner (ZWJ) does not cause a text transformation of the
selected character.

We need to fix <https://bugs.webkit.org/show_bug.cgi?id=181964> for this test to
pass on Mac.

  • TestExpectations: Skip the test directory on non-Mac platforms.
  • fast/text/mac/select-character-before-zero-width-joiner-expected.html: Added.
  • fast/text/mac/select-character-before-zero-width-joiner.html: Added.
  • platform/mac/TestExpectations: Mark the test directory as PASS on Mac so that we run

all containing tests. Mark the test as ImageOnlyFailure until we fix <https://bugs.webkit.org/show_bug.cgi?id=181964>.

10:11 AM Changeset in webkit [227532] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

check-webkit-style reports false-positive whitespace/braces warning about blocks with return types as arguments in Objective-C
<https://webkit.org/b/182015>
<rdar://problem/36449728>

Reviewed by Tim Horton.

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

(regex_for_lambdas_and_blocks): Update regex to include
optional return type for block argument in Objective-C.

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

(WebKitStyleTest.test_braces): Add test.

10:10 AM Changeset in webkit [227531] by commit-queue@webkit.org
  • 7 edits in trunk

Fetch response should copy its url from the request if null
https://bugs.webkit.org/show_bug.cgi?id=182048

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-24
Reviewed by Chris Dumez.

Source/WebCore:

No change of behavior.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived): Add assertion to check that the response URL is not null.

Source/WebKit:

  • WebProcess/Storage/ServiceWorkerClientFetch.cpp:

(WebKit::ServiceWorkerClientFetch::didReceiveResponse):

LayoutTests:

  • http/tests/workers/service/basic-fetch.https-expected.txt:
  • http/tests/workers/service/resources/basic-fetch.js:

(async.test):

10:08 AM Changeset in webkit [227530] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Account for memory cache in DocumentThreadableLoader::didReceiveResponse assertion
https://bugs.webkit.org/show_bug.cgi?id=182049

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-24
Reviewed by Chris Dumez.

No change of behavior.
A response served from Service Worker may be cached in Memory Cache and reused later on.
Update DTL assertion to handle that case.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::didReceiveResponse):

10:07 AM Changeset in webkit [227529] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION(r227457): Release assert in updateLayout while destructing a media element
https://bugs.webkit.org/show_bug.cgi?id=182038
<rdar://problem/36812083>

Reviewed by Jer Noble.

  • html/MediaElementSession.cpp:

(WebCore::isMainContentForPurposesOfAutoplay): Early return if element.isSuspended().

  • platform/audio/mac/MediaSessionManagerMac.mm:

(WebCore::MediaSessionManagerMac::clientCharacteristicsChanged): Call scheduleUpdateNowPlayingInfo
instead of updateNowPlayingInfo.

10:04 AM Changeset in webkit [227528] by Ms2ger@igalia.com
  • 7 edits in trunk

WPE-focused test gardening.
https://bugs.webkit.org/show_bug.cgi?id=182051

Unreviewed test gardening.

Tools:

  • TestWebKitAPI/glib/TestExpectations.json: TestWebKitFindController failure was fixed in r227418.

LayoutTests:

  • TestExpectations:
    • Remove expectation for css3/parse-alignment-of-root-elements.html (rebaselined in r227432).
  • css3/flexbox/csswg/flexbox_flex-natural-mixed-basis-auto.html: Started failing in r226404; this applies the change from https://github.com/w3c/web-platform-tests/commit/b4fa639477ba204f175fd242a335be888ce91371 to make it pass again.
  • platform/gtk/TestExpectations:
    • Add expectation for http/wpt/fetch/response-opaque-clone.html (failing since the test change in r227339).
  • platform/wpe/TestExpectations:
    • Remove expectation for fast/canvas/fallback-content.html (started passing in r226814-r226837, inclusive).
    • Override generic failure expectation for imported/w3c/web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001.html (it has been passing for as long as it has run).
    • Update path for imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-sizing-alignment-001.html after r225561.
    • Remove expectation for fast/events/tabindex-focus-blur-all.html (started passing in r226814-r226837, inclusive).
    • Add expectation for http/wpt/fetch/response-opaque-clone.html (failing since the test change in r227339).
    • Add expectation for http/wpt/webrtc/third-party-frame-ice-candidate-filtering.html (failing since it was added).
    • Add expectation for fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html (failing since it was added).
    • Skip fast/text/user-installed-fonts/ (the feature is not supported).
    • Remove expectation for imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-unique-origin.html (rebaselined in r226965).
    • Remove expectation for imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input.html (rebaselined in r226965).
    • Mark perf/show-hide-table-rows.html as flaky (as was intended).
9:43 AM Changeset in webkit [227527] by mark.lam@apple.com
  • 55 edits in trunk

Update Poisoned pointers to take a Poison class instead of a uintptr_t&.
https://bugs.webkit.org/show_bug.cgi?id=182017
<rdar://problem/36795513>

Reviewed by Filip Pizlo and JF Bastien.

Source/JavaScriptCore:

Removed the POISON() macro. Now that we have Poison types, we can just use the
the Poison type instead and make the code a bit nicer to read.

  • API/JSAPIWrapperObject.h:
  • API/JSCallbackFunction.h:
  • API/JSCallbackObject.h:
  • b3/B3LowerMacros.cpp:
  • b3/testb3.cpp:

(JSC::B3::testInterpreter):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::instructions):
(JSC::CodeBlock::instructions const):

  • dfg/DFGOSRExitCompilerCommon.h:

(JSC::DFG::adjustFrameAndStackInOSRExitCompilerThunk):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCheckSubClass):
(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass):

  • jit/JIT.h:
  • jit/ThunkGenerators.cpp:

(JSC::virtualThunkFor):
(JSC::nativeForGenerator):
(JSC::boundThisNoArgsFunctionCallGenerator):

  • parser/UnlinkedSourceCode.h:
  • runtime/ArrayPrototype.h:
  • runtime/CustomGetterSetter.h:
  • runtime/DateInstance.h:
  • runtime/InternalFunction.h:
  • runtime/JSArrayBuffer.h:
  • runtime/JSCPoison.cpp:

(JSC::initializePoison):

  • runtime/JSCPoison.h:
  • runtime/JSGlobalObject.h:
  • runtime/JSScriptFetchParameters.h:
  • runtime/JSScriptFetcher.h:
  • runtime/NativeExecutable.h:
  • runtime/StructureTransitionTable.h:
  • runtime/WriteBarrier.h:

(JSC::WriteBarrier::poison): Deleted.

  • wasm/js/JSToWasm.cpp:

(JSC::Wasm::createJSToWasmWrapper):

  • wasm/js/JSWebAssemblyCodeBlock.cpp:

(JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock):

  • wasm/js/JSWebAssemblyCodeBlock.h:
  • wasm/js/JSWebAssemblyInstance.h:

(JSC::JSWebAssemblyInstance::poison):

  • wasm/js/JSWebAssemblyMemory.h:
  • wasm/js/JSWebAssemblyModule.h:
  • wasm/js/JSWebAssemblyTable.h:
  • wasm/js/WasmToJS.cpp:

(JSC::Wasm::handleBadI64Use):
(JSC::Wasm::wasmToJS):

  • wasm/js/WebAssemblyFunctionBase.h:
  • wasm/js/WebAssemblyModuleRecord.h:
  • wasm/js/WebAssemblyToJSCallee.h:
  • wasm/js/WebAssemblyWrapperFunction.h:

Source/WTF:

This paves the way for custom poison values which we'll need for use in
TypedArrays later.

  • wtf/Bag.h:
  • wtf/DumbPtrTraits.h:

(WTF::DumbPtrTraits::poison): Deleted.

  • wtf/DumbValueTraits.h:

(WTF::DumbValueTraits::poison): Deleted.

  • wtf/Poisoned.h:

(WTF::Poison::key):
(WTF::Poisoned::swap):
(WTF::Poisoned::poison const):
(WTF::Poisoned::unpoison const):
(WTF::Poisoned::poison):
(WTF::Poisoned::unpoison):
(WTF::PoisonedPtrTraits::swap):
(WTF::PoisonedValueTraits::swap):
(WTF::PoisonedPtrTraits::poison): Deleted.
(WTF::PoisonedValueTraits::poison): Deleted.

  • wtf/PoisonedUniquePtr.h:
  • wtf/Ref.h:
  • wtf/RefCountedArray.h:
  • wtf/RefPtr.h:
  • wtf/WTFAssertions.cpp:

Tools:

  • TestWebKitAPI/Tests/WTF/Poisoned.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/PoisonedRef.cpp:

(TestWebKitAPI::TEST):
(TestWebKitAPI::passWithRef):

  • TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp:

(TestWebKitAPI::TEST):
(TestWebKitAPI::f1):

  • TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:

(TestWebKitAPI::TEST):
(TestWebKitAPI::poisonedPtrFoo):

  • TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp:

(TestWebKitAPI::TEST):

9:37 AM Changeset in webkit [227526] by Chris Fleizach
  • 4 edits
    1 copy
    2 adds in trunk

AX: Provide a way for VoiceOver to uniquely identify a web session
https://bugs.webkit.org/show_bug.cgi?id=181894

Reviewed by Joanmarie Diggs.

Source/WebCore:

Add a way for VoiceOver to uniquely track a web page session.

Test: accessibility/mac/session-id.html

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

  • accessibility/mac/document-attributes-expected.txt:
  • accessibility/mac/session-id-expected.txt: Added.
  • accessibility/mac/session-id.html: Added.
  • platform/mac/accessibility/parent-delete-expected.txt: Added.
9:28 AM Changeset in webkit [227525] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

RenderBlockRareData::m_enclosingFragmentedFlow should be WeakPtr
https://bugs.webkit.org/show_bug.cgi?id=182045
<rdar://problem/36334787>

Reviewed by Zalan Bujtas.

For safety.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::cachedEnclosingFragmentedFlow const):
(WebCore::RenderBlock::updateCachedEnclosingFragmentedFlow const):
(WebCore::RenderBlock::locateEnclosingFragmentedFlow const):

9:14 AM Changeset in webkit [227524] by dino@apple.com
  • 5 edits in trunk/Source/WebCore

REGRESSION (r222961?): sRGB images shown in WebGL are over-saturated on a wide gamut monitor
https://bugs.webkit.org/show_bug.cgi?id=182033
<rdar://problem/36377780>

Reviewed by Antoine Quint.

Source/WebCore:

My fix for YouTube360 changed the way we composite WebGL on macOS. Unfortunately it dropped
a flag telling the compositor the colorspace of the content should be sRGB. Reinstate this
by explicitly setting the colorspace on the IOSurface we use for WebGL back buffers.

This *should* be covered by the test in:
fast/canvas/webgl/match-page-color-space.html
... however, it shows a problem with our testing infrastructure. As long as it is not
testing on a Wide Gamut display, and explicitly setting the color profile, an automated
test won't pick up this regression. I could add an Internals helper to query the colorspace
of the WebGL content, but that doesn't actually verify the composited result, which is
all that matters.

  • platform/graphics/cocoa/WebGLLayer.mm:

(-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]):

Source/WebCore/PAL:

Expose an IOSurface colorspace property name, and a function to serialize a CGColorSpace.

  • pal/spi/cg/CoreGraphicsSPI.h:
  • pal/spi/cocoa/IOSurfaceSPI.h:
9:09 AM WebKitGTK/Gardening/Calendar edited by Ms2ger@igalia.com
(diff)
8:09 AM Changeset in webkit [227523] by Ms2ger@igalia.com
  • 4 edits in trunk

[GTK] Fix some test failures in ATK selection handling.
https://bugs.webkit.org/show_bug.cgi?id=168369
<rdar://problem/30534881>

Reviewed by Joanmarie Diggs.

Source/WebCore:

In r208479, selectionBelongsToObject was changed to return false if the
intersectsNode call returns an exception.

In particular, this caused accessibility/gtk/text-at-offset-textarea.html
to fail. In this test, the selection is situated in the shadow DOM of the
textarea, while the node that is checked for intersection is the textarea
itself. In line with the standard, intersectsNode returns an exception in
this case.

This caused webkitAccessibleText{Word, Line, Sentence}ForBoundary to stop
returning the expected text in the tested case. Removing this check fixes
the test, along with some others.

Tests: accessibility/gtk/text-at-offset-textarea.html

accessibility/gtk/text-at-offset-textinput.html
accessibility/selected-text-range-aria-elements.html
accessibility/textarea-selected-text-range.html

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getSelectionOffsetsForObject): Remove the selectionBelongsToObject() call.

LayoutTests:

Update test expectations for tests that pass again.

  • platform/gtk/TestExpectations:
7:57 AM Changeset in webkit [227522] by svillar@igalia.com
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix after r227518. I forgot to add the function declarations to the WPE
header.

  • UIProcess/API/wpe/WebKitSettings.h: Added webkit_settings_get/set_enable_webvr.
7:53 AM Changeset in webkit [227521] by Manuel Rego Casasnovas
  • 11 edits
    1204 copies
    49 adds
    7 deletes in trunk/LayoutTests

Update paths of CSS tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=182043

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/css-display/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-display-3/.
  • web-platform-tests/css/css-pseudo/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo-4/.
  • web-platform-tests/css/css-scoping/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-scoping-1/.
  • web-platform-tests/css/css-shapes/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes-1/.
  • web-platform-tests/css/css-ui/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-ui-3/.
  • web-platform-tests/css/geometry/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/geometry-1/.
  • web-platform-tests/css/selectors/: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/selectors4/.
  • web-platform-tests/lint.whitelist:

LayoutTests:

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-wk2/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/wpe/TestExpectations:
7:36 AM Changeset in webkit [227520] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Add Cache Storage engine assertion following on bug 181887
https://bugs.webkit.org/show_bug.cgi?id=181925

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-24
Reviewed by Alex Christensen.

In a normal environment, the folderPath should be the same as the path computed from the ClientOrigin.
Add assertion to verify this.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::clearCachesForOrigin):

7:25 AM Changeset in webkit [227519] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

[GTK] Use GDK_EVENT_PROPAGATE and GDK_EVENT_STOP in WebKitWebViewBase.cpp
https://bugs.webkit.org/show_bug.cgi?id=182031

Reviewed by Carlos Garcia Campos.

No functional changes, this just replaces TRUE with GDK_EVENT_STOP and FALSE with
GDK_EVENT_PROPAGATE, to improve readability.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseKeyPressEvent):
(webkitWebViewBaseKeyReleaseEvent):
(webkitWebViewBaseButtonPressEvent):
(webkitWebViewBaseButtonReleaseEvent):
(webkitWebViewBaseScrollEvent):
(webkitWebViewBaseMotionNotifyEvent):
(webkitWebViewBaseCrossingNotifyEvent):
(webkitWebViewBaseTouchEvent):

7:04 AM Changeset in webkit [227518] by svillar@igalia.com
  • 13 edits
    39 adds in trunk

[WebVR] Add OpenVR to the tree and to the build
https://bugs.webkit.org/show_bug.cgi?id=177298

Reviewed by Žan Doberšek.

.:

  • Source/CMakeLists.txt:
  • Source/cmake/OptionsGTK.cmake: Enable USE_OPENVR.
  • Source/cmake/OptionsWPE.cmake: Ditto.

Source/ThirdParty:

Adding the required parts of OpenVR library to the tree. This will be used as a backend for
the eventual WebVR implementation.

  • openvr/CMakeLists.txt: Added.
  • openvr/LICENSE: Added.
  • openvr/README.md: Added.
  • openvr/README.webkit: Added. Includes specifics changes made to the original library to

accommodate it to the WebKit build system.

  • openvr/Toolchain-clang.cmake: Added.
  • openvr/headers/openvr.h: Added.

(vr::ButtonMaskFromId):
(vr::NotificationBitmap_t::NotificationBitmap_t):
(vr::VRToken):
(vr::COpenVRContext::COpenVRContext):
(vr::COpenVRContext::CheckClear):
(vr::COpenVRContext::VRSystem):
(vr::COpenVRContext::VRChaperone):
(vr::COpenVRContext::VRChaperoneSetup):
(vr::COpenVRContext::VRCompositor):
(vr::COpenVRContext::VROverlay):
(vr::COpenVRContext::VRResources):
(vr::COpenVRContext::VRScreenshots):
(vr::COpenVRContext::VRRenderModels):
(vr::COpenVRContext::VRExtendedDisplay):
(vr::COpenVRContext::VRSettings):
(vr::COpenVRContext::VRApplications):
(vr::COpenVRContext::VRTrackedCamera):
(vr::COpenVRContext::VRDriverManager):
(vr::OpenVRInternal_ModuleContext):
(vr::VRSystem):
(vr::VRChaperone):
(vr::VRChaperoneSetup):
(vr::VRCompositor):
(vr::VROverlay):
(vr::VRScreenshots):
(vr::VRRenderModels):
(vr::VRApplications):
(vr::VRSettings):
(vr::VRResources):
(vr::VRExtendedDisplay):
(vr::VRTrackedCamera):
(vr::VRDriverManager):
(vr::COpenVRContext::Clear):
(vr::VR_Init):
(vr::VR_Shutdown):

  • openvr/headers/openvr_api.cs: Added.
  • openvr/headers/openvr_api.json: Added.
  • openvr/headers/openvr_capi.h: Added.
  • openvr/headers/openvr_driver.h: Added.

(vr::ButtonMaskFromId):
(vr::IVRDriverDirectModeComponent::CreateSwapTextureSet):
(vr::IVRDriverDirectModeComponent::DestroySwapTextureSet):
(vr::IVRDriverDirectModeComponent::DestroyAllSwapTextureSets):
(vr::IVRDriverDirectModeComponent::GetNextSwapTextureSetIndex):
(vr::IVRDriverDirectModeComponent::SubmitLayer):
(vr::IVRDriverDirectModeComponent::Present):
(vr::CVRPropertyHelpers::CVRPropertyHelpers):
(vr::CVRPropertyHelpers::TrackedDeviceToPropertyContainer):
(vr::CVRPropertyHelpers::GetProperty):
(vr::CVRPropertyHelpers::SetProperty):
(vr::CVRPropertyHelpers::GetStringProperty):
(vr::CVRPropertyHelpers::SetStringProperty):
(vr::CVRPropertyHelpers::GetPropertyHelper):
(vr::CVRPropertyHelpers::GetBoolProperty):
(vr::CVRPropertyHelpers::GetFloatProperty):
(vr::CVRPropertyHelpers::GetInt32Property):
(vr::CVRPropertyHelpers::GetUint64Property):
(vr::CVRPropertyHelpers::SetBoolProperty):
(vr::CVRPropertyHelpers::SetFloatProperty):
(vr::CVRPropertyHelpers::SetInt32Property):
(vr::CVRPropertyHelpers::SetUint64Property):
(vr::CVRPropertyHelpers::SetPropertyError):
(vr::CVRPropertyHelpers::EraseProperty):
(vr::CVRHiddenAreaHelpers::CVRHiddenAreaHelpers):
(vr::CVRHiddenAreaHelpers::GetPropertyEnum):
(vr::CVRHiddenAreaHelpers::SetHiddenArea):
(vr::CVRHiddenAreaHelpers::GetHiddenArea):
(vr::VRDriverContext):
(vr::COpenVRDriverContext::COpenVRDriverContext):
(vr::COpenVRDriverContext::VRSettings):
(vr::COpenVRDriverContext::VRPropertiesRaw):
(vr::COpenVRDriverContext::VRProperties):
(vr::COpenVRDriverContext::VRHiddenArea):
(vr::COpenVRDriverContext::VRServerDriverHost):
(vr::COpenVRDriverContext::VRWatchdogHost):
(vr::COpenVRDriverContext::VRDriverLog):
(vr::COpenVRDriverContext::VRDriverHandle):
(vr::OpenVRInternal_ModuleServerDriverContext):
(vr::VRSettings):
(vr::VRPropertiesRaw):
(vr::VRProperties):
(vr::VRHiddenArea):
(vr::VRDriverLog):
(vr::VRServerDriverHost):
(vr::VRWatchdogHost):
(vr::VRDriverHandle):
(vr::COpenVRDriverContext::Clear):
(vr::COpenVRDriverContext::InitServer):
(vr::COpenVRDriverContext::InitWatchdog):
(vr::InitServerDriverContext):
(vr::InitWatchdogDriverContext):
(vr::CleanupDriverContext):

  • openvr/patches/cmake-build.patch: Added.
  • openvr/src/CMakeLists.txt: Added.
  • openvr/src/Info.plist: Added.
  • openvr/src/README: Added.
  • openvr/src/ivrclientcore.h: Added.
  • openvr/src/json/json-forwards.h: Added.
  • openvr/src/json/json.h: Added.

(std::swap):

  • openvr/src/jsoncpp.cpp: Added.

(Json::codePointToUTF8):
(Json::isControlCharacter):
(Json::uintToString):
(Json::fixNumericLocale):
(Json::Features::Features):
(Json::Features::all):
(Json::Features::strictMode):
(Json::containsNewLine):
(Json::Reader::Reader):
(Json::Reader::parse):
(Json::Reader::readValue):
(Json::Reader::skipCommentTokens):
(Json::Reader::readToken):
(Json::Reader::skipSpaces):
(Json::Reader::match):
(Json::Reader::readComment):
(Json::normalizeEOL):
(Json::Reader::addComment):
(Json::Reader::readCStyleComment):
(Json::Reader::readCppStyleComment):
(Json::Reader::readNumber):
(Json::Reader::readString):
(Json::Reader::readObject):
(Json::Reader::readArray):
(Json::Reader::decodeNumber):
(Json::Reader::decodeDouble):
(Json::Reader::decodeString):
(Json::Reader::decodeUnicodeCodePoint):
(Json::Reader::decodeUnicodeEscapeSequence):
(Json::Reader::addError):
(Json::Reader::recoverFromError):
(Json::Reader::addErrorAndRecover):
(Json::Reader::currentValue):
(Json::Reader::getNextChar):
(Json::Reader::getLocationLineAndColumn const):
(Json::Reader::getLocationSnippet const):
(Json::Reader::getFormatedErrorMessages const):
(Json::Reader::getFormattedErrorMessages const):
(Json::Reader::getStructuredErrors const):
(Json::Reader::pushError):
(Json::Reader::good const):
(Json::OurFeatures::all):
(Json::OurReader::OurReader):
(Json::OurReader::parse):
(Json::OurReader::readValue):
(Json::OurReader::skipCommentTokens):
(Json::OurReader::readToken):
(Json::OurReader::skipSpaces):
(Json::OurReader::match):
(Json::OurReader::readComment):
(Json::OurReader::addComment):
(Json::OurReader::readCStyleComment):
(Json::OurReader::readCppStyleComment):
(Json::OurReader::readNumber):
(Json::OurReader::readString):
(Json::OurReader::readStringSingleQuote):
(Json::OurReader::readObject):
(Json::OurReader::readArray):
(Json::OurReader::decodeNumber):
(Json::OurReader::decodeDouble):
(Json::OurReader::decodeString):
(Json::OurReader::decodeUnicodeCodePoint):
(Json::OurReader::decodeUnicodeEscapeSequence):
(Json::OurReader::addError):
(Json::OurReader::recoverFromError):
(Json::OurReader::addErrorAndRecover):
(Json::OurReader::currentValue):
(Json::OurReader::getNextChar):
(Json::OurReader::getLocationLineAndColumn const):
(Json::OurReader::getFormattedErrorMessages const):
(Json::OurReader::getStructuredErrors const):
(Json::OurReader::pushError):
(Json::OurReader::good const):
(Json::OurCharReader::OurCharReader):
(Json::OurCharReader::parse):
(Json::CharReaderBuilder::CharReaderBuilder):
(Json::CharReaderBuilder::~CharReaderBuilder):
(Json::CharReaderBuilder::newCharReader const):
(Json::getValidReaderKeys):
(Json::CharReaderBuilder::validate const):
(Json::CharReaderBuilder::operator[]):
(Json::CharReaderBuilder::strictMode):
(Json::CharReaderBuilder::setDefaults):
(Json::parseFromStream):
(Json::operator>>):
(Json::ValueIteratorBase::ValueIteratorBase):
(Json::ValueIteratorBase::deref const):
(Json::ValueIteratorBase::increment):
(Json::ValueIteratorBase::decrement):
(Json::ValueIteratorBase::computeDistance const):
(Json::ValueIteratorBase::isEqual const):
(Json::ValueIteratorBase::copy):
(Json::ValueIteratorBase::key const):
(Json::ValueIteratorBase::index const):
(Json::ValueIteratorBase::name const):
(Json::ValueIteratorBase::memberName const):
(Json::ValueConstIterator::ValueConstIterator):
(Json::operator=):
(Json::ValueIterator::ValueIterator):
(Json::ValueIterator::operator=):
(Json::InRange):
(Json::integerToDouble):
(Json::duplicateStringValue):
(Json::duplicateAndPrefixStringValue):
(Json::decodePrefixedString):
(Json::releaseStringValue):
(Json::Exception::Exception):
(Json::throw):
(Json::RuntimeError::RuntimeError):
(Json::LogicError::LogicError):
(Json::throwRuntimeError):
(Json::throwLogicError):
(Json::Value::CommentInfo::CommentInfo):
(Json::Value::CommentInfo::~CommentInfo):
(Json::Value::CommentInfo::setComment):
(Json::Value::CZString::CZString):
(Json::Value::CZString::~CZString):
(Json::Value::CZString::swap):
(Json::Value::CZString::operator=):
(Json::Value::CZString::operator< const):
(Json::Value::CZString::operator== const):
(Json::Value::CZString::index const):
(Json::Value::CZString::data const):
(Json::Value::CZString::length const):
(Json::Value::CZString::isStaticString const):
(Json::Value::Value):
(Json::Value::~Value):
(Json::Value::operator=):
(Json::Value::swapPayload):
(Json::Value::swap):
(Json::Value::type const):
(Json::Value::compare const):
(Json::Value::operator< const):
(Json::Value::operator<= const):
(Json::Value::operator>= const):
(Json::Value::operator> const):
(Json::Value::operator== const):
(Json::Value::operator!= const):
(Json::Value::asCString const):
(Json::Value::getString const):
(Json::Value::asString const):
(Json::Value::asConstString const):
(Json::Value::asInt const):
(Json::Value::asUInt const):
(Json::Value::asInt64 const):
(Json::Value::asUInt64 const):
(Json::Value::asLargestInt const):
(Json::Value::asLargestUInt const):
(Json::Value::asDouble const):
(Json::Value::asFloat const):
(Json::Value::asBool const):
(Json::Value::isConvertibleTo const):
(Json::Value::size const):
(Json::Value::empty const):
(Json::Value::operator! const):
(Json::Value::clear):
(Json::Value::resize):
(Json::Value::operator[]):
(Json::Value::operator[] const):
(Json::Value::initBasic):
(Json::Value::resolveReference):
(Json::Value::get const):
(Json::Value::isValidIndex const):
(Json::Value::find const):
(Json::Value::append):
(Json::Value::removeMember):
(Json::Value::removeIndex):
(Json::Value::isMember const):
(Json::Value::getMemberNames const):
(Json::IsIntegral):
(Json::Value::isNull const):
(Json::Value::isBool const):
(Json::Value::isInt const):
(Json::Value::isUInt const):
(Json::Value::isInt64 const):
(Json::Value::isUInt64 const):
(Json::Value::isIntegral const):
(Json::Value::isDouble const):
(Json::Value::isNumeric const):
(Json::Value::isString const):
(Json::Value::isArray const):
(Json::Value::isObject const):
(Json::Value::setComment):
(Json::Value::hasComment const):
(Json::Value::getComment const):
(Json::Value::setOffsetStart):
(Json::Value::setOffsetLimit):
(Json::Value::getOffsetStart const):
(Json::Value::getOffsetLimit const):
(Json::Value::toStyledString const):
(Json::Value::begin const):
(Json::Value::end const):
(Json::Value::begin):
(Json::Value::end):
(Json::PathArgument::PathArgument):
(Json::Path::Path):
(Json::Path::makePath):
(Json::Path::addPathInArg):
(Json::Path::invalidPath):
(Json::Path::resolve const):
(Json::Path::make const):
(Json::containsControlCharacter):
(Json::containsControlCharacter0):
(Json::valueToString):
(Json::valueToQuotedString):
(Json::strnpbrk):
(Json::valueToQuotedStringN):
(Json::Writer::~Writer):
(Json::FastWriter::FastWriter):
(Json::FastWriter::enableYAMLCompatibility):
(Json::FastWriter::dropNullPlaceholders):
(Json::FastWriter::omitEndingLineFeed):
(Json::FastWriter::write):
(Json::FastWriter::writeValue):
(Json::StyledWriter::StyledWriter):
(Json::StyledWriter::write):
(Json::StyledWriter::writeValue):
(Json::StyledWriter::writeArrayValue):
(Json::StyledWriter::isMultineArray):
(Json::StyledWriter::pushValue):
(Json::StyledWriter::writeIndent):
(Json::StyledWriter::writeWithIndent):
(Json::StyledWriter::indent):
(Json::StyledWriter::unindent):
(Json::StyledWriter::writeCommentBeforeValue):
(Json::StyledWriter::writeCommentAfterValueOnSameLine):
(Json::StyledWriter::hasCommentForValue):
(Json::StyledStreamWriter::StyledStreamWriter):
(Json::StyledStreamWriter::write):
(Json::StyledStreamWriter::writeValue):
(Json::StyledStreamWriter::writeArrayValue):
(Json::StyledStreamWriter::isMultineArray):
(Json::StyledStreamWriter::pushValue):
(Json::StyledStreamWriter::writeIndent):
(Json::StyledStreamWriter::writeWithIndent):
(Json::StyledStreamWriter::indent):
(Json::StyledStreamWriter::unindent):
(Json::StyledStreamWriter::writeCommentBeforeValue):
(Json::StyledStreamWriter::writeCommentAfterValueOnSameLine):
(Json::StyledStreamWriter::hasCommentForValue):
(Json::BuiltStyledStreamWriter::BuiltStyledStreamWriter):
(Json::BuiltStyledStreamWriter::write):
(Json::BuiltStyledStreamWriter::writeValue):
(Json::BuiltStyledStreamWriter::writeArrayValue):
(Json::BuiltStyledStreamWriter::isMultineArray):
(Json::BuiltStyledStreamWriter::pushValue):
(Json::BuiltStyledStreamWriter::writeIndent):
(Json::BuiltStyledStreamWriter::writeWithIndent):
(Json::BuiltStyledStreamWriter::indent):
(Json::BuiltStyledStreamWriter::unindent):
(Json::BuiltStyledStreamWriter::writeCommentBeforeValue):
(Json::BuiltStyledStreamWriter::writeCommentAfterValueOnSameLine):
(Json::BuiltStyledStreamWriter::hasCommentForValue):
(Json::StreamWriter::StreamWriter):
(Json::StreamWriter::~StreamWriter):
(Json::StreamWriter::Factory::~Factory):
(Json::StreamWriterBuilder::StreamWriterBuilder):
(Json::StreamWriterBuilder::~StreamWriterBuilder):
(Json::StreamWriterBuilder::newStreamWriter const):
(Json::getValidWriterKeys):
(Json::StreamWriterBuilder::validate const):
(Json::StreamWriterBuilder::operator[]):
(Json::StreamWriterBuilder::setDefaults):
(Json::writeString):
(Json::operator<<):

  • openvr/src/openvr_api_public.cpp: Added.

(vr::VR_GetInitToken):
(vr::VR_InitInternal2):
(vr::VR_InitInternal):
(vr::VR_ShutdownInternal):
(vr::VR_LoadHmdSystemInternal):
(vr::VR_GetGenericInterface):
(vr::VR_IsInterfaceVersionValid):
(vr::VR_IsHmdPresent):
(vr::VR_IsRuntimeInstalled):
(vr::VR_RuntimePath):
(vr::VR_GetVRInitErrorAsSymbol):
(vr::VR_GetVRInitErrorAsEnglishDescription):
(vr::VR_GetStringForHmdError):

  • openvr/src/vrcommon/dirtools_public.cpp: Added.

(BCreateDirectoryRecursive):
(BCreateDirectory):

  • openvr/src/vrcommon/dirtools_public.h: Added.
  • openvr/src/vrcommon/envvartools_public.cpp: Added.

(GetEnvironmentVariable):
(SetEnvironmentVariable):

  • openvr/src/vrcommon/envvartools_public.h: Added.
  • openvr/src/vrcommon/hmderrors_public.cpp: Added.

(GetEnglishStringForHmdError):
(GetIDForVRInitError):

  • openvr/src/vrcommon/hmderrors_public.h: Added.
  • openvr/src/vrcommon/pathtools_public.cpp: Added.

(Path_GetExecutablePath):
(Path_GetWorkingDirectory):
(Path_SetWorkingDirectory):
(Path_StripFilename):
(Path_StripDirectory):
(Path_StripExtension):
(Path_GetExtension):
(Path_IsAbsolute):
(Path_MakeAbsolute):
(Path_FixSlashes):
(Path_GetSlash):
(Path_Join):
(Path_RemoveTrailingSlash):
(Path_Compact):
(Path_GetThisModulePath):
(Path_IsDirectory):
(Path_IsAppBundle):
(Path_Exists):
(Path_FindParentDirectoryRecursively):
(Path_FindParentSubDirectoryRecursively):
(Path_ReadBinaryFile):
(Path_WriteBinaryFile):
(Path_ReadTextFile):
(Path_WriteStringToTextFile):
(Path_WriteStringToTextFileAtomic):
(Path_FilePathToUrl):
(Path_UrlToFilePath):
(GetUserDocumentsPath):

  • openvr/src/vrcommon/pathtools_public.h: Added.
  • openvr/src/vrcommon/sharedlibtools_public.cpp: Added.

(SharedLib_Load):
(SharedLib_GetFunction):
(SharedLib_Unload):

  • openvr/src/vrcommon/sharedlibtools_public.h: Added.
  • openvr/src/vrcommon/strtools_public.cpp: Added.

(StringHasPrefix):
(StringHasPrefixCaseSensitive):
(StringHasSuffix):
(StringHasSuffixCaseSensitive):
(UTF16to8):
(UTF8to16):
(strcpy_safe):
(StringToUpper):
(StringToLower):
(ReturnStdString):
(BufferToStdString):
(Uint64ToString):
(StringToUint64):
(cIntToHexDigit):
(iHexCharToInt):
(V_URLEncodeInternal):
(V_URLDecodeInternal):
(V_URLEncode):
(V_URLDecode):
(V_StripExtension):

  • openvr/src/vrcommon/strtools_public.h: Added.

(stricmp):
(strnicmp):
(wcsncpy_s):
(strncpy_s):
(strtoull):

  • openvr/src/vrcommon/vrpathregistry_public.cpp: Added.

(GetAppSettingsPath):
(CVRPathRegistry_Public::CVRPathRegistry_Public):
(CVRPathRegistry_Public::GetOpenVRConfigPath):
(CVRPathRegistry_Public::GetVRPathRegistryFilename):
(ParseStringListFromJson):
(StringListToJson):
(CVRPathRegistry_Public::ToJsonString):
(CVRPathRegistry_Public::BLoadFromFile):
(CVRPathRegistry_Public::BSaveToFile const):
(CVRPathRegistry_Public::GetRuntimePath const):
(CVRPathRegistry_Public::GetConfigPath const):
(CVRPathRegistry_Public::GetLogPath const):
(CVRPathRegistry_Public::GetPaths):

  • openvr/src/vrcommon/vrpathregistry_public.h: Added.

Source/WebCore:

Added build dependencies with the OpenVR library.

  • CMakeLists.txt:

Tools:

  • Scripts/webkitpy/style/checker.py: Added openvr to the list of third party libraries

with reduced style checks.

6:18 AM Changeset in webkit [227517] by fred.wang@free.fr
  • 2 edits in trunk/LayoutTests

Use basic-gestures.js for fixed-inside-overflow-inside-iframe.html
https://bugs.webkit.org/show_bug.cgi?id=182041

Patch by Frederic Wang <fwang@igalia.com> on 2018-01-24
Reviewed by Antonio Gomes.

  • fast/scrolling/ios/fixed-inside-overflow-inside-iframe.html: Insert basic-gestures.js,

remove definition of getSwipeUIScript(), make runTest() async and use functions from
basic-gestures.js

3:06 AM Changeset in webkit [227516] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.18.6

WebKitGTK+ 2.18.6

3:05 AM Changeset in webkit [227515] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.18

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.18.6 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.18.6.
3:05 AM Changeset in webkit [227514] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.18/Source/WebCore

Merge r226947 - [GStreamer] Don't wait for draw condition variable when shutting down.
https://bugs.webkit.org/show_bug.cgi?id=180978

Patch by Sebastian Dröge <sebastian@centricular.com> on 2018-01-15
Reviewed by Carlos Garcia Campos.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::cancelRepaint):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

By also waiting for the draw condition variable while shutting down,
it is possible that the GStreamer video sink is waiting for the main
thread to actually render the current frame, while at the same time
the main thread is waiting for the GStreamer video sink to shut down,
resulting in a deadlock.

2:58 AM WPE edited by clopez@igalia.com
(diff)
2:57 AM WPE edited by clopez@igalia.com
(diff)
2:56 AM WPE edited by clopez@igalia.com
(diff)
2:41 AM WPE edited by clopez@igalia.com
(diff)
2:33 AM WPE edited by clopez@igalia.com
(diff)
2:03 AM Changeset in webkit [227513] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.18

Merge r227414 - WebDriver: several tests in imported/w3c/webdriver/tests/sessions/new_session/merge.py are failing
https://bugs.webkit.org/show_bug.cgi?id=180407

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

This is actually a bug in the spec, see https://github.com/w3c/webdriver/issues/1203. It seems the idea in any
case is that we should check all the firstMatch capabilities before matching them, and return if there's any
error.

  • WebDriverService.cpp:

(WebDriver::WebDriverService::mergeCapabilities const):
(WebDriver::WebDriverService::processCapabilities const):

WebDriverTests:

Remove expectations for tests that are passing now and update the bug number of the other ones referencing

2:03 AM Changeset in webkit [227512] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.18

Merge r227413 - WebDriver: test imported/w3c/webdriver/tests/sessions/new_session/response.py::test_timeouts fails
https://bugs.webkit.org/show_bug.cgi?id=180412

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

Include all missing capabilities in the new session response message.

Fixes: imported/w3c/webdriver/tests/sessions/new_session/response.py::test_resp_capabilites

imported/w3c/webdriver/tests/sessions/new_session/response.py::test_resp_data
imported/w3c/webdriver/tests/sessions/new_session/response.py::test_timeouts

  • Session.h:

(WebDriver::Session::scriptTimeout const):
(WebDriver::Session::pageLoadTimeout const):
(WebDriver::Session::implicitWaitTimeout const):

  • WebDriverService.cpp:

(WebDriver::WebDriverService::newSession):

WebDriverTests:

Remove expectations for imported/w3c/webdriver/tests/sessions/new_session/response.py since all tests are
passing now.

2:03 AM Changeset in webkit [227511] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.18

Merge r227412 - WebDriver: matched capabilities should include setWindowRect
https://bugs.webkit.org/show_bug.cgi?id=180411

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

Handle setWindowRect in capabilities. It's always true for GTK and false for WPE.

  • Capabilities.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::parseCapabilities const):
(WebDriver::WebDriverService::matchCapabilities const):
(WebDriver::WebDriverService::newSession):

  • gtk/WebDriverServiceGtk.cpp:

(WebDriver::WebDriverService::platformCapabilities):

  • wpe/WebDriverServiceWPE.cpp:

(WebDriver::WebDriverService::platformCapabilities):

WebDriverTests:

Change the bug number of test imported/w3c/webdriver/tests/sessions/new_session/response.py::test_resp_data,
since now it's failing due to missing timeouts value.

2:03 AM Changeset in webkit [227510] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.18

Merge r227408 - WebDriver: test imported/selenium/py/test/selenium/webdriver/common/api_example_tests.py::testChangeWindowSize fails
https://bugs.webkit.org/show_bug.cgi?id=181728

Reviewed by Sergio Villar Senin.

Source/WebDriver:

Due to a copy-paste error we are getting the window height using the width variable.

Fixes: imported/selenium/py/test/selenium/webdriver/common/api_example_tests.py::testChangeWindowSize

imported/selenium/py/test/selenium/webdriver/common/position_and_size_tests.py::testShouldScrollPageAndGetCoordinatesOfAnElementThatIsOutOfViewPort
imported/w3c/webdriver/tests/get_window_rect.py::test_payload
imported/w3c/webdriver/tests/set_window_rect.py::test_width_height_floats
imported/w3c/webdriver/tests/set_window_rect.py::test_height_width
imported/w3c/webdriver/tests/set_window_rect.py::test_height_width_larger_than_max
imported/w3c/webdriver/tests/contexts/resizing_and_positioning.py::test_window_resize

  • Session.cpp:

(WebDriver::Session::getToplevelBrowsingContextRect):

WebDriverTests:

Remove expectations for tests that are now passing.

2:03 AM Changeset in webkit [227509] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.18

Merge r227293 - WebDriver: implement get element CSS value command
https://bugs.webkit.org/show_bug.cgi?id=181736

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

13.4 Get Element CSS Value
https://w3c.github.io/webdriver/webdriver-spec.html#get-element-css-value

Fixes: imported/selenium/py/test/selenium/webdriver/common/rendered_webelement_tests.py::testShouldPickUpStyleOfAnElement

imported/selenium/py/test/selenium/webdriver/common/rendered_webelement_tests.py::testShouldAllowInheritedStylesToBeUsed

  • Session.cpp:

(WebDriver::Session::getElementProperty):
(WebDriver::Session::getElementCSSValue):

  • Session.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::getElementCSSValue):

  • WebDriverService.h:

WebDriverTests:

2:02 AM Changeset in webkit [227508] by Carlos Garcia Campos
  • 38 edits
    1 copy
    2 adds
    2 deletes in releases/WebKitGTK/webkit-2.18/WebDriverTests

Merge r227291 - Unreviewed. Update W3C WebDriver imported tests.

  • imported/w3c/importer.json:
  • imported/w3c/tools/webdriver/webdriver/client.py:
  • imported/w3c/tools/webdriver/webdriver/protocol.py:
  • imported/w3c/tools/webdriver/webdriver/servo.py: Removed.
  • imported/w3c/tools/webdriver/webdriver/transport.py:
  • imported/w3c/tools/wptrunner/MANIFEST.in:
  • imported/w3c/tools/wptrunner/README.rst:
  • imported/w3c/tools/wptrunner/docs/conf.py:
  • imported/w3c/tools/wptrunner/docs/usage.rst:
  • imported/w3c/tools/wptrunner/setup.py:
  • imported/w3c/tools/wptrunner/tox.ini:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/init.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/b2g_setup/certtest_app.zip: Removed.
  • imported/w3c/tools/wptrunner/wptrunner/browsers/chrome_android.py: Copied from WebDriverTests/imported/w3c/tools/wptrunner/wptrunner/browsers/ie.py.
  • imported/w3c/tools/wptrunner/wptrunner/browsers/firefox.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/ie.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/servo.py:
  • imported/w3c/tools/wptrunner/wptrunner/environment.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/base.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executormarionette.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorservo.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorservodriver.py:
  • imported/w3c/tools/wptrunner/wptrunner/manifestupdate.py:
  • imported/w3c/tools/wptrunner/wptrunner/metadata.py:
  • imported/w3c/tools/wptrunner/wptrunner/stability.py:
  • imported/w3c/tools/wptrunner/wptrunner/testloader.py:
  • imported/w3c/tools/wptrunner/wptrunner/testrunner.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_hosts.py:
  • imported/w3c/tools/wptrunner/wptrunner/update/init.py:
  • imported/w3c/tools/wptrunner/wptrunner/update/sync.py:
  • imported/w3c/tools/wptrunner/wptrunner/update/tree.py:
  • imported/w3c/tools/wptrunner/wptrunner/vcs.py:
  • imported/w3c/tools/wptrunner/wptrunner/webdriver_server.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptcommandline.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_serializer.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_tokenizer.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptrunner.py:
  • imported/w3c/tools/wptrunner/wptrunner/wpttest.py:
  • imported/w3c/webdriver/tests/execute_async_script/init.py: Added.
  • imported/w3c/webdriver/tests/execute_script/init.py: Added.
  • imported/w3c/webdriver/tests/sessions/new_session/response.py:
2:02 AM Changeset in webkit [227507] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.18

Merge r227290 - [GTK] WebDriver: test imported/w3c/webdriver/tests/sessions/new_session/response.py is crashing in the bots
https://bugs.webkit.org/show_bug.cgi?id=181904

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

Handle the case of failing to launch the browser. The test is actually failing because it's sending wrong
capabilities, the driver tries to fall back to the default driver, but since WebKit is not installed in the
bots, it fails to find the MiniBrowser. The test needs to be fixed, but we shouldn't crash when the browser
can't be spawned for whatever reason in any case. This patch handles that case and changes the boolean result of
connectToBrowser to be an optional error string instead. This way we can provide more detailed error message
when we reject the session creation because the browser failed to start.

  • SessionHost.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::newSession):

  • glib/SessionHostGlib.cpp:

(WebDriver::SessionHost::connectToBrowser):
(WebDriver::ConnectToBrowserAsyncData::ConnectToBrowserAsyncData):
(WebDriver::SessionHost::launchBrowser):
(WebDriver::SessionHost::setupConnection):

WebDriverTests:

Unskip imported/w3c/webdriver/tests/sessions/new_session/response.py.

2:02 AM Changeset in webkit [227506] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Tools

Merge r227268 - WebDriver: fix some nits that prevent running W3C tests on Mac
https://bugs.webkit.org/show_bug.cgi?id=181864

Reviewed by Carlos Garcia Campos.

  • Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:

(WebDriverW3CWebServer.init): _wsout needs to always be defined,
as we assume that the property exists later.

(WebDriverW3CWebServer.stop): If the temporary file doesn't
exist for some reason, the remove call will raise and exception.
Gracefully handle the case where the file isn't created due to
a problem/exception that happened elsewhere.

2:02 AM Changeset in webkit [227505] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Tools

Merge r227198 - WebDriver: driver environment not passed to pytest when running w3c tests
https://bugs.webkit.org/show_bug.cgi?id=181852

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2018-01-19
Reviewed by Carlos Alberto Lopez Perez.

That's why color codes are not used in the bots log for selenium tests but they appear in w3c tests.

  • Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:

(WebDriverW3CExecutor.run):

2:02 AM Changeset in webkit [227504] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Tools

Merge r227194 - WebDriver: run-webdriver-tests is crashing in the bots when creating results json file
https://bugs.webkit.org/show_bug.cgi?id=181844

Reviewed by Carlos Alberto Lopez Perez.

We always try to create the directory where to store the json file, but when the filename is given directly,
like in the bots, the current dir is used.

  • Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:

(WebDriverTestRunner.dump_results_to_json_file): Do not try to create the directory if dirname() returns an
empty string.

2:02 AM Changeset in webkit [227503] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Tools

Merge r227193 - [GTK] WebDriver tests are running outside the jhbuild env
https://bugs.webkit.org/show_bug.cgi?id=181842

Reviewed by Žan Doberšek.

We need to enter jhbuild env in run-webdriver-tests.

  • Scripts/run-webdriver-tests:
2:02 AM Changeset in webkit [227502] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.18/WebDriverTests

Merge r227138 - Unreviewed. Update Selenium WebDriver imported tests.

  • imported/selenium/importer.json:
  • imported/selenium/py/test/selenium/webdriver/common/executing_async_javascript_tests.py:

(reset_timeouts):

2:02 AM Changeset in webkit [227501] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.18

Merge r227127 - WebDriver: ignore the driver in selenium test names when getting expectations
https://bugs.webkit.org/show_bug.cgi?id=181738

Reviewed by Carlos Alberto Lopez Perez.

Tools:

In selenium tests, the driver is added as a parameter to every test which results in tests names like
foo[DriverName] or foo[DriverName-param2] in case of tests using more parameters. We don't want to include the
driver name in the test expectations file, so we need to remove it when querying the expectations.

  • Scripts/webkitpy/webdriver_tests/pytest_runner.py:

(TestExpectationsMarker.init): Save the param to ignore.
(TestExpectationsMarker._item_name): Return the name of the test without the para to ignore.
(TestExpectationsMarker.pytest_collection_modifyitems): Use _item_name().
(run): Pass param to ignore to TestExpectationsMarker().

  • Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:

(WebDriverSeleniumExecutor.init): Save the driver name.
(WebDriverSeleniumExecutor.run): Pass the driver name as param to ignore.

WebDriverTests:

Add some expectations for selenium tests.

2:02 AM Changeset in webkit [227500] by Carlos Garcia Campos
  • 10 edits
    1 add in releases/WebKitGTK/webkit-2.18

Merge r227064 - WebDriver: add support for test expectations
https://bugs.webkit.org/show_bug.cgi?id=180420

Reviewed by Carlos Alberto Lopez Perez.

Tools:

Add support for parsing test expectations from a JSON file and mark tests on collection accordingly.

  • Scripts/run-webdriver-tests: Get the retval from process_results().
  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook._install_pytest): Install also py because pytest needs it.

  • Scripts/webkitpy/webdriver_tests/pytest_runner.py:

(TestExpectationsMarker): Plugin to mark tests based on given expectations.
(TestExpectationsMarker.init): Initialize expectations.
(TestExpectationsMarker.pytest_collection_modifyitems): Mark tests if needed,
(run): Create and use TestExpectationsMarker plugin.

  • Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:

(WebDriverSeleniumExecutor.run): Pass expectations to pytest_runner.

  • Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:

(WebDriverTestRunner.init): Create a TestExpectations and pass it to the runners.
(WebDriverTestRunner.run): Do not count results here.
(WebDriverTestRunner.process_results): Rename print_results() as process_results() since it now returns the
amount of failures. Printing the test summary while processing results will be made optional in a follow up
patch.
(WebDriverTestRunner.process_results.report): Return the amount of failures.

  • Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:

(WebDriverTestRunnerSelenium.init): Initialize _expectations.
(WebDriverTestRunnerSelenium.collect_tests): Do not include skipped tests.
(WebDriverTestRunnerSelenium.run): Stop returning the tests count.

  • Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:

(WebDriverTestRunnerW3C.init): Initialize _expectations.
(WebDriverTestRunnerW3C.collect_tests): Do not include skipped tests.
(WebDriverTestRunnerW3C._scan_directory): Ditto.
(WebDriverTestRunnerW3C.run): Stop returning the tests count.

  • Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:

(WebDriverW3CExecutor.run): Pass expectations to pytest_runner.

WebDriverTests:

Add initial test expectations. For now I'm only adding the W3C test expectations, selenium ones will be added in
a follow up patch.

2:01 AM Changeset in webkit [227499] by Carlos Garcia Campos
  • 1 edit
    2 adds in releases/WebKitGTK/webkit-2.18/Tools

Merge r226944 - [GTK][WPE] Add support for unit test expectations
https://bugs.webkit.org/show_bug.cgi?id=181589

Reviewed by Michael Catanzaro.

We currently have a way to skip tests by annotating them in the api test runner script. The main problem of this
approach is that we skip tests when they fail in the bots and we never notice if they stop failing, keeping the
tests skipped forever. This is indeed the case of several WebKit2 C API tests. Annotating skipped tests in the
script itself is not a good idea either.

This patch adds a generic TestExpectations class for simple tests based on tests with subtests, like our unit
tests, but also WebDriver tests. It parses a json file with the tests and subtests expectations and provides
convenient methods to query them.

  • Scripts/run-gtk-tests:

(GtkTestRunner): Remove all Skipped and Slow tests marked here.

  • Scripts/run-wpe-tests:

(WPETestRunner): Ditto.

  • Scripts/webkitpy/common/test_expectations.py: Added.

(TestExpectations):
(TestExpectations.init):
(TestExpectations._port_name_for_expected):
(TestExpectations._expected_value):
(TestExpectations.skipped_tests):
(TestExpectations.skipped_subtests):
(TestExpectations._expectation_value):
(TestExpectations.is_slow):
(TestExpectations.get_expectation):

  • Scripts/webkitpy/common/test_expectations_unittest.py: Added.

(MockTestExpectations):
(MockTestExpectations.init):
(MockTestExpectations.is_skip):
(ExpectationsTest):
(assert_exp):
(assert_not_exp):
(assert_bad_exp):
(assert_skip):
(test_basic):
(test_skip):
(test_flaky):
(test_build_type):

  • TestWebKitAPI/glib/TestExpectations.json: Added.
  • glib/api_test_runner.py:

(TestRunner): Remove SkippedTest implementation.
(TestRunner.init): Create a TestExpectations.
(TestRunner._test_cases_to_skip): Use TestExpectations to check skipped tests.
(TestRunner._should_run_test_program): Ditto.
(TestRunner._run_test_glib): Use TestExpectations to check if test suite is slow.
(TestRunner._run_test_glib.parse_line.set_test_result): Register also tests passing.
(TestRunner._run_google_test): Use TestExpectations to check if test cases is slow and register tests passing.
(TestRunner.run_tests): Check if actual result is the expected one and register also unexpected passes.
(TestRunner.run_tests.report): Helper to write report to stdout.

2:01 AM Changeset in webkit [227498] by Carlos Garcia Campos
  • 31 edits in releases/WebKitGTK/webkit-2.18

Merge r226773 - Unreviewed. Update Selenium WebDriver imported tests.

Tools:

New version of selenium uses command line options to pass driver and browser binaries to pytest instead of
environment variables.

  • Scripts/webkitpy/webdriver_tests/pytest_runner.py:

(collect): Reorder the arguments to make pytest happy.
(run): Ditto.

  • Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:

(WebDriverSeleniumExecutor.init): Add driver binary, browser binary and browser args as arguments.

WebDriverTests:

  • imported/selenium/importer.json:
  • imported/selenium/py/conftest.py:
  • imported/selenium/py/selenium/init.py:
  • imported/selenium/py/selenium/webdriver/init.py:
  • imported/selenium/py/selenium/webdriver/common/action_chains.py:
  • imported/selenium/py/selenium/webdriver/common/service.py:
  • imported/selenium/py/selenium/webdriver/remote/remote_connection.py:
  • imported/selenium/py/selenium/webdriver/remote/switch_to.py:
  • imported/selenium/py/selenium/webdriver/remote/webdriver.py:
  • imported/selenium/py/selenium/webdriver/remote/webelement.py:
  • imported/selenium/py/selenium/webdriver/support/expected_conditions.py:
  • imported/selenium/py/selenium/webdriver/webkitgtk/options.py:
  • imported/selenium/py/test/selenium/webdriver/common/alerts_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/api_example_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/appcache_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/driver_element_finding_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/executing_async_javascript_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/frame_switching_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/interactions_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/page_load_timeout_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/position_and_size_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/rendered_webelement_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/select_class_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/visibility_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/w3c_interaction_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/webdriverwait_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/window_tests.py:
2:01 AM Changeset in webkit [227497] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.18/Source/WebDriver

Merge r226770 - WebDriver: implement get timeouts command
https://bugs.webkit.org/show_bug.cgi?id=181524

Reviewed by Žan Doberšek.

8.4 Get Timeouts
https://w3c.github.io/webdriver/webdriver-spec.html#get-timeouts

Also simplify the way timeouts are handled in Session. Stop using Timeouts struct, because once the session is
created the timeouts are no longer optional, they have a default value. Use individual members instead that are
initialized to their default values on construction and only overriden by capabilities or set timeouts command.

Fixes: imported/w3c/webdriver/tests/sessions/get_timeouts.py::test_get_timeouts

imported/w3c/webdriver/tests/sessions/get_timeouts.py::test_get_default_timeouts
imported/w3c/webdriver/tests/sessions/get_timeouts.py::test_get_new_timeouts

  • Session.cpp:

(WebDriver::Session::Session):
(WebDriver::Session::getTimeouts):
(WebDriver::Session::setTimeouts):
(WebDriver::Session::go):
(WebDriver::Session::back):
(WebDriver::Session::forward):
(WebDriver::Session::refresh):
(WebDriver::Session::findElements):
(WebDriver::Session::waitForNavigationToComplete):
(WebDriver::Session::executeScript):

  • Session.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::getTimeouts):

  • WebDriverService.h:
2:01 AM Changeset in webkit [227496] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Source/WebDriver

Merge r226716 - WebDriver: deserializeTimeouts() shouldn't reject double timeout values
https://bugs.webkit.org/show_bug.cgi?id=181473

Reviewed by Carlos Garcia Campos.

With these changes, the following tests are fixed:

imported/selenium/py/test/selenium/webdriver/common/executing_async_javascript_tests.py::testShouldTimeoutIfScriptDoesNotInvokeCallbackWithLongTimeout
imported/selenium/py/test/selenium/webdriver/common/executing_async_javascript_tests.py::testShouldDetectPageLoadsWhileWaitingOnAnAsyncScriptAndReturnAnError
imported/selenium/py/test/selenium/webdriver/common/executing_async_javascript_tests.py::testShouldBeAbleToExecuteAsynchronousScripts
imported/selenium/py/test/selenium/webdriver/common/implicit_waits_tests.py::testShouldImplicitlyWaitForASingleElement
imported/selenium/py/test/selenium/webdriver/common/implicit_waits_tests.py::testShouldStillFailToFindAnElementWhenImplicitWaitsAreEnabled
imported/selenium/py/test/selenium/webdriver/common/implicit_waits_tests.py::testShouldReturnAfterFirstAttemptToFindOneAfterDisablingImplicitWaits
imported/selenium/py/test/selenium/webdriver/common/implicit_waits_tests.py::testShouldImplicitlyWaitUntilAtLeastOneElementIsFoundWhenSearchingForMany
imported/selenium/py/test/selenium/webdriver/common/implicit_waits_tests.py::testShouldStillFailToFindAnElemenstWhenImplicitWaitsAreEnabled
imported/selenium/py/test/selenium/webdriver/common/implicit_waits_tests.py::testShouldReturnAfterFirstAttemptToFindManyAfterDisablingImplicitWaits
imported/selenium/py/test/selenium/webdriver/common/page_load_timeout_tests.py::testShouldTimeoutOnPageLoadTakingTooLong
imported/selenium/py/test/selenium/webdriver/common/page_load_timeout_tests.py::testShouldTimeoutOnPageLoadTakingTooLong
imported/selenium/py/test/selenium/webdriver/common/webdriverwait_tests.py::testShouldWaitOnlyAsLongAsTimeoutSpecifiedWhenImplicitWaitsAreSet

The following two tests regress, and will be looked into separately:

imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_invalid
imported/w3c/webdriver/tests/sessions/new_session/merge.py::test_merge_invalid

  • WebDriverService.cpp:

(WebDriver::integerValue): Helper function that retrieves an integer value
from a given JSON::Value object, if possible.
(WebDriver::deserializeTimeouts): Timeout JSON value has to be converted to
an integer, which is allowed if the value is of either Integer or Double type.
Helper integerValue() function retrieves the integer value, in addition to
ensuring that possible double value that we convert to an integer is already
in integer form to begin with.

2:01 AM Changeset in webkit [227495] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Source/WebCore

Merge r222966 - [MSE][GStreamer] Seek on youtube.com/tv fails after r217185
https://bugs.webkit.org/show_bug.cgi?id=177976

Reviewed by Jer Noble.

Covered by existing tests.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::seekToTime): Only call waitForSeekCompleted()
when the time is not buffered when using GStreamer.

1:41 AM WebKitGTK/2.18.x edited by Carlos Garcia Campos
(diff)
1:40 AM Changeset in webkit [227494] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Source/WebKit

Unreviewed. Disable the WebProcess memory monitor in 32 bits.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

1:37 AM Changeset in webkit [227493] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.18/Source/WebCore

Merge r226457 - SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded() should do nothing if the property is not animating
https://bugs.webkit.org/show_bug.cgi?id=181316
<rdar://problem/36147545>

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-01-05
Reviewed by Simon Fraser.

This is a speculative change to fix a crash which appeared after r226065.
The crash is very intermittent and sometimes very hard to reproduce. The
basic code analysis did not show how this crash can even happen.

  • svg/SVGAnimatedTypeAnimator.h:

(WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues): For SVG property
with two values, e.g. <SVGAngleValue, SVGMarkerOrientType>, we need to
detach the wrappers of the animated property if the animated values are
going to change. This is similar to what we did in resetFromBaseValue().

  • svg/properties/SVGAnimatedListPropertyTearOff.h:

(WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):

1:37 AM Changeset in webkit [227492] by Carlos Garcia Campos
  • 10 edits
    7 adds in releases/WebKitGTK/webkit-2.18

Merge r225273 - Strict and sloppy functions shouldn't share structure

1:37 AM Changeset in webkit [227491] by Carlos Garcia Campos
  • 3 edits
    1 add in releases/WebKitGTK/webkit-2.18

Merge r224539 - AccessCase::generateImpl() should exclude the result register when restoring registers after a call.
https://bugs.webkit.org/show_bug.cgi?id=179355
<rdar://problem/35263053>

Reviewed by Saam Barati.

JSTests:

  • stress/regress-179355.js: Added.

Source/JavaScriptCore:

In the Transition case in AccessCase::generateImpl(), we were restoring registers
using restoreLiveRegistersFromStackForCall() without excluding the scratchGPR
where we previously stashed the reallocated butterfly. If the generated code is
under heavy register pressure, scratchGPR could have been from the set of preserved
registers, and hence, would be restored by restoreLiveRegistersFromStackForCall().
As a result, the restoration would trash the butterfly result we stored there.
This patch fixes the issue by excluding the scratchGPR in the restoration.

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateImpl):

1:37 AM Changeset in webkit [227490] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Source/JavaScriptCore

Merge r224426 - The Abstract Interpreter needs to change similar to clobberize() in r224366
https://bugs.webkit.org/show_bug.cgi?id=179267

Reviewed by Saam Barati.

Add clobberWorld() to HasGenericProperty, HasStructureProperty & GetPropertyEnumerator
cases in the abstract interpreter to match what was done for r224366.

  • dfg/DFGAbstractInterpreterInlines.h:

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

1:36 AM Changeset in webkit [227489] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.18

Merge r224398 - Invalidate node list when associated form control element is removed
https://bugs.webkit.org/show_bug.cgi?id=179232
<rdar://problem/35308269>

Reviewed by Ryosuke Niwa.

Source/WebCore:

A node list represents a live view of the DOM. Invalidate the node list
associated with a form element whenever one of its associated form control
elements is removed.

Test: fast/forms/node-list-remove-button-from-form.html

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::removeFormElement):

LayoutTests:

Add a test to ensure the node list returned by HTMLFormElement.elements stays synchronized
with the document.

  • fast/forms/node-list-remove-button-from-form-expected.txt: Added.
  • fast/forms/node-list-remove-button-from-form.html: Added.
1:36 AM Changeset in webkit [227488] by Carlos Garcia Campos
  • 3 edits
    1 add in releases/WebKitGTK/webkit-2.18

Merge r224349 - AI does not correctly model the clobber case of ArithClz32
https://bugs.webkit.org/show_bug.cgi?id=179188

Reviewed by Michael Saboff.

JSTests:

  • stress/arith-clz32-effects.js: Added.

(foo):
(valueOf):

Source/JavaScriptCore:

The non-Int32 case clobbers the world because it may call valueOf.

  • dfg/DFGAbstractInterpreterInlines.h:

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

1:36 AM Changeset in webkit [227487] by Carlos Garcia Campos
  • 5 edits
    1 add in releases/WebKitGTK/webkit-2.18

Merge r224302 - Integer overflow in code generated by LoadVarargs processing in DFG and FTL.
https://bugs.webkit.org/show_bug.cgi?id=179140

Reviewed by Saam Barati.

JSTests:

New regression test.

  • stress/regress-179140.js: Added.

(testWithoutFTL):
(testWithFTL):

Source/JavaScriptCore:

Added overflow checks to computation of arg count plus this.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs):

1:36 AM Changeset in webkit [227486] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Source/WebKit

Merge r224135 - Attempt to fix the Apple El Capitan build following <https://trac.webkit.org/changeset/224134>
(https://bugs.webkit.org/show_bug.cgi?id=178919)

Move definition of NetworkLoad::isAllowedToAskUserForCredentials() outside of USE(NETWORK_SESSION)-guarded section.

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::isAllowedToAskUserForCredentials const):

1:36 AM Changeset in webkit [227485] by Carlos Garcia Campos
  • 15 edits
    29 adds in releases/WebKitGTK/webkit-2.18

Merge r224134 - Only allow non-mixed content protected subresources to ask for credentials
https://bugs.webkit.org/show_bug.cgi?id=178919
<rdar://problem/35015245>

Reviewed by Alex Christensen.

Source/WebCore:

Only allow non-mixed content protected subresources to ask for credentials. It is not meaningful
to allow protected mixed-content subresources to ask for credentials.

Tests: http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image.html

http/tests/security/mixedContent/insecure-script-redirects-to-basic-auth-secure-script.html
http/tests/security/mixedContent/insecure-stylesheet-redirects-to-basic-auth-secure-stylesheet.html
http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image.https.html
http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image.https.html
http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https.html

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::ResourceLoader): Initialize m_canAskClientForCredentials based on the
specified resource loader options.
(WebCore::ResourceLoader::init): Update m_canAskClientForCredentials based on the URL of the initial
request.
(WebCore::ResourceLoader::isMixedContent const): Helper function to check if the specified URL
represents a mixed content resource.
(WebCore::ResourceLoader::willSendRequestInternal): If the original request or the redirect request
is mixed content then update state such that we will disallow asking for credentials.
(WebCore::ResourceLoader::isAllowedToAskUserForCredentials const): Modified to use m_canAskClientForCredentials
when determining whether the request is allowed to ask for credentials.

  • loader/ResourceLoader.h:

Source/WebKit:

Only allow non-mixed content protected subresources to ask for credentials. It is not meaningful
to allow protected mixed-content subresources to ask for credentials.

  • NetworkProcess/Downloads/PendingDownload.cpp:

(WebKit::PendingDownload::PendingDownload): Initialize m_isAllowedToAskUserForCredentials based on
the specified resource load parameters or NetworkLoad object.

  • NetworkProcess/Downloads/PendingDownload.h: Add override for NetworkLoadClient::isAllowedToAskUserForCredentials().
  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::isAllowedToAskUserForCredentials const): Added.
(WebKit::NetworkLoad::completeAuthenticationChallenge): Ask NetworkLoadClient whether the load is
allowed to prompt for credentials.
(WebKit::NetworkLoad::didReceiveAuthenticationChallenge): Ditto.

  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/NetworkLoadClient.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader): Initialize m_isAllowedToAskUserForCredentials
based on the specified resource load parameters.
(WebKit::NetworkResourceLoader::willSendRedirectedRequest): We do not support prompting for credentials
for synchronous loads.
(WebKit::NetworkResourceLoader::continueWillSendRequest): Modified to take an argument as to whether the
load is allowed to ask the user for credentials and updates state.

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/NetworkResourceLoader.messages.in: Modified message ContinueWillSendRequest to take a

boolean as to whether the load is allowed to ask the user for credentials.

  • NetworkProcess/PreconnectTask.h: Override NetworkLoadClient::isAllowedToAskUserForCredentials()

such that we never ask for credentials. This matches our current behavior.

  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.h: Ditto.
  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::willSendRequest): Query ResourceLoader as to whether the load is allowed to
ask the user for credentials and pass this state to NetworkResourceLoader.

LayoutTests:

  • http/tests/security/mixedContent/insecure-download-redirects-to-basic-auth-secure-download.https-expected.txt: Added.
  • http/tests/security/mixedContent/insecure-download-redirects-to-basic-auth-secure-download.https.html: Added.
  • http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-expected.txt: Added.
  • http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image.html: Added.
  • http/tests/security/mixedContent/insecure-script-redirects-to-basic-auth-secure-script-expected.https.txt: Added.
  • http/tests/security/mixedContent/insecure-script-redirects-to-basic-auth-secure-script-expected.txt: Added.
  • http/tests/security/mixedContent/insecure-script-redirects-to-basic-auth-secure-script.html: Added.
  • http/tests/security/mixedContent/insecure-stylesheet-redirects-to-basic-auth-secure-stylesheet-expected.txt: Added.
  • http/tests/security/mixedContent/insecure-stylesheet-redirects-to-basic-auth-secure-stylesheet.html: Added.
  • http/tests/security/mixedContent/resources/frame-with-insecure-image-redirects-to-basic-auth-secure-image.html: Added.
  • http/tests/security/mixedContent/resources/frame-with-insecure-script-redirects-to-basic-auth-secure-script.html: Added.
  • http/tests/security/mixedContent/resources/frame-with-insecure-stylesheet-redirects-to-basic-auth-secure-stylesheet.html: Added.
  • http/tests/security/mixedContent/resources/frame-with-programmatically-added-insecure-image-redirects-to-basic-auth-secure-image.html: Added.
  • http/tests/security/mixedContent/resources/subresource/protected-image.php: Added.
  • http/tests/security/mixedContent/resources/subresource/protected-pdf.php: Added.
  • http/tests/security/mixedContent/resources/subresource/protected-script.php: Added.
  • http/tests/security/mixedContent/resources/subresource/protected-stylesheet.php: Added.
  • http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image.https-expected.txt: Added.
  • http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image.https.html: Added.
  • http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image.https-expected.txt: Added.
  • http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image.https.html: Added.
  • http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https-expected.txt: Added.
  • http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https.html: Added.
  • platform/ios-wk1/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https-expected.txt: Added.
  • platform/mac-wk1/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https-expected.txt: Added.
  • platform/win/http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image.https-expected.txt: Added.
1:35 AM Changeset in webkit [227484] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Source/WebInspectorUI

Merge r222762 - Web Inspector: Escape more characters in posix string conversion
https://bugs.webkit.org/show_bug.cgi?id=177761
<rdar://problem/34506832>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-10-02
Reviewed by Brian Burg.

  • UserInterface/Models/Resource.js:

(WI.Resource.prototype.generateCURLCommand.escapeStringPosix):
Escape '!' to '\041' in posix strings ($'...') since '!' may have special behavior at times.

1:28 AM Changeset in webkit [227483] by Manuel Rego Casasnovas
  • 1 edit
    2 deletes in trunk/LayoutTests

Remove unneeded -expected.txt files for reftest

Unreviewed gardening.

The test fast/multicol/pagination/RightToLeft-max-width.html was converted
into a reftest in r217943, however expectations for GTK+ and Win port were not removed.

  • platform/gtk/fast/multicol/pagination/RightToLeft-max-width-expected.txt: Removed.
  • platform/win/fast/multicol/pagination/RightToLeft-max-width-expected.txt: Removed.
1:20 AM Changeset in webkit [227482] by Antti Koivisto
  • 2 edits in trunk/Tools

Add Chris Nardi to contributors list
https://bugs.webkit.org/show_bug.cgi?id=182029

Patch by Chris Nardi <cnardi@chromium.org> on 2018-01-24
Reviewed by Antti Koivisto.

  • Scripts/webkitpy/common/config/contributors.json:
1:17 AM Changeset in webkit [227481] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKitLegacy/win

Unreviewed, another attempt to fix the Windows build after r227479.

  • WebFrame.cpp:

(WebFrame::elementWithName):

1:01 AM Changeset in webkit [227480] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKitLegacy/win

Unreviewed, try to fix the Windows build after r227479.

Tweak some Windows WebKitLegacy code to use updated HTMLFormElement methods.

  • WebFrame.cpp:

(WebFrame::elementWithName):
(WebFrame::controlsInForm):

12:19 AM Changeset in webkit [227479] by Wenson Hsieh
  • 13 edits
    2 adds in trunk

Harden against layout passes triggered when iterating through HTMLFormElement::associatedElements
https://bugs.webkit.org/show_bug.cgi?id=182037
<rdar://problem/36747812>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Observe that HTMLFormElement::associatedElements returns a const reference to a Vector of raw
FormAssociatedElement pointers. In various call sites that iterate through these associated elements using this
function, some require synchronous layout updates per iteration, which can lead to a bad time when combined with
the first observation.

To address this, we introduce HTMLFormElement::copyAssociatedElementsVector. This returns a new vector
containing strong Refs to each associated element. From each call site that may trigger synchronous layout and
execute arbitrary script while iterating over associated form elements, we instead use iterate over protected
FormAssociatedElements.

From each call site that currently doesn't (and shouldn't) require a layout update, we use the old version that
returns a list of raw FormAssociatedElement pointers, but add ScriptDisallowedScopes to ensure that we never
execute script there in the future.

Test: fast/forms/form-data-associated-element-iteration.html

  • html/DOMFormData.cpp:

(WebCore::DOMFormData::DOMFormData):

Change to use copyAssociatedElementsVector().

  • html/FormController.cpp:

(WebCore::recordFormStructure):
(WebCore::FormController::restoreControlStateIn):

Change to use copyAssociatedElementsVector().

  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::copyAssociatedElementsVector const):
(WebCore:: const):
(WebCore::HTMLFieldSetElement::length const):

Refactor to use unsafeAssociatedElements().

  • html/HTMLFieldSetElement.h:
  • html/HTMLFormControlsCollection.cpp:

(WebCore:: const):
(WebCore::HTMLFormControlsCollection::copyFormControlElementsVector const):
(WebCore::HTMLFormControlsCollection::customElementAfter const):
(WebCore::HTMLFormControlsCollection::updateNamedElementCache const):

Refactor these to use unsafeAssociatedElements().

  • html/HTMLFormControlsCollection.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::unsafeAssociatedElements const):
(WebCore::HTMLFormElement::copyAssociatedElementsVector const):

  • html/HTMLFormElement.h:
  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):

Refactor to use copyAssociatedElementsVector().

Source/WebKitLegacy/mac:

Rename associatedElements() to unsafeAssociatedElements(), and add ScriptDisallowedScopes. See WebCore ChangeLog
for more details.

  • WebView/WebHTMLRepresentation.mm:

(-[WebHTMLRepresentation elementWithName:inForm:]):
(-[WebHTMLRepresentation controlsInForm:]):

LayoutTests:

Add a new layout test covering these hardening changes. See WebCore ChangeLog for more details.

  • fast/forms/form-data-associated-element-iteration-expected.txt: Added.
  • fast/forms/form-data-associated-element-iteration.html: Added.

Jan 23, 2018:

11:04 PM Changeset in webkit [227478] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, suppress GCC warnings
https://bugs.webkit.org/show_bug.cgi?id=181976

  • runtime/TypedArrayType.h:
9:47 PM Changeset in webkit [227477] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari 11.0.3

Added a tag for Safari 11.0.3.

9:46 PM Changeset in webkit [227476] by mitz@apple.com
  • 8 copies
    1 add in releases/Apple/iOS 11.2.5

Added a tag for iOS 11.2.5.

9:22 PM Changeset in webkit [227475] by jmarcell@apple.com
  • 47 edits in branches/safari-605-branch/LayoutTests

Apply patch. rdar://problem/36685708

Update test results for features disabled on branch
<rdar://problem/36685708>

9:22 PM Changeset in webkit [227474] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebInspectorUI

Cherry-pick r227463. rdar://problem/36807123

9:22 PM Changeset in webkit [227473] by jmarcell@apple.com
  • 6 edits in branches/safari-605-branch/Source/JavaScriptCore

Cherry-pick r227462. rdar://problem/36807140

9:22 PM Changeset in webkit [227472] by jmarcell@apple.com
  • 19 edits in branches/safari-605-branch

Cherry-pick r227457. rdar://problem/36807161

8:59 PM Changeset in webkit [227471] by Yusuke Suzuki
  • 4 edits
    209 adds in trunk/LayoutTests

Import WPT for modules
https://bugs.webkit.org/show_bug.cgi?id=181981

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

This patch just imports WPT for modules mechanically.

  • resources/import-expectations.json:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/bad-module-specifier.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-01-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-01.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-02-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-02.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-03-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-03.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-1-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-1.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-2-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-2.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/credentials.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/credentials.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-common.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-different.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-missingheader.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-same.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-wrongheader.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-different.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-missingheader.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-same.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-root-wrongheader.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/currentScript-null-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/currentScript-null.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/currentscript.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/custom-element-exception-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/custom-element-exception.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access-a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/cycle-tdz-access.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable-a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/cycle-unresolvable.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-fetch-error.sub-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-fetch-error.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/inline-event-handler-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/inline-event-handler.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-classic-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-classic.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-module-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external-module.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-external.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-classic-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-classic.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-module-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/propagate-nonce-inline-module.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-classic-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-classic.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-module-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-module.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-classic-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-classic.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-module-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-module.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/w3c-import.log: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-common.js: Added.

(errorHandler):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-root.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype-import.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-1-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-1.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-2-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-2.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-3-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-3.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-4-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-4.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered2.js: Added.

(test_dynamicOrdered.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered3.js: Added.

(test_dynamicOrdered.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered4.js: Added.

(test_dynamicOrdered.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered1.js: Added.

(test_dynamicUnordered1.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered2.js: Added.

(test_dynamicUnordered2.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered2.js: Added.

(test_parsedOrdered.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered4.js: Added.

(test_parsedOrdered.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered1.js: Added.

(test_parsedUnordered1.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered2.js: Added.

(test_parsedUnordered2.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/execorder.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/export-something-nested.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/export-something.js: Added.

(export.set_foo):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-1-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-1.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/fetch-error-2.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/import-something-namespace.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/import-subgraph-404-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/import-subgraph-404.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-cycle-b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-cycle.js: Added.

(test_importCycle.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-inc-a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-inc-ab.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-inc-b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-self-inner.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports-self.js: Added.

(test_importSelf.step):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/imports.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-2-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-2.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-3-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-3.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4c.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-4d.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5c.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5d.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-5e.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6c.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-6d.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7c.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7d.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7e.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-7f.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/instantiation-error-8.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-matches-inner.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-matches.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches-inner.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-mismatches.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/late-namespace-request-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/late-namespace-request.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/late-star-export-request-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/late-star-export-request.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/load-error-events-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/load-error-events-inline-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/load-error-events-inline.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/load-error-events.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/missing-export-nested.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/missing-export.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-in-xhtml-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-in-xhtml.xhtml: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-1-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-1.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-2-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/module-vs-script-2.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/nested-missing-export.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/nomodule-attribute-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/nomodule-attribute.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/404-but-js.asis: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/500-but-js.asis: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/check-cookie.py: Added.

(main):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/credentials-iframe.sub.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/delayed-modulescript.py: Added.

(main):

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8-with-charset-header.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/import-non-utf8.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8-with-charset-header.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/import-utf8.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/imports-404-but-js.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/imports-500-but-js.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/imports-b-cross-origin.sub.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/resources/w3c-import.log: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/script-for-event-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/script-for-event.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/set-currentScript-on-window.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-1-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-1.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-2-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/single-evaluation-2.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/slow-cycle-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/slow-cycle.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-a.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/slow-module-graph-b.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/specifier-error-expected.txt: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/specifier-error.html: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/syntaxerror-nested.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/syntaxerror.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/this-nested.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/this.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/throw-error.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/throw-nested.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/throw.js: Added.
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/w3c-import.log: Added.

LayoutTests:

8:54 PM Changeset in webkit [227470] by jmarcell@apple.com
  • 57 edits
    4 adds in branches/safari-605-branch

Cherry-pick r227425. rdar://problem/36791667

8:51 PM Changeset in webkit [227469] by Yusuke Suzuki
  • 4 edits in trunk/Source/JavaScriptCore

[YARR] Add diagnosis for YarrJIT failures
https://bugs.webkit.org/show_bug.cgi?id=181927

Reviewed by Sam Weinig.

It is nice if we can see the reason why YarrJIT fails to compile a given pattern.
This patch introduces Yarr::JITFailureReason and dumps messages if Options::dumpCompiledRegExpPatterns is specified.

  • runtime/RegExp.cpp:

(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::generateTerm):
(JSC::Yarr::YarrGenerator::backtrackTerm):
(JSC::Yarr::YarrGenerator::opCompileParenthesesSubpattern):
(JSC::Yarr::YarrGenerator::YarrGenerator):
(JSC::Yarr::YarrGenerator::compile):
(JSC::Yarr::dumpCompileFailure):
(JSC::Yarr::jitCompile):

  • yarr/YarrJIT.h:

(JSC::Yarr::YarrCodeBlock::setFallBack):
(JSC::Yarr::YarrCodeBlock::fallBack):
(JSC::Yarr::YarrCodeBlock::clear):
(JSC::Yarr::YarrCodeBlock::YarrCodeBlock): Deleted.
(JSC::Yarr::YarrCodeBlock::~YarrCodeBlock): Deleted.
(JSC::Yarr::YarrCodeBlock::isFallBack): Deleted.

8:35 PM Changeset in webkit [227468] by Yusuke Suzuki
  • 3 edits
    7 adds in trunk

Add more module scope related tests with code evaluation by string
https://bugs.webkit.org/show_bug.cgi?id=181983

Reviewed by Sam Weinig.

JSTests:

Add more module scope related tests. When the original tests are landed,
we do not have browser integration. This patch adds more module scope tests
with dynamically created script evaluation. We add tests with Function
constructor, direct eval, indirect eval, setTimeout, setInterval, and event handlers.

  • modules/scopes-eval.js: Added.

(shouldBe):

  • modules/scopes.js:

(shouldBe):

LayoutTests:

  • js/dom/modules/module-scope-event-handler-expected.txt: Added.
  • js/dom/modules/module-scope-event-handler.html: Added.
  • js/dom/modules/module-scope-set-interval-expected.txt: Added.
  • js/dom/modules/module-scope-set-interval.html: Added.
  • js/dom/modules/module-scope-set-timeout-expected.txt: Added.
  • js/dom/modules/module-scope-set-timeout.html: Added.
6:27 PM Changeset in webkit [227467] by achristensen@apple.com
  • 11 edits in trunk/Source

Remove pre-Sierra-OS-specific code in WTF and JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=182028

Reviewed by Keith Miller.

Source/JavaScriptCore:

  • inspector/remote/cocoa/RemoteInspectorXPCConnection.h:
  • inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:

(Inspector::RemoteInspectorXPCConnection::handleEvent):

Source/WTF:

  • wtf/Platform.h:
  • wtf/mac/AppKitCompatibilityDeclarations.h:
  • wtf/mac/DeprecatedSymbolsUsedBySafari.mm:

(WTF::MainThreadFunctionTracker::singleton): Deleted.
(WTF::MainThreadFunctionTracker::callOnMainThread): Deleted.
(WTF::MainThreadFunctionTracker::cancelCallOnMainThread): Deleted.
(WTF::MainThreadFunctionTracker::addFunction): Deleted.
(WTF::MainThreadFunctionTracker::removeIdentifier): Deleted.
(WTF::MainThreadFunctionTracker::removeFunctions): Deleted.
(WTF::callOnMainThread): Deleted.
(WTF::cancelCallOnMainThread): Deleted.

  • wtf/spi/cocoa/SecuritySPI.h:
  • wtf/spi/darwin/dyldSPI.h:
  • wtf/text/icu/TextBreakIteratorICU.h:

(WTF::TextBreakIteratorICU::TextBreakIteratorICU):
(WTF::caretRules): Deleted.

5:09 PM Changeset in webkit [227466] by jmarcell@apple.com
  • 21 edits
    2 deletes in branches/safari-605-branch

Revert r227216. rdar://problem/36722508

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

[Curl] Fix wrong redirection with relative url when it happens from
different host than original host.
https://bugs.webkit.org/show_bug.cgi?id=181873

Patch by Basuke Suzuki <Basuke Suzuki> on 2018-01-23
Reviewed by Alex Christensen.

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::willSendRequest):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::willSendRequest):

5:07 PM Changeset in webkit [227464] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181958

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:46 PM Changeset in webkit [227463] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Network's columns shake when scrolling at non-default zoom level
https://bugs.webkit.org/show_bug.cgi?id=181998
<rdar://problem/36449808>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-23
Reviewed by Matt Baker.

  • UserInterface/Views/Table.js:

When zoomed the bounding client rect values were fractional, which was
unexpected by this area of code. Floor the values to get a value we expect
to be able to evenly distribute.

4:40 PM Changeset in webkit [227462] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Use precise index masking for FTL GetByArgumentByVal
https://bugs.webkit.org/show_bug.cgi?id=182006

Reviewed by Keith Miller.

This protects speculative out-of-bounds on arguments[index].

Making this work right involved fixing a possible overflow situation with
numberOfArgumentsToSkip.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::findArgumentPositionForLocal):

  • dfg/DFGGraph.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasNumberOfArgumentsToSkip):
(JSC::DFG::Node::numberOfArgumentsToSkip):

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal):

4:31 PM Changeset in webkit [227461] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked fast/visual-viewport/ios/caret-after-focus-in-fixed.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=181821

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
4:30 PM Changeset in webkit [227460] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Mac Sierra perf bots have been failing due to CG errors
https://bugs.webkit.org/show_bug.cgi?id=181955

Reviewed by Antti Koivisto.

Ignore the CoreGraphics error messages on macOS Sierra.

Also added tests for ignoring lines in stdout and stderr.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest.run_failed): Refactored for clarity.
(PerfTest):
(PerfTest.filter_ignored_lines): Added.
(PerfTest._lines_to_ignore): Renamed from _lines_to_ignore_in_parser_result since these regular expressions
are now used to ignore lines in other kinds of tests than parser tests.
(PerfTest._errors_to_ignore_in_sierra): Added.
(PerfTest._filter_output): Added the code to ignore errors only on macOS Sierra.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(test_parse_output_with_ignored_stdout): Added.
(test_parse_output_with_ignored_stderr): Added.
(test_parse_output_with_ignored_stderr.MockPortWithSierraName): Added.

3:53 PM Changeset in webkit [227459] by jmarcell@apple.com
  • 54 edits
    7 adds in tags/Safari-606.1.1.2

Cherry-pick r227156. rdar://problem/36628581

3:50 PM Changeset in webkit [227458] by jmarcell@apple.com
  • 7 edits in tags/Safari-606.1.1.2/Source

Versioning.

3:34 PM Changeset in webkit [227457] by eric.carlson@apple.com
  • 19 edits in trunk

Resign NowPlaying status when no media element is eligible
https://bugs.webkit.org/show_bug.cgi?id=181914
<rdar://problem/35294116>

Reviewed by Jer Noble.

Source/WebCore:

Updated API test.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::removedFromAncestor): Call mediaSession->clientCharacteristicsChanged
so NowPlaying status will be updated.

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::playbackPermitted const): Return early when the media
element has been suspended.
(WebCore::MediaElementSession::canShowControlsManager const): Return false when being queried
for NowPlaying status in an inactive document or when element has been suspended.
(WebCore::isMainContentForPurposesOfAutoplay): Return early if it isn't safe to update
style because HitTest can force a layout.
(WebCore::MediaElementSession::updateIsMainContent const): Ditto.

  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary): Implement in for all
ports.

  • platform/audio/PlatformMediaSessionManager.h:

(WebCore::PlatformMediaSessionManager::registeredAsNowPlayingApplication const):

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/mac/MediaSessionManagerMac.h:
  • platform/audio/mac/MediaSessionManagerMac.mm:

(WebCore::MediaSessionManagerMac::updateNowPlayingInfo): Call MRMediaRemoteSetCanBeNowPlayingApplication
whenever status changes.
(WebCore::PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary): Deleted, implemented
in the base class.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _requestActiveNowPlayingSessionInfo:]): Return registeredAsNowPlayingApplication
status.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::nowPlayingInfoCallback): Ditto.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::requestActiveNowPlayingSessionInfo): Ditto.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:

(-[NowPlayingTestWebView hasActiveNowPlayingSession]):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/large-video-test-now-playing.html:
3:25 PM Changeset in webkit [227456] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Skipped fast/events/message-port.html on macOS
https://bugs.webkit.org/show_bug.cgi?id=181969

Unreviewed test gardening.

  • platform/mac/TestExpectations:
3:22 PM Changeset in webkit [227455] by achristensen@apple.com
  • 36 edits in trunk/Source

Use CompletionHandlers for ResourceHandleClient::didReceiveResponseAsync
https://bugs.webkit.org/show_bug.cgi?id=181961

Reviewed by Michael Catanzaro.

Source/WebCore:

No change in behavior.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::didReceiveResponseAsync):

  • loader/ResourceLoader.h:
  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::didReceiveResponseAsync):

  • loader/appcache/ApplicationCacheGroup.h:
  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
(WebCore::BlobResourceHandle::notifyResponseOnError):
(WebCore::BlobResourceHandle::continueDidReceiveResponse): Deleted.

  • platform/network/BlobResourceHandle.h:
  • platform/network/PingHandle.h:
  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::didReceiveResponse):

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.h:
  • platform/network/SynchronousLoaderClient.cpp:

(WebCore::SynchronousLoaderClient::didReceiveResponseAsync):

  • platform/network/SynchronousLoaderClient.h:
  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueDidReceiveResponse): Deleted.

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::curlDidReceiveResponse):
(WebCore::ResourceHandleCurlDelegate::handleDataURL):
(WebCore::ResourceHandleCurlDelegate::continueDidReceiveResponse): Deleted.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::continueDidReceiveResponse): Deleted.

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate continueDidReceiveResponse]): Deleted.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::nextMultipartResponsePartCallback):
(WebCore::sendRequestCallback):
(WebCore::ResourceHandle::continueDidReceiveResponse): Deleted.

Source/WebKit:

  • NetworkProcess/Downloads/Download.h:
  • NetworkProcess/NetworkLoad.cpp:
  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/NetworkResourceLoadParameters.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:
  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
  • WebProcess/WebPage/mac/WebPageMac.mm:
  • WebProcess/WebProcess.cpp:

Source/WebKitLegacy:

  • WebCoreSupport/WebResourceLoadScheduler.cpp:

Source/WebKitLegacy/mac:

  • WebView/WebPreferences.mm:
3:21 PM Changeset in webkit [227454] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked media/W3C/audio/events/event_progress.html and media/W3C/video/events/event_order_loadstart_progress.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181966

Unreviewed test gardening.

  • platform/mac/TestExpectations:
3:19 PM Changeset in webkit [227453] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Follow-up for: oss-fuzz jsc build is broken: StringImpl.h:27:10: fatal error: 'unicode/ustring.h' file not found
<https://webkit.org/b/181871>
<rdar://problem/36669691>

Address feedback for this change.

  • CMakeLists.txt: Change "SYSTEM PUBLIC" to "SYSTEM PRIVATE" per

feedback from Konstantin Tokarev.

3:15 PM Changeset in webkit [227452] by Chris Dumez
  • 21 edits
    2 deletes in trunk

Unreviewed, rollout r227216 as it seems to be causing deadlocks
https://bugs.webkit.org/show_bug.cgi?id=182013

Source/WebCore:

  • page/ChromeClient.h:
  • testing/Internals.cpp:

(WebCore::Internals::testIncomingSyncIPCMessageWhileWaitingForSyncReply): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

  • Platform/IPC/Connection.cpp:

(IPC::Connection::waitForSyncReply):

  • Platform/IPC/Connection.h:

(IPC::Connection::setShouldProcessIncomingMessagesWhileWaitingForSyncReply): Deleted.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::testIncomingSyncIPCMessageWhileWaitingForSyncReply): Deleted.

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

(WebKit::NetworkProcessConnection::NetworkProcessConnection):

  • WebProcess/Storage/WebToStorageProcessConnection.cpp:

(WebKit::WebToStorageProcessConnection::WebToStorageProcessConnection):

  • WebProcess/WebConnectionToUIProcess.cpp:

(WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::testIncomingSyncIPCMessageWhileWaitingForSyncReply): Deleted.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::undo):
(WebKit::WebEditorClient::redo):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::syncIPCMessageWhileWaitingForSyncReplyForTesting): Deleted.

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

LayoutTests:

  • fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply-expected.txt: Removed.
  • fast/misc/testIncomingSyncIPCMessageWhileWaitingForSyncReply.html: Removed.
3:14 PM Changeset in webkit [227451] by Matt Lewis
  • 3 edits in trunk/LayoutTests

Marked http/tests/misc/resource-timing-resolution.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181957

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
3:14 PM Changeset in webkit [227450] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

REGRESSION (r226622): ASSERTION FAILED: !m_frame in WebCore::DOMWindowProperty::willDestroyGlobalObjectInCachedFrame()
https://bugs.webkit.org/show_bug.cgi?id=181756

Patch by Ali Juma <ajuma@chromium.org> on 2018-01-23
Reviewed by Simon Fraser.

Don't create a VisualViewport for a suspended DOMWindow. When a DOMWindow is suspended
for document suspension, all DOMWindowProperties are disconnected from their frame.
Creating a new VisualViewport while in this state means unexpectedly having a DOMWindowProperty
that's connected to a frame, and this leads to an assertion failure.

Test: http/tests/navigation/https-in-page-cache.html

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::visualViewport const):
Don't create a VisualViewport while suspended.

  • page/FrameView.cpp:

(WebCore::FrameView::updateLayoutViewport):
Handle null DOMWindow::visualViewport.

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

[Curl] CurlRequest must protect its client from disposal while it's on duty.
https://bugs.webkit.org/show_bug.cgi?id=181875

Patch by Basuke Suzuki <Basuke Suzuki> on 2018-01-23
Reviewed by Alex Christensen.

No new tests. It's covered by existing tests.

  • platform/network/curl/CurlDownload.h:
  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::callClient):
(WebCore::CurlRequest::didReceiveData):
(WebCore::CurlRequest::didReceiveDataFromMultipart):
(WebCore::CurlRequest::didCompleteTransfer):
(WebCore::CurlRequest::invokeDidReceiveResponse):

  • platform/network/curl/CurlRequest.h:
  • platform/network/curl/CurlRequestClient.h:
  • platform/network/curl/ResourceHandleCurlDelegate.h:
2:30 PM Changeset in webkit [227448] by jmarcell@apple.com
  • 11 edits in branches/safari-605-branch/Source/JavaScriptCore

Cherry-pick r227434. rdar://problem/36791632

2:30 PM Changeset in webkit [227447] by jmarcell@apple.com
  • 3 edits in branches/safari-605-branch/Source/JavaScriptCore

Cherry-pick r227431. rdar://problem/36791656

2:30 PM Changeset in webkit [227446] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227429. rdar://problem/36791608

2:30 PM Changeset in webkit [227445] by jmarcell@apple.com
  • 4 edits in branches/safari-605-branch/Source

Cherry-pick r227424. rdar://problem/36791625

2:30 PM Changeset in webkit [227444] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227419. rdar://problem/36791643

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

[WinCairo] Use 64-bit toolset
https://bugs.webkit.org/show_bug.cgi?id=181979

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2018-01-23
Reviewed by Alex Christensen.

Use 64-bit toolset for 64-bit build in order to improve build time.

  • Scripts/webkitdirs.pm:

(generateBuildSystemFromCMakeProject):

1:42 PM Changeset in webkit [227442] by commit-queue@webkit.org
  • 14 edits in trunk/Source

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

broke build (Requested by alexchristensen on #webkit).

Reverted changeset:

"Remove unused QTKit preference"
https://bugs.webkit.org/show_bug.cgi?id=181968
https://trac.webkit.org/changeset/227437

1:40 PM Changeset in webkit [227441] by graouts@webkit.org
  • 2 edits in trunk/Source/WebCore

[Web Animations] Expose getKeyframes() and parsing of remaining keyframe properties
https://bugs.webkit.org/show_bug.cgi?id=181978

Not reviewed.

Fix failures for http/wpt/web-animations/interfaces/AnimationEffectTiming/easing.html introduced in the previous patch.
Those keyword values are not expected.

  • platform/animation/TimingFunction.cpp:

(WebCore::TimingFunction::cssText const):

1:39 PM Changeset in webkit [227440] by Simon Fraser
  • 4 edits
    2 adds in trunk

feMorphology stops applying if either x or y radius is 0 but should not.
https://bugs.webkit.org/show_bug.cgi?id=181903

Reviewed by Dean Jackson.
Source/WebCore:

feMorphology should allow the radius on one axis to be zero but still apply the effect
(it's akin to a blur on just one axis). Also, any negative radius, or zero on both axes
should act like a pass-through, rather than outputting transparent blank (this is a spec
change from SVG 1.1 to SVG 2).

Tests: svg/filters/feMorphology-zero-radius-one-axis-expected.svg

svg/filters/feMorphology-zero-radius-one-axis.svg

  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::FEMorphology::platformApplyDegenerate):

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::createImageBufferResult):

LayoutTests:

  • svg/filters/feMorphology-zero-radius-one-axis-expected.svg: Added.
  • svg/filters/feMorphology-zero-radius-one-axis.svg: Added.
1:33 PM Changeset in webkit [227439] by achristensen@apple.com
  • 8 edits in trunk/Source/WebCore

Remove unused MediaPlayerSupportsTypeClient
https://bugs.webkit.org/show_bug.cgi?id=182003

Reviewed by Sam Weinig.

This was used for a QTKit-specific hack I removed in r227372.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::getSupportedCapabilitiesForAudioVideoType):

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::isTypeSupported):

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementationSupportsTypeClient::DOMImplementationSupportsTypeClient): Deleted.
(): Deleted.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::canPlayType const):
(WebCore::HTMLMediaElement::selectNextSourceChild):
(WebCore::HTMLMediaElement::mediaPlayerNeedsSiteSpecificHacks const): Deleted.
(WebCore::HTMLMediaElement::mediaPlayerDocumentHost const): Deleted.

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::supportsType):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerSupportsTypeClient::mediaPlayerNeedsSiteSpecificHacks const): Deleted.
(WebCore::MediaPlayerSupportsTypeClient::mediaPlayerDocumentHost const): Deleted.

1:32 PM Changeset in webkit [227438] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit

Remove compile guard around beacon API
https://bugs.webkit.org/show_bug.cgi?id=182002

Reviewed by Sam Weinig.

It's enabled everywhere now.

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetBeaconAPIEnabled):
(WKPreferencesGetBeaconAPIEnabled):

  • config.h:
1:06 PM Changeset in webkit [227437] by achristensen@apple.com
  • 14 edits in trunk/Source

Remove unused QTKit preference
https://bugs.webkit.org/show_bug.cgi?id=181968

Reviewed by Alexey Proskuryakov.

Source/WebCore:

They weren't used and didn't do anything.

  • page/DeprecatedGlobalSettings.cpp:

(WebCore::DeprecatedGlobalSettings::setQTKitEnabled): Deleted.

  • page/DeprecatedGlobalSettings.h:

(WebCore::DeprecatedGlobalSettings::isQTKitEnabled): Deleted.

Source/WebKit:

  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKPreferencesSetQTKitEnabled):
(WKPreferencesGetQTKitEnabled):

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetQTKitEnabled): Deleted.
(WKPreferencesGetQTKitEnabled): Deleted.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _setQTKitEnabled:]): Deleted.
(-[WKPreferences _qtKitEnabled]): Deleted.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Source/WebKitLegacy/mac:

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

(+[WebPreferences initialize]):
(-[WebPreferences setQTKitEnabled:]): Deleted.
(-[WebPreferences isQTKitEnabled]): Deleted.

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

(-[WebView _preferencesChanged:]):

12:50 PM Changeset in webkit [227436] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[macOS] WebProcess needs TCC entitlements for media capture
https://bugs.webkit.org/show_bug.cgi?id=181995
<rdar://problem/36674649>

Reviewed by Eric Carlson.

  • Configurations/WebContent-OSX.entitlements: Add delegated services needed to support media

capture features.

12:49 PM Changeset in webkit [227435] by rmorisset@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Rollout r219636
https://bugs.webkit.org/show_bug.cgi?id=181997
<rdar://problem/35883022>

Unreviewed, as it is a rollout.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitAllocateRawObject):

  • runtime/JSArray.cpp:

(JSC::JSArray::tryCreateUninitializedRestricted):

  • runtime/JSArray.h:

(JSC::JSArray::tryCreate):

  • runtime/JSObject.cpp:

(JSC::JSObject::ensureLengthSlow):

12:39 PM Changeset in webkit [227434] by mark.lam@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Re-arrange TypedArray JSTypes to match the order of the TypedArrayType enum list.
https://bugs.webkit.org/show_bug.cgi?id=181976
<rdar://problem/36766936>

Reviewed by Filip Pizlo.

  1. The order of TypedArray JSTypes now matches the order the TypedArrayType enum list. I also added static asserts in TypedArrayType.h to enforce this.

Also redefined FOR_EACH_TYPED_ARRAY_TYPE() in terms of

  1. Define 4 new values:
    1. FirstTypedArrayType
    2. LastTypedArrayType
    3. NumberOfTypedArrayTypesExcludingDataView
    4. NumberOfTypedArrayTypes

Use these everywhere where we iterate or bisect the TypedArray JSTypes.

  1. Removed NUMBER_OF_TYPED_ARRAY_TYPES, and use NumberOfTypedArrayTypes instead.
  1. Simplify the code that converts between TypedArrayType and JSType.

Changed typedArrayTypeForType() to be the mirror image of typeForTypedArrayType().
Previously, typedArrayTypeForType() converts DataViewType to NotTypedArray
instead of TypeDataView. Now, it converts to TypeDataView.

This does not result in any change of behavior because typedArrayTypeForType()
is only called in Structure::hasIndexingHeader(), and its result is passed to
isTypedView(), which handles TypeDataView correctly.

  1. Also fixed a bug in SpeculativeJIT::compileGetTypedArrayByteOffset(). If the vector is null, we can skip the rest of the checks. While the current code does not result in incorrect behavior, it is inefficient, and communicates wrong information to the reader i.e. implying that there's something in the dataGPR when there's not. The dataGPR should also be null in this case.
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIsTypedArrayView):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::isTypedArrayView):

  • ftl/FTLOSRExit.cpp:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::visitChildren):

  • runtime/JSType.h:
  • runtime/TypedArrayType.cpp:

(JSC::typeForTypedArrayType): Deleted.

  • runtime/TypedArrayType.h:

(JSC::typedArrayTypeForType):
(JSC::typeForTypedArrayType):

12:32 PM Changeset in webkit [227433] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

[Cocoa] Disable header postprocessing when building for macOS High Sierra
https://bugs.webkit.org/show_bug.cgi?id=181972

Reviewed by Anders Carlsson.

  • Configurations/WebKit.xcconfig: Adopt macOSTargetConditionals.xcconfig helpers and disable postprocessing when building for macOS 10.13.
12:30 PM Changeset in webkit [227432] by jfernandez@igalia.com
  • 19 edits
    42 copies
    72 adds
    1 delete in trunk

[css-align] 'left' and 'right' should parse as invalid in block/cross-axis alignment
https://bugs.webkit.org/show_bug.cgi?id=181792

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Imported new Web Platform Tests for the css-align module.

  • resources/import-expectations.json:
  • web-platform-tests/css/css-align-3/content-distribution/w3c-import.log: Removed.
  • web-platform-tests/css/css-align-3/default-alignment/w3c-import.log: Removed.
  • web-platform-tests/css/css-align-3/resources/alignment-parsing-utils.js: Removed.
  • web-platform-tests/css/css-align-3/self-alignment/w3c-import.log: Removed.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-001-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-001.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-002-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-002.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-003-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-003.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-004-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-004.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-005-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-align-content-005.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-001-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-001.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-002-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-002.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-003-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-003.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-004-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-004.html: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-005-expected.txt: Added.
  • web-platform-tests/css/css-align/content-distribution/parse-justify-content-005.html: Added.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-005-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005.html.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006-expected.txt.
  • web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006.html.
  • web-platform-tests/css/css-align/content-distribution/w3c-import.log: Added.
  • web-platform-tests/css/css-align/default-alignment/justify-items-legacy-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/justify-items-legacy-001-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/justify-items-legacy-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/justify-items-legacy-001.html.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-001-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-001.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-002-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-002.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-003-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-003.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-004-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-004.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-005-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-align-items-005.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-001-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-001.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-002-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-002.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-003-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-003.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-004-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-004.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-005-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-005.html: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-006-expected.txt: Added.
  • web-platform-tests/css/css-align/default-alignment/parse-justify-items-006.html: Added.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-005-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005.html.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006-expected.txt.
  • web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006.html.
  • web-platform-tests/css/css-align/default-alignment/w3c-import.log: Added.
  • web-platform-tests/css/css-align/distribution-values/space-evenly-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001-expected.xht.
  • web-platform-tests/css/css-align/distribution-values/space-evenly-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001.html.
  • web-platform-tests/css/css-align/distribution-values/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/w3c-import.log.
  • web-platform-tests/css/css-align/resources/alignment-parsing-utils.js: Added.

(checkPlaceShorhand):
(checkPlaceShorhandLonghands):
(checkPlaceShorthandInvalidValues):
(checkValues):
(checkBadValues):
(checkInitialValues):
(checkInheritValues):
(checkLegacyValues):
(checkSupportedValues):

  • web-platform-tests/css/css-align/resources/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/resources/w3c-import.log.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-001-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-001.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-002-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-002.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-003-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-003.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-004-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-004.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-005-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-align-self-005.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-001-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-001.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-002-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-002.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-003-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-003.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-004-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-004.html: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-005-expected.txt: Added.
  • web-platform-tests/css/css-align/self-alignment/parse-justify-self-005.html: Added.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-005-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-005.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005.html.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006-expected.txt.
  • web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006.html.
  • web-platform-tests/css/css-align/self-alignment/w3c-import.log: Added.

Source/WebCore:

The CSS WG resolved to remove the 'left' and 'right' values from the
block/cross axis alignment properties.

https://github.com/w3c/csswg-drafts/issues/1403

This patch changes the CSS parsing logic of all the CSS Box Alignment
properties, both block-axis (align-{self, items, content} and
inline-axis (justify-{self, items, content}).

Additionally, the alignment shorthands (place-{self, items, content})
have been also changed to respect the new syntax.

Despite the number of layout tests changed, I don't think this
change will break any content in current sites. The CSS values
'left' and 'right' were introduced by the new CSS Box Alignment
spec and only implemented by the CSS Grid Layout feature, shipped
last year. Additionally, the removed values have no effect on the
layout result when they are applied to the block/cross-axis CSS
Alignment properties.

Tests: imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-001.html

imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-002.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-003.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-004.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-align-content-005.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-001.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-002.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-003.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-004.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/parse-justify-content-005.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-001.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-002.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-003.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-004.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-005.html
imported/w3c/web-platform-tests/css/css-align/content-distribution/place-content-shorthand-006.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/justify-items-legacy-001.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-001.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-002.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-003.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-004.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-align-items-005.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-001.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-002.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-003.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-004.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-005.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/parse-justify-items-006.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-001.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-002.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-003.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-004.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-005.html
imported/w3c/web-platform-tests/css/css-align/default-alignment/place-items-shorthand-006.html
imported/w3c/web-platform-tests/css/css-align/distribution-values/space-evenly-001.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-001.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-002.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-003.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-004.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-align-self-005.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-001.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-002.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-003.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-004.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/parse-justify-self-005.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-001.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-002.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-003.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-004.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-005.html
imported/w3c/web-platform-tests/css/css-align/self-alignment/place-self-shorthand-006.html

  • css/parser/CSSPropertyParser.cpp:

(WebCore::isLeftOrRightKeyword):
(WebCore::isContentPositionKeyword):
(WebCore::isContentPositionOrLeftOrRightKeyword):
(WebCore::consumeContentDistributionOverflowPosition):
(WebCore::isSelfPositionKeyword):
(WebCore::isSelfPositionOrLeftOrRightKeyword):
(WebCore::consumeSelfPositionOverflowPosition):
(WebCore::consumeAlignItems):
(WebCore::consumeJustifyItems):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::consumeSimplifiedContentPosition):
(WebCore::CSSPropertyParser::consumePlaceContentShorthand):
(WebCore::consumeSimplifiedItemPosition):
(WebCore::CSSPropertyParser::consumePlaceItemsShorthand):
(WebCore::CSSPropertyParser::consumePlaceSelfShorthand):

LayoutTests:

Rebaseline tests because of the removal of the 'left' and right' CSS values.

  • css3/parse-align-content.html:
  • css3/parse-align-items.html:
  • css3/parse-align-self-expected.txt:
  • css3/parse-align-self.html:
  • css3/parse-alignment-of-root-elements-expected.txt:
12:16 PM Changeset in webkit [227431] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DFG should always flush this
https://bugs.webkit.org/show_bug.cgi?id=181999

Reviewed by Saam Barati and Mark Lam.

This is going to make it possible to use precise index masking for arguments-on-the-stack
accesses with an index adjusted so that 0 is this. Without this change, we would have no way
of masking when the argument count is 0, unless we padded the argument area so that there was
always an argument slot after this and it was always initialized.

This is neutral on all benchmarks.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::flushImpl):
(JSC::DFG::ByteCodeParser::flushForTerminalImpl):
(JSC::DFG::ByteCodeParser::flush):
(JSC::DFG::ByteCodeParser::flushForTerminal):
(JSC::DFG::ByteCodeParser::parse):
(JSC::DFG::flushImpl): Deleted.
(JSC::DFG::flushForTerminalImpl): Deleted.

  • dfg/DFGPreciseLocalClobberize.h:

(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):

12:11 PM Changeset in webkit [227430] by Simon Fraser
  • 5 edits
    2 adds in trunk

Element with position:fixed stops scrolling at the bottom of the page, but is painted in the right place on Chacos.com.
https://bugs.webkit.org/show_bug.cgi?id=181741
rdar://problem/36593581

Reviewed by Tim Horton.
Source/WebCore:

The #ifdef for iOS was wrong; on iOS, visibleSize() is in content coordinates and matches
unscaledDocumentRect, so there's no need to scale it. Doing so computed the wrong unscaledMaximumScrollPosition
which broke hit-testing when the document minimum scale was > 1.

Test: fast/visual-viewport/ios/min-scale-greater-than-one.html

  • page/FrameView.cpp:

(WebCore::FrameView::unscaledMaximumScrollPosition const):

Tools:

If zoomToScale:animated: is called with the current zoom level, call the callback
rather than doing nothing.

  • WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:

(-[TestRunnerWKWebView zoomToScale:animated:completionHandler:]):

LayoutTests:

  • fast/visual-viewport/ios/min-scale-greater-than-one-expected.txt: Added.
  • fast/visual-viewport/ios/min-scale-greater-than-one.html: Added.
12:08 PM Changeset in webkit [227429] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Web Inspector: Window resizing is broken after detaching to separate window
https://bugs.webkit.org/show_bug.cgi?id=181992
<rdar://problem/36714840>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-23
Reviewed by Brian Burg.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformDetach):
Restore the inspector view's autoresizingMask to the initial value
that works with a detached window. This gets changed when the view
gets attached to bottom/side, so we need to revert it on detaching.

12:03 PM Changeset in webkit [227428] by graouts@webkit.org
  • 17 edits in trunk

[Web Animations] Expose getKeyframes() and parsing of remaining keyframe properties
https://bugs.webkit.org/show_bug.cgi?id=181978
<rdar://problem/36772586>

Reviewed by Dean Jackson.

Source/WebCore:

We finish our implementation of multiple keyframes by exposing the getKeyframes() method on KeyframeEffect and
parsing the remaining properties that can be exposed on keyframes: "easing" and "composite". And since we parse
those properties on keyframes, we also parse "easing" on AnimationEffectTiming and "composite" and "iterationComposite"
on KeyframeEffect.

To support this, we implement a new TimingFunction::createFromCSSText() method which takes in a string that is
a value provided directly via the JS API. As its converse, we expose a TimingFunction::cssText() method which
provides a string that can be sent back to JS to represent a timing function, using keywords when the timing
function matches one and ommitting default values.

We now also keep track of the original "offset" value provided through the JS API since that value is required
when calling getKeyframes() and distinct from the "computedOffset". These original offsets, composite operations
and timing functions are kept as separate Vectors from the KeyframeList since this type does not support exposing
those. We may consider improving that in a future patch.

Finally, we make some adjustments in the keyframe parsing to comply with the specification and correctly parse
all provided timing functions, regardless of the number of keyframes and timing functions provided.

Note that this patch is only about parsing, storing and returning provided easing and composite operations but
that such values will only be used for the resolution of animation effects in future patches.

  • animation/AnimationEffect.cpp:

(WebCore::AnimationEffect::getComputedTiming): Set the "easing" property on the getComputedTiming() return value
now that we expose "easing" on AnimationEffectTiming.

  • animation/AnimationEffectTiming.cpp:

(WebCore::AnimationEffectTiming::AnimationEffectTiming): Create a linear TimingFunction by default.
(WebCore::AnimationEffectTiming::setEasing): Parse the "easing" value and propagate an exception for invalid values.

  • animation/AnimationEffectTiming.h: Expose the new "easing" property and backing TimingFunction.
  • animation/AnimationEffectTiming.idl: Expose the new "easing" property.
  • animation/KeyframeEffect.cpp:

(WebCore::CSSPropertyIDToIDLAttributeName): Provide a way to convert the name of a CSS property to a string that can
be used to generate a JS property name for use by getKeyframes().
(WebCore::computeMissingKeyframeOffsets): Implement the full steps of the spec.
(WebCore::processIterableKeyframes): Fix a problematic declaration for the easing variable.
(WebCore::processPropertyIndexedKeyframes): Now that ProcessedKeyframe has both an offset and a computedOffset, use
computed offsets. We also fix a couple of loops to fix compliance issues revealed by WPT tests.
(WebCore::KeyframeEffect::create): Parse the provided "easing" property on the KeyframeEffectOptions object.
(WebCore::KeyframeEffect::getKeyframes): Implement the getKeyframes() method as mandated by the spec.
(WebCore::KeyframeEffect::processKeyframes): Keep a list of unused easings so these might be parsed as well, and
potentially throw exceptions, as mandated by the spec. For valid easings, store their matching TimingFunction in
m_timingFunctions, original offset values in m_offsets and CompositeOperation values in m_compositeOperations.

  • animation/KeyframeEffect.h: Switch the order in which we specify some of the Variant types so that default values

are correctly used.

  • animation/KeyframeEffect.idl: Switch the order in which we specify some of the Variant types so that default values

are correctly used.

  • platform/animation/TimingFunction.cpp:

(WebCore::TimingFunction::createFromCSSText):
(WebCore::TimingFunction::cssText const):

  • platform/animation/TimingFunction.h:

LayoutTests:

Update expectations with progressions and new failure points now we expose more of the API.

  • http/wpt/web-animations/interfaces/Animatable/animate-expected.txt:
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt:
  • http/wpt/web-animations/interfaces/KeyframeEffect/composite-expected.txt:
  • http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt:
  • http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt:
  • http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt:
11:31 AM Changeset in webkit [227427] by ddkilzer@apple.com
  • 18 edits in trunk/Tools

Add ignore_errors keyword argument to Executive.run_command() for replacing the common pattern of error_handler usage
https://bugs.webkit.org/show_bug.cgi?id=180820

Patch by Basuke Suzuki <Basuke Suzuki> on 2018-01-23
Reviewed by David Kilzer.

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.in_working_directory):
(Git.clone):
(Git.read_git_config):
(Git.apply_reverse_diff):

  • Scripts/webkitpy/common/checkout/scm/scm.py:

(SCM.run):

  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVNRepository.has_authorization_for_realm):

  • Scripts/webkitpy/common/net/credentials_unittest.py:
  • Scripts/webkitpy/common/system/abstractexecutive.py:

(AbstractExecutive.run_command):

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

(Executive.kill_process.is):
(Executive.running_pids):
(Executive.kill_all):
(Executive.run_command):

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

(MockExecutive.run_command):
(MockExecutive2.run_command):

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

(ExecutiveTest.test_run_command_with_bad_command.run_bad_command):

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

(PlatformInfo.xcode_sdk_version):

  • Scripts/webkitpy/layout_tests/servers/http_server.py:

(Lighttpd._check_and_kill):

  • Scripts/webkitpy/port/base.py:

(Port._symbols_string):

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.setup_environ_for_server):

  • Scripts/webkitpy/port/win.py:

(WinPort._runtime_feature_list):
(WinPort.read_registry_value):

  • Scripts/webkitpy/port/win_unittest.py:

(WinPortTest.test_runtime_feature_list):

  • Scripts/webkitpy/tool/commands/analyzechangelog.py:
  • Scripts/webkitpy/tool/commands/analyzechangelog_unittest.py:
11:29 AM Changeset in webkit [227426] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark inspector/unit-tests/throttle.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=181832

Unreviewed test gardening.

  • platform/mac/TestExpectations:
11:24 AM Changeset in webkit [227425] by beidson@apple.com
  • 57 edits
    4 adds in trunk

Allow passing MessagePorts across processes (e.g. ServiceWorkers).
https://bugs.webkit.org/show_bug.cgi?id=181178

Reviewed by Andy Estes.

LayoutTests/imported/w3c:

Re-baseline for many new passes and a few new failure modes.

  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/postmessage.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-affect-other-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-fetch.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-not-using-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-using-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-worker-fetch.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/client-id.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-get-cross-origin.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-get.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-client-types.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-exact-controller.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-order.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/extendable-event-async-waituntil.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-async-respond-with.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-respond-with-stops-propagation.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-throws-after-respond-with.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-css-base-url.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-css-images.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-fallback.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-no-freshness-headers.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-resources.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/immutable-prototype-serviceworker.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-end-to-end.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-events.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/skip-waiting-installed.https-expected.txt:

Source/WebCore:

Test: http/tests/workers/service/basic-messageport.html

  • dom/MessagePort.cpp:

(WebCore::MessagePort::MessagePort):
(WebCore::MessagePort::~MessagePort):

  • dom/messageports/MessagePortChannel.cpp:

(WebCore::MessagePortChannel::entanglePortWithProcess):

  • dom/messageports/MessagePortChannel.h:
  • workers/service/SWClientConnection.cpp:

(WebCore::SWClientConnection::postMessageToServiceWorkerClient):

  • workers/service/SWClientConnection.h:
  • workers/service/ServiceWorker.cpp:

(WebCore::ServiceWorker::postMessage):

  • workers/service/ServiceWorkerClient.cpp:

(WebCore::ServiceWorkerClient::postMessage):

  • workers/service/context/SWContextManager.cpp:

(WebCore::SWContextManager::postMessageToServiceWorker):

  • workers/service/context/SWContextManager.h:

Source/WebKit:

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::postMessageToServiceWorker):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerClient):

  • StorageProcess/ServiceWorker/WebSWServerConnection.h:
  • StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • StorageProcess/StorageProcess.cpp:

(WebKit::StorageProcess::postMessageToServiceWorkerClient):

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

(WebKit::WebProcessProxy::entangleLocalPortInThisProcessToRemote):
(WebKit::WebProcessProxy::postMessageToRemote):

  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::postMessageToServiceWorker):
(WebKit::WebSWClientConnection::postMessageToServiceWorkerClient):

  • WebProcess/Storage/WebSWClientConnection.h:
  • WebProcess/Storage/WebSWClientConnection.messages.in:
  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::postMessageToServiceWorker):
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerClient):

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

LayoutTests:

  • http/tests/workers/service/basic-messageport-expected.txt: Added.
  • http/tests/workers/service/basic-messageport.html: Added.
  • http/tests/workers/service/resources/basic-messageport.js: Added.
  • http/tests/workers/service/resources/messageport-echo-worker.js: Added.
10:26 AM Changeset in webkit [227424] by fpizlo@apple.com
  • 4 edits in trunk/Source

JSC should use a speculation fence on VM entry/exit
https://bugs.webkit.org/show_bug.cgi?id=181991

Reviewed by JF Bastien and Mark Lam.

Source/JavaScriptCore:

This adds a WTF::speculationFence on VM entry and exit.

For a microbenchmark that just calls a native function (supplied via an Objective-C block) in a
tight loop from JS is a 0% regression on x86 and a 11% regression on ARM64.

  • runtime/JSLock.cpp:

(JSC::JSLock::didAcquireLock):
(JSC::JSLock::willReleaseLock):

Source/WTF:

Implement speculationFence as lfence on x86 and isb on ARM64. I'm not sure if isb is
appropriate for all ARM64's.

  • wtf/Atomics.h:

(WTF::speculationFence):
(WTF::x86_lfence):

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

Unskip http/tests/ssl/applepay/ApplePayRequestShippingContact.https.html on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=181833

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
9:52 AM Changeset in webkit [227422] by commit-queue@webkit.org
  • 19 edits in trunk

Unreviewed, rolling out r227279 and r227373.
https://bugs.webkit.org/show_bug.cgi?id=181988

The LayoutTest crash fix introduced an API test failure.
(Requested by ryanhaddad on #webkit).

Reverted changesets:

"Resign NowPlaying status when no media element is eligible"
https://bugs.webkit.org/show_bug.cgi?id=181914
https://trac.webkit.org/changeset/227279

"Resign NowPlaying status when no media element is eligible"
https://bugs.webkit.org/show_bug.cgi?id=181914
https://trac.webkit.org/changeset/227373

9:38 AM Changeset in webkit [227421] by aestes@apple.com
  • 2 edits in trunk/LayoutTests

Follow-up layout test fix after r227260.

I missed a few places that were still using version 3 API requests.

  • http/tests/ssl/applepay/ApplePayRequestShippingContact.https.html:
9:26 AM Changeset in webkit [227420] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix some format specifiers added in r227190
https://bugs.webkit.org/show_bug.cgi?id=181454

  • dom/messageports/MessagePortChannel.cpp:

(WebCore::MessagePortChannel::takeAllMessagesForPort):

9:21 AM Changeset in webkit [227419] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

REGRESSION (r227348): ASSERT_NOT_REACHED in WebKit::ServiceWorkerClientFetch::didFinish()
https://bugs.webkit.org/show_bug.cgi?id=181956
<rdar://problem/36755492>

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-23
Reviewed by Chris Dumez.

Covered by test no longer crashing in Debug builds.
Reset m_redirectionStatus to None when starting an SW fetch.

  • WebProcess/Storage/ServiceWorkerClientFetch.cpp:

(WebKit::ServiceWorkerClientFetch::start):
(WebKit::ServiceWorkerClientFetch::didFinish):

9:19 AM Changeset in webkit [227418] by Michael Catanzaro
  • 5 edits in trunk/Source/WebKit

[WPE] TestWebKitFindController asserts
https://bugs.webkit.org/show_bug.cgi?id=181472

Reviewed by Carlos Garcia Campos.

Let's fix this in two independent ways.

First, use a GRefPtr to hold ownership of the WebKitWebViewBackend. This way, we don't need
to change the order in which WebKitWebView destroys its priv struct members from what is
used in WebKitGTK+, which can lead to odd bugs.

Additionally, just for good measure, stop resetting the find client when disposing
WebKitFindController. This is unnecessary because it will never be destroyed before the
WebKitWebView.

  • UIProcess/API/glib/WebKitFindController.cpp:

(webkit_find_controller_class_init):
(webkitFindControllerDispose): Deleted.

  • UIProcess/API/glib/WebKitWebView.cpp:

(_WebKitWebViewPrivate::~_WebKitWebViewPrivate):
(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkitWebViewCreatePage):
(webkit_web_view_get_backend):

  • UIProcess/API/wpe/WebKitWebViewBackend.cpp:

(webkitWebViewBackendCreateDefault):
(WTF::refGPtr):
(WTF::derefGPtr):

  • UIProcess/API/wpe/WebKitWebViewBackendPrivate.h:
9:11 AM Changeset in webkit [227417] by fpizlo@apple.com
  • 1 edit
    18 moves in trunk/JSTests

Unreviewed, retire some microbenchmarks that are proportionately very slow. Benchmark running time should be proportional to their value. Microbenchmarks have little value, so they should be very fast.

  • microbenchmarks/array-push-3.js: Removed.
  • microbenchmarks/bigswitch-indirect-symbol-or-undefined.js: Removed.
  • microbenchmarks/double-to-int32.js: Removed.
  • microbenchmarks/fake-iterators-that-throw-when-finished.js: Removed.
  • microbenchmarks/ftl-polymorphic-bitand.js: Removed.
  • microbenchmarks/ftl-polymorphic-bitor.js: Removed.
  • microbenchmarks/ftl-polymorphic-bitxor.js: Removed.
  • microbenchmarks/ftl-polymorphic-lshift.js: Removed.
  • microbenchmarks/ftl-polymorphic-rshift.js: Removed.
  • microbenchmarks/ftl-polymorphic-sub.js: Removed.
  • microbenchmarks/ftl-polymorphic-urshift.js: Removed.
  • microbenchmarks/map-constant-key.js: Removed.
  • microbenchmarks/nested-function-parsing.js: Removed.
  • microbenchmarks/rest-parameter-allocation-elimination.js: Removed.
  • microbenchmarks/spread-large-array.js: Removed.
  • microbenchmarks/string-add-constant-folding.js: Removed.
  • microbenchmarks/to-lower-case.js: Removed.
  • microbenchmarks/undefined-property-access.js: Removed.
  • slowMicrobenchmarks/array-push-3.js: Copied from JSTests/microbenchmarks/array-push-3.js.
  • slowMicrobenchmarks/bigswitch-indirect-symbol-or-undefined.js: Copied from JSTests/microbenchmarks/bigswitch-indirect-symbol-or-undefined.js.
  • slowMicrobenchmarks/double-to-int32.js: Copied from JSTests/microbenchmarks/double-to-int32.js.
  • slowMicrobenchmarks/fake-iterators-that-throw-when-finished.js: Copied from JSTests/microbenchmarks/fake-iterators-that-throw-when-finished.js.
  • slowMicrobenchmarks/ftl-polymorphic-bitand.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-bitand.js.
  • slowMicrobenchmarks/ftl-polymorphic-bitor.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-bitor.js.
  • slowMicrobenchmarks/ftl-polymorphic-bitxor.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-bitxor.js.
  • slowMicrobenchmarks/ftl-polymorphic-lshift.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-lshift.js.
  • slowMicrobenchmarks/ftl-polymorphic-rshift.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-rshift.js.
  • slowMicrobenchmarks/ftl-polymorphic-sub.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-sub.js.
  • slowMicrobenchmarks/ftl-polymorphic-urshift.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-urshift.js.
  • slowMicrobenchmarks/map-constant-key.js: Copied from JSTests/microbenchmarks/map-constant-key.js.
  • slowMicrobenchmarks/nested-function-parsing.js: Copied from JSTests/microbenchmarks/nested-function-parsing.js.
  • slowMicrobenchmarks/rest-parameter-allocation-elimination.js: Copied from JSTests/microbenchmarks/rest-parameter-allocation-elimination.js.
  • slowMicrobenchmarks/spread-large-array.js: Copied from JSTests/microbenchmarks/spread-large-array.js.
  • slowMicrobenchmarks/string-add-constant-folding.js: Copied from JSTests/microbenchmarks/string-add-constant-folding.js.
  • slowMicrobenchmarks/to-lower-case.js: Copied from JSTests/microbenchmarks/to-lower-case.js.
  • slowMicrobenchmarks/undefined-property-access.js: Copied from JSTests/microbenchmarks/undefined-property-access.js.
9:10 AM Changeset in webkit [227416] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Add user agent quirk for Microsoft Outlook Web App
https://bugs.webkit.org/show_bug.cgi?id=181982

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2018-01-23
Reviewed by Michael Catanzaro.

Microsoft Outlook Web App forces users to switch to the lite version on
the login page with our standard user agent on all non-macOS systems.
Since it is an application that can be installed by different companies,
schools and organizations, it is not possible to fix the issue unless
we keep a big list of host names that are known to run it. We check the
host name instead of the base domain name here because it is not
expected to run all sites under a base domain on this webmail and
calendar application.

https://mail.ntu.edu.tw is a site that is known to run Microsoft Outlook
Web App for several years, and it is not likely to change. When there
are other sites found to run it and having the same user agent problem,
we can expand the list to include them.

  • platform/UserAgentQuirks.cpp:

(WebCore::urlRequiresMacintoshPlatform):

8:51 AM Changeset in webkit [227415] by Michael Catanzaro
  • 3 edits in trunk/Source/WebCore/PAL

[WPE][GTK] Sleep inhibitors do not work under Flatpak
https://bugs.webkit.org/show_bug.cgi?id=180812

Reviewed by Carlos Garcia Campos.

Ensure SleepDisablerGLib works even when running inside a Flatpak sandbox by using the
Freedesktop inhibit portal D-Bus API.

Unfortunately this has to be tested manually.

  • pal/system/glib/SleepDisablerGLib.cpp:

(PAL::SleepDisablerGLib::SleepDisablerGLib):
(PAL::SleepDisablerGLib::~SleepDisablerGLib):
(PAL::SleepDisablerGLib::acquireInhibitor):
(PAL::SleepDisablerGLib::acquireInhibitorViaScreenSaverProxy):
(PAL::SleepDisablerGLib::acquireInhibitorViaInhibitPortalProxy):
(PAL::SleepDisablerGLib::releaseInhibitor):
(PAL::SleepDisablerGLib::releaseInhibitorViaScreenSaverProxy):
(PAL::SleepDisablerGLib::releaseInhibitorViaInhibitPortalProxy):

8:22 AM Changeset in webkit [227414] by Carlos Garcia Campos
  • 4 edits in trunk

WebDriver: several tests in imported/w3c/webdriver/tests/sessions/new_session/merge.py are failing
https://bugs.webkit.org/show_bug.cgi?id=180407

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

This is actually a bug in the spec, see https://github.com/w3c/webdriver/issues/1203. It seems the idea in any
case is that we should check all the firstMatch capabilities before matching them, and return if there's any
error.

  • WebDriverService.cpp:

(WebDriver::WebDriverService::mergeCapabilities const):
(WebDriver::WebDriverService::processCapabilities const):

WebDriverTests:

Remove expectations for tests that are passing now and update the bug number of the other ones referencing
#180407.

8:21 AM Changeset in webkit [227413] by Carlos Garcia Campos
  • 5 edits in trunk

WebDriver: test imported/w3c/webdriver/tests/sessions/new_session/response.py::test_timeouts fails
https://bugs.webkit.org/show_bug.cgi?id=180412

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

Include all missing capabilities in the new session response message.

Fixes: imported/w3c/webdriver/tests/sessions/new_session/response.py::test_resp_capabilites

imported/w3c/webdriver/tests/sessions/new_session/response.py::test_resp_data
imported/w3c/webdriver/tests/sessions/new_session/response.py::test_timeouts

  • Session.h:

(WebDriver::Session::scriptTimeout const):
(WebDriver::Session::pageLoadTimeout const):
(WebDriver::Session::implicitWaitTimeout const):

  • WebDriverService.cpp:

(WebDriver::WebDriverService::newSession):

WebDriverTests:

Remove expectations for imported/w3c/webdriver/tests/sessions/new_session/response.py since all tests are
passing now.

8:20 AM Changeset in webkit [227412] by Carlos Garcia Campos
  • 7 edits in trunk

WebDriver: matched capabilities should include setWindowRect
https://bugs.webkit.org/show_bug.cgi?id=180411

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

Handle setWindowRect in capabilities. It's always true for GTK and false for WPE.

  • Capabilities.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::parseCapabilities const):
(WebDriver::WebDriverService::matchCapabilities const):
(WebDriver::WebDriverService::newSession):

  • gtk/WebDriverServiceGtk.cpp:

(WebDriver::WebDriverService::platformCapabilities):

  • wpe/WebDriverServiceWPE.cpp:

(WebDriver::WebDriverService::platformCapabilities):

WebDriverTests:

Change the bug number of test imported/w3c/webdriver/tests/sessions/new_session/response.py::test_resp_data,
since now it's failing due to missing timeouts value.

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

[JSC] JIT requires sizeof(bool) == 1
https://bugs.webkit.org/show_bug.cgi?id=181150

Reviewed by Saam Barati.

LLInt and JIT assumes that sizeof(bool) == 1. But it is implementation-dependent in C++ spec.
Since this is a mandatory requirement in JSC, we add a static_assert to ensure this.

  • runtime/InitializeThreading.cpp:
6:28 AM Changeset in webkit [227410] by rmorisset@apple.com
  • 20 edits
    1 add in trunk

Update the argument count in DFGByteCodeParser::handleRecursiveCall
https://bugs.webkit.org/show_bug.cgi?id=181739
<rdar://problem/36627662>

Reviewed by Saam Barati.

JSTests:

  • stress/recursive-tail-call-with-different-argument-count.js: Added.

(foo):
(bar):

Source/JavaScriptCore:

When calling a function, its number of arguments is set on the stack. When we turn a recursive tail call
into a jump, we should update that stack slot as there is no guarantee that the function was originally
called with the same number of arguments. Forgetting to do this is observable through 'arguments.length'.

It required adding a new DFG node: 'SetArgumentCountIncludingThis', that takes an unsigned int
as its first OpInfo field, and stores it to the stack at the right place.

We must be a bit careful in where we put this new node, as it ClobbersExit.
We must also fix DFGArgumentsEliminationPhase and DFGPutStackSinkingPhase as they assumed that any node that writes to the stack must write to either an argument or a local.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGArgumentsEliminationPhase.cpp:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleRecursiveTailCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGMayExit.cpp:
  • dfg/DFGNode.h:

(JSC::DFG::Node::argumentCountIncludingThis):

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

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileSetArgumentCountIncludingThis):

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

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileSetArgumentCountIncludingThis):

4:07 AM Changeset in webkit [227409] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[EME] Add support of multi keys from different sessions in CDMinstanceClearKey
https://bugs.webkit.org/show_bug.cgi?id=180083

Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-01-23
Reviewed by Xabier Rodriguez-Calvar.

Add support of multi keys from different MediaKeySession in CDMInstanceClearKey.

Currently the CDMInstanceClearKey manages two "m_keys", one is a WTF::Vector
where it stores the list of last added keys, an other which is defined in the
ClearKeyState::singleton it is a WTF::HashMap, in this last one, it stores the
keys lists of each created session.

The method "keys()" of CDMInstanceClearKey returns the first "m_keys" which
contains just the list of last keys.

The goal of this commit is to return all keys lists of all sessions, thus
we remove the "m_keys" which is WTF::Vector and we modify the method
"keys()" to return all keys lists, which is stored in "m_keys" WTF::HashMap,
in one Vector instead of return just the list of last keys.

  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::CDMInstanceClearKey::keys const):
(WebCore::CDMInstanceClearKey::updateLicense):

  • platform/encryptedmedia/clearkey/CDMClearKey.h:
1:43 AM Changeset in webkit [227408] by Carlos Garcia Campos
  • 4 edits in trunk

WebDriver: test imported/selenium/py/test/selenium/webdriver/common/api_example_tests.py::testChangeWindowSize fails
https://bugs.webkit.org/show_bug.cgi?id=181728

Reviewed by Sergio Villar Senin.

Source/WebDriver:

Due to a copy-paste error we are getting the window height using the width variable.

Fixes: imported/selenium/py/test/selenium/webdriver/common/api_example_tests.py::testChangeWindowSize

imported/selenium/py/test/selenium/webdriver/common/position_and_size_tests.py::testShouldScrollPageAndGetCoordinatesOfAnElementThatIsOutOfViewPort
imported/w3c/webdriver/tests/get_window_rect.py::test_payload
imported/w3c/webdriver/tests/set_window_rect.py::test_width_height_floats
imported/w3c/webdriver/tests/set_window_rect.py::test_height_width
imported/w3c/webdriver/tests/set_window_rect.py::test_height_width_larger_than_max
imported/w3c/webdriver/tests/contexts/resizing_and_positioning.py::test_window_resize

  • Session.cpp:

(WebDriver::Session::getToplevelBrowsingContextRect):

WebDriverTests:

Remove expectations for tests that are now passing.

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

Mark some service-worker fetch tests as DumpJSConsoleLogInStdErr
https://bugs.webkit.org/show_bug.cgi?id=181975

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-23

Jan 22, 2018:

11:11 PM Changeset in webkit [227406] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Add test case for slow in test_expectations.py.

I forgot to also check slow tests in test_expectations.py unit tests.

  • Scripts/webkitpy/common/test_expectations_unittest.py:

(assert_slow):
(test_build_type):
(test_slow):

10:50 PM Changeset in webkit [227405] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Mark test WTF_Lock.ManyContendedShortSections as slow.

  • TestWebKitAPI/glib/TestExpectations.json:
10:42 PM Changeset in webkit [227404] by jmarcell@apple.com
  • 6 edits
    1 add in branches/safari-605-branch

Cherry-pick r227351. rdar://problem/36746029

10:42 PM Changeset in webkit [227403] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKitLegacy/mac

Cherry-pick r227371. rdar://problem/36763183

10:42 PM Changeset in webkit [227402] by jmarcell@apple.com
  • 7 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227370. rdar://problem/36763189

10:42 PM Changeset in webkit [227401] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227358. rdar://problem/36763023

10:42 PM Changeset in webkit [227400] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227357. rdar://problem/36763204

10:42 PM Changeset in webkit [227399] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227353. rdar://problem/36763011

10:42 PM Changeset in webkit [227398] by jmarcell@apple.com
  • 5 edits
    4 adds in branches/safari-605-branch

Cherry-pick r227277. rdar://problem/36763214

10:42 PM Changeset in webkit [227397] by jmarcell@apple.com
  • 18 edits
    4 adds in branches/safari-605-branch/Source

Cherry-pick r227340. rdar://problem/36746140

9:36 PM Changeset in webkit [227396] by Simon Fraser
  • 4 edits in trunk

Optimize building the non-fast scrollable region with multiple iframes
https://bugs.webkit.org/show_bug.cgi?id=181971

Reviewed by Zalan Bujtas.

Source/WebCore:

AsyncScrollingCoordinator::frameViewLayoutUpdated() is called every time a subframe lays out.
We don't need to eagerly update the non-fast scrollable region at this time; we can just mark
it dirty, and rely on the existing scrolling tree commit code to recompute it.

On my machine this makes fast/frames/lots-of-objects.html no longer a timeout.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):

LayoutTests:

  • platform/mac-wk2/TestExpectations: fast/frames/lots-of-objects.html is no longer always a timeout.
8:39 PM Changeset in webkit [227395] by Dewei Zhu
  • 2 edits in trunk/Websites/perf.webkit.org

'run-test.py' script should make sure 'node_modules' directory exists before installing node packages.
https://bugs.webkit.org/show_bug.cgi?id=181808

Reviewed by Ryosuke Niwa.

'run-test.py' will fail if 'node_modules' does not exist before running this script.
Instead of calling 'os.chdir' to change directory, use 'cwd' in subprocess instead.

  • tools/run-tests.py: Added the logic to ensure 'node_modules' exists.

Also use 'cwd' in subprocess.call instead of calling 'os.chdir' ahead.

8:08 PM Changeset in webkit [227394] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227218. rdar://problem/36746114

8:08 PM Changeset in webkit [227393] by jmarcell@apple.com
  • 10 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227275. rdar://problem/36745983

8:08 PM Changeset in webkit [227392] by jmarcell@apple.com
  • 16 edits in branches/safari-605-branch/Source

Cherry-pick r227282. rdar://problem/36746077

8:08 PM Changeset in webkit [227391] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227298. rdar://problem/36746084

8:08 PM Changeset in webkit [227390] by jmarcell@apple.com
  • 4 edits in branches/safari-605-branch/LayoutTests

Cherry-pick r227338. rdar://problem/36746095

8:08 PM Changeset in webkit [227389] by jmarcell@apple.com
  • 10 edits in branches/safari-605-branch

Cherry-pick r227339. rdar://problem/36745908

8:08 PM Changeset in webkit [227388] by jmarcell@apple.com
  • 4 edits
    1 add in branches/safari-605-branch

Cherry-pick r227341. rdar://problem/36746038

8:08 PM Changeset in webkit [227387] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227343. rdar://problem/36746168

8:08 PM Changeset in webkit [227386] by jmarcell@apple.com
  • 3 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227345. rdar://problem/36745991

8:08 PM Changeset in webkit [227385] by jmarcell@apple.com
  • 5 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227346. rdar://problem/36746149

8:08 PM Changeset in webkit [227384] by jmarcell@apple.com
  • 4 edits
    3 adds in branches/safari-605-branch

Cherry-pick r227348. rdar://problem/36746180

8:08 PM Changeset in webkit [227383] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227349. rdar://problem/36746053

7:00 PM Changeset in webkit [227382] by jiewen_tan@apple.com
  • 24 edits
    4 copies
    21 adds in trunk

[WebAuthN] Implement PublicKeyCredential's Create? with a dummy authenticator
https://bugs.webkit.org/show_bug.cgi?id=181928
<rdar://problem/36459893>

Reviewed by Brent Fulgham.

Source/WebCore:

This patch implements PublicKeyCredential's Create? from https://www.w3.org/TR/webauthn/#createCredential
as of 5 December 2017. In order to do testing, a dummy authenticator is implemented to exercise a failure
and a pass path. A number of dependencies need to be resolved later in order to comply with the spec.
Also, the current architecture of handling async WebAuthN operations including dispatching, timeout, and aborting
might need a redesign once the underlying authenticator is clear. Since this is our first attempt to implement
a prototype, all those limitations, in my opinion, can be marked as non-blocking to accelerate the whole
process. Those limitations will then be addressed once the first prototype is finshed.

Tests: http/tests/webauthn/public-key-credential-create-with-invalid-parameters.https.html

http/tests/webauthn/public-key-credential-same-origin-with-ancestors-2.https.html
http/tests/webauthn/public-key-credential-same-origin-with-ancestors.https.html
http/wpt/webauthn/idl.https.html
http/wpt/webauthn/public-key-credential-create-failure.https.html
http/wpt/webauthn/public-key-credential-create-success.https.html

  • Modules/credentialmanagement/BasicCredential.h:
  • Modules/credentialmanagement/BasicCredential.idl:
  • Modules/credentialmanagement/CredentialsContainer.cpp:

(WebCore::CredentialsContainer::PendingPromise::PendingPromise):
(WebCore::CredentialsContainer::dispatchTask):
(WebCore::CredentialsContainer::get):
(WebCore::CredentialsContainer::isCreate):
(WebCore::CredentialsContainer::preventSilentAccess const):
(WebCore::CredentialsContainer::preventSilentAccess): Deleted.

  • Modules/credentialmanagement/CredentialsContainer.h:

(WebCore::CredentialsContainer::PendingPromise::create):

  • Modules/webauthn/Authenticator.cpp: Copied from Source/WebCore/Modules/webauthn/AuthenticatorResponse.cpp.

(WebCore::Authenticator::singleton):
(WebCore::Authenticator::makeCredential const):

  • Modules/webauthn/Authenticator.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.h.
  • Modules/webauthn/AuthenticatorAssertionResponse.cpp:

(WebCore::AuthenticatorAssertionResponse::authenticatorData const):
(WebCore::AuthenticatorAssertionResponse::signature const):
(WebCore::AuthenticatorAssertionResponse::userHandle const):
(WebCore::AuthenticatorAssertionResponse::~AuthenticatorAssertionResponse): Deleted.
(WebCore::AuthenticatorAssertionResponse::authenticatorData): Deleted.
(WebCore::AuthenticatorAssertionResponse::signature): Deleted.
(WebCore::AuthenticatorAssertionResponse::userHandle): Deleted.

  • Modules/webauthn/AuthenticatorAssertionResponse.h:

(WebCore::AuthenticatorAssertionResponse::create):

  • Modules/webauthn/AuthenticatorAttestationResponse.cpp:

(WebCore::AuthenticatorAttestationResponse::attestationObject const):
(WebCore::AuthenticatorAttestationResponse::~AuthenticatorAttestationResponse): Deleted.
(WebCore::AuthenticatorAttestationResponse::attestationObject): Deleted.

  • Modules/webauthn/AuthenticatorAttestationResponse.h:

(WebCore::AuthenticatorAttestationResponse::create):

  • Modules/webauthn/AuthenticatorResponse.cpp:

(WebCore::AuthenticatorResponse::clientDataJSON const):
(WebCore::AuthenticatorResponse::~AuthenticatorResponse): Deleted.
(WebCore::AuthenticatorResponse::clientDataJSON): Deleted.

  • Modules/webauthn/AuthenticatorResponse.h:
  • Modules/webauthn/AuthenticatorResponse.idl:
  • Modules/webauthn/PublicKeyCredential.cpp:

(WebCore::PublicKeyCredentialInternal::produceClientDataJson):
(WebCore::PublicKeyCredentialInternal::produceClientDataJsonHash):
(WebCore::PublicKeyCredentialInternal::getIdFromAttestationObject):
(WebCore::PublicKeyCredential::PublicKeyCredential):
(WebCore::PublicKeyCredential::discoverFromExternalSource):
(WebCore::PublicKeyCredential::create):
(WebCore::PublicKeyCredential::rawId const):
(WebCore::PublicKeyCredential::response const):
(WebCore::PublicKeyCredential::getClientExtensionResults const):
(WebCore::PublicKeyCredential::rawId): Deleted.
(WebCore::PublicKeyCredential::response): Deleted.
(WebCore::PublicKeyCredential::getClientExtensionResults): Deleted.

  • Modules/webauthn/PublicKeyCredential.h:
  • Modules/webauthn/PublicKeyCredential.idl:
  • Modules/webauthn/PublicKeyCredentialCreationOptions.h:

(): Deleted.

  • Modules/webauthn/PublicKeyCredentialDescriptor.h:
  • Modules/webauthn/PublicKeyCredentialDescriptor.idl:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSAuthenticatorResponseCustom.cpp: Copied from Source/WebCore/Modules/webauthn/AuthenticatorAttestationResponse.cpp.

(WebCore::toJSNewlyCreated):
(WebCore::toJS):

  • bindings/js/JSBasicCredentialCustom.cpp: Copied from Source/WebCore/Modules/webauthn/AuthenticatorResponse.cpp.

(WebCore::toJSNewlyCreated):
(WebCore::toJS):

  • bindings/js/JSBindingsAllInOne.cpp:

LayoutTests:

Test cases are divided into two different folders. One follows wpt style. The other contains tests
that I don't know how to write them in wpt style.

  • http/tests/webauthn/public-key-credential-create-with-invalid-parameters.https-expected.txt: Added.
  • http/tests/webauthn/public-key-credential-create-with-invalid-parameters.https.html: Added.
  • http/tests/webauthn/public-key-credential-same-origin-with-ancestors-2.https-expected.txt: Added.
  • http/tests/webauthn/public-key-credential-same-origin-with-ancestors-2.https.html: Added.
  • http/tests/webauthn/public-key-credential-same-origin-with-ancestors.https-expected.txt: Added.
  • http/tests/webauthn/public-key-credential-same-origin-with-ancestors.https.html: Added.
  • http/tests/webauthn/resources/last-layer-frame.https.html: Added.
  • http/tests/webauthn/resources/second-layer-frame.https.html: Added.
  • http/tests/webauthn/resources/util.js: Added.

It will be good to convert them into wpt style.

  • http/wpt/webauthn/WebAuthN.idl: Added.
  • http/wpt/webauthn/idl.https-expected.txt: Added.
  • http/wpt/webauthn/idl.https.html: Added.
  • http/wpt/webauthn/public-key-credential-create-failure.https-expected.txt: Added.
  • http/wpt/webauthn/public-key-credential-create-failure.https.html: Added.
  • http/wpt/webauthn/public-key-credential-create-success.https-expected.txt: Added.
  • http/wpt/webauthn/public-key-credential-create-success.https.html: Added.
  • http/wpt/webauthn/resources/util.js: Added.
6:09 PM Changeset in webkit [227381] by mmaxfield@apple.com
  • 13 edits in trunk/Source/WebCore

[Cocoa] Support font collections
https://bugs.webkit.org/show_bug.cgi?id=181826
<rdar://problem/36455137>

Reviewed by Dean Jackson.

Source/WebCore:

Use the CoreText call CTFontManagerCreateFontDescriptorsFromData() to get all the descriptors inside
the collection file. We select which one by using the fragment identifier at the end of the url linking
to the remote font. For example, to select the 4th font inside a TTC file, the @font-face block would
look like:

@font-face {

font-family: "MyFont";
src: url("path/to/font.ttc#4");

}

Note that these numbers are 1-indexed.

The CSS Fonts spec states:

Fragment identifiers are used to indicate which font to load. If a container format lacks a defined
fragment identifier scheme, implementations should use a simple 1-based indexing scheme (e.g.
"font-collection#1" for the first font, "font-collection#2" for the second font).

Not only are TTC font collections supported, but WOFF2 font collections are also supported, which is
increasingly important web standard.

No new tests because I don't have a font collection file with the appropriate license for the
WebKit repository. I tested manually.

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::load):

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::calculateIndex const):
(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::createCustomFontData):

  • loader/cache/CachedFont.h:
  • platform/graphics/cairo/FontCustomPlatformData.h:
  • platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:

(WebCore::createFontCustomPlatformData):

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::createFontCustomPlatformData):

  • platform/graphics/mac/FontCustomPlatformData.h:
  • platform/graphics/win/FontCustomPlatformData.cpp:

(WebCore::createFontCustomPlatformData):

  • platform/graphics/win/FontCustomPlatformData.h:
  • platform/graphics/win/FontCustomPlatformDataCairo.cpp:

(WebCore::createFontCustomPlatformData):

Source/WebCore/PAL:

  • pal/spi/cocoa/CoreTextSPI.h:
6:04 PM Changeset in webkit [227380] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip http/tests/ssl/applepay/ApplePayRequestShippingContact.https.html on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=181833

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
6:00 PM Changeset in webkit [227379] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

REGRESSION (r227011): fast/frames/hidpi-position-iframe-on-device-pixel.html times out
https://bugs.webkit.org/show_bug.cgi?id=181959

Reviewed by Zalan Bujtas.

This test creates 300 iframes, which became slow after r227011 because they all became part
of the non-fast scrollable region, slowing down ScrollingCoordinator::absoluteEventTrackingRegionsForFrame().

Fix by not adding non-scrollable iframes, and making FrameView::isScrollable() more efficient for frames
that have not done layout yet.

  • page/FrameView.cpp:

(WebCore::FrameView::isScrollable):
(WebCore::FrameView::addChild):

5:54 PM Changeset in webkit [227378] by jonlee@apple.com
  • 2 edits in trunk/Source/WebKit

Update title label size
https://bugs.webkit.org/show_bug.cgi?id=181962
rdar://problem/36754744

Reviewed by Simon Fraser.

  • UIProcess/ios/WKFullScreenWindowControllerIOS.mm:

(-[_WKFullScreenViewController setLocation:secure:trustedName:trustedSite:]): Move titleLabel properties into
createSubviews.
(-[_WKFullScreenViewController createSubviews]): Set the title label for both the cancel and location buttons.
Refer to a const CGFloat for the font size.

5:45 PM Changeset in webkit [227377] by Megan Gardner
  • 13 edits in trunk/Source/WebKit

Temporarily restore block selection code conditionally
https://bugs.webkit.org/show_bug.cgi?id=181895
<rdar://problem/36567325>

Reviewed by Tim Horton.

We need to restore this code temporarily to avoid a crash.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView changeBlockSelectionWithTouchAt:withSelectionTouch:forHandle:]):

5:37 PM Changeset in webkit [227376] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Fixed building for macOS 10.12 with the macOS 10.13 SDK after r227156.

  • Configurations/WebCore.xcconfig:
5:36 PM Changeset in webkit [227375] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

We should not try to link against the Safe Browsing framework on watchOS and tvOS.
https://bugs.webkit.org/show_bug.cgi?id=181965.

Patch by Zach Li <zacharyli323@gmail.com> on 2018-01-22
Reviewed by Tim Horton.

  • Configurations/WebKit.xcconfig:
5:34 PM Changeset in webkit [227374] by Simon Fraser
  • 6 edits
    4 adds in trunk

REGRESSION (r226981): ASSERTION FAILED: startY >= 0 && endY <= height && startY < endY in WebCore::FEMorphology::platformApplyGeneric
https://bugs.webkit.org/show_bug.cgi?id=181836

Reviewed by Tim Horton.
Source/WebCore:

All the filters that use ParallelJobs<> has the same type of bug where very wide but not tall
filter regions could result in computing an optimalThreadNumber that was greater than the
number of rows to process, which resulted in jobs with zero rows to process.

Since we split the work by rows, cap the maximum number of threads to height/8 so that each job
has at least 8 rows of pixels to process. Add some assertions to detect jobs with zero rows.

FEMorphology was also using implicit float -> int conversion to detect integer overflow of radius,
so change that to use explicit clamping.

Tests: svg/filters/feLighting-parallel-jobs.svg

svg/filters/feTurbulence-parallel-jobs-wide.svg

  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::platformApplyGenericPaint):
(WebCore::FELighting::platformApplyGeneric):

  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::FEMorphology::platformApplyGeneric):
(WebCore::FEMorphology::platformApply):
(WebCore::FEMorphology::platformApplyDegenerate):
(WebCore::FEMorphology::platformApplySoftware):

  • platform/graphics/filters/FETurbulence.cpp:

(WebCore::FETurbulence::fillRegion const):
(WebCore::FETurbulence::platformApplySoftware):

LayoutTests:

  • svg/filters/feLighting-parallel-jobs.svg: Added.
  • svg/filters/feMorphology-invalid-radius.svg: Change the test to detect the bug on non-Retina too.
  • svg/filters/feTurbulence-parallel-jobs-wide.svg: Added.
5:29 PM Changeset in webkit [227373] by Ryan Haddad
  • 3 edits in trunk/Source/WebCore

Resign NowPlaying status when no media element is eligible
https://bugs.webkit.org/show_bug.cgi?id=181914
<rdar://problem/35294116>

Patch by Eric Carlson <eric.carlson@apple.com> on 2018-01-22
Reviewed by Jer Noble.

No new tests, these changes prevent existing tests from crashing.

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

(WebCore::MediaElementSession::playbackPermitted const): Return early when the media
element has been suspended.
(WebCore::MediaElementSession::canShowControlsManager const): Return false when the
media element has been suspended.
(WebCore::isMainContentForPurposesOfAutoplay): Return early if it isn't safe to update
style because HitTest can force a layout.
(WebCore::MediaElementSession::updateIsMainContent const): Ditto.

5:25 PM Changeset in webkit [227372] by achristensen@apple.com
  • 8 edits
    4 deletes in trunk/Source

Begin removing QTKit code
https://bugs.webkit.org/show_bug.cgi?id=181951

Reviewed by Jer Noble.

Source/WebCore:

QTKit was being used on El Capitan and before.

  • Configurations/WebCore.xcconfig:
  • SourcesMac.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::buildMediaEnginesVector):
(WebCore::MediaPlayer::supportsType):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h: Removed.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Removed.
  • platform/graphics/mac/MediaTimeQTKit.h: Removed.
  • platform/graphics/mac/MediaTimeQTKit.mm: Removed.
  • platform/mac/WebVideoFullscreenController.mm:

(-[WebVideoFullscreenController setVideoElement:]):
(-[WebVideoFullscreenController updatePowerAssertions]):

Source/WTF:

  • wtf/Platform.h:
5:09 PM Changeset in webkit [227371] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKitLegacy/mac

WebViews created via -initSimpleHTMLDocumentWithStyle: don't propagate attachmentElementEnabled state
https://bugs.webkit.org/show_bug.cgi?id=181960
<rdar://problem/36431678>

Reviewed by Tim Horton.

Mail's compose view is initialized via the -initSimpleHTMLDocumentWithStyle: codepath. This is intended to be
a fast path for initializing WebViews, which bypasses certain initialization steps present in the regular -init
path, such as calling -_preferencesChanged: to sync RuntimeEnabledFeatures with WebPreferences.

This means that even though we set -[WebPreferences attachmentElementEnabled] to YES for Mail, the value of the
RuntimeEnabledFeature isn't updated to match. To fix this, we explicitly invoke
RuntimeEnabledFeatures::setAttachmentElementEnabled here to make sure the value is in sync with WebPreferences.

  • WebView/WebView.mm:

(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

4:52 PM Changeset in webkit [227370] by Nikita Vasilyev
  • 7 edits
    2 adds in trunk

Web Inspector: Styles Redesign: data corruption when updating values quickly
https://bugs.webkit.org/show_bug.cgi?id=179461
<rdar://problem/35431882>

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

Data corruption used to happen because CSSStyleDeclaration.prototype.text didn't
update synchronously. Making two or more quick changes resulted in corrupted data.

Imagine we modify a CSS value 3 times:

Front-end: (1)-(2)---(3)
Back-end: (1)-----(2)-(3)

The first response from the backend could happen after the 2nd edit. In this patch,
CSSStyleDeclaration is locked when its view is being edited.

To correctly display invalid and overridden properties, the backend is allowed to update
CSSStyleDeclaration and CSSProperty when they're locked if the text from the backend
matches the model's text. This should happen when the backend is caught up with the
front-end changes.

  • UserInterface/Models/CSSProperty.js:

(WI.CSSProperty.prototype.update):

  • UserInterface/Models/CSSStyleDeclaration.js:

(WI.CSSStyleDeclaration):
(WI.CSSStyleDeclaration.prototype.get locked):
(WI.CSSStyleDeclaration.prototype.set locked):
(WI.CSSStyleDeclaration.prototype.set text):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.detached):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get editing):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set focused):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set inlineSwatchActive):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchActivated):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.stylePropertyInlineSwatchDeactivated):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
Lock CSSStyleDeclaration when a CSS property name or value is focused or
an inline widget is active.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty):
(WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
When selector is focused, clicking on the white-space should not add a new blank property.

LayoutTests:

  • inspector/css/modify-css-property-expected.txt: Added.
  • inspector/css/modify-css-property.html: Added.
4:45 PM Changeset in webkit [227369] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked fast/forms/searchfield-heights.html as flaky on High Sierra.
https://bugs.webkit.org/show_bug.cgi?id=181914

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:01 PM Changeset in webkit [227368] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Skipped http/tests/resourceLoadStatistics/grandfathering.html.
https://bugs.webkit.org/show_bug.cgi?id=181482

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:53 PM Changeset in webkit [227367] by jmarcell@apple.com
  • 7 edits in tags/Safari-606.1.2.2/Source

Versioning.

2:45 PM Changeset in webkit [227366] by jmarcell@apple.com
  • 1 copy in tags/Safari-606.1.2.2

New tag.

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

Mark inspector/debugger/tail-deleted-frames-from-vm-entry.html as slow on macOS Debug.
https://bugs.webkit.org/show_bug.cgi?id=181952

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
2:28 PM Changeset in webkit [227364] by achristensen@apple.com
  • 52 edits
    8 deletes in trunk/Source/WebKit

Remove pre-NetworkSession loading code
https://bugs.webkit.org/show_bug.cgi?id=181944

Reviewed by Tim Horton.

We were keeping it around for El Capitan.

  • NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm:

(WebKit::LegacyCustomProtocolManager::registerProtocolClass):

  • NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.cpp:

(WebKit::LegacyCustomProtocolManager::initialize):

  • NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h:
  • NetworkProcess/Downloads/BlobDownloadClient.cpp: Removed.
  • NetworkProcess/Downloads/BlobDownloadClient.h: Removed.
  • NetworkProcess/Downloads/Download.cpp:

(WebKit::Download::~Download):
(WebKit::Download::cancel):
(WebKit::Download::didReceiveChallenge):
(WebKit::Download::didFinish):
(WebKit::Download::isAlwaysOnLoggingAllowed const):
(WebKit::Download::start): Deleted.
(WebKit::Download::startWithHandle): Deleted.
(WebKit::Download::didStart): Deleted.
(WebKit::Download::willSendRedirectedRequest): Deleted.
(WebKit::Download::didReceiveAuthenticationChallenge): Deleted.
(WebKit::Download::didReceiveResponse): Deleted.
(WebKit::Download::shouldDecodeSourceDataOfMIMEType): Deleted.
(WebKit::Download::decideDestinationWithSuggestedFilename): Deleted.
(WebKit::Download::decideDestinationWithSuggestedFilenameAsync): Deleted.
(WebKit::Download::didDecideDownloadDestination): Deleted.
(WebKit::Download::continueDidReceiveResponse): Deleted.

  • NetworkProcess/Downloads/Download.h:

(WebKit::Download::setBlobFileReferences): Deleted.
(WebKit::Download::request const): Deleted.

  • NetworkProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::willDecidePendingDownloadDestination):
(WebKit::DownloadManager::convertNetworkLoadToDownload):
(WebKit::DownloadManager::continueDecidePendingDownloadDestination):
(WebKit::DownloadManager::resumeDownload):
(WebKit::DownloadManager::cancelDownload):

  • NetworkProcess/Downloads/DownloadManager.h:

(WebKit::DownloadManager::startDownload):

  • NetworkProcess/Downloads/PendingDownload.cpp:
  • NetworkProcess/Downloads/PendingDownload.h:
  • NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
  • NetworkProcess/Downloads/ios/DownloadIOS.mm: Removed.
  • NetworkProcess/Downloads/mac/DownloadMac.mm: Removed.
  • NetworkProcess/NetworkCORSPreflightChecker.cpp:
  • NetworkProcess/NetworkCORSPreflightChecker.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::loadPing):

  • NetworkProcess/NetworkDataTask.cpp:
  • NetworkProcess/NetworkDataTask.h:
  • NetworkProcess/NetworkDataTaskBlob.cpp:
  • NetworkProcess/NetworkDataTaskBlob.h:
  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::~NetworkLoad):
(WebKit::NetworkLoad::setDefersLoading):
(WebKit::NetworkLoad::cancel):
(WebKit::NetworkLoad::continueWillSendRequest):
(WebKit::NetworkLoad::continueDidReceiveResponse):
(WebKit::NetworkLoad::shouldCaptureExtraNetworkLoadMetrics const):
(WebKit::NetworkLoad::didReceiveResponseAsync): Deleted.
(WebKit::NetworkLoad::didReceiveBuffer): Deleted.
(WebKit::NetworkLoad::didFinishLoading): Deleted.
(WebKit::NetworkLoad::didFail): Deleted.
(WebKit::NetworkLoad::willSendRequestAsync): Deleted.
(WebKit::NetworkLoad::canAuthenticateAgainstProtectionSpaceAsync): Deleted.
(WebKit::NetworkLoad::shouldUseCredentialStorage): Deleted.
(WebKit::NetworkLoad::didReceiveAuthenticationChallenge): Deleted.
(WebKit::NetworkLoad::receivedCancellation): Deleted.

  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/NetworkLoadParameters.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::clearCachedCredentials):
(WebKit::NetworkProcess::findPendingDownloadLocation):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::startNetworkLoad):

  • NetworkProcess/NetworkSession.cpp:
  • NetworkProcess/NetworkSession.h:
  • NetworkProcess/PingLoad.cpp:
  • NetworkProcess/PingLoad.h:
  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:
  • NetworkProcess/mac/NetworkLoadMac.mm: Removed.
  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):

  • Shared/Authentication/AuthenticationManager.cpp:

(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
(WebKit::AuthenticationManager::useCredentialForSingleChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
(WebKit::AuthenticationManager::cancelSingleChallenge):
(WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):

  • Shared/Authentication/AuthenticationManager.h:
  • Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm: Removed.
  • Shared/SessionTracker.cpp:

(WebKit::SessionTracker::setSession):
(WebKit::SessionTracker::destroySession):

  • Shared/SessionTracker.h:
  • Shared/mac/CookieStorageShim.h: Removed.
  • Shared/mac/CookieStorageShim.mm: Removed.
  • UIProcess/API/APIDownloadClient.h:

(API::DownloadClient::didReceiveData):
(API::DownloadClient::shouldDecodeSourceDataOfMIMEType): Deleted.

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetDownloadClient):

  • UIProcess/Cocoa/DownloadClient.h:
  • UIProcess/Cocoa/DownloadClient.mm:

(WebKit::DownloadClient::shouldDecodeSourceDataOfMIMEType): Deleted.

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::willSendRequest):
(WebKit::DownloadProxy::didReceiveResponse):
(WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType): Deleted.
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename): Deleted.

  • UIProcess/Downloads/DownloadProxy.h:
  • UIProcess/Downloads/DownloadProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::clearCachedCredentials):

  • config.h:
2:21 PM Changeset in webkit [227363] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/html/browsers/offline/manifest_url_check.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=179851

Unreviewed test gardening.

2:17 PM Changeset in webkit [227362] by jmarcell@apple.com
  • 3 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227213. rdar://problem/36722644

2:17 PM Changeset in webkit [227361] by jmarcell@apple.com
  • 24 edits
    11 adds
    4 deletes in branches/safari-605-branch/Source/WebCore

Cherry-pick r227190. rdar://problem/36722644

2:17 PM Changeset in webkit [227360] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227176. rdar://problem/36723030

2:17 PM Changeset in webkit [227359] by jmarcell@apple.com
  • 8 edits
    4 adds in branches/safari-605-branch

Cherry-pick r227174. rdar://problem/36723030

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

SW: Make sure ServiceWorker loading and requests are correctly cleared by ITP
https://bugs.webkit.org/show_bug.cgi?id=181942
<rdar://problem/35132091>

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-22
Reviewed by Chris Dumez.

Add ServiceWorkerRegistrations and DOMCache as persistent data to be cleared according ITP decisions.

  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::monitoredDataTypes):

2:12 PM Changeset in webkit [227357] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Null pointer crash under WebCore::RenderStyle::colorIncludingFallback.
https://bugs.webkit.org/show_bug.cgi?id=181801
<rdar://problem/35614900>

Reviewed by Brent Fulgham.

Do not paint synchronously when popup items have been added or changed while the popup is visible.
If new popup items have been added after the popup was shown, a synchronous paint operation will
possibly access their style before it is ready, leading to a null pointer crash. The invalidated
area will be painted asynchronously.

No new tests. To reproduce this crash, it is necessary to open a popup with JavaScript, add new
popup items, and then end the test. Opening the popup can be done by sending a mousedown event
with the eventsender. However, on Windows the mousedown event is sent synchronously, and will
block as long as the popup is open and running the popup event loop. This means no JS can be
executed until the popup is closed, causing the test to always time out before new popup items
can be added. I have verified the fix with a manual test case.

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::updateFromElement):

2:08 PM Changeset in webkit [227356] by Dewei Zhu
  • 3 edits in trunk/Websites/perf.webkit.org

Extend 'ifBuilt' config key to set property based on whether certain repositories are built or not.
https://bugs.webkit.org/show_bug.cgi?id=181906

Reviewed by Ryosuke Niwa.

Before this change, 'ifBuilt' will always set specified property for test properties as long as there
is a build type build in the same build request group. However, this is no longer valid as we don't
want to set specified property for testing when only owned commit is built in previous build.
'ifBuilt' needs to conditionally set property based on whether certain required repositories are built.
Empty required repository list means no requirement on repository to set property.

  • tools/js/buildbot-syncer.js:

(BuildbotSyncer.prototype._propertiesForBuildRequest):In the case of 'built', only set property when
repository requirment is meet and there is a 'build' root request in the same build request group.
(BuildbotSyncer._parseRepositoryGroup): Extend 'ifBuild' to pass information based on contition.

  • unit-tests/buildbot-syncer-tests.js: Added unit tests.
1:49 PM Changeset in webkit [227355] by Megan Gardner
  • 13 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227274. rdar://problem/36722660

2018-01-20 Andy Estes <aestes@apple.com>

[Apple Pay] Stop eagerly loading PassKit.framework
https://bugs.webkit.org/show_bug.cgi?id=181911
<rdar://problem/36555369>

Reviewed by Tim Horton.

  • Shared/WebPageCreationParameters.cpp: (WebKit::WebPageCreationParameters::encode const): (WebKit::WebPageCreationParameters::decode):
  • Shared/WebPageCreationParameters.h:

Removed availablePaymentNetworks from WebPageCreationParameters.

  • UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetApplePayEnabled):
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]):

Stopped calling WebPaymentCoordinatorProxy::platformSupportsPayments().

  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp: (WebKit::WebPaymentCoordinatorProxy::availablePaymentNetworks):
  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.messages.in:

Added message AvailablePaymentNetworks, which synchronously returns a Vector of payment
networks.

  • UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: (WebKit::WebPaymentCoordinatorProxy::platformCanMakePayments):

Returned false if PassKitLibrary() fails.

(WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard):
(WebKit::WebPaymentCoordinatorProxy::platformOpenPaymentSetup):

Called completionHandler with false if PassKitLibrary() fails.

(WebKit::WebPaymentCoordinatorProxy::platformAvailablePaymentNetworks):
(WebKit::WebPaymentCoordinatorProxy::availablePaymentNetworks):

Renamed availablePaymentNetworks to platformAvailablePaymentNetworks

(WebKit::WebPaymentCoordinatorProxy::platformSupportsPayments): Deleted.

  • UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm: (WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):

Called completionHandler with false if PassKitLibrary() fails.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::creationParameters):

Stopped calling WebPaymentCoordinatorProxy::availablePaymentNetworks().

  • WebProcess/ApplePay/WebPaymentCoordinator.cpp: (WebKit::WebPaymentCoordinator::availablePaymentNetworks): (WebKit::WebPaymentCoordinator::validatedPaymentNetwork):
  • WebProcess/ApplePay/WebPaymentCoordinator.h:

Implemented PaymentCoordinatorClient::validatedPaymentNetwork(). m_availablePaymentNetworks
starts off as std::nullopt, but is initialized by sending the AvailablePaymentNetworks sync
message the first time it's accessed.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::WebPage):

Stopped setting PageConfiguration::availablePaymentNetworks.

Patch by Jason Marcell <jmarcell@apple.com> on 2018-01-22

1:32 PM Changeset in webkit [227354] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked http/wpt/service-workers/update-service-worker.https.html as flaky on High Sierra release.
https://bugs.webkit.org/show_bug.cgi?id=181753

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:27 PM Changeset in webkit [227353] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

RELEASE_ASSERT(registration) hit in SWServer::installContextData(const ServiceWorkerContextData&)
https://bugs.webkit.org/show_bug.cgi?id=181941
<rdar://problem/36744892>

Reviewed by Youenn Fablet.

Make sure we clear SWServer::m_pendingContextDatas & SWServer::m_pendingJobs as needed
when clearing Website data. Otherwise, we will hit assertion when those gets processed
after the connection to the SW process has been established (not to mentioned we failed
to clear some in-memory data even though the user asked us to).

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::clearAll):
(WebCore::SWServer::clear):

1:25 PM Changeset in webkit [227352] by jmarcell@apple.com
  • 1 copy in tags/Safari-606.1.1.2

New tag.

1:13 PM Changeset in webkit [227351] by rniwa@webkit.org
  • 6 edits
    1 add in trunk

Blob conversion and sanitization doesn't work with Microsoft Word for Mac 2011
https://bugs.webkit.org/show_bug.cgi?id=181616
<rdar://problem/36484908>

Reviewed by Wenson Hsieh.

Source/WebCore:

The bug was caused by WebContentReader::readHTML and WebContentMarkupReader::readHTML not sanitizing plain HTML string
as done for web archives even when custom pasteboard data is enabled. Fixed the bug by doing the sanitization.

Unfortunately, we can't make file URLs available in this case because WebContent process doesn't have sandbox extensions
to access local files referenced by the HTML source in the clipboard, and we can't make WebContent process request for
a sandbox extension¸on an arbitrary local file, as it would defeat the whole point of sandboxing.

Instead, we strip away all HTML attributes referencing a URL whose scheme is not HTTP, HTTPS, or data when sanitizing
text/html from the clipboard to avoid exposing local file paths, which can reveal privacy & security sensitive data
such as the user's full name, and the location of private containers of other applications in the system.

Tests: PasteHTML.DoesNotSanitizeHTMLWhenCustomPasteboardDataIsDisabled

PasteHTML.DoesNotStripFileURLsWhenCustomPasteboardDataIsDisabled
PasteHTML.ExposesHTMLTypeInDataTransfer
PasteHTML.KeepsHTTPURLs
PasteHTML.SanitizesHTML
PasteHTML.StripsFileURLs

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::WebContentReader::readHTML): Fixed the bug by sanitizing the markup, and stripping away file URLs.
(WebCore::WebContentMarkupReader::readHTML): Ditto.

  • editing/markup.cpp:

(WebCore::removeSubresourceURLAttributes): Added.
(WebCore::sanitizeMarkup): Added.

  • editing/markup.h:

Tools:

Added tests to make sure we sanitize plain HTML, not just web archives,
when and only when custom pasteboard data is enabled.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm: Added.

(writeHTMLToPasteboard): Added.
(createWebViewWithCustomPasteboardDataSetting): Added.

1:08 PM Changeset in webkit [227350] by Chris Dumez
  • 11 edits in trunk/Source

Add release logging to help debug issues related to service workers
https://bugs.webkit.org/show_bug.cgi?id=181935
<rdar://problem/36735900>

Reviewed by Brady Eidson.

Source/WebCore:

  • workers/service/ServiceWorker.cpp:

(WebCore::ServiceWorker::ServiceWorker):
(WebCore::ServiceWorker::scheduleTaskToUpdateState):
(WebCore::ServiceWorker::postMessage):
(WebCore::ServiceWorker::isAlwaysOnLoggingAllowed const):

  • workers/service/ServiceWorker.h:
  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::ServiceWorkerContainer::removeRegistration):
(WebCore::ServiceWorkerContainer::updateRegistration):
(WebCore::ServiceWorkerContainer::jobFailedWithException):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
(WebCore::ServiceWorkerContainer::jobResolvedWithUnregistrationResult):
(WebCore::ServiceWorkerContainer::startScriptFetchForJob):
(WebCore::ServiceWorkerContainer::jobFinishedLoadingScript):
(WebCore::ServiceWorkerContainer::jobFailedLoadingScript):
(WebCore::ServiceWorkerContainer::isAlwaysOnLoggingAllowed const):

  • workers/service/ServiceWorkerContainer.h:
  • workers/service/ServiceWorkerRegistration.cpp:

(WebCore::ServiceWorkerRegistration::ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::updateStateFromServer):
(WebCore::ServiceWorkerRegistration::scheduleTaskToFireUpdateFoundEvent):

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::scriptContextFailedToStart):
(WebCore::SWServer::didFinishInstall):
(WebCore::SWServer::didFinishActivation):
(WebCore::SWServer::terminateWorkerInternal):

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::didResolveRegistrationPromise):
(WebCore::SWServerJobQueue::runRegisterJob):

Source/WebKit:

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::startFetch):
(WebKit::WebSWServerConnection::didFinishFetch):
(WebKit::WebSWServerConnection::didFailFetch):
(WebKit::WebSWServerConnection::didNotHandleFetch):

1:01 PM Changeset in webkit [227349] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[iOS] REGRESSION (r225763): Allow access to power logging features
https://bugs.webkit.org/show_bug.cgi?id=181938
<rdar://problem/36442803>

Reviewed by Eric Carlson.

I denied access to the powerlog facility in r225763, not realizing that it
gets activated in certain logging scenarios. This patch reverts this change.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
12:22 PM Changeset in webkit [227348] by Chris Dumez
  • 4 edits
    3 adds in trunk

Safari Tech Preview can't use GitHub login at forums.swift.org
https://bugs.webkit.org/show_bug.cgi?id=181908
<rdar://problem/36715111>

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-22
Reviewed by Chris Dumez.

Source/WebCore:

Test: http/wpt/service-workers/navigation-redirect.https.html

For subresource loads, redirections will not change who is in charge of continuing the load (service worker or network process).
For navigation loads, we need to match the registration for every redirection since this is using the Manual redirect mode.
This allows starting the load with a service worker and finishing the load with another service worker, which will become the controller.

Implement this by wrapping the registration matching of an URL within DocumentLoader::matchRegistration.
Use that method in DocumentLoader::redirectReceived.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::matchRegistration):
(WebCore::doRegistrationsMatch):
(WebCore::DocumentLoader::redirectReceived):
(WebCore::DocumentLoader::startLoadingMainResource):

  • loader/DocumentLoader.h:

LayoutTests:

  • http/wpt/service-workers/navigation-redirect-worker.js: Added.

(async):

  • http/wpt/service-workers/navigation-redirect.https-expected.txt: Added.
  • http/wpt/service-workers/navigation-redirect.https.html: Added.
12:18 PM Changeset in webkit [227347] by Antti Koivisto
  • 2 edits in trunk/PerformanceTests

StyleBench: Separate test for :nth pseudo classes
https://bugs.webkit.org/show_bug.cgi?id=181932

Reviewed by Sam Weinig.

Optimization strategies for nth are different from other structural pseudo classes (:first-child etc). Move them to a separate test.

  • StyleBench/resources/style-bench.js:

(structuralPseudoClassConfiguration):
(nthPseudoClassConfiguration):

Add a new configuration.

(predefinedConfigurations):
(pseudoClassConfiguration): Deleted.

12:07 PM Changeset in webkit [227346] by Antti Koivisto
  • 5 edits
    2 adds in trunk

REGRESSION (Safari 11): Buttons inside a fieldset legend cannot be clicked on in Safari 11
https://bugs.webkit.org/show_bug.cgi?id=179666
<rdar://problem/35534292>

Reviewed by Zalan Bujtas.

Source/WebCore:

The legend element of a fieldset is in the border area, outside the clip rect.
With overflow:hidden mouse events won't reach it.

Test case by Dhaya Benmessaoud.

Test: fast/forms/legend-overflow-hidden-hit-test.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::hitTestExcludedChildrenInBorder):

Add a special case to hit testing to handle legend, similarly to what is done for painting.

  • rendering/RenderBlock.h:

LayoutTests:

  • fast/forms/legend-overflow-hidden-hit-test-expected.txt: Added.
  • fast/forms/legend-overflow-hidden-hit-test.html: Added.
  • platform/ios/TestExpectations:
11:25 AM Changeset in webkit [227345] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

[macOS, iOS] Allow accss to AVFoundation preference
https://bugs.webkit.org/show_bug.cgi?id=181937
<rdar://problem/33137029>

Reviewed by Eric Carlson.

Grant access to the 'com.apple.avfoundation.frecents' preference.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebProcess/com.apple.WebProcess.sb.in:
11:16 AM Changeset in webkit [227344] by jdiggs@igalia.com
  • 15 edits in trunk

AX: Implement support for Graphics ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=181796

Reviewed by Chris Fleizach.

Source/WebCore:

Add mappings for the three new roles (graphics-document, graphics-object,
and graphics-symbol) as per the Graphics Accessibility API Mappings spec.

No new tests; instead, new test cases added to roles-computedRoleString.html
and roles-exposed.html.

  • accessibility/AccessibilityObject.cpp:

(WebCore::initializeRoleMap):
(WebCore::AccessibilityObject::computedRoleString const):

  • accessibility/AccessibilityObject.h:
  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):
(-[WebAccessibilityObjectWrapper roleDescription]):

LayoutTests:

Add new test cases and update expectations accordingly.

  • accessibility/gtk/xml-roles-exposed-expected.txt:
  • accessibility/gtk/xml-roles-exposed.html:
  • accessibility/roles-computedRoleString.html:
  • accessibility/roles-exposed.html:
  • platform/gtk/accessibility/roles-computedRoleString-expected.txt:
  • platform/gtk/accessibility/roles-exposed-expected.txt:
  • platform/mac/accessibility/roles-computedRoleString-expected.txt:
  • platform/mac/accessibility/roles-exposed-expected.txt:
10:48 AM Changeset in webkit [227343] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

REGRESSION(r224535): Can't write reviews in the App Store
https://bugs.webkit.org/show_bug.cgi?id=181936
<rdar://problem/36670246>

Reviewed by Zalan Bujtas.

  • page/LayoutContext.cpp:

(WebCore::LayoutContext::updateStyleForLayout):

r224535 was about media queries but it also removed a seemingly spurious call to SyleScope::didChangeStyleSheetEnvironment
from the path that does not involve media queries.
Turns out UITextContentView somehow depended on it, so revert this specific change.

10:42 AM Changeset in webkit [227342] by ap@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r226485): Many new wasm leaks detected by the leaks bot
https://bugs.webkit.org/show_bug.cgi?id=181400
rdar://problem/36358768

Reviewed by JF Bastien.

  • BuildSlaveSupport/build.webkit.org-config/config.json: Disable poisoning on the leaks bot.
10:37 AM Changeset in webkit [227341] by msaboff@apple.com
  • 4 edits
    1 add in trunk

DFG abstract interpreter needs to properly model effects of some Math ops
https://bugs.webkit.org/show_bug.cgi?id=181886

Reviewed by Saam Barati.

JSTests:

New regression test.

  • stress/arith-nodes-abstract-interpreter-untypeduse.js: Added.

(test):

Source/JavaScriptCore:

Reviewed the processing of the various ArithXXX and CompareXXX and found that
several nodes don't handle UntypedUse. Added clobberWorld() for those cases.

  • dfg/DFGAbstractInterpreter.h:
  • dfg/DFGAbstractInterpreterInlines.h:

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

10:35 AM Changeset in webkit [227340] by beidson@apple.com
  • 18 edits
    4 adds in trunk/Source

In WebKit2, make the MessagePortChannelRegistry live in the UI process.
https://bugs.webkit.org/show_bug.cgi?id=181922

Reviewed by Andy Estes.

Source/WebCore:

No new tests (Refactor, no behavior change)

Add encoder/decoders and EXPORT a whole bunch of stuff.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/MessagePort.h:
  • dom/messageports/MessagePortChannel.cpp:

(WebCore::MessagePortChannel::processForPort):

  • dom/messageports/MessagePortChannel.h:
  • dom/messageports/MessagePortChannelProvider.h:
  • dom/messageports/MessagePortChannelRegistry.h:
  • dom/messageports/MessageWithMessagePorts.h:

(WebCore::MessageWithMessagePorts::encode const):
(WebCore::MessageWithMessagePorts::decode):

Source/WebKit:

With all of the work that went into making MessagePorts be fully asynchronous
and to be process-aware, formally moving them out-of-process is just a matter
of adding WebKit IPC layers.

The basic unit of asynchronicity is "MessagePortChannelProvider", and this patch
adds both a WebMessagePortChannelProvider and UIMessagePortChannelProvider for
each side of the process divide.

  • UIProcess/UIMessagePortChannelProvider.cpp: Added.

(WebKit::UIMessagePortChannelProvider::singleton):
(WebKit::UIMessagePortChannelProvider::UIMessagePortChannelProvider):
(WebKit::UIMessagePortChannelProvider::~UIMessagePortChannelProvider):
(WebKit::UIMessagePortChannelProvider::createNewMessagePortChannel):
(WebKit::UIMessagePortChannelProvider::entangleLocalPortInThisProcessToRemote):
(WebKit::UIMessagePortChannelProvider::messagePortDisentangled):
(WebKit::UIMessagePortChannelProvider::messagePortClosed):
(WebKit::UIMessagePortChannelProvider::takeAllMessagesForPort):
(WebKit::UIMessagePortChannelProvider::postMessageToRemote):
(WebKit::UIMessagePortChannelProvider::checkRemotePortForActivity):
(WebKit::UIMessagePortChannelProvider::checkProcessLocalPortForActivity):

  • UIProcess/UIMessagePortChannelProvider.h: Added.

(WebKit::UIMessagePortChannelProvider::registry):

  • UIProcess/WebPageProxy.cpp:

(WebKit::m_configurationPreferenceValues):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::processForIdentifier):
(WebKit::m_userMediaCaptureManagerProxy):
(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::createNewMessagePortChannel):
(WebKit::WebProcessProxy::entangleLocalPortInThisProcessToRemote):
(WebKit::WebProcessProxy::messagePortDisentangled):
(WebKit::WebProcessProxy::messagePortClosed):
(WebKit::WebProcessProxy::takeAllMessagesForPort):
(WebKit::WebProcessProxy::didDeliverMessagePortMessages):
(WebKit::WebProcessProxy::postMessageToRemote):
(WebKit::WebProcessProxy::checkRemotePortForActivity):
(WebKit::WebProcessProxy::checkProcessLocalPortForActivity):
(WebKit::WebProcessProxy::didCheckProcessLocalPortForActivity):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp: Added.

(WebKit::WebMessagePortChannelProvider::singleton):
(WebKit::WebMessagePortChannelProvider::WebMessagePortChannelProvider):
(WebKit::WebMessagePortChannelProvider::~WebMessagePortChannelProvider):
(WebKit::WebMessagePortChannelProvider::createNewMessagePortChannel):
(WebKit::WebMessagePortChannelProvider::entangleLocalPortInThisProcessToRemote):
(WebKit::WebMessagePortChannelProvider::messagePortDisentangled):
(WebKit::WebMessagePortChannelProvider::messagePortClosed):
(WebKit::WebMessagePortChannelProvider::takeAllMessagesForPort):
(WebKit::WebMessagePortChannelProvider::didTakeAllMessagesForPort):
(WebKit::WebMessagePortChannelProvider::didCheckRemotePortForActivity):
(WebKit::WebMessagePortChannelProvider::postMessageToRemote):
(WebKit::WebMessagePortChannelProvider::checkProcessLocalPortForActivity):
(WebKit::WebMessagePortChannelProvider::checkRemotePortForActivity):

  • WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h: Added.
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeProcess):
(WebKit::WebProcess::didTakeAllMessagesForPort):
(WebKit::WebProcess::checkProcessLocalPortForActivity):
(WebKit::WebProcess::didCheckRemotePortForActivity):
(WebKit::WebProcess::messagesAvailableForPort):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
10:33 AM Changeset in webkit [227339] by commit-queue@webkit.org
  • 10 edits in trunk

Fetch Headers from an Opaque response should be filtered out
https://bugs.webkit.org/show_bug.cgi?id=181926

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-22
Reviewed by Chris Dumez.

Source/WebCore:

Covered by updated test.

Refactor to use the same FetchResponse::create for Cache API and cloning.
In this method, ensure that response and headers are filtered correctly according response tainting.
Make also sure that synthetic responses do not get filtered (not needed since created by JavaScript).

Introduce helper routine to set the header map of a resource response.
Use this routine when cloning a synthetic response as in that case, m_internalResponse has no header at all.

  • Modules/cache/DOMCache.cpp:

(WebCore::DOMCache::updateRecords):

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::create):
(WebCore::FetchResponse::clone):

  • Modules/fetch/FetchResponse.h:
  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::setHTTPHeaderFields):

  • platform/network/ResourceResponseBase.h:
  • testing/ServiceWorkerInternals.cpp:

(WebCore::ServiceWorkerInternals::createOpaqueWithBlobBodyResponse):

LayoutTests:

  • http/wpt/fetch/response-opaque-clone-expected.txt:
  • http/wpt/fetch/response-opaque-clone.html:
10:24 AM Changeset in webkit [227338] by aestes@apple.com
  • 4 edits in trunk/LayoutTests

LayoutTest http/tests/paymentrequest/payment-request-abort-method.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=178107
<rdar://problem/34901064>

Reviewed by Brady Eidson.

Modified the test to call show() with user activation.

  • http/tests/paymentrequest/payment-request-abort-method.https.html:
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
9:59 AM Changeset in webkit [227337] by jmarcell@apple.com
  • 5 edits
    5 adds in branches/safari-605-branch

Cherry-pick r227280. rdar://problem/36722450

9:59 AM Changeset in webkit [227336] by jmarcell@apple.com
  • 4 edits in branches/safari-605-branch

Cherry-pick r227278. rdar://problem/36722580

9:58 AM Changeset in webkit [227335] by jmarcell@apple.com
  • 27 edits in branches/safari-605-branch/Source

Cherry-pick r227274. rdar://problem/36722660

9:58 AM Changeset in webkit [227334] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Tools

Cherry-pick r227273. rdar://problem/36722654

9:58 AM Changeset in webkit [227333] by jmarcell@apple.com
  • 7 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227272. rdar://problem/36722635

9:58 AM Changeset in webkit [227332] by jmarcell@apple.com
  • 14 edits in branches/safari-605-branch

Cherry-pick r227270. rdar://problem/36722650

9:58 AM Changeset in webkit [227331] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227269. rdar://problem/36722433

9:58 AM Changeset in webkit [227330] by jmarcell@apple.com
  • 3 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227266. rdar://problem/36723017

9:58 AM Changeset in webkit [227329] by jmarcell@apple.com
  • 7 edits in branches/safari-605-branch

Cherry-pick r227245. rdar://problem/36722470

9:58 AM Changeset in webkit [227328] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebInspectorUI

Cherry-pick r227243. rdar://problem/36722430

9:58 AM Changeset in webkit [227327] by jmarcell@apple.com
  • 18 edits
    1 add in branches/safari-605-branch

Cherry-pick r227242. rdar://problem/36722539

9:58 AM Changeset in webkit [227326] by jmarcell@apple.com
  • 14 edits
    1 copy in branches/safari-605-branch

Cherry-pick r227240. rdar://problem/36722464

9:58 AM Changeset in webkit [227325] by jmarcell@apple.com
  • 4 edits
    4 adds in branches/safari-605-branch

Cherry-pick r227238. rdar://problem/36722424

9:58 AM Changeset in webkit [227324] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-605-branch

Cherry-pick r227236. rdar://problem/36722544

9:58 AM Changeset in webkit [227323] by jmarcell@apple.com
  • 3 edits in branches/safari-605-branch/Source/WebInspectorUI

Cherry-pick r227232. rdar://problem/36722564

9:58 AM Changeset in webkit [227322] by jmarcell@apple.com
  • 4 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227229. rdar://problem/36722641

9:58 AM Changeset in webkit [227321] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebInspectorUI

Cherry-pick r227228. rdar://problem/36722601

9:58 AM Changeset in webkit [227320] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/ThirdParty/libwebrtc

Cherry-pick r227226. rdar://problem/36722612

9:58 AM Changeset in webkit [227319] by jmarcell@apple.com
  • 94 edits in branches/safari-605-branch

Cherry-pick r227225. rdar://problem/36722527

9:57 AM Changeset in webkit [227318] by jmarcell@apple.com
  • 6 edits in branches/safari-605-branch/Source/WebCore

Cherry-pick r227221. rdar://problem/36722533

9:57 AM Changeset in webkit [227317] by jmarcell@apple.com
  • 5 edits in branches/safari-605-branch

Cherry-pick r227220. rdar://problem/36722596

9:57 AM Changeset in webkit [227316] by jmarcell@apple.com
  • 6 edits in branches/safari-605-branch

Cherry-pick r227219. rdar://problem/36722501

9:57 AM Changeset in webkit [227315] by jmarcell@apple.com
  • 21 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227216. rdar://problem/36722508

9:57 AM Changeset in webkit [227314] by jmarcell@apple.com
  • 4 edits in branches/safari-605-branch/Source/WebKitLegacy/win

Cherry-pick r227209. rdar://problem/36722622

9:57 AM Changeset in webkit [227313] by jmarcell@apple.com
  • 6 edits
    2 adds in branches/safari-605-branch/Source/ThirdParty/libwebrtc

Cherry-pick r227206. rdar://problem/36722612

9:57 AM Changeset in webkit [227312] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/LayoutTests

Cherry-pick r227199. rdar://problem/36722438

9:57 AM Changeset in webkit [227311] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/JavaScriptCore

Cherry-pick r227168. rdar://problem/36722591

9:57 AM Changeset in webkit [227310] by jmarcell@apple.com
  • 16 edits in branches/safari-605-branch/Source

Cherry-pick r227161. rdar://problem/36722461

9:57 AM Changeset in webkit [227309] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/JavaScriptCore

Cherry-pick r227159. rdar://problem/36722618

9:57 AM Changeset in webkit [227308] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebKit

Cherry-pick r227157. rdar://problem/36723021

9:57 AM Changeset in webkit [227307] by jmarcell@apple.com
  • 7 edits in branches/safari-605-branch

Cherry-pick r227153. rdar://problem/36722558

9:57 AM Changeset in webkit [227306] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227145. rdar://problem/36722475

9:57 AM Changeset in webkit [227305] by jmarcell@apple.com
  • 6 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227141. rdar://problem/36722585

9:57 AM Changeset in webkit [227304] by jmarcell@apple.com
  • 13 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227140. rdar://problem/36722478

9:57 AM Changeset in webkit [227303] by jmarcell@apple.com
  • 6 edits in branches/safari-605-branch/Source/JavaScriptCore

Cherry-pick r227136. rdar://problem/36722486

9:57 AM Changeset in webkit [227302] by jmarcell@apple.com
  • 5 edits in branches/safari-605-branch

Cherry-pick r227135. rdar://problem/36722512

9:57 AM Changeset in webkit [227301] by jmarcell@apple.com
  • 5 edits
    2 adds in branches/safari-605-branch

Cherry-pick r227082. rdar://problem/36722629

9:56 AM Changeset in webkit [227300] by jmarcell@apple.com
  • 23 edits in branches/safari-605-branch

Cherry-pick r227079. rdar://problem/36722442

9:56 AM Changeset in webkit [227299] by jmarcell@apple.com
  • 2 edits in branches/safari-605-branch/Source/WebInspectorUI

Cherry-pick r227008. rdar://problem/36722458

9:51 AM Changeset in webkit [227298] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Bump default cache storage quota to 50MB
https://bugs.webkit.org/show_bug.cgi?id=181924

Patch by Youenn Fablet <youenn@apple.com> on 2018-01-22
Reviewed by Chris Dumez.

Existing web sites use more than 20 MB.

  • UIProcess/WebsiteData/WebsiteDataStore.h:
9:01 AM Changeset in webkit [227297] by jfernandez@igalia.com
  • 22 edits in trunk

[css-align] 'overflow' keyword must precede the self-position and content-position value
https://bugs.webkit.org/show_bug.cgi?id=181793

Reviewed by Antti Koivisto.

Source/WebCore:

There were several discussions to avoid ambiguities with the complex
values, specially when it comes to define the place-xxx shorthands.

One of the sources of problems is the 'overflow-position' keyword. The
CSS WG has decided to change the syntax of all the CSS Box Alignment
properties so that the 'overflow-position' keyword always precede the
'self-position' or the 'content-position' keywords.

https://github.com/w3c/csswg-drafts/issues/1446#event-1125715434

In order to apply this change to the Content Distribution properties'
(align-content and justify-content) syntax I had to completely
re-implement their parsing function. Thanks to this I addressed also
the issue with the content-distribution fallback, which cannot be
specified explicitly now.

https://github.com/w3c/csswg-drafts/issues/1002#ref-commit-c38cac4

No new tests, just rebaselined the expected results of the test cases affected.

Despite the so many layout tests affected by this change, it's
unlikely that it might break any content in current web
sites. This patch changes the new CSS syntax, obviously backward
compatible, defined by the new CSS Box Alignment. The
'overflow-position' keyword is only used by the layout models
implementing the new spec, so far only CSS Grid Layout.
Considering that CSS Grid has been shipped last year, it's unlikely
that many sites are using the new CSS values.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForItemPositionWithOverflowAlignment):
(WebCore::valueForContentPositionAndDistributionWithOverflowAlignment):

  • css/CSSContentDistributionValue.cpp:

(WebCore::CSSContentDistributionValue::customCSSText const):

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertSelfOrDefaultAlignmentData):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeOverflowPositionKeyword):
(WebCore::consumeContentPositionKeyword):
(WebCore::consumeContentDistributionOverflowPosition):
(WebCore::consumeSelfPositionOverflowPosition):

LayoutTests:

Rebaseline expected results of the test cases affected by this change.

  • css3/parse-align-content.html:
  • css3/parse-align-items.html:
  • css3/parse-align-self.html:
  • css3/parse-justify-content.html:
  • css3/overwrite-self-alignment.html:
  • css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled.html:
  • css3/overwrite-content-alignment.html:
  • fast/css-grid-layout/grid-content-alignment-overflow.html:
  • fast/css-grid-layout/grid-align-justify-overflow.html:
  • fast/css/parse-justify-items.html:
  • fast/css/parse-justify-self.html:
  • fast/repaint/align-items-overflow-change.html:
  • fast/repaint/align-self-overflow-change.html:
  • fast/repaint/justify-items-overflow-change.html:
  • fast/repaint/justify-self-overflow-change.html:
9:01 AM Changeset in webkit [227296] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark svg/filters/fePointLight-color.svg as failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=181869

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:07 AM Changeset in webkit [227295] by commit-queue@webkit.org
  • 21 edits
    2 copies
    57 adds
    1 delete in trunk

Parse calc() in CSS media queries
https://bugs.webkit.org/show_bug.cgi?id=181716

LayoutTests/imported/w3c:

Patch by Chris Nardi <csnardi1@gmail.com> on 2018-01-22
Reviewed by Antti Koivisto.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/mediaqueries/OWNERS: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-001.html: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-002-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-002.html: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-003-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-003.html: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-004-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/aspect-ratio-004.html: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-001.html: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-002-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-002.html: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-003-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-003.html: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-004-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-004.html: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-005-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-005.html: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-006-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/device-aspect-ratio-006.html: Added.
  • web-platform-tests/css/mediaqueries/min-width-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/min-width-001.xht: Added.
  • web-platform-tests/css/mediaqueries/min-width-tables-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/min-width-tables-001.html: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-001.html: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-002-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-002.html: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-003-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-003.html: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-004-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-004.html: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-005-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-calc-005.html: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-001.html: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-002-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-002.html: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-003-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-003.html: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-004-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/mq-invalid-media-type-004.html: Added.
  • web-platform-tests/css/mediaqueries/relative-units-001-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/relative-units-001.html: Added.
  • web-platform-tests/css/mediaqueries/relative-units-002-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/relative-units-002.html: Added.
  • web-platform-tests/css/mediaqueries/relative-units-003-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/relative-units-003.html: Added.
  • web-platform-tests/css/mediaqueries/relative-units-004-expected.xht: Added.
  • web-platform-tests/css/mediaqueries/relative-units-004.html: Added.
  • web-platform-tests/css/mediaqueries/support/media_queries_iframe.html: Renamed from LayoutTests/fast/media/w3c/resources/media_queries_iframe.html.
  • web-platform-tests/css/mediaqueries/support/min-width-tables-001-iframe.html: Added.
  • web-platform-tests/css/mediaqueries/support/w3c-import.log: Added.
  • web-platform-tests/css/mediaqueries/test_media_queries-expected.txt: Renamed from LayoutTests/fast/media/w3c/test_media_queries-expected.txt.
  • web-platform-tests/css/mediaqueries/test_media_queries.html: Renamed from LayoutTests/fast/media/w3c/test_media_queries.html.
  • web-platform-tests/css/mediaqueries/w3c-import.log: Added.

Source/WebCore:

calc() was previously unsupported inside of media queries. This change
adds in support for parsing calc inside of media queries.

Patch by Chris Nardi <csnardi1@gmail.com> on 2018-01-22
Reviewed by Antti Koivisto.

Tests: Imported web-platform-tests/css/mediaqueries

  • css/MediaQueryExpression.cpp:

(WebCore::featureWithValidIdent): Updated function to take a CSSPrimitiveValue.
(WebCore::featureWithValidDensity): Updated function to take a CSSPrimitiveValue instead of a CSSParserToken.
(WebCore::featureWithValidPositiveLength): Ditto.
(WebCore::featureExpectingPositiveInteger): Ditto.
(WebCore::featureWithPositiveInteger): Ditto.
(WebCore::featureWithPositiveNumber): Ditto.
(WebCore::featureWithZeroOrOne): Ditto.
(WebCore::MediaQueryExpression::MediaQueryExpression): Use CSSPropertyParserHelpers for consuming.

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

(WebCore::CSSPropertyParserHelpers::consumeResolution): Added function for use in media query expression parsing.

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

(WebCore::MediaQueryParser::readRestrictor): Updated functions to take a CSSParserTokenRange in order to use CSSPropertyParserHelpers.
(WebCore::MediaQueryParser::readMediaNot): Ditto.
(WebCore::MediaQueryParser::readMediaType): Ditto.
(WebCore::MediaQueryParser::readAnd): Ditto.
(WebCore::MediaQueryParser::readFeatureStart): Ditto.
(WebCore::MediaQueryParser::readFeature): Ditto.
(WebCore::MediaQueryParser::readFeatureColon): Ditto.
(WebCore::MediaQueryParser::readFeatureValue): Ditto.
(WebCore::MediaQueryParser::readFeatureEnd): Ditto.
(WebCore::MediaQueryParser::skipUntilComma): Ditto.
(WebCore::MediaQueryParser::skipUntilBlockEnd): Ditto.
(WebCore::MediaQueryParser::processToken): Ditto.
(WebCore::MediaQueryParser::parseInternal): Ditto.
(WebCore::MediaQueryData::clear): Removed reference to m_valueList
(WebCore::MediaQueryData::addExpression): Use CSSParserTokenRange.
(WebCore::MediaQueryData::lastExpressionValid): New helper function.
(WebCore::MediaQueryData::removeLastExpression): New helper function.

  • css/parser/MediaQueryParser.h:

LayoutTests:

Imported CSS mediaqueries tests from WPT, deleting our (old) copy of one test. Updated
expectations.

Patch by Chris Nardi <csnardi1@gmail.com> on 2018-01-22
Reviewed by Antti Koivisto.

  • TestExpectations:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt:
  • fast/media/w3c/README: Removed.
  • fast/media/w3c/test_media_queries-expected.txt: Removed.
  • platform/ios/TestExpectations:
  • platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt:
  • platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt:
  • platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt:
  • platform/ios/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt:
7:03 AM Changeset in webkit [227294] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix after r227292. Fixing a bad copy-paste that broke
the GTK+ debug builds.

  • WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:

(WebKit::convertCairoSurfaceToShareableBitmap):

6:33 AM Changeset in webkit [227293] by Carlos Garcia Campos
  • 7 edits in trunk

WebDriver: implement get element CSS value command
https://bugs.webkit.org/show_bug.cgi?id=181736

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

13.4 Get Element CSS Value
https://w3c.github.io/webdriver/webdriver-spec.html#get-element-css-value

Fixes: imported/selenium/py/test/selenium/webdriver/common/rendered_webelement_tests.py::testShouldPickUpStyleOfAnElement

imported/selenium/py/test/selenium/webdriver/common/rendered_webelement_tests.py::testShouldAllowInheritedStylesToBeUsed

  • Session.cpp:

(WebDriver::Session::getElementProperty):
(WebDriver::Session::getElementCSSValue):

  • Session.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::getElementCSSValue):

  • WebDriverService.h:

WebDriverTests:

6:23 AM Changeset in webkit [227292] by zandobersek@gmail.com
  • 9 edits in trunk/Source

[Cairo] Refactor PlatformContextCairo::drawSurfaceToContext() into a Cairo operation
https://bugs.webkit.org/show_bug.cgi?id=181930

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Move the PlatformContextCairo::drawSurfaceToContext() code into the
Cairo namespace as an operation, renaming it to drawSurface(). Mirroring
other operations, the PlatformContextCairo object is now passed through
a reference as the first argument to the function, and cairo_t context
object is retrieved from that.

Call sites of the PlatformContextCairo::drawSurfaceToContext() method
are adjusted to now call Cairo::drawSurface() and properly pass the
PlatformContextCairo object to the function.

No new tests -- no change in functionality.

  • platform/graphics/cairo/CairoOperations.cpp:

(WebCore::Cairo::prepareForStroking): Make this static.
(WebCore::Cairo::drawPatternToCairoContext):
(WebCore::Cairo::drawNativeImage):
(WebCore::Cairo::drawSurface):

  • platform/graphics/cairo/CairoOperations.h:
  • platform/graphics/cairo/PlatformContextCairo.cpp:

(WebCore::drawPatternToCairoContext): Deleted.
(WebCore::PlatformContextCairo::drawSurfaceToContext): Deleted.

  • platform/graphics/cairo/PlatformContextCairo.h:
  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame):

Source/WebKit:

Call sites of the PlatformContextCairo::drawSurfaceToContext() method
are adjusted to now call Cairo::drawSurface() and properly pass the
PlatformContextCairo object to the function.

  • Shared/cairo/ShareableBitmapCairo.cpp:

(WebKit::ShareableBitmap::paint):

  • WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:

(WebKit::convertCairoSurfaceToShareableBitmap):

6:22 AM Changeset in webkit [227291] by Carlos Garcia Campos
  • 38 edits
    1 copy
    2 adds
    2 deletes in trunk/WebDriverTests

Unreviewed. Update W3C WebDriver imported tests.

  • imported/w3c/importer.json:
  • imported/w3c/tools/webdriver/webdriver/client.py:
  • imported/w3c/tools/webdriver/webdriver/protocol.py:
  • imported/w3c/tools/webdriver/webdriver/servo.py: Removed.
  • imported/w3c/tools/webdriver/webdriver/transport.py:
  • imported/w3c/tools/wptrunner/MANIFEST.in:
  • imported/w3c/tools/wptrunner/README.rst:
  • imported/w3c/tools/wptrunner/docs/conf.py:
  • imported/w3c/tools/wptrunner/docs/usage.rst:
  • imported/w3c/tools/wptrunner/setup.py:
  • imported/w3c/tools/wptrunner/tox.ini:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/init.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/b2g_setup/certtest_app.zip: Removed.
  • imported/w3c/tools/wptrunner/wptrunner/browsers/chrome_android.py: Copied from WebDriverTests/imported/w3c/tools/wptrunner/wptrunner/browsers/ie.py.
  • imported/w3c/tools/wptrunner/wptrunner/browsers/firefox.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/ie.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/servo.py:
  • imported/w3c/tools/wptrunner/wptrunner/environment.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/base.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executormarionette.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorservo.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorservodriver.py:
  • imported/w3c/tools/wptrunner/wptrunner/manifestupdate.py:
  • imported/w3c/tools/wptrunner/wptrunner/metadata.py:
  • imported/w3c/tools/wptrunner/wptrunner/stability.py:
  • imported/w3c/tools/wptrunner/wptrunner/testloader.py:
  • imported/w3c/tools/wptrunner/wptrunner/testrunner.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_hosts.py:
  • imported/w3c/tools/wptrunner/wptrunner/update/init.py:
  • imported/w3c/tools/wptrunner/wptrunner/update/sync.py:
  • imported/w3c/tools/wptrunner/wptrunner/update/tree.py:
  • imported/w3c/tools/wptrunner/wptrunner/vcs.py:
  • imported/w3c/tools/wptrunner/wptrunner/webdriver_server.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptcommandline.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_serializer.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_tokenizer.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptrunner.py:
  • imported/w3c/tools/wptrunner/wptrunner/wpttest.py:
  • imported/w3c/webdriver/tests/execute_async_script/init.py: Added.
  • imported/w3c/webdriver/tests/execute_script/init.py: Added.
  • imported/w3c/webdriver/tests/sessions/new_session/response.py:
6:04 AM Changeset in webkit [227290] by Carlos Garcia Campos
  • 6 edits in trunk

[GTK] WebDriver: test imported/w3c/webdriver/tests/sessions/new_session/response.py is crashing in the bots
https://bugs.webkit.org/show_bug.cgi?id=181904

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

Handle the case of failing to launch the browser. The test is actually failing because it's sending wrong
capabilities, the driver tries to fall back to the default driver, but since WebKit is not installed in the
bots, it fails to find the MiniBrowser. The test needs to be fixed, but we shouldn't crash when the browser
can't be spawned for whatever reason in any case. This patch handles that case and changes the boolean result of
connectToBrowser to be an optional error string instead. This way we can provide more detailed error message
when we reject the session creation because the browser failed to start.

  • SessionHost.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::newSession):

  • glib/SessionHostGlib.cpp:

(WebDriver::SessionHost::connectToBrowser):
(WebDriver::ConnectToBrowserAsyncData::ConnectToBrowserAsyncData):
(WebDriver::SessionHost::launchBrowser):
(WebDriver::SessionHost::setupConnection):

WebDriverTests:

Unskip imported/w3c/webdriver/tests/sessions/new_session/response.py.

6:03 AM Changeset in webkit [227289] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Test /webkit/WebKitWebsiteData/resource-load-statistics is failing since r227223
https://bugs.webkit.org/show_bug.cgi?id=181929

Reviewed by Michael Catanzaro.

The test is checking that the resource load stats file is deleted after clearing website data. Since r227223,
the website data completion callback is not called immediately, and a new file is created when the operation
finishes. We need to check that the file was removing after calling clear.

  • TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:

(fileChangedCallback):
(testWebsiteDataResourceLoadStatistics):

4:33 AM Changeset in webkit [227288] by Manuel Rego Casasnovas
  • 4 edits
    4 adds in trunk

[css-grid] Spanning Grid item has too much space at the bottom / is too high
https://bugs.webkit.org/show_bug.cgi?id=181677

LayoutTests/imported/w3c:

Imported WPT tests to check this change.

Reviewed by Javier Fernandez.

  • web-platform-tests/css/css-grid/layout-algorithm/grid-find-fr-size-gutters-001-expected.txt: Added.
  • web-platform-tests/css/css-grid/layout-algorithm/grid-find-fr-size-gutters-001.html: Added.
  • web-platform-tests/css/css-grid/layout-algorithm/grid-find-fr-size-gutters-002-expected.txt: Added.
  • web-platform-tests/css/css-grid/layout-algorithm/grid-find-fr-size-gutters-002.html: Added.
  • web-platform-tests/css/css-grid/layout-algorithm/w3c-import.log:

Source/WebCore:

Reviewed by Javier Fernandez.

In IndefiniteSizeStrategy::findUsedFlexFraction() we were not
subtracting the size of the gutters when we call findFrUnitSize().
If an item spans several tracks, we cannot pass the maxContentForChild()
directly, we need to subtract the gutters as they are treated
as fixed size tracks in the algorithm.

The spec text is pretty clear regarding this
(https://drafts.csswg.org/css-grid/#algo-find-fr-size):
"Let leftover space be the space to fill minus the base sizes

of the non-flexible grid tracks."

Gutters are treated as fixed-size tracks for the purpose
of the track sizing algorithm, so we need to subtract them from the
leftover space while finding the size of an "fr".

Tests: imported/w3c/web-platform-tests/css/css-grid/layout-algorithm/grid-find-fr-size-gutters-001.html

imported/w3c/web-platform-tests/css/css-grid/layout-algorithm/grid-find-fr-size-gutters-002.html

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithm::findFrUnitSize const):
(WebCore::IndefiniteSizeStrategy::findUsedFlexFraction const):

1:02 AM Changeset in webkit [227287] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Reviewed GTK gardening. Mark /webkit/WebKitWebView/mouse-target as fail too.

  • TestWebKitAPI/glib/TestExpectations.json:
12:12 AM Changeset in webkit [227286] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed GTK+ gardening. Fix /webkit/WebKitConsoleMessage/network-error.

Partially revert r226782, the fix was wrong for the GLib version we currently use.

  • TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:

(testWebKitConsoleMessageNetworkError):

12:00 AM Changeset in webkit [227285] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Remove unused verbose mode from GLib API tests runner.

  • glib/api_test_runner.py:

(add_options):

Note: See TracTimeline for information about the timeline view.