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

Timeline



Jul 25, 2018:

8:34 PM Changeset in webkit [234228] by Basuke Suzuki
  • 2 edits
    1 add in trunk/LayoutTests

[Curl] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=188034

Unreviewed WinCairo gardening.

  • httpxmlhttprequest/simple-sync.html: Added.
  • platform/wincairo/TestExpectations:
7:32 PM Changeset in webkit [234227] by keith_miller@apple.com
  • 34 edits
    1 add in trunk/Source/JavaScriptCore

[JSC API] We should support the symbol type in our C/Obj-C API
https://bugs.webkit.org/show_bug.cgi?id=175836

Reviewed by Filip Pizlo.

This patch makes the following API additions:
1) Test if a JSValue/JSValueRef is a symbol via any of the methods API are able to test for the types of other JSValues.
2) Create a symbol on both APIs.
3) Get/Set/Delete/Define property now take ids in the Obj-C API.
4) Add Get/Set/Delete in the C API.

We can do 3 because it is both binary and source compatable with
the existing API. I added (4) because the current property access
APIs only have the ability to get Strings. It was possible to
merge symbols into JSStringRef but that felt confusing and exposes
implementation details of our engine. The new functions match the
same meaning that they have in JS, thus should be forward
compatible with any future language extensions.

Lastly, this patch adds the same availability preproccessing phase
in WebCore to JavaScriptCore, which enables TBA features for
testing on previous releases.

  • API/APICast.h:
  • API/JSBasePrivate.h:
  • API/JSContext.h:
  • API/JSContextPrivate.h:
  • API/JSContextRef.h:
  • API/JSContextRefInternal.h:
  • API/JSContextRefPrivate.h:
  • API/JSManagedValue.h:
  • API/JSObjectRef.cpp:

(JSObjectHasPropertyKey):
(JSObjectGetPropertyKey):
(JSObjectSetPropertyKey):
(JSObjectDeletePropertyKey):

  • API/JSObjectRef.h:
  • API/JSRemoteInspector.h:
  • API/JSTypedArray.h:
  • API/JSValue.h:
  • API/JSValue.mm:

(+[JSValue valueWithNewSymbolFromDescription:inContext:]):
(performPropertyOperation):
(-[JSValue valueForProperty:valueForProperty:]):
(-[JSValue setValue:forProperty:setValue:forProperty:]):
(-[JSValue deleteProperty:deleteProperty:]):
(-[JSValue hasProperty:hasProperty:]):
(-[JSValue defineProperty:descriptor:defineProperty:descriptor:]):
(-[JSValue isSymbol]):
(-[JSValue objectForKeyedSubscript:]):
(-[JSValue setObject:forKeyedSubscript:]):
(-[JSValue valueForProperty:]): Deleted.
(-[JSValue setValue:forProperty:]): Deleted.
(-[JSValue deleteProperty:]): Deleted.
(-[JSValue hasProperty:]): Deleted.
(-[JSValue defineProperty:descriptor:]): Deleted.

  • API/JSValueRef.cpp:

(JSValueGetType):
(JSValueIsSymbol):
(JSValueMakeSymbol):

  • API/JSValueRef.h:
  • API/WebKitAvailability.h:
  • API/tests/CurrentThisInsideBlockGetterTest.mm:
  • API/tests/CustomGlobalObjectClassTest.c:
  • API/tests/DateTests.mm:
  • API/tests/JSExportTests.mm:
  • API/tests/JSNode.c:
  • API/tests/JSNodeList.c:
  • API/tests/Node.c:
  • API/tests/NodeList.c:
  • API/tests/minidom.c:
  • API/tests/testapi.c:

(main):

  • API/tests/testapi.cpp: Added.

(APIString::APIString):
(APIString::~APIString):
(APIString::operator JSStringRef):
(APIContext::APIContext):
(APIContext::~APIContext):
(APIContext::operator JSGlobalContextRef):
(APIVector::APIVector):
(APIVector::~APIVector):
(APIVector::append):
(testCAPIViaCpp):
(TestAPI::evaluateScript):
(TestAPI::callFunction):
(TestAPI::functionReturnsTrue):
(TestAPI::check):
(TestAPI::checkJSAndAPIMatch):
(TestAPI::interestingObjects):
(TestAPI::interestingKeys):
(TestAPI::run):

  • API/tests/testapi.mm:

(testObjectiveCAPIMain):

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • config.h:
  • postprocess-headers.sh:
  • shell/CMakeLists.txt:
  • testmem/testmem.mm:
6:29 PM Changeset in webkit [234226] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Allow ActiveDOMObject's canSuspend / suspend / resume overrides to destroy ActiveDOMObjects
https://bugs.webkit.org/show_bug.cgi?id=188025

Reviewed by Alex Christensen.

Apply the same logic as in ScriptExecutionContext::stopActiveDOMObjects() to support destruction of
ActiveDOMObjects while we're calling ActiveDOMObject's canSuspend / suspend / resume overrides.

We copy m_activeDOMObjects into a Vector and iterate over the copy instead of m_activeDOMObjects.
Since ActiveDOMObject is not RefCounted or CanMakeWeakPtr, we verify that the raw pointer is still
valid by checking if m_activeDOMObjects still contains it, as we iterate. This is safe as the
ActiveDOMObject destructor removes the object from ScriptExecutionContext::m_activeDOMObjects.
New ActiveDOMObjects with the same pointer value cannot be created while we iterate as we already
prevent the construction of new ActiveDOMObjects while we iterate via RELEASE_ASSERT().

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForDocumentSuspension):
(WebCore::ScriptExecutionContext::forEachActiveDOMObject const):
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
(WebCore::ScriptExecutionContext::stopActiveDOMObjects):
(WebCore::ScriptExecutionContext::willDestroyActiveDOMObject):

  • dom/ScriptExecutionContext.h:
6:08 PM Changeset in webkit [234225] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.31

Tag Safari-606.1.31.

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

Systems with no NSScreens hitting assertion in rendererIDForDisplay when creating WebGL context
https://bugs.webkit.org/show_bug.cgi?id=188023
<rdar://problem/42476622>

Patch by Justin Fan <Justin Fan> on 2018-07-25
Reviewed by Simon Fraser.

On systems with no NSScreens, PlatformScreenMac's screenData map is not populated; rendererIDForDisplay
will thus hit an assertion rather than returning 0. Removing the assertion for now.

Covered by existing tests.

  • platform/mac/PlatformScreenMac.mm:

(WebCore::rendererIDForDisplay):

5:29 PM Changeset in webkit [234223] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[macOS] Update sandboxes for revised OpenCL calls and streaming media
https://bugs.webkit.org/show_bug.cgi?id=188013
<rdar://problem/42594262>

Reviewed by Eric Carlson.

Testing logs from recent Mojave builds shows that OpenCL is checking more CPU-specific values as part of WebKit
painting operations. We need to allow these checks in the sandbox to support these more optimized drawing operations.

I also corrected some sandbox violations I found while investigating streaming media issues.

  • WebProcess/com.apple.WebProcess.sb.in:
5:29 PM Changeset in webkit [234222] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Build fix after r234215. Unreviewed.

  • rendering/RenderTheme.cpp:
5:27 PM Changeset in webkit [234221] by bshafiei@apple.com
  • 7 edits in branches/safari-606-branch/Source

Versioning.

5:22 PM Changeset in webkit [234220] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews-build] Add build steps DownloadBuiltProduct and ExtractBuiltProduct
https://bugs.webkit.org/show_bug.cgi?id=188031

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/steps.py:

(DownloadBuiltProduct): Added build step DownloadBuiltProduct.
(ExtractBuiltProduct): Added build step ExtractBuiltProduct.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
5:19 PM Changeset in webkit [234219] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Dark Mode: Breakpoint editor in JS debugger has inconsistent background
https://bugs.webkit.org/show_bug.cgi?id=188026

Reviewed by Matt Baker.

  • UserInterface/Views/DarkMode.css:

(@media (prefers-dark-interface)):
(.edit-breakpoint-popover-condition):
(.breakpoint-action-eval-editor):

4:15 PM Changeset in webkit [234218] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews-build] Add build step UploadBuiltProduct
https://bugs.webkit.org/show_bug.cgi?id=188016

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/steps.py:

(UploadBuiltProduct): Added build step UploadBuiltProduct.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test.
4:03 PM Changeset in webkit [234217] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews-build] Add build step ArchiveBuiltProduct
https://bugs.webkit.org/show_bug.cgi?id=188014

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-build/steps.py:

(ArchiveBuiltProduct): Added build step ArchiveBuiltProduct.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
3:51 PM Changeset in webkit [234216] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Mask AVBackgroundView to the corner radius.
https://bugs.webkit.org/show_bug.cgi?id=187976
rdar://problem/41810866

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-07-25
Reviewed by Jon Lee.

This changes sets the appropriate mask to the layer so the corners look correct.

  • UIProcess/ios/fullscreen/WKFullscreenStackView.mm:

(-[WKFullscreenStackView init]):

3:44 PM Changeset in webkit [234215] by Alan Bujtas
  • 30 edits
    2 adds
    15 deletes in trunk

REGRESSION(r227577) Text on TV & Movies page doesn't wrap properly in iTunes
https://bugs.webkit.org/show_bug.cgi?id=188018
<rdar://problem/42517520>

Reviewed by Dean Jackson.

Source/WebCore:

Manual rollout of r227577.

Test: fast/overflow/line-clamp-with-text-shadow.html

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

(WebCore::ComputedStyleExtractor::valueForPropertyinStyle):

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

(WebCore::StyleBuilderCustom::applyValueWebkitLinesClamp): Deleted.

  • css/parser/CSSParserContext.cpp:

(WebCore::CSSParserContext::CSSParserContext):

  • css/parser/CSSParserContext.h:

(WebCore::CSSParserContextHash::hash):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::consumeLinesClamp): Deleted.

  • page/Settings.yaml:
  • rendering/RenderBlockFlow.cpp:

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

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

(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):

  • rendering/RenderFragmentContainer.cpp:

(WebCore::RenderFragmentContainer::pageLogicalHeightForOffset const): Deleted.

  • rendering/RenderFragmentContainer.h:
  • rendering/RenderFragmentedFlow.cpp:

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

  • rendering/RenderFragmentedFlow.h:
  • rendering/RenderLinesClampFlow.cpp: Removed.
  • rendering/RenderLinesClampFlow.h: Removed.
  • rendering/RenderLinesClampSet.cpp: Removed.
  • rendering/RenderLinesClampSet.h: Removed.
  • rendering/RenderMultiColumnFlow.cpp:

(WebCore::RenderMultiColumnFlow::isColumnSpanningDescendant const): Deleted.
(WebCore::RenderMultiColumnFlow::createMultiColumnSet): Deleted.

  • rendering/RenderMultiColumnFlow.h:

(WebCore::RenderMultiColumnFlow::multiColumnBlockFlow const): Deleted.
(WebCore::RenderMultiColumnFlow::hasColumnSpanner const): Deleted.
(WebCore::RenderMultiColumnFlow::findColumnSpannerPlaceholder const): Deleted.
(WebCore::RenderMultiColumnFlow::columnCount const): Deleted.
(WebCore::RenderMultiColumnFlow::columnWidth const): Deleted.
(WebCore::RenderMultiColumnFlow::columnHeightAvailable const): Deleted.
(WebCore::RenderMultiColumnFlow::setColumnHeightAvailable): Deleted.
(WebCore::RenderMultiColumnFlow::inBalancingPass const): Deleted.
(WebCore::RenderMultiColumnFlow::setInBalancingPass): Deleted.
(WebCore::RenderMultiColumnFlow::needsHeightsRecalculation const): Deleted.
(WebCore::RenderMultiColumnFlow::setNeedsHeightsRecalculation): Deleted.
(WebCore::RenderMultiColumnFlow::shouldRelayoutForPagination const): Deleted.
(WebCore::RenderMultiColumnFlow::setColumnCountAndWidth): Deleted.
(WebCore::RenderMultiColumnFlow::progressionIsInline const): Deleted.
(WebCore::RenderMultiColumnFlow::setProgressionIsInline): Deleted.
(WebCore::RenderMultiColumnFlow::progressionIsReversed const): Deleted.
(WebCore::RenderMultiColumnFlow::setProgressionIsReversed): Deleted.
(WebCore::RenderMultiColumnFlow::spannerMap): Deleted.

  • rendering/RenderMultiColumnSet.cpp:

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

  • rendering/RenderMultiColumnSet.h:

