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

Timeline



Jan 27, 2018:

6:23 PM Changeset in webkit [227717] by fpizlo@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

MarkedBlock should have a footer instead of a header
https://bugs.webkit.org/show_bug.cgi?id=182217

Reviewed by JF Bastien.

This moves the MarkedBlock's meta-data from the header to the footer. This doesn't really
change anything except for some compile-time constants, so it should not affect performance.

This change is to help protect against Spectre attacks on structure checks, which allow for
small-offset out-of-bounds access. By putting the meta-data at the end of the block, small
OOBs will only get to other objects in the same block or the block footer. The block footer
is not super interesting. So, if we combine this with the TLC change (r227617), this means we
can use blocks as the mechanism of achieving distance between objects from different origins.
We just need to avoid ever putting objects from different origins in the same block. That's
what bug 181636 is about.

  • heap/BlockDirectory.cpp:

(JSC::blockHeaderSize): Deleted.
(JSC::BlockDirectory::blockSizeForBytes): Deleted.

  • heap/BlockDirectory.h:
  • heap/HeapUtil.h:

(JSC::HeapUtil::findGCObjectPointersForMarking):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::MarkedBlock):
(JSC::MarkedBlock::~MarkedBlock):
(JSC::MarkedBlock::Footer::Footer):
(JSC::MarkedBlock::Footer::~Footer):
(JSC::MarkedBlock::Handle::stopAllocating):
(JSC::MarkedBlock::Handle::lastChanceToFinalize):
(JSC::MarkedBlock::Handle::resumeAllocating):
(JSC::MarkedBlock::aboutToMarkSlow):
(JSC::MarkedBlock::resetMarks):
(JSC::MarkedBlock::assertMarksNotStale):
(JSC::MarkedBlock::Handle::didConsumeFreeList):
(JSC::MarkedBlock::markCount):
(JSC::MarkedBlock::clearHasAnyMarked):
(JSC::MarkedBlock::Handle::didAddToDirectory):
(JSC::MarkedBlock::Handle::didRemoveFromDirectory):
(JSC::MarkedBlock::Handle::sweep):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::markingVersion const):
(JSC::MarkedBlock::lock):
(JSC::MarkedBlock::subspace const):
(JSC::MarkedBlock::footer):
(JSC::MarkedBlock::footer const):
(JSC::MarkedBlock::handle):
(JSC::MarkedBlock::handle const):
(JSC::MarkedBlock::Handle::blockFooter):
(JSC::MarkedBlock::isAtomAligned):
(JSC::MarkedBlock::Handle::cellAlign):
(JSC::MarkedBlock::blockFor):
(JSC::MarkedBlock::vm const):
(JSC::MarkedBlock::weakSet):
(JSC::MarkedBlock::cellSize):
(JSC::MarkedBlock::attributes const):
(JSC::MarkedBlock::atomNumber):
(JSC::MarkedBlock::areMarksStale):
(JSC::MarkedBlock::aboutToMark):
(JSC::MarkedBlock::isMarkedRaw):
(JSC::MarkedBlock::isMarked):
(JSC::MarkedBlock::testAndSetMarked):
(JSC::MarkedBlock::marks const):
(JSC::MarkedBlock::isAtom):
(JSC::MarkedBlock::Handle::forEachCell):
(JSC::MarkedBlock::hasAnyMarked const):
(JSC::MarkedBlock::noteMarked):
(WTF::MarkedBlockHash::hash):
(JSC::MarkedBlock::firstAtom): Deleted.

  • heap/MarkedBlockInlines.h:

(JSC::MarkedBlock::marksConveyLivenessDuringMarking):
(JSC::MarkedBlock::Handle::isLive):
(JSC::MarkedBlock::Handle::specializedSweep):
(JSC::MarkedBlock::Handle::forEachLiveCell):
(JSC::MarkedBlock::Handle::forEachDeadCell):
(JSC::MarkedBlock::Handle::forEachMarkedCell):

  • heap/MarkedSpace.cpp:
  • heap/MarkedSpace.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
10:14 AM Changeset in webkit [227716] by Yusuke Suzuki
  • 3 edits
    2 adds in trunk

DFG strength reduction fails to convert NumberToStringWithValidRadixConstant for 0 to constant '0'
https://bugs.webkit.org/show_bug.cgi?id=182213

Reviewed by Mark Lam.

JSTests:

  • stress/int32-min-to-string.js: Added.

(shouldBe):
(test2):
(test4):
(test8):
(test16):
(test32):

  • stress/zero-to-string.js: Added.

(shouldBe):
(test2):
(test4):
(test8):
(test16):
(test32):

Source/JavaScriptCore:

toStringWithRadixInternal is originally used for the slow path if the given value is larger than radix or negative.
As a result, it does not accept 0 correctly, and produces an empty string. Since DFGStrengthReductionPhase uses
this function, it accidentally converts NumberToStringWithValidRadixConstant(0, radix) to an empty string.
This patch fixes toStringWithRadixInternal to accept 0. This change fixes twitch.tv's issue.

We also add a careful cast to avoid -INT32_MIN. It does not produce incorrect value in x86 in practice,
but it is UB, and a compiler may assume that the given value is never INT32_MIN and could do an incorrect optimization.

  • runtime/NumberPrototype.cpp:

(JSC::toStringWithRadixInternal):

9:50 AM Changeset in webkit [227715] by mitz@apple.com
  • 12 edits in trunk

HaveInternalSDK includes should be "#include?"
https://bugs.webkit.org/show_bug.cgi?id=179670

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:

Source/ThirdParty/libwebrtc:

  • Configurations/Base.xcconfig:

Source/WebCore/PAL:

  • Configurations/Base.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/Base.xcconfig:

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
1:26 AM Changeset in webkit [227714] by graouts@webkit.org
  • 11 edits
    1 add in trunk

[Web Animations] Distinguish between an omitted and a null timeline argument to the Animation constructor
https://bugs.webkit.org/show_bug.cgi?id=179065
LayoutTests/imported/w3c:

Reviewed by Dean Jackson.

Update WPT test output with progressions.

  • web-platform-tests/web-animations/interfaces/Animation/constructor-expected.txt:
  • web-platform-tests/web-animations/timing-model/animations/reversing-an-animation-expected.txt:
  • web-platform-tests/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt:

Source/WebCore:

<rdar://problem/36869046>

Reviewed by Dean Jackson.

The Web Animations specification requires that a missing or undefined "timeline" parameter means that the
document's timeline should be used, but a null value should be supported. To support this, we need to provide
a custom Animation constructor where we can check on the ExecState whether the second argument passed is
undefined, which is true if an explicit "undefined" value is passed or if the argument does not exist.

  • Sources.txt: Add the new JSWebAnimationCustom.cpp file.
  • WebCore.xcodeproj/project.pbxproj: Add the new JSWebAnimationCustom.cpp file.
  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::create): Add a create() variant that doesn't provide an AnimationTimeline parameter
to clearly indicate that the provided Document's timeline should be used.

  • animation/WebAnimation.h:
  • animation/WebAnimation.idl:
  • bindings/js/JSWebAnimationCustom.cpp: Added.

(WebCore::constructJSWebAnimation): Provide a custom Animation constructor where we check whether the second
argument, the timeline, is undefined.

  • dom/Element.cpp:

(WebCore::Element::animate): Use the new create() variant since passing "nullptr" now means a null 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:
Note: See TracTimeline for information about the timeline view.