(WebCore::RenderMultiColumnSet::multiColumnBlockFlow const): Deleted.
(WebCore::RenderMultiColumnSet::multiColumnFlow const): Deleted.
(WebCore::RenderMultiColumnSet::logicalTopInFragmentedFlow const): Deleted.
(WebCore::RenderMultiColumnSet::logicalBottomInFragmentedFlow const): Deleted.
(WebCore::RenderMultiColumnSet::logicalHeightInFragmentedFlow const): Deleted.
(WebCore::RenderMultiColumnSet::computedColumnCount const): Deleted.
(WebCore::RenderMultiColumnSet::computedColumnWidth const): Deleted.
(WebCore::RenderMultiColumnSet::computedColumnHeight const): Deleted.
(WebCore::RenderMultiColumnSet::columnHeightComputed const): Deleted.
(WebCore::RenderMultiColumnSet::setComputedColumnWidthAndCount): Deleted.
(WebCore::RenderMultiColumnSet::updateMinimumColumnHeight): Deleted.
(WebCore::RenderMultiColumnSet::minimumColumnHeight const): Deleted.
(WebCore::RenderMultiColumnSet::forcedBreaksCount const): Deleted.
(WebCore::RenderMultiColumnSet::hasBeenFlowed const): Deleted.
(WebCore::RenderMultiColumnSet::skipLayerFragmentCollectionForColumn const): Deleted.
(WebCore::RenderMultiColumnSet::customBlockProgressionAdjustmentForColumn const): Deleted.
(WebCore::RenderMultiColumnSet::ContentRun::ContentRun): Deleted.
(WebCore::RenderMultiColumnSet::ContentRun::assumedImplicitBreaks const): Deleted.
(WebCore::RenderMultiColumnSet::ContentRun::assumeAnotherImplicitBreak): Deleted.
(WebCore::RenderMultiColumnSet::ContentRun::breakOffset const): Deleted.
(WebCore::RenderMultiColumnSet::ContentRun::columnLogicalHeight const): Deleted.

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderLinesClampFlow const): Deleted.
(WebCore::RenderObject::isRenderLinesClampSet const): Deleted.

  • rendering/style/LineClampValue.h:

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

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::lineClamp const):
(WebCore::RenderStyle::setLineClamp):
(WebCore::RenderStyle::initialLineClamp):
(WebCore::RenderStyle::hasInlineColumnAxis const):
(WebCore::RenderStyle::linesClamp const): Deleted.
(WebCore::RenderStyle::hasLinesClamp const): Deleted.
(WebCore::RenderStyle::setLinesClamp): Deleted.
(WebCore::RenderStyle::initialLinesClamp): Deleted.

  • rendering/style/StyleRareNonInheritedData.cpp:

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

  • rendering/style/StyleRareNonInheritedData.h:
  • rendering/updating/RenderTreeBuilderMultiColumn.cpp:

(WebCore::isValidColumnSpanner):
(WebCore::RenderTreeBuilder::MultiColumn::createFragmentedFlow):
(WebCore::RenderTreeBuilder::MultiColumn::processPossibleSpannerDescendant):

Source/WebKit:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_credentialsMessenger):

LayoutTests:

  • fast/block/lines-clamp-advanced-expected.html: Removed.
  • fast/block/lines-clamp-advanced-rl-expected.html: Removed.
  • fast/block/lines-clamp-advanced-rl.html: Removed.
  • fast/block/lines-clamp-advanced.html: Removed.
  • fast/block/lines-clamp-basic-expected.html: Removed.
  • fast/block/lines-clamp-basic-rl-expected.html: Removed.
  • fast/block/lines-clamp-basic-rl.html: Removed.
  • fast/block/lines-clamp-basic.html: Removed.
  • fast/css/lines-clamp-parsing-expected.txt: Removed.
  • fast/css/lines-clamp-parsing.html: Removed.
  • fast/overflow/line-clamp-with-text-shadow-expected.html: Added.
  • fast/overflow/line-clamp-with-text-shadow.html: Added.
  • platform/ios-simulator-wk2/fast/overflow/line-clamp-expected.txt: Removed.
2:38 PM Changeset in webkit [234214] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Fix the build.

  • UIProcess/mac/ServicesController.mm:

(WebKit::hasCompatibleServicesForItems):
I can't even.

1:56 PM Changeset in webkit [234213] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Crashing on some builds that don't have async NSSharingService API
https://bugs.webkit.org/show_bug.cgi?id=188015
<rdar://problem/42593935>

Reviewed by Eric Carlson.

  • UIProcess/mac/ServicesController.mm:

(WebKit::hasCompatibleServicesForItems):

1:46 PM Changeset in webkit [234212] by david_fenton@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test media/audio-concurrent-supported.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=188017

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
1:33 PM Changeset in webkit [234211] by Chris Dumez
  • 13 edits
    1 add in trunk

navigator.userAgent may return outdated value after webView.customUserAgent is set
https://bugs.webkit.org/show_bug.cgi?id=188009
<rdar://problem/42566456>

Reviewed by Alex Christensen.

Source/WebCore:

Invalidate the navigator.userAgent cache whenever the user agent gets changed to avoid exposing
outdated values to JavaScript.

  • page/Navigator.cpp:

(WebCore::Navigator::userAgentChanged):

  • page/Navigator.h:
  • page/NavigatorID.idl:
  • page/Page.cpp:

(WebCore::Page::userAgentChanged):

  • page/Page.h:

Source/WebKit:

Let the page know when the user agent changes.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setUserAgent):

Source/WebKitLegacy/mac:

Let the page know when the user agent changes.

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):
(-[WebView setApplicationNameForUserAgent:]):
(-[WebView _invalidateUserAgentCache]):
(-[WebView setCustomUserAgent:]):

  • WebView/WebViewInternal.h:

Tools:

Add API test coverage.

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

(TEST):

11:32 AM Changeset in webkit [234210] by achristensen@apple.com
  • 7 edits in trunk/Source/WebKit

Use CompletionHandler for policy decisions
https://bugs.webkit.org/show_bug.cgi?id=187975

Reviewed by Chris Dumez.

  • UIProcess/WebFramePolicyListenerProxy.cpp:

(WebKit::WebFramePolicyListenerProxy::WebFramePolicyListenerProxy):
(WebKit::WebFramePolicyListenerProxy::use):
(WebKit::WebFramePolicyListenerProxy::download):
(WebKit::WebFramePolicyListenerProxy::ignore):
(WebKit::WebFramePolicyListenerProxy::receivedPolicyDecision): Deleted.
(WebKit::WebFramePolicyListenerProxy::setNavigation): Deleted.

  • UIProcess/WebFramePolicyListenerProxy.h:

(WebKit::WebFramePolicyListenerProxy::create):
(WebKit::WebFramePolicyListenerProxy::policyListenerType const): Deleted.
(WebKit::WebFramePolicyListenerProxy::listenerID const): Deleted.
(): Deleted.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::setUpPolicyListenerProxy):
(WebKit::WebFrameProxy::receivedPolicyDecision): Deleted.
(WebKit::WebFrameProxy::activePolicyListenerProxy): Deleted.
(WebKit::WebFrameProxy::changeWebsiteDataStore): Deleted.

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):

  • UIProcess/WebPageProxy.h:
11:04 AM Changeset in webkit [234209] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit

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

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

Reverted changeset:

"Use CompletionHandler for policy decisions"
https://bugs.webkit.org/show_bug.cgi?id=187975
https://trac.webkit.org/changeset/234196

11:04 AM Changeset in webkit [234208] by Kocsen Chung
  • 1 copy in tags/Safari-607.1.1

Tag Safari-607.1.1.

10:54 AM Changeset in webkit [234207] by commit-queue@webkit.org
  • 4 edits in trunk

[INTL] Call Typed Array elements toLocaleString with locale and options
https://bugs.webkit.org/show_bug.cgi?id=185796

Patch by Andy VanWagoner <andy@vanwagoner.family> on 2018-07-25
Reviewed by Keith Miller.

JSTests:

Remove now passing TypedArray toLocaleString expectation.

  • test262/expectations.yaml:

Source/JavaScriptCore:

Improve ECMA 402 compliance of typed array toLocaleString, passing along
the locale and options to element toLocaleString calls.

  • builtins/TypedArrayPrototype.js:

(toLocaleString):

10:36 AM Changeset in webkit [234206] by Michael Catanzaro
  • 1 edit in releases/WebKitGTK/webkit-2.20/LayoutTests/platform/gtk/TestExpectations

Unreviewed, fix merge conflict from previous patch

I failed to address a merge conflict in the TestExpectations.

10:33 AM Changeset in webkit [234205] by Michael Catanzaro
  • 7 edits in releases/WebKitGTK/webkit-2.20

Merge r233080 - REGRESSION(r230950): [GTK] WebKit::CoordinatedBackingStoreTile::setBackBuffer(): WebKitWebProcess killed by SIGSEGV (ASSERTION FAILED: it != m_tiles.end())
https://bugs.webkit.org/show_bug.cgi?id=186206

Source/WebCore:

Unreviewed manual rollout of r230950

  • platform/graphics/texmap/TextureMapperLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::shouldHaveBackingStore const):

Source/WebKit:

Unreviewed manual rollout of r230950

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::layerShouldHaveBackingStore):

LayoutTests:

Unreviewed, remove crash expectations for crashes introduced by r230950.

  • platform/gtk/TestExpectations:
10:33 AM Changeset in webkit [234204] by Michael Catanzaro
  • 8 edits in releases/WebKitGTK/webkit-2.20/Source/JavaScriptCore

Merge r232883 - Unreviewed, rolling out r232816.

Suggested by Caitlin:
"this patch clearly does get some things wrong, and it's not
easy to find what those things are"

Reverted changeset:

"[LLInt] use loadp consistently for
get_from_scope/put_to_scope"
https://bugs.webkit.org/show_bug.cgi?id=132333
https://trac.webkit.org/changeset/232816

10:10 AM Changeset in webkit [234203] by david_fenton@apple.com
  • 8 edits
    2 deletes in trunk

Unreviewed, rolling out r234187.

the layout test added with this change is flaky on the bots

Reverted changeset:

"Animation stops with object-fit:contain on an animated 2d
canvas"
https://bugs.webkit.org/show_bug.cgi?id=187840
https://trac.webkit.org/changeset/234187

10:02 AM WebKitGTK/2.20.x edited by Michael Catanzaro
Managed the rollouts (diff)
10:02 AM Changeset in webkit [234202] by commit-queue@webkit.org
  • 11 edits in trunk

[INTL] Intl constructor lengths should be configurable
https://bugs.webkit.org/show_bug.cgi?id=187960

Patch by Andy VanWagoner <andy@vanwagoner.family> on 2018-07-25
Reviewed by Saam Barati.

JSTests:

Removed fixed length expectations, and updated Intl.Locale expectations
that error differently since r234127.

  • test262/expectations.yaml:

Source/JavaScriptCore:

Removed DontDelete from Intl constructor lengths.
Fixed DateTimeFormat formatToParts length.

  • runtime/IntlCollatorConstructor.cpp:

(JSC::IntlCollatorConstructor::finishCreation):

  • runtime/IntlDateTimeFormatConstructor.cpp:

(JSC::IntlDateTimeFormatConstructor::finishCreation):

  • runtime/IntlDateTimeFormatPrototype.cpp:

(JSC::IntlDateTimeFormatPrototype::finishCreation):

  • runtime/IntlNumberFormatConstructor.cpp:

(JSC::IntlNumberFormatConstructor::finishCreation):

  • runtime/IntlPluralRulesConstructor.cpp:

(JSC::IntlPluralRulesConstructor::finishCreation):

LayoutTests:

Expect DateTimeFormat formatToParts length to be 1.

  • js/intl-datetimeformat-expected.txt:
  • js/script-tests/intl-datetimeformat.js:
10:00 AM Changeset in webkit [234201] by bshafiei@apple.com
  • 2 edits in branches/safari-606-branch/Source/bmalloc

Cherry-pick r234185. rdar://problem/42586981

Revert back to using phys_footprint to calculate isUnderMemoryPressure()
https://bugs.webkit.org/show_bug.cgi?id=187919
<rdar://problem/42552888>

Reviewed by Simon Fraser.

Currently on iOS, bmalloc will run the scavenger more frequently when it detects
that the process is under memory pressure. However, it only uses bmalloc's
own footprint as a percentage of the HW available memory to determine if
the process is under memory pressure. This is a change I recently made
in an effort to run the scavenger less when bmalloc wasn't contributing
to the dirty footprint in the process. However, this fails to run the
scavenger eagerly when the process in question has a heap split
between a lot of dirty bmalloc memory as well as a lot of dirty memory
from elsewhere. We also have evidence that we may have increased jetsams
in the Web Content process. Since my original change was not a measurable
speedup, this patch reverts isUnderMemoryPressure() to its previous
behavior of using phys_footprint to determine if 75% of the available
HW memory is being used.

  • bmalloc/AvailableMemory.cpp: (bmalloc::memoryStatus):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234185 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:00 AM Changeset in webkit [234200] by bshafiei@apple.com
  • 25 edits
    2 deletes in branches/safari-606-branch

Cherry-pick r234177. rdar://problem/42586717

Unreviewed, rolling out r233496 and r233571.

Likely cause of <rdar://problem/42160890> and
<rdar://problem/42329658> as ActiveDOMObjects can now be
constructed / destroyed while we are iterating over them.

Reverted changesets:

"Nullptr crash accessing Document in
GenericEventQueue::dispatchOneEvent()"
https://bugs.webkit.org/show_bug.cgi?id=187284
https://trac.webkit.org/changeset/233496

"REGRESSION(r233496): macOS Sierra hits debug assertions in
TrackListBase::suspend"
https://bugs.webkit.org/show_bug.cgi?id=187378
https://trac.webkit.org/changeset/233571

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234177 268f45cc-cd09-0410-ab3c-d52691b4dbfc

9:59 AM Changeset in webkit [234199] by cturner@igalia.com
  • 2 edits in trunk/Tools

[Flatpak] Pass more environment variables to sandbox
https://bugs.webkit.org/show_bug.cgi?id=188002

Reviewed by Michael Catanzaro.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.run_in_sandbox):

9:43 AM Changeset in webkit [234198] by Michael Catanzaro
  • 2 edits in releases/WebKitGTK/webkit-2.20/Source/JavaScriptCore

[GTK][STABLE] Non-deterministic build failure (missing JavaScriptCore/JSContextRef.h)

9:12 AM Changeset in webkit [234197] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Turn assertion preventing removal of ActiveDOMObjects while we iterate over them into a RELEASE_ASSERT
https://bugs.webkit.org/show_bug.cgi?id=187978

Reviewed by Eric Carlson.

Turn assertion preventing removal of ActiveDOMObjects while we iterate over them into a RELEASE_ASSERT.
If code does this, this leads to hard to investigate crashes such as rdar://problem/42160890. With a
release assertion, we would find the culprits right away. The assertion guarding against addition of
ActiveDOMObjects while we iterate is already a RELEASE_ASSERT.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForDocumentSuspension):
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
(WebCore::ScriptExecutionContext::willDestroyActiveDOMObject):

  • dom/ScriptExecutionContext.h:
9:07 AM Changeset in webkit [234196] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit

Use CompletionHandler for policy decisions
https://bugs.webkit.org/show_bug.cgi?id=187975

Patch by Alex Christensen <achristensen@webkit.org> on 2018-07-25
Reviewed by Chris Dumez.

  • UIProcess/WebFramePolicyListenerProxy.cpp:

(WebKit::WebFramePolicyListenerProxy::WebFramePolicyListenerProxy):
(WebKit::WebFramePolicyListenerProxy::use):
(WebKit::WebFramePolicyListenerProxy::download):
(WebKit::WebFramePolicyListenerProxy::ignore):
(WebKit::WebFramePolicyListenerProxy::receivedPolicyDecision): Deleted.
(WebKit::WebFramePolicyListenerProxy::setNavigation): Deleted.

  • UIProcess/WebFramePolicyListenerProxy.h:

(WebKit::WebFramePolicyListenerProxy::create):
(WebKit::WebFramePolicyListenerProxy::policyListenerType const): Deleted.
(WebKit::WebFramePolicyListenerProxy::listenerID const): Deleted.
(): Deleted.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::setUpPolicyListenerProxy):
(WebKit::WebFrameProxy::receivedPolicyDecision): Deleted.
(WebKit::WebFrameProxy::activePolicyListenerProxy): Deleted.
(WebKit::WebFrameProxy::changeWebsiteDataStore): Deleted.

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):

  • UIProcess/WebPageProxy.h:
9:01 AM WebKitGTK/2.20.x edited by Michael Catanzaro
r229282 is overkill, I'll handle this manually (diff)
8:47 AM Changeset in webkit [234195] by Brent Fulgham
  • 4 edits
    2 moves in trunk/Source/WebKit

[macOS] PluginProcess needs TCC entitlements for media capture
https://bugs.webkit.org/show_bug.cgi?id=187981
<rdar://problem/42433634>

Reviewed by Chris Dumez.

The changes needed in Bug 185526 are also needed for the plugin process, or else the UIProcess
(e.g., Safari) is not able to pass the user's camera/microphone access permission to the plugin process.

This patch has the following changes:

  1. Rename "WebContent-OSX-restricted.entitlements" to "WebContent-or-Plugin-OSX-restricted.entitlements"
  2. Rename "process-webcontent-entitlements.sh" to "process-webcontent-or-plugin-entitlements.sh"
  3. Add a run-script step to the Plugin.64 and Plugin.32 builds to add the relevant entitlements.
  4. Silence some Flash plugin sandbox exceptions triggered after activating the camera.
  • Configurations/WebContent-or-Plugin-OSX-restricted.entitlements: Renamed from Source/WebKit/Configurations/WebContent-OSX-restricted.entitlements.
  • Resources/PlugInSandboxProfiles/com.macromedia.Flash Player ESR.plugin.sb: Address sandbox violations needed by camera use.
  • Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb: Ditto.
  • Scripts/process-webcontent-or-plugin-entitlements.sh: Renamed from Source/WebKit/Scripts/process-webcontent-entitlements.sh.
  • WebKit.xcodeproj/project.pbxproj: Update for renaming, and perform entitlement steps on Plugin process.
8:43 AM Changeset in webkit [234194] by Ms2ger@igalia.com
  • 3 edits in trunk/LayoutTests

[GTK][WPE] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=188003

Unreviewed test gardening.

  • platform/gtk/TestExpectations:
    • webgl/2.0.0/conformance2/glsl3/: skip while we disable WebGL2 support
    • media/video-restricted-invisible-autoplay-allowed-when-visible.html: mark as flaky
    • compositing/backing/backing-store-attachment-fill-forwards-animation.html: mark as failing
    • http/tests/security/canvas-remote-read-remote-video-hls.html: mark as failing
  • platform/wpe/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt: Update for r233935.
6:26 AM Changeset in webkit [234193] by zandobersek@gmail.com
  • 9 edits in trunk/Tools

[WPE] Switch ViewBackend to using wpe_view_backend_exportable_fdo_egl APIs
https://bugs.webkit.org/show_bug.cgi?id=187997

Reviewed by Carlos Garcia Campos.

Instead of the raw wpe_view_backend_exportable_fdo API, switch to using
the EGL-oriented API that simply serves EGLImageKHR objects instead of
raw buffer resources. This allows us not to wrangle with creating and
managing lifetime of the same EGLImageKHR by ourselves.

ViewBackend now defines a wpe_view_backend_exportable_fdo_egl_client
struct and uses wpe_view_backend_exportable_fdo_egl_create() to create
the exportable object. This means that for each frame we're served an
EGLImageKHR object that is passed on to the displayBuffer()
implementation.

HeadlessViewBackend now just manages the pending and committed image
objects. Width and height values used during pixel data retrieval are
gathered from the ViewBackend's size that was specified when
constructed.

WindowViewBackend similarly only manages the committed image object,
not having to create an equivalent EGLImageKHR object from the raw
buffer resource anymore.

Unused EGL entrypoints in both HeadlessViewBackend and WindowViewBackend
classes are removed, and destructors for both classes are made virtual.

The WPEBackend-fdo version is bumped in order to have the EGL-specific
export API available.

  • flatpak/org.webkit.WPE.yaml:
  • wpe/backends/HeadlessViewBackend.cpp:

(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::createSnapshot):
(WPEToolingBackends::HeadlessViewBackend::performUpdate):
(WPEToolingBackends::HeadlessViewBackend::displayBuffer):

  • wpe/backends/HeadlessViewBackend.h:
  • wpe/backends/ViewBackend.cpp:

(WPEToolingBackends::ViewBackend::initialize):

  • wpe/backends/ViewBackend.h:
  • wpe/backends/WindowViewBackend.cpp:

(WPEToolingBackends::WindowViewBackend::WindowViewBackend):
(WPEToolingBackends::WindowViewBackend::~WindowViewBackend):
(WPEToolingBackends::WindowViewBackend::displayBuffer):

  • wpe/backends/WindowViewBackend.h:
  • wpe/jhbuild.modules:
12:11 AM Changeset in webkit [234192] by tpopela@redhat.com
  • 2 edits in trunk/Source/WTF

Correctly close the variable argument list
https://bugs.webkit.org/show_bug.cgi?id=186758

Reviewed by Michael Catanzaro.

The argcCopy is not ended when we early return. Also don't call
va_end() on args because it's closed in caller.

  • wtf/text/WTFString.cpp:

(WTF::createWithFormatAndArguments):

Jul 24, 2018:

11:02 PM Changeset in webkit [234191] by bshafiei@apple.com
  • 7 edits in branches/safari-606-branch/Source

Versioning.

10:29 PM Changeset in webkit [234190] by Fujii Hironori
  • 2 edits in trunk/Source/JavaScriptCore

runJITThreadLimitTests is failing
https://bugs.webkit.org/show_bug.cgi?id=187886
<rdar://problem/42561966>

Unreviewed build fix for MSVC.

MSVC doen't support ternary operator without second operand.

  • dfg/DFGWorklist.cpp:

(JSC::DFG::getNumberOfDFGCompilerThreads):
(JSC::DFG::getNumberOfFTLCompilerThreads):

10:16 PM Changeset in webkit [234189] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WTF

HAVE(PARENTAL_CONTROLS) should be true on watchOS
https://bugs.webkit.org/show_bug.cgi?id=187985
<rdar://problem/42559346>

Reviewed by Andy Estes.

  • wtf/Platform.h:
9:47 PM Changeset in webkit [234188] by Chris Dumez
  • 3 edits
    4 adds in trunk

REGRESSION (r219757): Accessing response getter of XHR instance from IFRAME sets constructor to Object from the IFRAME
https://bugs.webkit.org/show_bug.cgi?id=187411
<rdar://problem/41920593>

Reviewed by Sam Weinig.

Source/WebCore:

Update JSXMLHttpRequest::response() to use the XMLHttpRequest's global object exec when constructing a JSONObject
for the response instead of the caller's exec.

Test: http/tests/xmlhttprequest/xhr-response-constructor-subframe.html

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::response const):

LayoutTests:

Add layout test coverage. I have verified locally that it passes in Chromium as well.

  • http/tests/xmlhttprequest/resources/data.json: Added.
  • http/tests/xmlhttprequest/resources/xhr-response-constructor-iframe.html: Added.
  • http/tests/xmlhttprequest/xhr-response-constructor-subframe-expected.txt: Added.
  • http/tests/xmlhttprequest/xhr-response-constructor-subframe.html: Added.
9:09 PM Changeset in webkit [234187] by Simon Fraser
  • 8 edits
    2 adds in trunk

Animation stops with object-fit:contain on an animated 2d canvas
https://bugs.webkit.org/show_bug.cgi?id=187840

Reviewed by Zalan Bujtas.
Source/WebCore:

If a canvas has object-fit: cover or contain, repaints need to mapped through
the rect that is used to position the canvas in the element bounds, which is replacedContentRect().

Add a version of replacedContentRect() that doesn't require passing the intrinsicSize() since
all but RenderVideo just pass the RenderReplaced's intrinsicSize.

Test: fast/repaint/canvas-object-fit.html

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::didDraw):

  • rendering/RenderHTMLCanvas.cpp:

(WebCore::RenderHTMLCanvas::paintReplaced):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::updateInnerContentRect):
(WebCore::RenderImage::paintReplaced):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::contentsBox const):

  • rendering/RenderReplaced.h:

(WebCore::RenderReplaced::replacedContentRect const):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::createShapeForImage const):

LayoutTests:

  • fast/repaint/canvas-object-fit-expected.txt: Added.
  • fast/repaint/canvas-object-fit.html: Added.
8:31 PM Changeset in webkit [234186] by Basuke Suzuki
  • 7 edits in trunk

[Curl] Add support for wss:// websockets
https://bugs.webkit.org/show_bug.cgi?id=172630

Reviewed by Fujii Hironori.

Source/WebCore:

To support secure WebSocket connection, it is almost rewritten by using existing
backend for CurlHandle to handle TLS connection and proxy support.

Test: http/tests/websocket/tests/hybi/simple-wss.html

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlSocketHandle::CurlSocketHandle):
(WebCore::CurlSocketHandle::connect):
(WebCore::CurlSocketHandle::send):
(WebCore::CurlSocketHandle::receive):
(WebCore::CurlSocketHandle::wait):

  • platform/network/curl/CurlContext.h:
  • platform/network/curl/SocketStreamHandleImpl.h:

(WebCore::SocketStreamHandleImpl::SocketData::SocketData): Deleted.

  • platform/network/curl/SocketStreamHandleImplCurl.cpp:

(WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::~SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::platformSendInternal):
(WebCore::SocketStreamHandleImpl::platformClose):
(WebCore::SocketStreamHandleImpl::threadEntryPoint):
(WebCore::SocketStreamHandleImpl::handleError):
(WebCore::SocketStreamHandleImpl::stopThread):
(WebCore::createCopy): Deleted.
(WebCore::SocketStreamHandleImpl::readData): Deleted.
(WebCore::SocketStreamHandleImpl::sendData): Deleted.
(WebCore::SocketStreamHandleImpl::waitForAvailableData): Deleted.
(WebCore::SocketStreamHandleImpl::startThread): Deleted.
(WebCore::SocketStreamHandleImpl::didReceiveData): Deleted.
(WebCore::SocketStreamHandleImpl::didOpenSocket): Deleted.

LayoutTests:

Pass simple-wss.html.

  • platform/wincairo/TestExpectations:
7:09 PM Changeset in webkit [234185] by sbarati@apple.com
  • 2 edits in trunk/Source/bmalloc

Revert back to using phys_footprint to calculate isUnderMemoryPressure()
https://bugs.webkit.org/show_bug.cgi?id=187919
<rdar://problem/42552888>

Reviewed by Simon Fraser.

Currently on iOS, bmalloc will run the scavenger more frequently when it detects
that the process is under memory pressure. However, it only uses bmalloc's
own footprint as a percentage of the HW available memory to determine if
the process is under memory pressure. This is a change I recently made
in an effort to run the scavenger less when bmalloc wasn't contributing
to the dirty footprint in the process. However, this fails to run the
scavenger eagerly when the process in question has a heap split
between a lot of dirty bmalloc memory as well as a lot of dirty memory
from elsewhere. We also have evidence that we may have increased jetsams
in the Web Content process. Since my original change was not a measurable
speedup, this patch reverts isUnderMemoryPressure() to its previous
behavior of using phys_footprint to determine if 75% of the available
HW memory is being used.

  • bmalloc/AvailableMemory.cpp:

(bmalloc::memoryStatus):

6:53 PM Changeset in webkit [234184] by commit-queue@webkit.org
  • 12 edits
    1 delete in trunk

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

cause regression in Kraken gaussian blur and desaturate
(Requested by yusukesuzuki on #webkit).

Reverted changeset:

"[JSC] Record CoW status in ArrayProfile"
https://bugs.webkit.org/show_bug.cgi?id=187949
https://trac.webkit.org/changeset/234183

5:41 PM Changeset in webkit [234183] by Yusuke Suzuki
  • 12 edits
    1 add in trunk

[JSC] Record CoW status in ArrayProfile
https://bugs.webkit.org/show_bug.cgi?id=187949

Reviewed by Saam Barati.

JSTests:

  • stress/array-profile-should-record-copy-on-write.js: Added.

(shouldBe):
(test1):
(test2):
(test3):

Source/JavaScriptCore:

Once CoW array is converted to non-CoW array, subsequent operations are done for this non-CoW array.
Even though these operations are performed onto both CoW and non-CoW arrays in the code, array profiles
in these code typically record only non-CoW arrays since array profiles hold only one StructureID recently
seen. This results emitting CheckStructure for non-CoW arrays in DFG, and it soon causes OSR exits due to
CoW arrays.

In this patch, we record CoW status in ArrayProfile separately to construct more appropriate DFG::ArrayMode
speculation. To do so efficiently, we store union of seen IndexingMode in ArrayProfile.

This patch removes one of Kraken/stanford-crypto-aes's OSR exit reason, and improves the performance by 6-7%.

baseline patched

stanford-crypto-aes 60.893+-1.346 57.412+-1.298 definitely 1.0606x faster
stanford-crypto-ccm 62.124+-1.992 58.921+-1.844 might be 1.0544x faster

  • bytecode/ArrayProfile.cpp:

(JSC::ArrayProfile::briefDescriptionWithoutUpdating):

  • bytecode/ArrayProfile.h:

(JSC::asArrayModes):
We simplify asArrayModes instead of giving up Int8ArrayMode - Float64ArrayMode contiguous sequence.

(JSC::ArrayProfile::ArrayProfile):
(JSC::ArrayProfile::addressOfObservedIndexingModes):
(JSC::ArrayProfile::observedIndexingModes const):
Currently, our macro assembler and offlineasm only support or32 / ori operation onto addresses.
So storing the union of seen IndexingMode in unsigned instead.

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::fromObserved):

  • dfg/DFGArrayMode.h:

(JSC::DFG::ArrayMode::withProfile const):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITInlines.h:

(JSC::JIT::emitArrayProfilingSiteWithCell):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
5:21 PM Changeset in webkit [234182] by commit-queue@webkit.org
  • 10 edits
    2 deletes in trunk/Tools

Remove support for the double type from WHLSL
https://bugs.webkit.org/show_bug.cgi?id=187977

Patch by Thomas Denney <tdenney@apple.com> on 2018-07-24
Reviewed by Myles C. Maxfield.

  • WebGPUShadingLanguageRI/All.js: Removed DoubleLiteral.js and DoubleLiteralType.js include.
  • WebGPUShadingLanguageRI/DoubleLiteral.js: Removed.
  • WebGPUShadingLanguageRI/DoubleLiteralType.js: Removed.
  • WebGPUShadingLanguageRI/Intrinsics.js: Removed double arithmetic functions.
  • WebGPUShadingLanguageRI/Parse.js:

(parseTerm): Removed parsing of double literals.

  • WebGPUShadingLanguageRI/SPIRV.html: Removed DoubleLiteral.js and DoubleLiteralType.js include.
  • WebGPUShadingLanguageRI/SPIRVCodegen.js: Removed double type logic.
  • WebGPUShadingLanguageRI/StandardLibrary.js: Removed double type declarations.
  • WebGPUShadingLanguageRI/Test.html: Removed DoubleLiteral.js and DoubleLiteralType.js include.
  • WebGPUShadingLanguageRI/Test.js: Removed tests that test doubles or ported them to use floats.
  • WebGPUShadingLanguageRI/index.html: Removed DoubleLiteral.js and DoubleLiteralType.js include.
5:18 PM Changeset in webkit [234181] by timothy_horton@apple.com
  • 12 edits in trunk

Enable Web Content Filtering on watchOS
https://bugs.webkit.org/show_bug.cgi?id=187979
<rdar://problem/42559346>

Reviewed by Wenson Hsieh.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4:42 PM Changeset in webkit [234180] by Tadeu Zagallo
  • 5 edits in trunk/Source/JavaScriptCore

Don't modify Options when setting JIT thread limits
https://bugs.webkit.org/show_bug.cgi?id=187886

Reviewed by Filip Pizlo.

Previously, when setting the JIT thread limit prior to the worklist
initialization, it'd be set via Options, which didn't work if Options
hadn't been initialized yet. Change it to use a static variable in the
Worklist instead.

  • API/JSVirtualMachine.mm:

(+[JSVirtualMachine setNumberOfDFGCompilerThreads:]):
(+[JSVirtualMachine setNumberOfFTLCompilerThreads:]):

  • API/tests/testapi.mm:

(testObjectiveCAPIMain):

  • dfg/DFGWorklist.cpp:

(JSC::DFG::getNumberOfDFGCompilerThreads):
(JSC::DFG::getNumberOfFTLCompilerThreads):
(JSC::DFG::setNumberOfDFGCompilerThreads):
(JSC::DFG::setNumberOfFTLCompilerThreads):
(JSC::DFG::ensureGlobalDFGWorklist):
(JSC::DFG::ensureGlobalFTLWorklist):

  • dfg/DFGWorklist.h:
4:29 PM Changeset in webkit [234179] by dbates@webkit.org
  • 6 edits
    2 adds in trunk

Move-constructing NeverDestroyed should move construct underlying object instead of copy constructing it
https://bugs.webkit.org/show_bug.cgi?id=187971

Reviewed by Saam Barati.

Source/WTF:

Fixes an issue where move constructing a NeverDestroyed<T> would always copy construct T into
the destination storage buffer regardless of whether T is move constructable. For example:

{

static NeverDestroyed<T> x;
static NeverDestroyed<T> y { WTFMove(x) }; currently makes a copy of x's T even if T is move constructable

}

Currently the NeverDestroyed<T> instantiates T into the destination storage buffer by WTFMove()ing
the NeverDestroyed<T> into it, implicitly converting it to const T& by way of const T& conversion
operator. As a result the compiler picks the copy constructor for T to invoke instead of evaluating
whether T can be move constructed. Instead we should explicitly WTFMove() the underlying T so that
the compiler can choose to either move-construct T or copy construct it.

A side benefit of this change it is now possible to invoke makeNeverDestroyed() with the result
of a function that returns a move-only type (e.g. RenderStyle):

static auto sharedStyle = makeNeverDestroyed([] {

auto style = RenderStyle::create();
...
return style;

}());

  • wtf/NeverDestroyed.h:

(WTF::NeverDestroyed::NeverDestroyed):

Tools:

Add unit tests to cover move constructing a NeverDestroyed with a non-const and const data type
as well as invoking makeNeverDestroyed() with the result of a function that returns a move-only
data type.

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/MoveOnlyLifecycleLogger.cpp: Added.

(TestWebKitAPI::MoveOnlyLifecycleLogger::MoveOnlyLifecycleLogger):
(TestWebKitAPI::MoveOnlyLifecycleLogger::~MoveOnlyLifecycleLogger):
(TestWebKitAPI::MoveOnlyLifecycleLogger::operator=):
(TestWebKitAPI::MoveOnlyLifecycleLogger::setName):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/MoveOnlyLifecycleLogger.h: Added.
  • TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp:

(TestWebKitAPI::TEST):

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

Refactoring: make DFG::Plan a class.
https://bugs.webkit.org/show_bug.cgi?id=187968

Reviewed by Saam Barati.

This patch makes all the DFG::Plan fields private, and provide accessor methods
for them. This makes it easier to reason about how these fields are used and
modified.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleVarargsCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::handleDOMJITGetter):
(JSC::DFG::ByteCodeParser::handleModuleNamespaceLoad):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::handlePutById):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
(JSC::DFG::ByteCodeParser::parse):

  • dfg/DFGCFAPhase.cpp:

(JSC::DFG::CFAPhase::run):
(JSC::DFG::CFAPhase::injectOSR):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::notifyCompilingStructureTransition):

  • dfg/DFGCommonData.h:
  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGFinalizer.h:
  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::watchCondition):
(JSC::DFG::Graph::inferredTypeFor):
(JSC::DFG::Graph::requiredRegisterCountForExit):
(JSC::DFG::Graph::registerFrozenValues):
(JSC::DFG::Graph::registerStructure):
(JSC::DFG::Graph::registerAndWatchStructureTransition):
(JSC::DFG::Graph::assertIsRegistered):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::compilation):
(JSC::DFG::Graph::identifiers):
(JSC::DFG::Graph::watchpoints):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::JITCompiler):
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
(JSC::DFG::JITCompiler::disassemble):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::addWeakReference):

  • dfg/DFGJITFinalizer.cpp:

(JSC::DFG::JITFinalizer::finalize):
(JSC::DFG::JITFinalizer::finalizeFunction):
(JSC::DFG::JITFinalizer::finalizeCommon):

  • dfg/DFGOSREntrypointCreationPhase.cpp:

(JSC::DFG::OSREntrypointCreationPhase::run):

  • dfg/DFGPhase.cpp:

(JSC::DFG::Phase::beginPhase):

  • dfg/DFGPhase.h:

(JSC::DFG::runAndLog):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::Plan):
(JSC::DFG::Plan::computeCompileTimes const):
(JSC::DFG::Plan::reportCompileTimes const):
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):
(JSC::DFG::Plan::isStillValid):
(JSC::DFG::Plan::reallyAdd):
(JSC::DFG::Plan::notifyCompiling):
(JSC::DFG::Plan::notifyReady):
(JSC::DFG::Plan::finalizeWithoutNotifyingCallback):
(JSC::DFG::Plan::finalizeAndNotifyCallback):
(JSC::DFG::Plan::key):
(JSC::DFG::Plan::checkLivenessAndVisitChildren):
(JSC::DFG::Plan::finalizeInGC):
(JSC::DFG::Plan::isKnownToBeLiveDuringGC):
(JSC::DFG::Plan::cancel):
(JSC::DFG::Plan::cleanMustHandleValuesIfNecessary):

  • dfg/DFGPlan.h:

(JSC::DFG::Plan::canTierUpAndOSREnter const):
(JSC::DFG::Plan::vm const):
(JSC::DFG::Plan::codeBlock):
(JSC::DFG::Plan::mode const):
(JSC::DFG::Plan::osrEntryBytecodeIndex const):
(JSC::DFG::Plan::mustHandleValues const):
(JSC::DFG::Plan::threadData const):
(JSC::DFG::Plan::compilation const):
(JSC::DFG::Plan::finalizer const):
(JSC::DFG::Plan::setFinalizer):
(JSC::DFG::Plan::inlineCallFrames const):
(JSC::DFG::Plan::watchpoints):
(JSC::DFG::Plan::identifiers):
(JSC::DFG::Plan::weakReferences):
(JSC::DFG::Plan::transitions):
(JSC::DFG::Plan::recordedStatuses):
(JSC::DFG::Plan::willTryToTierUp const):
(JSC::DFG::Plan::setWillTryToTierUp):
(JSC::DFG::Plan::tierUpInLoopHierarchy):
(JSC::DFG::Plan::tierUpAndOSREnterBytecodes):
(JSC::DFG::Plan::stage const):
(JSC::DFG::Plan::callback const):
(JSC::DFG::Plan::setCallback):

  • dfg/DFGPlanInlines.h:

(JSC::DFG::Plan::iterateCodeBlocksForGC):

  • dfg/DFGPreciseLocalClobberize.h:

(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):

  • dfg/DFGPredictionInjectionPhase.cpp:

(JSC::DFG::PredictionInjectionPhase::run):

  • dfg/DFGSafepoint.cpp:

(JSC::DFG::Safepoint::Safepoint):
(JSC::DFG::Safepoint::~Safepoint):
(JSC::DFG::Safepoint::begin):

  • dfg/DFGSafepoint.h:
  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::TrustedImmPtr::weakPointer):
(JSC::DFG::SpeculativeJIT::TrustedImmPtr::weakPoisonedPointer):

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::disableHoistingAcrossOSREntries):

  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::isActiveForVM const):
(JSC::DFG::Worklist::compilationState):
(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):
(JSC::DFG::Worklist::removeAllReadyPlansForVM):
(JSC::DFG::Worklist::completeAllReadyPlansForVM):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::Worklist::removeDeadPlans):
(JSC::DFG::Worklist::removeNonCompilingPlansForVM):

  • dfg/DFGWorklistInlines.h:

(JSC::DFG::Worklist::iterateCodeBlocksForGC):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLFail.cpp:

(JSC::FTL::fail):

  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalizeCommon):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileMultiPutByOffset):
(JSC::FTL::DFG::LowerDFGToB3::buildExitArguments):
(JSC::FTL::DFG::LowerDFGToB3::addWeakReference):

  • ftl/FTLState.cpp:

(JSC::FTL::State::State):

4:13 PM Changeset in webkit [234177] by Chris Dumez
  • 25 edits
    2 deletes in trunk

Unreviewed, rolling out r233496 and r233571.

Likely cause of <rdar://problem/42160890> and
<rdar://problem/42329658> as ActiveDOMObjects can now be
constructed / destroyed while we are iterating over them.

Reverted changesets:

"Nullptr crash accessing Document in
GenericEventQueue::dispatchOneEvent()"
https://bugs.webkit.org/show_bug.cgi?id=187284
https://trac.webkit.org/changeset/233496

"REGRESSION(r233496): macOS Sierra hits debug assertions in
TrackListBase::suspend"
https://bugs.webkit.org/show_bug.cgi?id=187378
https://trac.webkit.org/changeset/233571

4:12 PM Changeset in webkit [234176] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.30

Tag Safari-606.1.30.

4:08 PM Changeset in webkit [234175] by commit-queue@webkit.org
  • 18 edits
    1 add in trunk/Tools

Minor changes to the WHLSL interpreter to support the new compiler
https://bugs.webkit.org/show_bug.cgi?id=187728

Patch by Thomas Denney <tdenney@apple.com> on 2018-07-24
Reviewed by Myles C. Maxfield.

This bug contains small changes that are make minor changes to the
behaviour of the existing interpreter (the tests are unaffected and all
still pass).

  • WebGPUShadingLanguageRI/EnumType.js:

(EnumType.prototype.get isEnum): Property added to EnumType and Type

  • WebGPUShadingLanguageRI/Evaluator.js: Correct typo
  • WebGPUShadingLanguageRI/Func.js:

(Func.prototype.get isEntryPoint): Add boolean property

  • WebGPUShadingLanguageRI/FuncInstantiator.js:

(FuncInstantiator.prototype.get instances): Public accessor for existing
private field

  • WebGPUShadingLanguageRI/FunctionLikeBlock.js: Refactored the class so

that it directly wraps a Func instance (therefore the only interface
change is to the constructor and the addition of the func accessor).
This change allows the de-inlining of functions.
(FunctionLikeBlock):
(FunctionLikeBlock.prototype.get func):
(FunctionLikeBlock.prototype.get returnType):
(FunctionLikeBlock.prototype.get parameters):
(FunctionLikeBlock.prototype.get body):

  • WebGPUShadingLanguageRI/Inliner.js: Use the new FunctionLikeBlock

constructor
(Inliner.prototype.visitCallExpression):
(Inliner):

  • WebGPUShadingLanguageRI/Intrinsics.js: Migrate the swizzle operators

to native functions (with additional support in StandardLibrary.js).
This reduces first-time compile-time from around 4s to around 0.1s.
(Intrinsics):

  • WebGPUShadingLanguageRI/Lexer.js: Ensure that the parsing of multiline

comments completes correctly
(Lexer.prototype.next):
(Lexer):

  • WebGPUShadingLanguageRI/MakeArrayRefExpression.js: Addition of type

property, which is based on the type of the lValue and the semantics of
the language (the @ operator yields an array reference with the thread
scope).
(MakeArrayRefExpression):
(MakeArrayRefExpression.prototype.get type):

  • WebGPUShadingLanguageRI/NativeFunc.js: Add setter/getter for

implementationData to support swizzle operator change
(NativeFunc.prototype.get implementationData):
(NativeFunc.prototype.set implementationData):

  • WebGPUShadingLanguageRI/Rewriter.js: Use new FunctionLikeBlock

constructor
(Rewriter.prototype.visitFunctionLikeBlock):

  • WebGPUShadingLanguageRI/StandardLibrary.js:

(_generateSwizzle): Deleted.

  • WebGPUShadingLanguageRI/SwizzleOp.js: Introduces a new class for

carrying metadata about swizzle operators so that they are implemented
as native functions rather than generated at compile time.
(SwizzleOp):
(SwizzleOp.prototype.get outSize):
(SwizzleOp.prototype.get components):
(SwizzleOp.prototype.get inSize):
(SwizzleOp.prototype.toString):
(SwizzleOp.allSwizzleOperators.):
(SwizzleOp.allSwizzleOperators):

  • WebGPUShadingLanguageRI/StandardLibrary.js: + (SwizzleOp):

(SwizzleOp.prototype.get outSize):
(SwizzleOp.prototype.get components):
(SwizzleOp.prototype.get inSize):
(SwizzleOp.prototype.toString):
(generateSwizzles):
(_generateSwizzle): Deleted.

  • WebGPUShadingLanguageRI/Type.js: Addition of isEnum property, as

above.
(Type.prototype.get isEnum):

3:20 PM Changeset in webkit [234174] by Ryan Haddad
  • 2 edits in branches/safari-606-branch/Tools

Cherry-pick r234115. rdar://problem/42557644

DRT relies on [webView display] to call -viewWillDraw on the WebHTMLView
https://bugs.webkit.org/show_bug.cgi?id=187924
<rdar://problem/41745884>

Reviewed by Simon Fraser.

WebKit relies on -viewWillDraw getting called on WebHTMLView, even though that view has not been marked as needing display.

  • DumpRenderTree/mac/PixelDumpSupportMac.mm: (createBitmapContextFromWebView):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@234115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2:50 PM Changeset in webkit [234173] by tsaunier@gnome.org
  • 3 edits in trunk/LayoutTests

Unreviewed WPE/GTK gardening.

Disabled newly added webrtc tests that depend on implementing WebAudioSourceProviderGStreamer.

Namely:

webrtc/peer-connection-createMediaStreamDestination.html

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
2:46 PM Changeset in webkit [234172] by commit-queue@webkit.org
  • 21 edits
    2 adds in trunk/Source

[Datalist][macOS] Display suggestions for input[type=color]
https://bugs.webkit.org/show_bug.cgi?id=187794

Patch by Aditya Keerthi <Aditya Keerthi> on 2018-07-24
Reviewed by Tim Horton.

Source/WebCore:

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::shouldRespectListAttribute):

Source/WebCore/PAL:

Added methods to enable customization of NSPopoverColorWell.

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/mac/NSColorWellSPI.h: Added.
  • pal/spi/mac/NSPopoverColorWellSPI.h: Added.
  • pal/spi/mac/NSPopoverSPI.h:

Source/WebKit:

An input[type=color] element that has an associated datalist element should
display the color values provided. We now support 1-12 suggested colors, that
will be displayed at the top of the color selection popover. If no suggestions
are specified we keep the existing default colors.

Created an NSPopoverColorWell subclass that allows custom colors to be specified
in the form of an NSColorList.

Also fixed a bug where an additional color well was displayed when clicking on
the input element.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<Color>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::createColorPicker):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::showColorPicker):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::createColorPicker):

  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::createColorPicker):

  • UIProcess/mac/WebColorPickerMac.h:
  • UIProcess/mac/WebColorPickerMac.mm:

(WebKit::WebColorPickerMac::create):
(WebKit::WebColorPickerMac::WebColorPickerMac):
(WebKit::WebColorPickerMac::showColorPicker):
(+[WKPopoverColorWell _colorPopoverCreateIfNecessary:]):
(-[WKPopoverColorWell _showPopover]):
(-[WKPopoverColorWell setSuggestedColors:]):
(-[WKColorPopoverMac initWithFrame:inView:]):
(-[WKColorPopoverMac setAndShowPicker:withColor:suggestions:]):
(-[WKColorPanelMac setAndShowPicker:withColor:suggestions:]):

  • WebProcess/WebCoreSupport/WebColorChooser.cpp:

(WebKit::WebColorChooser::WebColorChooser):
(WebKit::WebColorChooser::reattachColorChooser):

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

Make VM::canUseJIT an inlined function
https://bugs.webkit.org/show_bug.cgi?id=187583

Reviewed by Mark Lam.

We know the answer to this query in initializeThreading after initializing
the executable allocator. This patch makes it so that we just hold this value
in a static variable and have an inlined function that just returns the value
of that static variable.

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

  • runtime/VM.cpp:

(JSC::VM::computeCanUseJIT):
(JSC::VM::canUseJIT): Deleted.

  • runtime/VM.h:

(JSC::VM::canUseJIT):

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

Mark http/tests/workers/service/serviceworkerclients-matchAll.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=183705

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
1:14 PM Changeset in webkit [234169] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Modernize NavigationState
https://bugs.webkit.org/show_bug.cgi?id=187966

Reviewed by Andy Estes.

Don't ignore switch warnings any more.
Use BlockPtr.

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationResponse):

1:11 PM Changeset in webkit [234168] by achristensen@apple.com
  • 9 edits in trunk/Source/WebKit

Remove WebFramePolicyListenerProxy::changeWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=187967

Reviewed by Andy Estes.

We need to call WebFrameProxy::changeWebsiteDataStore if the _WKWebsitePolicies has a WKWebsiteDataStore.
We're doing that in a weird way that is not in the right layer. Inside the call to WebFramePolicyListenerProxy::use
we can inform the frame if there's a new WebsiteDataStore.

No change in behavior, as verified by the WebKit.WebsitePoliciesDataStore API test.
This is a step towards using lambdas in WebFramePolicyListenerProxy.

  • UIProcess/API/APINavigationClient.h:

(API::NavigationClient::decidePolicyForNavigationAction):
(API::NavigationClient::decidePolicyForNavigationResponse):

  • UIProcess/API/APIPolicyClient.h:

(API::PolicyClient::decidePolicyForNavigationAction):
(API::PolicyClient::decidePolicyForNewWindowAction):
(API::PolicyClient::decidePolicyForResponse):

  • UIProcess/API/C/WKFramePolicyListener.cpp:

(WKFramePolicyListenerUse):
(WKFramePolicyListenerUseInNewProcess):
(useWithPolicies):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPagePolicyClient):
(WKPageSetPageNavigationClient):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationResponse):

  • UIProcess/WebFramePolicyListenerProxy.cpp:

(WebKit::WebFramePolicyListenerProxy::use):
(WebKit::WebFramePolicyListenerProxy::changeWebsiteDataStore): Deleted.

  • UIProcess/WebFramePolicyListenerProxy.h:
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/mac/PageClientImplMac.mm:
12:57 PM Changeset in webkit [234167] by Ryan Haddad
  • 24 edits
    6 deletes in trunk

Unreviewed, rolling out r234121.

Caused perf test failures.

Reverted changeset:

"We should cache the compiled sandbox profile in a data vault"
https://bugs.webkit.org/show_bug.cgi?id=184991
https://trac.webkit.org/changeset/234121

12:35 PM Changeset in webkit [234166] by graouts@webkit.org
  • 2 edits in trunk/Source/WebCore

[Web Animations] Add an ASSERT() to check the contract that a CSSTransition has a valid effect in setTimingProperties()
https://bugs.webkit.org/show_bug.cgi?id=187954

Reviewed by Dean Jackson.

  • animation/CSSTransition.cpp:

(WebCore::CSSTransition::setTimingProperties):

12:32 PM Changeset in webkit [234165] by graouts@webkit.org
  • 3 edits
    2 adds in trunk

[Web Animations] Crash when setting an animation style on an existing animation that had its effect set to null
https://bugs.webkit.org/show_bug.cgi?id=187953

Reviewed by Dean Jackson.

Source/WebCore:

Test: webanimations/setting-css-animation-timing-property-via-style-after-clearing-effect.html

Ensure that we have a valid effect before proceeding to update its timing.

  • animation/CSSAnimation.cpp:

(WebCore::CSSAnimation::syncPropertiesWithBackingAnimation):

LayoutTests:

Add a new test that sets an animation property via style after setting the initial animation's effect to null.

  • webanimations/setting-css-animation-timing-property-via-style-after-clearing-effect-expected.txt: Added.
  • webanimations/setting-css-animation-timing-property-via-style-after-clearing-effect.html: Added.
12:31 PM Changeset in webkit [234164] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[MediaStream] Restructure getDisplayMedia classes
https://bugs.webkit.org/show_bug.cgi?id=187905
<rdar://problem/42500215>

Unreviewed build fix.

  • platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
12:30 PM Changeset in webkit [234163] by graouts@webkit.org
  • 3 edits
    2 adds in trunk

[Web Animations] Crash when setting "animation: none" after clearing an animation's effect
https://bugs.webkit.org/show_bug.cgi?id=187952

Reviewed by Dean Jackson.

Source/WebCore:

Test: webanimations/setting-css-animation-none-after-clearing-effect.html

We need to ensure that the animation we're trying to remove has not had its effect cleared via the
Web Animations API since its creation before trying to check its phase.

  • animation/AnimationTimeline.cpp:

(WebCore::AnimationTimeline::cancelOrRemoveDeclarativeAnimation):

LayoutTests:

Add a new test that checks that setting "animation: none" on an element that previously had a valid
CSS animation and for which the effect was set to null does not crash.

  • webanimations/setting-css-animation-none-after-clearing-effect-expected.txt: Added.
  • webanimations/setting-css-animation-none-after-clearing-effect.html: Added.
12:29 PM Changeset in webkit [234162] by bshafiei@apple.com
  • 3 edits in branches/safari-606-branch/Source/WebCore

Cherry-pick r234158. rdar://problem/42551556

[Cocoa] Stop crashing in lastResortFallbackFont()
https://bugs.webkit.org/show_bug.cgi?id=187936

Reviewed by Jon Lee.

CoreText can get into a state where both Times and Lucida Grande are inaccessible.
Instead of crashing, we should use the real LastResort, which is backed by a section
in the .rodata of the CoreText dylib, and as such should always exist.

  • platform/graphics/FontCache.cpp: (WebCore::FontCache::fontForFamily):
  • platform/graphics/cocoa/FontCacheCoreText.cpp: (WebCore::FontCache::lastResortFallbackFont):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234158 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:28 PM Changeset in webkit [234161] by graouts@webkit.org
  • 3 edits
    2 adds in trunk

[Web Animations] Crash accessing CSSAnimation::bindingsCurrentTime when effect has been set to null
https://bugs.webkit.org/show_bug.cgi?id=187950
<rdar://problem/42515747>

Reviewed by Dean Jackson.

Source/WebCore:

Test: webanimations/accessing-current-time-after-clearing-css-animation-effect.html

While a CSSAnimation has an effect created for it by the implementation, the developer may yet manipulate
its effect via the Web Animations API and set it to null. As such, we must not assume it's always non-null.

  • animation/CSSAnimation.cpp:

(WebCore::CSSAnimation::bindingsCurrentTime const):

LayoutTests:

Add a new test where we check that the current time of a CSSAnimation can be accessed after setting its effect to null.

  • webanimations/accessing-current-time-after-clearing-css-animation-effect-expected.txt: Added.
  • webanimations/accessing-current-time-after-clearing-css-animation-effect.html: Added.
12:02 PM Changeset in webkit [234160] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Placate exception check verification after recent changes.
https://bugs.webkit.org/show_bug.cgi?id=187961
<rdar://problem/42545394>

Reviewed by Saam Barati.

  • runtime/IntlObject.cpp:

(JSC::intlNumberOption):

11:48 AM Changeset in webkit [234159] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] BlockContainer::establishesInlineFormattingContext should only check the first inflow child.
https://bugs.webkit.org/show_bug.cgi?id=187965

Reviewed by Antti Koivisto.

  • layout/layouttree/LayoutBlockContainer.cpp:

(WebCore::Layout::BlockContainer::establishesInlineFormattingContext const):

11:34 AM Changeset in webkit [234158] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

[Cocoa] Stop crashing in lastResortFallbackFont()
https://bugs.webkit.org/show_bug.cgi?id=187936

Reviewed by Jon Lee.

CoreText can get into a state where both Times and Lucida Grande are inaccessible.
Instead of crashing, we should use the real LastResort, which is backed by a section
in the .rodata of the CoreText dylib, and as such should always exist.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::fontForFamily):

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontCache::lastResortFallbackFont):

10:47 AM Changeset in webkit [234157] by jeffm@apple.com
  • 4 edits in trunk/Source/WebKit

WKUIDelegate needs an alternate decideDatabaseQuotaForSecurityOrigin method that provides the database name and display name
https://bugs.webkit.org/show_bug.cgi?id=187567

Reviewed by Alex Christensen.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:

Declare alternate decideDatabaseQuotaForSecurityOrigin method, copying the existing FIXME comment
from the old method.

  • UIProcess/Cocoa/UIDelegate.h:

Add flag for new delegate method.

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
Initialize new flag.

(WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
Prefer the new UIDelegate method that takes the database name and display name, falling back to the
existing method if the client doesn't implement it.

10:40 AM Changeset in webkit [234156] by stephan.szabo@sony.com
  • 4 edits in trunk/Source/WebKit

[WinCairo] Add support to WebView for setting tooltips
https://bugs.webkit.org/show_bug.cgi?id=187930

Reviewed by Fujii Hironori.

  • UIProcess/win/PageClientImpl.cpp:

(WebKit::PageClientImpl::toolTipChanged): Set tooltip on WebView

  • UIProcess/win/WebView.cpp:

(WebKit::WebView::setToolTip): Add support for updating the
tooltip text in Windows.

  • UIProcess/win/WebView.h:
10:31 AM Changeset in webkit [234155] by Jon Davis
  • 2 edits in trunk/Websites/webkit.org

Disable some vestibular trigger animations when prefers-reduced-motion is active.
https://bugs.webkit.org/show_bug.cgi?id=186529

Reviewed by Dean Jackson.

  • wp-content/themes/webkit/style.css:

(@media (prefers-reduced-motion)): Added to honor reduced motion settings.
(article,): Added to only use fade-in animation and prevent motion.

10:27 AM Changeset in webkit [234154] by achristensen@apple.com
  • 11 edits in trunk/Source/WebKit

Reduce getters/setters in WebFramePolicyListenerProxy
https://bugs.webkit.org/show_bug.cgi?id=187830

Reviewed by Dean Jackson.

This is a step towards making it a lambda, which has no getters or setters.
No change in behavior.

setApplyPolicyInNewProcessIfPossible can be replaced by passing another parameter.
This bit was just piggy-backing on the WebFramePolicyListenerProxy.

isMainFrame was only used in an assert, which has a corresponding ObjC exception in
NavigationState::NavigationClient::decidePolicyForNavigationAction for the one relevant client.

  • UIProcess/API/C/WKFramePolicyListener.cpp:

(WKFramePolicyListenerUseInNewProcess):
(useWithPolicies):
(WKFramePolicyListenerUseWithPolicies):
(WKFramePolicyListenerUseInNewProcessWithPolicies):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):

  • UIProcess/WebFramePolicyListenerProxy.cpp:

(WebKit::WebFramePolicyListenerProxy::receivedPolicyDecision):
(WebKit::WebFramePolicyListenerProxy::use):
(WebKit::WebFramePolicyListenerProxy::download):
(WebKit::WebFramePolicyListenerProxy::ignore):
(WebKit::WebFramePolicyListenerProxy::isMainFrame const): Deleted.

  • UIProcess/WebFramePolicyListenerProxy.h:

(WebKit::WebFramePolicyListenerProxy::setApplyPolicyInNewProcessIfPossible): Deleted.
(WebKit::WebFramePolicyListenerProxy::applyPolicyInNewProcessIfPossible const): Deleted.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::receivedPolicyDecision):

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processForNavigation):
(WebKit::WebProcessPool::processForNavigationInternal):

  • UIProcess/WebProcessPool.h:
10:25 AM Changeset in webkit [234153] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit

Remove WebFramePolicyListenerProxy::invalidate
https://bugs.webkit.org/show_bug.cgi?id=187833

Reviewed by Dean Jackson.

When we're invalidating the listener, calling ignore instead will at worst cause
an ignored message to be sent. The load will be cancelled either way.
Removing the invalidate method gets it closer to being a lambda.

  • UIProcess/WebFramePolicyListenerProxy.cpp:

(WebKit::WebFramePolicyListenerProxy::invalidate): Deleted.

  • UIProcess/WebFramePolicyListenerProxy.h:
  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::webProcessWillShutDown):
(WebKit::WebFrameProxy::setUpPolicyListenerProxy):

10:23 AM Changeset in webkit [234152] by bshafiei@apple.com
  • 3 edits in branches/safari-606-branch/Source/JavaScriptCore

Cherry-pick r234106. rdar://problem/42545682

Add some asserts to help diagnose a crash.
https://bugs.webkit.org/show_bug.cgi?id=187915
<rdar://problem/42508166>

Reviewed by Michael Saboff.

Add some asserts to verify that an CodeBlock alternative should always have a
non-null jitCode. Also change a RELEASE_ASSERT_NOT_REACHED() in
CodeBlock::setOptimizationThresholdBasedOnCompilationResult() to a RELEASE_ASSERT()
so that we'll retain the state of the variables that failed the assertion (again
to help with diagnosis).

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::setAlternative): (JSC::CodeBlock::setOptimizationThresholdBasedOnCompilationResult):
  • dfg/DFGPlan.cpp: (JSC::DFG::Plan::Plan):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234106 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:16 AM Changeset in webkit [234151] by bshafiei@apple.com
  • 7 edits in branches/safari-606-branch/Source

Versioning.

9:43 AM Changeset in webkit [234150] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Flatpak] Add openh264 as needed by WebRTC
https://bugs.webkit.org/show_bug.cgi?id=187956

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24
Reviewed by Philippe Normand.

  • flatpak/org.webkit.WebKit.yaml:
9:29 AM Changeset in webkit [234149] by dbates@webkit.org
  • 11 edits
    7 adds in trunk

Cannot view PDF's on my.gov.au: "Refused to load https://my.gov.au/attachment/viewAttachment because it
appears in neither the object-src directive nor the default-src directive of the Content Security Policy"
https://bugs.webkit.org/show_bug.cgi?id=187870
<rdar://problem/41190880>

Reviewed by Dean Jackson.

Source/WebCore:

Fixes an issue where opening attachments on my.gov.au would show a "Blocked Plug-in" message.

Opening an attachment on my.gov.au opens a same-origin plugin document in a child window. Currently
same-origin plugin documents inherit their CSP policy from their opener. If the opener's CSP policy
disallows embedding plugins then the plugin document would be blocked from loading a plugin. For now
we relax the inheritance model such that we only inherit the plugin-types and report-uri directives
from the opener.

Developers that want to block plugin content from being loaded in a same-origin child window must now
serve such plugin content with a CSP policy that includes "object-src 'none'". This matches the behavior
described in the second Note in section object-src of the CSP 3 spec: <https://w3c.github.io/webappsec-csp/#directive-object-src>
(Editor's Draft, 10 July 2018). It also makes the behavior in WebKit more closely aligned with the
behavior of Chrome and Firefox.

Tests: http/tests/security/contentSecurityPolicy/same-origin-plugin-document-allowed-in-child-window.html

http/tests/security/contentSecurityPolicy/same-origin-plugin-document-blocked-in-child-window-report.php
http/tests/security/contentSecurityPolicy/same-origin-plugin-document-with-csp-blocked-in-child-window.html

  • dom/Document.cpp:

(WebCore::Document::initContentSecurityPolicy): For plugin documents that have an opener call ContentSecurityPolicy::createPolicyForPluginDocumentFrom()
to only inherit the plugin-types and report-uri directives from its opener's CSP policy. Otherwise, call ContentSecurityPolicy::copyStateFrom()
to inherit all directives from the owner frame as we do now.

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::createPolicyForPluginDocumentFrom): Create a new policy from the specified policy
inheriting only the plugin-types and report-uri directives.

  • page/csp/ContentSecurityPolicy.h: Define a new PolicyFrom enumerator, InheritedForPluginDocument, for plugin documents

loaded in a child window.

  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::ContentSecurityPolicyDirectiveList::parse): When policyFrom is InheritedForPluginDocument then only
recognize the plugin-types and report-uri directives when parsing the policy.

LayoutTests:

Add new tests and fix up the existing test http/tests/security/contentSecurityPolicy/same-origin-plugin-document-blocked-in-child-window.html
so that still tests a scenario where a same-origin plugin document loaded in a child window is blocked from
loading its plugin now that that "object-src: 'none'" is no longer inherited by the plugin document.

  • http/tests/plugins/resources/plugin-document-alert-and-notify-done.pl:
  • http/tests/security/contentSecurityPolicy/resources/checkDidSameOriginChildWindowLoad.js: Added.

(checkDidSameOriginChildWindowLoadAndNotifyDone):
(checkDidLoad):

  • http/tests/security/contentSecurityPolicy/same-origin-plugin-document-allowed-in-child-window-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/same-origin-plugin-document-allowed-in-child-window.html: Added.
  • http/tests/security/contentSecurityPolicy/same-origin-plugin-document-blocked-in-child-window-expected.txt:
  • http/tests/security/contentSecurityPolicy/same-origin-plugin-document-blocked-in-child-window-report-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/same-origin-plugin-document-blocked-in-child-window-report.php: Added.
  • http/tests/security/contentSecurityPolicy/same-origin-plugin-document-blocked-in-child-window.html:
  • http/tests/security/contentSecurityPolicy/same-origin-plugin-document-with-csp-blocked-in-child-window-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/same-origin-plugin-document-with-csp-blocked-in-child-window.html: Added.
  • platform/ios/TestExpectations: Skip the included tests as we do not support plugins on iOS.
  • platform/win/TestExpectations: Skip the included tests as plugins do not seem to work on Windows. We currently skip many

(if not all) plugin tests on Windows despite <rdar://problem/5074411> being marked as Closed (why?).

9:27 AM Changeset in webkit [234148] by dbates@webkit.org
  • 5 edits in trunk/Source/WebCore

Rename Document::firstPartyForSameSiteCookies() to siteForCookies()
https://bugs.webkit.org/show_bug.cgi?id=187892

Reviewed by Dean Jackson.

Standardize on the spec. language "site for cookies" for the names of the setter and getter
on Document. The latest description of Same-Site cookies is in <https://httpwg.org/http-extensions/rfc6265bis.html>.

No functionality changed. So, no new tests.

  • dom/Document.h:

(WebCore::Document::siteForCookies const):
(WebCore::Document::setSiteForCookies):
(WebCore::Document::firstPartyForSameSiteCookies const): Deleted.
(WebCore::Document::setFirstPartyForSameSiteCookies): Deleted.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::setFirstPartyForCookies):
(WebCore::FrameLoader::addSameSiteInfoToRequestIfNeeded):

  • workers/service/context/ServiceWorkerThreadProxy.cpp:

(WebCore::createPageForServiceWorker):

  • xml/XSLTProcessor.cpp:

(WebCore::XSLTProcessor::createDocumentFromSource):

8:15 AM Changeset in webkit [234147] by Ross Kirsling
  • 4 edits in trunk

WebCore::URL::hostIsIPAddress needs a Windows implementation
https://bugs.webkit.org/show_bug.cgi?id=187859

Reviewed by Fujii Hironori.

Source/WebCore:

  • platform/URL.cpp:

(WebCore::isIPv4Address): Added.
(WebCore::isIPv6Address): Added.
(WebCore::URL::hostIsIPAddress):
Turn this stub into a platform-agnostic default implementation.

Tools:

  • TestWebKitAPI/Tests/WebCore/URL.cpp:

Check for a few other ways an IP address could be invalid.

8:04 AM Changeset in webkit [234146] by eric.carlson@apple.com
  • 10 edits in trunk/Source/WebCore

[MediaStream] Restructure getDisplayMedia classes
https://bugs.webkit.org/show_bug.cgi?id=187905

Reviewed by Dean Jackson.

No new tests, no functional changes.

  • platform/mediastream/CaptureDeviceManager.h:

(WebCore::CaptureDeviceManager::refreshCaptureDevices): Deleted, no need for it to be a
virtual method.

  • platform/mediastream/mac/AVCaptureDeviceManager.h:
  • platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.h: refreshCaptureDevices is

no longer virtual.

  • platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp:

(WebCore::DisplayCaptureManagerCocoa::captureDevices):
(WebCore::DisplayCaptureManagerCocoa::updateDisplayCaptureDevices): Moved functionality
to ScreenDisplayCaptureSourceMac.
(WebCore::DisplayCaptureManagerCocoa::screenCaptureDeviceWithPersistentID): Ditto.
(WebCore::displayReconfigurationCallBack): Deleted, moved to ScreenDisplayCaptureSourceMac.
(WebCore::DisplayCaptureManagerCocoa::~DisplayCaptureManagerCocoa): Deleted.
(WebCore::DisplayCaptureManagerCocoa::refreshCaptureDevices): Deleted.

  • platform/mediastream/mac/DisplayCaptureManagerCocoa.h:
  • platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:

(WebCore::roundUpToMacroblockMultiple): Moved from ScreenDisplayCaptureSourceMac.
(WebCore::DisplayCaptureSourceCocoa::applySize): Ditto.
(WebCore::DisplayCaptureSourceCocoa::sampleBufferFromPixelBuffer): Ditto.
(WebCore::DisplayCaptureSourceCocoa::pixelBufferFromIOSurface): Ditto.

  • platform/mediastream/mac/DisplayCaptureSourceCocoa.h:
  • platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h:
  • platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:

(WebCore::updateDisplayID):
(WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream): Fix log message.
(WebCore::ScreenDisplayCaptureSourceMac::startDisplayStream): Ditto.
(WebCore::ScreenDisplayCaptureSourceMac::applySize): Update for base class changes.
(WebCore::ScreenDisplayCaptureSourceMac::applyFrameRate): Ditto.
(WebCore::ScreenDisplayCaptureSourceMac::frameAvailable): Ditto.
(WebCore::ScreenDisplayCaptureSourceMac::screenCaptureDeviceWithPersistentID): Moved from
DisplayCaptureManagerCocoa.
(WebCore::ScreenDisplayCaptureSourceMac::screenCaptureDevices): Ditto.
(WebCore::roundUpToMacroblockMultiple): Moved to DisplayCaptureSourceCocoa.
(WebCore::ScreenDisplayCaptureSourceMac::updateDisplayID): Ditto.
(WebCore::ScreenDisplayCaptureSourceMac::sampleBufferFromPixelBuffer): Ditto.
(WebCore::ScreenDisplayCaptureSourceMac::pixelBufferFromIOSurface): Ditto.

7:47 AM Changeset in webkit [234145] by Alan Bujtas
  • 7 edits
    1 add in trunk/Source/WebCore

[LFC] Move geometry data structures to a dedicated file
https://bugs.webkit.org/show_bug.cgi?id=187939

Reviewed by Antti Koivisto.

  • WebCore.xcodeproj/project.pbxproj:
  • layout/FormattingContext.h:

(WebCore::Layout::FormattingContext::Geometry::Position::operator LayoutPoint const): Deleted.

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::computedBorder):
(WebCore::Layout::FormattingContext::Geometry::computedPadding):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedHorizontalMarginValue):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedVerticalMarginValue):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowPositionedPosition):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::setHorizontalMargin):
(WebCore::Display::Box::setVerticalMargin):
(WebCore::Display::Box::setVerticalNonCollapsedMargin):
(WebCore::Display::Box::setBorder):
(WebCore::Display::Box::setPadding):

7:40 AM Changeset in webkit [234144] by cturner@igalia.com
  • 2 edits in trunk/Tools

[Flatpak] Avoid consuming unknown arguments in flatpak wrapper
https://bugs.webkit.org/show_bug.cgi?id=187951

When running run-webkit-tests --wpe --debug, it was observed that
both self.platform != 'wpe' and self.debug != True. This turned
out to be because of the "args" argument consuming the remainder
of future arguments that came after it. Since the first argument
to load_from_args was the test script to run, it would end up
never processing the other arguments supplied to the wrapper
script.

Tested this by rebuilding GTK in debug mode, running the
minibrowser with various extra options, and running some tests
with various extra options.

Reviewed by Michael Catanzaro.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.load_from_args):

7:16 AM WebKitGTK/2.20.x edited by Michael Catanzaro
Propose r229282 (resolves bug #183788) (diff)
6:22 AM Changeset in webkit [234143] by Chris Dumez
  • 5 edits in trunk/Source/WebKit

WebFullScreenManagerProxy does not need to be ref counted
https://bugs.webkit.org/show_bug.cgi?id=187928

Reviewed by Eric Carlson.

WebFullScreenManagerProxy does not need to be ref counted, it is owned by WebPageProxy.
It is also error-prone because WebFullScreenManagerProxy has a raw pointer to its WebPageProxy
and anybody could extend the lifetime of the WebFullScreenManagerProxy by refing it, which
would make the WebPageProxy pointer stale.

  • UIProcess/WebFullScreenManagerProxy.cpp:

(WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
(WebKit::WebFullScreenManagerProxy::willEnterFullScreen):
(WebKit::WebFullScreenManagerProxy::didEnterFullScreen):
(WebKit::WebFullScreenManagerProxy::willExitFullScreen):
(WebKit::WebFullScreenManagerProxy::didExitFullScreen):
(WebKit::WebFullScreenManagerProxy::setAnimatingFullScreen):
(WebKit::WebFullScreenManagerProxy::requestExitFullScreen):
(WebKit::WebFullScreenManagerProxy::saveScrollPosition):
(WebKit::WebFullScreenManagerProxy::restoreScrollPosition):
(WebKit::WebFullScreenManagerProxy::setFullscreenInsets):
(WebKit::WebFullScreenManagerProxy::setFullscreenAutoHideDuration):
(WebKit::WebFullScreenManagerProxy::setFullscreenControlsHidden):
(WebKit::WebFullScreenManagerProxy::invalidate):

  • UIProcess/WebFullScreenManagerProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::m_resetRecentCrashCountTimer):
(WebKit::WebPageProxy::reattachToWebProcess):

  • UIProcess/WebPageProxy.h:
3:50 AM Changeset in webkit [234142] by zandobersek@gmail.com
  • 1 edit
    32 adds in trunk/LayoutTests

Unreviewed WPE gardening.

Adding WPE-specific baselines for WebGL2 conformance tests that are
already passing on this port.

  • platform/wpe/webgl: Added.
  • platform/wpe/webgl/2.0.0: Added.
  • platform/wpe/webgl/2.0.0/conformance2: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/array-as-return-value-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/array-assign-constructor-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/array-assign-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/array-complex-indexing-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/array-element-increment-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/array-equality-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/array-in-complex-expression-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/bool-type-cast-bug-uint-ivec-uvec-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/compare-structs-containing-arrays-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/compound-assignment-type-combination-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/const-array-init-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/forbidden-operators-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/frag-depth-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/invalid-default-precision-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/invalid-invariant-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/loops-with-side-effects-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/misplaced-version-directive-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/sampler-no-precision-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/sequence-operator-returns-non-constant-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/shader-linking-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/short-circuiting-in-loop-condition-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/texture-offset-uniform-texture-coordinate-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/tricky-loop-conditions-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/uniform-block-layout-match-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/uniform-block-layouts-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/valid-invariant-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/vector-dynamic-indexing-expected.txt: Added.
  • platform/wpe/webgl/2.0.0/conformance2/glsl3/vector-dynamic-indexing-nv-driver-bug-expected.txt: Added.
2:08 AM Changeset in webkit [234141] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[GStreamer] Implement bitrate modulation support in GStreamer based libwebrtc Encoders
https://bugs.webkit.org/show_bug.cgi?id=187643

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24
Reviewed by Philippe Normand.

Source/WebCore:

Problem being that we do not have a proper unified encoder API in GStreamer, some work
started at https://bugzilla.gnome.org/show_bug.cgi?id=796716 but it is quite controversial
and meanwhile we should just move forward working around that limitation.

Source/WebCore:

  • platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:

(WebCore::GStreamerVideoEncoder::GStreamerVideoEncoder):
(WebCore::GStreamerVideoEncoder::InitEncode):
(WebCore::GStreamerVideoEncoder::getBitrateSetter):
(WebCore::GStreamerVideoEncoder::createEncoder):
(WebCore::GStreamerVideoEncoder::AddCodecIfSupported):
(WebCore::GStreamerVideoEncoder::SetRestrictionCaps):
(WebCore::GStreamerVideoEncoder::CreateEncoder): Deleted.

Source/WTF:

Added support for GRegex in GRefPtr.

Source/WTF:

  • wtf/glib/GRefPtr.cpp:

(WTF::refGPtr):
(WTF::derefGPtr):

  • wtf/glib/GRefPtr.h:
1:55 AM Changeset in webkit [234140] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r234055): inverted return values in MediaPlayer::wouldTaintOrigin()
https://bugs.webkit.org/show_bug.cgi?id=187944

Reviewed by Carlos Garcia Campos.

The MediaPlayer::wouldTaintOrigin(), as introduced in r234055, should
return false when the URL protocol is data:, and should return true
when the given SecurityOrigin cannot access the media URL.

This matches behavior of CanvasRenderingContext::wouldTaintOrigin()
which the new method falls back to when the MediaPlayerPrivate
implementation doesn't or can't determine the would-taint result.

This fixes a bunch of failing and timing-out WebGL test cases on ports
using GStreamer (on which the MediaPlayerPrivate derivate doesn't
implement the wouldTaintOrigin() method).

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::wouldTaintOrigin const):

1:54 AM Changeset in webkit [234139] by zandobersek@gmail.com
  • 10 edits in trunk/Source

[TextureMapper] Separate repaint counter state from debug visuals
https://bugs.webkit.org/show_bug.cgi?id=187946

Reviewed by Carlos Garcia Campos.

Instead of managing the repaint counter visibility along with the
debug border visuals, do that together with the repaint count value.

Source/WebCore:

TextureMapperLayer::setRepaintCount() is renamed to setRepaintCounter()
and now also sets the repaint counter visibility state instead of the
setDebugVisuals() method.

GraphicsLayerTextureMapper implementation is adjusted appropriately.
The unused setRepaintCount() method is also removed.

CoordinatedGraphicsLayerState now holds repaint counter state (both
visibility and count value) in a struct that's separate from debug
border state. CoordinatedGraphicsLayer implementation now updates
that state accordingly.

No new tests -- no change in behavior.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setShowRepaintCounter):
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::GraphicsLayerTextureMapper::setRepaintCount): Deleted.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::setDebugVisuals):
(WebCore::TextureMapperLayer::setRepaintCounter):
(WebCore::TextureMapperLayer::setRepaintCount): Deleted.

  • platform/graphics/texmap/TextureMapperLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::didUpdateTileBuffers):
(WebCore::CoordinatedGraphicsLayer::setShowRepaintCounter):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:

(WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
(WebCore::DebugVisuals::DebugVisuals): Deleted.

Source/WebKit:

In the CoordinatedGraphicsScene class, remove the helper
setLayerRepaintCountIfNeeded() method that's only been called in one
place, and instead set the repaint count information on the
TextureMapperLayer object directly from setLayerState(). The repaint
counter visiblity and count value are gathered from the new struct
that's kept on the CoordinatedGraphicsLayerState object.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::setLayerState):
(WebKit::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded): Deleted.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
1:24 AM Changeset in webkit [234138] by commit-queue@webkit.org
  • 26 edits
    6 adds in trunk

.:
[WPE][GTK] Implement PeerConnection API on top of libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186932

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24
Reviewed by Philippe Normand.

  • Source/cmake/FindGStreamer.cmake: Look for gstreamer-codecparser as it needed for GStreamerVideoDecoder

Source/ThirdParty/libwebrtc:
[WPE][GTK] Implement PeerConnection API on top of libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186932

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24
Reviewed by Philippe Normand.

  • CMakeLists.txt: Properly set our build as WEBRTC_WEBKIT_BUILD

Source/WebCore:
[WPE][GTK] Implement PeerConnection API on top of libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186932

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24
Reviewed by Philippe Normand.

Enabled many webrtc tests.

  • platform/GStreamer.cmake: Build new files
  • platform/graphics/gstreamer/GStreamerCommon.cpp: Fix minor style issues
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Add a way to give precise name to pipelines

and give useful names to pipelines with sources comming from a PeerConnection

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto.
  • platform/mediastream/gstreamer/GStreamerVideoFrameLibWebRTC.cpp: Added. Implement a subclass of webrtc::VideoFrame

to represent a kNative GStreamer video frame.

  • platform/mediastream/gstreamer/GStreamerVideoFrameLibWebRTC.h: Added. Ditto.
  • platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp: Handle incoming audio samples from libwebrtc.
  • platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.h: Ditto.
  • platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp: Handle incoming video frames from libwebrtc.
  • platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.h: Ditto.
  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp: Handle passing locally captured audio sample to libwebrtc.
  • platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h: Ditto.
  • platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp: Handle passing locally captured vidoe frames to libwebrtc.
  • platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp: Added. Implement a video decoder factory and LibWebRTC Video decoders based on GStreamer.
  • platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.h: Added. Ditto.
  • platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp: Added. Implement a video encoder factory and LibWebRTC H264/VP8 Video encoders based on GStreamer.
  • platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.h: Added. Ditto.
  • platform/mediastream/libwebrtc/LibWebRTCAudioFormat.h: Add information about signness of the LibWebRTC audio format.
  • platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp: Add support for newly added Encoder/Decoder factories.
  • platform/mediastream/libwebrtc/LibWebRTCProviderGlib.h: Ditto.

Source/WebKit:
[WPE][GTK] Implement WebRTC based on libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186932

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24
Reviewed by Philippe Normand.

  • WebProcess/Network/webrtc/LibWebRTCProvider.h: Use LibWebRTCProviderGlib when building WPE or GTK ports.

LayoutTests:
[WPE][GTK] Implement PeerConnection API on top of libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186932

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24
Reviewed by Philippe Normand.

  • platform/gtk/TestExpectations: Enable webrtc tests.
1:15 AM Changeset in webkit [234137] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Flatpak] Remove now unnecessary 'hacks' for running tests
https://bugs.webkit.org/show_bug.cgi?id=187608

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-07-24
Reviewed by Philippe Normand.

We used to need to not share X11 with the sandbox when running tests
but it is not needed anymore as we do not mount /tmp on /tmp in the
sandbox (we mount it on /run/host/tmp now).

This has the advantage of making running the MiniBrowser to display test
results working again.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.clean_args):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak._cleanup_faltpak_args_for_tests_if_needed): Deleted.

1:14 AM Changeset in webkit [234136] by krit@webkit.org
  • 3 edits
    2 adds in trunk

[css-masking] Black backdrop on -webkit-clip-path on SVG root
https://bugs.webkit.org/show_bug.cgi?id=187880

Source/WebCore:

Reviewed by Simon Fraser.

For SVG document root elements, we currently clip twice:
In RenderLayer and SVGRenderSupport.
Avoid clipping in RenderLayer which currently clips before we established a
backdrop for an SVG document.

Tests: svg/clip-path/clip-path-on-svg-005-expected.svg

svg/clip-path/clip-path-on-svg-005.svg

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupClipPath): Skip actual clipping.

LayoutTests:

Avoid duplicated clip in RenderLayer.

Reviewed by Simon Fraser.

  • svg/clip-path/clip-path-on-svg-005-expected.svg: Added.
  • svg/clip-path/clip-path-on-svg-005.svg: Added.
12:34 AM Changeset in webkit [234135] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[Nicosia] Add TextureMapperAnimations member to CompositingLayer::LayerState
https://bugs.webkit.org/show_bug.cgi?id=187941

Reviewed by Carlos Garcia Campos.

Nicosia::CompositingLayer::LayerState gains a TextureMapperAnimations
member that will be assigned a list of all active animations during each
layer flush. Despite the name, TextureMapperAnimations doesn't depend on
any other TextureMapper class. It might be renamed and moved in the
future, but for now it's used as-is.

In CoordinatedGraphicsLayer, the syncAnimations() method now flips on
the animationsChanged flag in the LayerState::Delta struct. This causes
all the active animations to be copied over into the layer state in
flushCompositingStateForThisLayerOnly().

  • platform/graphics/nicosia/NicosiaPlatformLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::syncAnimations):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):

12:28 AM Changeset in webkit [234134] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[Nicosia] Add FilterOperations member to CompositionLayer::LayerState
https://bugs.webkit.org/show_bug.cgi?id=187901

Reviewed by Carlos Garcia Campos.

Nicosia::CompositionLayer::LayerState gains a FilterOperations member
that can be assigned the list of filter operations for a given layer.
The corresponding filtersChanged boolean is added to LayerState::Delta.

CoordinatedGraphicsLayer::syncFilters() flips on that delta member,
which in turn causes the FilterOperations value to be updated during
the layer flush, in flushCompositingStateForThisLayerOnly().

  • platform/graphics/nicosia/NicosiaPlatformLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::syncFilters):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):

12:27 AM Changeset in webkit [234133] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[CoordGraphics] Use adjusted position, anchor point, size values for Nicosia::CompositionLayer state
https://bugs.webkit.org/show_bug.cgi?id=187899

Reviewed by Carlos Garcia Campos.

As is done for the CoordinatedGraphicsLayerState, the scale-adjusted
position, anchor point and size values should be used when updating the
corresponding Nicosia::CompositionLayer::LayerState members.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):

Note: See TracTimeline for information about the timeline view.