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

Timeline



May 24, 2019:

6:42 PM Changeset in webkit [245768] by jh718.park@samsung.com
  • 10 edits in trunk

Make computed width of non-replaced inline return computed style.
https://bugs.webkit.org/show_bug.cgi?id=197814

Reviewed by Antti Koivisto.

Currently, Computed width of non-replaced inline incorrectly returns "auto"
instead of the computed value.
This patch changes the behavior according to
https://drafts.csswg.org/cssom/#resolved-value as below.

'If the property applies to the element or pseudo-element
and the resolved value of the display property is not none or contents,
then the resolved value is the used value.
Otherwise the resolved value is the computed value.'

LayoutTests/imported/w3c:

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

Source/WebCore:

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyinStyle):

LayoutTests:

  • fast/css/getComputedStyle/getComputedStyle-resolved-values-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html:
  • legacy-animation-engine/fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt:
  • legacy-animation-engine/fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html:
6:39 PM Changeset in webkit [245767] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

REGRESSION (r245715?) [WK2] Layout Test http/wpt/cache-storage/cache-storage-networkprocess-crash.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=198222
<rdar://problem/51114899>

Reviewed by Alex Christensen.

In case a connection gets closed, handle all of its async reply completion handlers.
This ensures they handlers are called in case the connection does not get destroyed until a much later stage.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::~Connection):
(IPC::Connection::connectionDidClose):
(IPC::addAsyncReplyHandler):
(IPC::clearAsyncReplyHandlers):
(IPC::CompletionHandler<void):

5:51 PM Changeset in webkit [245766] by Alan Coon
  • 7 edits in tags/Safari-608.1.25.1/Source

Versioning.

5:51 PM Changeset in webkit [245765] by Justin Michaud
  • 14 edits
    1 add in trunk

[WASM-References] Support Anyref in globals
https://bugs.webkit.org/show_bug.cgi?id=198102

Reviewed by Saam Barati.

JSTests:

Add test for anyrefs in globals, as well as adding a new RefNull initExpr for Builder.

  • wasm/Builder.js:

(export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):

  • wasm/Builder_WebAssemblyBinary.js:

(const.putInitExpr):

  • wasm/references/anyref_globals.js: Added.

(GetGlobal.0.End.End.WebAssembly):
(5.doGCSet):
(doGCTest):
(doGCSet.doGCTest.let.count.0.doBarrierSet):

Source/JavaScriptCore:

Support anyref for globals, imports and exports. This adds code in B3 and Air to emit a write barrier
on the JSWebAssemblyWrapper whenever an anyref global is set. This also fixes a small bug in emitCCall
for air where it adds code to the wrong block.

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::emitCCall):
(JSC::Wasm::AirIRGenerator::moveOpForValueType):
(JSC::Wasm::AirIRGenerator::setGlobal):
(JSC::Wasm::AirIRGenerator::emitWriteBarrierForJSWrapper):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::setGlobal):
(JSC::Wasm::B3IRGenerator::emitWriteBarrierForJSWrapper):

  • wasm/WasmInstance.cpp:

(JSC::Wasm::Instance::Instance):
(JSC::Wasm::Instance::setGlobal):

  • wasm/WasmInstance.h:

(JSC::Wasm::Instance::loadI32Global const):
(JSC::Wasm::Instance::loadI64Global const):
(JSC::Wasm::Instance::setGlobal):
(JSC::Wasm::Instance::shouldMarkGlobal):
(JSC::Wasm::Instance::numGlobals const):

  • wasm/WasmSectionParser.cpp:

(JSC::Wasm::SectionParser::parseInitExpr):

  • wasm/js/JSWebAssemblyInstance.cpp:

(JSC::JSWebAssemblyInstance::visitChildren):

  • wasm/js/WebAssemblyModuleRecord.cpp:

(JSC::WebAssemblyModuleRecord::link):

5:40 PM Changeset in webkit [245764] by Alan Coon
  • 1 copy in tags/Safari-608.1.25.1

New tag.

5:40 PM Changeset in webkit [245763] by Alan Coon
  • 7 edits in trunk/Source

Versioning.

5:39 PM Changeset in webkit [245762] by Kocsen Chung
  • 7 edits in branches/safari-608.1.24.30-branch/Source

Versioning.

5:28 PM Changeset in webkit [245761] by Kocsen Chung
  • 7 edits in branches/safari-608.1.24.20-branch/Source

Versioning.

4:45 PM Changeset in webkit [245760] by Alan Coon
  • 1 copy in tags/Safari-608.1.24.30.2

Tag Safari-608.1.24.30.2.

4:38 PM Changeset in webkit [245759] by mmaxfield@apple.com
  • 6 edits
    2 adds in trunk

[WHLSL] Allow vertex attributes to have arbitrary names in the shader
https://bugs.webkit.org/show_bug.cgi?id=198235

Reviewed by Dean Jackson and Justin Fan.

Source/WebCore:

Metal doesn't allow arbitrary vertex attribute IDs. If you try to create a vertex attribute > 16,
the Metal validation layer will assert. So, we need to have a mapping from whatever the WebGPU
API says the vertex attribute IDs should be to the internally-used vertex attribute IDs.

Test: webgpu/whlsl-arbitrary-vertex-attribute-locations.html

  • Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp:

(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::VertexEntryPointScaffolding):

  • Modules/webgpu/WHLSL/WHLSLPipelineDescriptor.h:
  • Modules/webgpu/WHLSL/WHLSLSemanticMatcher.cpp:

(WebCore::WHLSL::matchVertexAttributes):

  • platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm:

(WebCore::convertRenderPipelineDescriptor):
(WebCore::trySetInputStateForPipelineDescriptor):

LayoutTests:

  • webgpu/whlsl-arbitrary-vertex-attribute-locations-expected.html: Added.
  • webgpu/whlsl-arbitrary-vertex-attribute-locations.html: Added.
4:17 PM Changeset in webkit [245758] by Alan Coon
  • 1 copy in tags/Safari-608.1.24.20.4

Tag Safari-608.1.24.20.4.

3:48 PM Changeset in webkit [245757] by pvollan@apple.com
  • 4 edits in trunk/Source/WebKit

Remove unused member in WebsiteDataRecord
https://bugs.webkit.org/show_bug.cgi?id=198231

Reviewed by Brent Fulgham.

The data member 'originsWithCredentials' in WebsiteDataRecord is no longer needed since origins
with credentials are now stored in the 'origins' member.

  • UIProcess/WebsiteData/WebsiteDataRecord.cpp:

(WebKit::WebsiteDataRecord::addOriginWithCredential): Deleted.

  • UIProcess/WebsiteData/WebsiteDataRecord.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchDataAndApply):

3:13 PM Changeset in webkit [245756] by david_quesada@apple.com
  • 2 edits in trunk/Source/WebKit

Crash under WebCore::TimerBase::~TimerBase after a download is canceled
https://bugs.webkit.org/show_bug.cgi?id=197927
rdar://problem/50822728

Reviewed by Ryosuke Niwa.

  • NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:

(WebKit::Download::platformCancelNetworkLoad):

CFNetwork makes no guarantees about what thread is used to call the completion block
passed to -[NSURLSessionDownloadTask cancelByProducingResumeData], and in some cases,
it can be called on a background queue. This eventually causes the Download to be
deallocated on the background queue, which triggers a release assertion failure in
~TimerBase. When CFNetwork finishes canceling the download, we should move to the
main thread before calling didCancel().

2:47 PM Changeset in webkit [245755] by Alan Coon
  • 2 edits in branches/safari-608.1.24.20-branch/Source/WebCore

Cherry-pick r245753. rdar://problem/51068494

Refactor how showLetterpressedGlyphsWithAdvances gets the graphics context.
https://bugs.webkit.org/show_bug.cgi?id=198225

Reviewed by Dean Jackson.

  • platform/graphics/cocoa/FontCascadeCocoa.mm: (WebCore::showLetterpressedGlyphsWithAdvances): (WebCore::FontCascade::drawGlyphs):

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

2:47 PM Changeset in webkit [245754] by Alan Coon
  • 5 edits in branches/safari-608.1.24.20-branch/Source/WebCore

Cherry-pick r245752. rdar://problem/51068494

Plumb dark appearance down to GraphicsContext.
https://bugs.webkit.org/show_bug.cgi?id=198224
rdar://problem/51068494

Reviewed by Dean Jackson.

No test yet, as it is not testable until this gets used.

  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContextStateChange::changesFromState const): (WebCore::GraphicsContextStateChange::accumulate): (WebCore::GraphicsContextStateChange::apply const): (WebCore::GraphicsContextStateChange::dump const): (WebCore::GraphicsContext::setUseDarkAppearance):
  • platform/graphics/GraphicsContext.h: (WebCore::GraphicsContext::useDarkAppearance const):
  • rendering/TextPaintStyle.cpp: (WebCore::TextPaintStyle::operator== const): (WebCore::computeTextPaintStyle): (WebCore::updateGraphicsContext):
  • rendering/TextPaintStyle.h:

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

2:41 PM Changeset in webkit [245753] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Refactor how showLetterpressedGlyphsWithAdvances gets the graphics context.
https://bugs.webkit.org/show_bug.cgi?id=198225

Reviewed by Dean Jackson.

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::showLetterpressedGlyphsWithAdvances):
(WebCore::FontCascade::drawGlyphs):

2:41 PM Changeset in webkit [245752] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebCore

Plumb dark appearance down to GraphicsContext.
https://bugs.webkit.org/show_bug.cgi?id=198224
rdar://problem/51068494

Reviewed by Dean Jackson.

No test yet, as it is not testable until this gets used.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContextStateChange::changesFromState const):
(WebCore::GraphicsContextStateChange::accumulate):
(WebCore::GraphicsContextStateChange::apply const):
(WebCore::GraphicsContextStateChange::dump const):
(WebCore::GraphicsContext::setUseDarkAppearance):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::useDarkAppearance const):

  • rendering/TextPaintStyle.cpp:

(WebCore::TextPaintStyle::operator== const):
(WebCore::computeTextPaintStyle):
(WebCore::updateGraphicsContext):

  • rendering/TextPaintStyle.h:
12:49 PM Changeset in webkit [245751] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Rebase compositing/rtl/rtl-overflow-scrolling.html
https://bugs.webkit.org/show_bug.cgi?id=198220
<rdar://problem/51114177>

Unreviewed test gardening.

New result is a progression (scrollX, which is an offset, should not be negative).

  • platform/ios-wk2/compositing/rtl/rtl-overflow-scrolling-expected.txt:
12:01 PM Changeset in webkit [245750] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Overlay: don't show setting for showing rulers/guides during element selection if it's not supported
https://bugs.webkit.org/show_bug.cgi?id=198221

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createGeneralSettingsView):

11:55 AM Changeset in webkit [245749] by youenn@apple.com
  • 3 edits in trunk/Source/WebKit

Update messages_unittest.py after r245715
https://bugs.webkit.org/show_bug.cgi?id=198214

Reviewed by Alexey Proskuryakov.

Update expected results for messages.py output.i
Small refactoring to messages.py: instead of calling the completionHandler in case of decoding error with AsyncReply errors,
call cancelReply directly as it does the same thing.

  • Scripts/webkit/MessageReceiverSuperclass-expected.cpp:

(Messages::WebPage::TestAsyncMessage::callReply):
(Messages::WebPage::TestAsyncMessage::cancelReply):
(Messages::WebPage::TestAsyncMessageWithMultipleArguments::callReply):
(Messages::WebPage::TestAsyncMessageWithMultipleArguments::cancelReply):

  • Scripts/webkit/messages.py:
11:26 AM Changeset in webkit [245748] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Make sure completion handler is always called in SWServer::startSuspension
https://bugs.webkit.org/show_bug.cgi?id=198215

Reviewed by Alex Christensen.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::startSuspension):
Make sure completion handler is called in case of no registration store.

10:47 AM Changeset in webkit [245747] by Shawn Roberts
  • 3 edits in trunk/LayoutTests

scrollingcoordinator/scrolling-tree/fixed-inside-frame.html is no longer flaky
https://bugs.webkit.org/show_bug.cgi?id=194253

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations: Removing failed expectations
9:33 AM Changeset in webkit [245746] by rniwa@webkit.org
  • 4 edits
    2 adds in trunk

Asssertion failure in dispatchSubtreeModifiedEvent due to TextFieldInputType updating UA shadow tree inside Element::removedFromAncestor
https://bugs.webkit.org/show_bug.cgi?id=198216

Reviewed by Brent Fulgham.

Source/WebCore:

The bug was caused by ListAttributeTargetObserver::idTargetChanged() updating the shadow tree of an input element
within Element::removedFromAncestor via TextFieldInputType::createDataListDropdownIndicator(). Fixed it by
supressing the assertions with ScriptDisallowedScope::EventAllowedScope since it's always safe to update
UA shadow trees of input elements as it's not exposed to author scripts.

Avoiding the creation of dropdown indicator in this particular scenario is a lot more involved and it's not
particularly correct because there could be another datalist element which matches the ID specified in list
content attribute after the removal of the old datalist element.

Test: fast/forms/datalist/datalist-removal-assertion.html

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createDataListDropdownIndicator):
(WebCore::TextFieldInputType::createContainer):

  • html/shadow/DataListButtonElement.cpp:

(WebCore::DataListButtonElement::DataListButtonElement):

LayoutTests:

Added a regression test.

  • fast/forms/datalist/datalist-removal-assertion-expected.txt: Added.
  • fast/forms/datalist/datalist-removal-assertion.html: Added.
1:19 AM Changeset in webkit [245745] by sbarati@apple.com
  • 6 edits in trunk/Source/WebCore

[WHLSL] ReadModifyWriteExpression always has a result and new value expression
https://bugs.webkit.org/show_bug.cgi?id=198079

Reviewed by Myles Maxfield.

Let's not pretend it might not.

  • Modules/webgpu/WHLSL/AST/WHLSLReadModifyWriteExpression.h:

(WebCore::WHLSL::AST::ReadModifyWriteExpression::newValueExpression):
(WebCore::WHLSL::AST::ReadModifyWriteExpression::resultExpression):
(WebCore::WHLSL::AST::ReadModifyWriteExpression::takeNewValueExpression):
(WebCore::WHLSL::AST::ReadModifyWriteExpression::takeResultExpression):

  • Modules/webgpu/WHLSL/WHLSLASTDumper.cpp:

(WebCore::WHLSL::ASTDumper::visit):

  • Modules/webgpu/WHLSL/WHLSLChecker.cpp:

(WebCore::WHLSL::Checker::visit):

  • Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp:

(WebCore::WHLSL::PropertyResolver::visit):

  • Modules/webgpu/WHLSL/WHLSLVisitor.cpp:

(WebCore::WHLSL::Visitor::visit):

12:54 AM Changeset in webkit [245744] by ysuzuki@apple.com
  • 2 edits in trunk/Tools

Make display-profiler-output work with newer HighLine
https://bugs.webkit.org/show_bug.cgi?id=198205

Reviewed by Saam Barati.

Newer HighLine does not have SystemExtensions. Access @terminal member in default instance of HighLine.

  • Scripts/display-profiler-output:

May 23, 2019:

10:27 PM Changeset in webkit [245743] by bshafiei@apple.com
  • 3 edits
    2 adds in branches/safari-608.1.24.20-branch

Cherry-pick r245742. rdar://problem/49720087

With async overflow scrolling, programmatic scroll to a negative offset fails to clamp the scroll offset
https://bugs.webkit.org/show_bug.cgi?id=198208
<rdar://problem/49720087>

Reviewed by Zalan Bujtas.

Source/WebCore:

RenderLayer::scrollToOffset() needs to pass the clamped offset to scrollingCoordinator->requestScrollPositionUpdate(),
otherwise the scrolling tree will round-trip a negative value and scrollLeft will end up negative.

Test: fast/scrolling/programmatic-scroll-to-negative-offset.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollToOffset):

LayoutTests:

  • fast/scrolling/programmatic-scroll-to-negative-offset-expected.txt: Added.
  • fast/scrolling/programmatic-scroll-to-negative-offset.html: Added.

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

8:25 PM Changeset in webkit [245742] by Simon Fraser
  • 3 edits
    2 adds in trunk

With async overflow scrolling, programmatic scroll to a negative offset fails to clamp the scroll offset
https://bugs.webkit.org/show_bug.cgi?id=198208
<rdar://problem/49720087>

Reviewed by Zalan Bujtas.

Source/WebCore:

RenderLayer::scrollToOffset() needs to pass the clamped offset to scrollingCoordinator->requestScrollPositionUpdate(),
otherwise the scrolling tree will round-trip a negative value and scrollLeft will end up negative.

Test: fast/scrolling/programmatic-scroll-to-negative-offset.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollToOffset):

LayoutTests:

  • fast/scrolling/programmatic-scroll-to-negative-offset-expected.txt: Added.
  • fast/scrolling/programmatic-scroll-to-negative-offset.html: Added.
8:19 PM Changeset in webkit [245741] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: prevent stripping console.assert if it's used inside a string
https://bugs.webkit.org/show_bug.cgi?id=198207

Reviewed by Joseph Pecoraro.

  • Scripts/remove-console-asserts.pl:

(removeConsoleAssertsInFile):

7:55 PM Changeset in webkit [245740] by Alan Coon
  • 7 edits in branches/safari-608.1.24.50-branch/Source

Versioning.

7:53 PM Changeset in webkit [245739] by Alan Coon
  • 7 edits in branches/safari-608.1.24.20-branch/Source

Versioning.

7:53 PM Changeset in webkit [245738] by Alan Coon
  • 1 copy in tags/Safari-608.1.24.50.1

Tag Safari-608.1.24.50.1.

7:51 PM Changeset in webkit [245737] by Alan Coon
  • 7 edits in branches/safari-608.1.24.40-branch/Source

Versioning.

7:36 PM Changeset in webkit [245736] by Alan Coon
  • 3 edits in branches/safari-608.1.24.50-branch/Source/WebKit

Cherry-pick r245589. rdar://problem/50971874

[WebAuthN] Make WebAuthN default on only on macOS
https://bugs.webkit.org/show_bug.cgi?id=198068
<rdar://problem/50971874>

Reviewed by Brent Fulgham.

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.h:

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

7:32 PM Changeset in webkit [245735] by Alan Coon
  • 7 edits in branches/safari-608.1.24.50-branch/Source

Versioning.

7:27 PM Changeset in webkit [245734] by Alan Coon
  • 1 copy in branches/safari-608.1.24.50-branch

New branch.

7:27 PM Changeset in webkit [245733] by Fujii Hironori
  • 15 edits in trunk

run-webkit-tests: Remove feature detection support
https://bugs.webkit.org/show_bug.cgi?id=198105

Reviewed by Jonathan Bedard.

Tools:

Feature detection support was added to DRT for Windows and old
run-webkit-tests in Bug 35610. It was added for NRWT in Bug 41842.
But, it doesn't work for DRT for Windows because of feature name
mismatches. Since USE(ACCELERATED_COMPOSITING) flag has been
removed in Bug 127833, it is not needed anymore.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(main):

  • Scripts/webkitpy/port/base.py:

(Port._tests_for_other_platforms):
(Port._skipped_tests_for_unsupported_features):
(Port._runtime_feature_list): Deleted.
(Port.nm_command): Deleted.
(Port._modules_to_search_for_symbols): Deleted.
(Port._symbols_string): Deleted.
(Port._missing_feature_to_skipped_tests): Deleted.
(Port._has_test_in_directories): Deleted.

  • Scripts/webkitpy/port/darwin.py:

(DarwinPort.make_command):
(DarwinPort.nm_command): Deleted.

  • Scripts/webkitpy/port/ios_simulator.py:

(IOSSimulatorPort.reset_preferences):
(IOSSimulatorPort.nm_command): Deleted.

  • Scripts/webkitpy/port/port_testcase.py:

(TestWebKitPort.init):
(TestWebKitPort.all_test_configurations):
(PortTestCase.test_path_to_test_expectations_file):
(TestWebKitPort._symbols_string): Deleted.
(PortTestCase.test_skipped_directories_for_features): Deleted.
(PortTestCase.test_skipped_directories_for_features_no_matching_tests_in_test_list): Deleted.
(PortTestCase.test_skipped_tests_for_unsupported_features_empty_test_list): Deleted.

  • Scripts/webkitpy/port/watch_simulator.py:

(WatchSimulatorPort.reset_preferences):
(WatchSimulatorPort.nm_command): Deleted.

  • Scripts/webkitpy/port/win.py:

(WinPort.show_results_html_file):
(WinPort._runtime_feature_list): Deleted.

  • Scripts/webkitpy/port/win_unittest.py:

(WinPortTest.test_operating_system):
(WinPortTest.test_runtime_feature_list): Deleted.

  • WebKitTestRunner/Options.cpp:

(WTR::OptionsHandler::OptionsHandler):
(WTR::handleOptionPrintSupportedFeatures): Deleted.

  • WebKitTestRunner/Options.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

LayoutTests:

  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:

Added Skip for all compositing, animations/3d and transforms/3d tests temporarily.

7:09 PM Changeset in webkit [245732] by bshafiei@apple.com
  • 1 copy in tags/Safari-608.1.24.20.3

Tag Safari-608.1.24.20.3.

6:59 PM Changeset in webkit [245731] by Alan Coon
  • 1 delete in tags/Safari-608.1.24.50

Delete tag.

6:34 PM Changeset in webkit [245730] by Devin Rousso
  • 12 edits in trunk/Source

Web Inspector: Overlay: rulers/guides should be shown whenever element selection is enabled
https://bugs.webkit.org/show_bug.cgi?id=198088

Reviewed by Timothy Hatcher.

When trying to "measure" the absolute position (to the viewport) or relative position (to
another element) of a given element, often the easiest way is to enable Element Selection
and Show Rulers at the same time.

This can have the undesired "side-effect" of having the rulers be always present, even when
not highlighting any nodes.

The ideal functionality is to allow the rulers/guides to be shown when element selection is
active and a node is hovered, regardless of whether "Show Rulers" is enabled.

Source/JavaScriptCore:

  • inspector/protocol/DOM.json:

Add an optional showRulers parameter to DOM.setInspectModeEnabled that supersedes the
current value of Page.setShowRulers as to whether rulers/guides are shown.

Source/WebCore:

  • inspector/InspectorOverlay.h:

(WebCore::InspectorOverlay::setShowRulersDuringElementSelection): Added.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::shouldShowOverlay):
(WebCore::InspectorOverlay::drawNodeHighlight):
(WebCore::InspectorOverlay::drawQuadHighlight):
(WebCore::InspectorOverlay::drawElementTitle):
If showRulersDuringElementSelection is enabled, draw rulers whenever any highlight bounds
are calculated, but don't update the overlay if it's the only thing enabled (e.g. if there's
no currently hovered node, the overlay will disappear).

  • inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDOMAgent::inspect):
(WebCore::InspectorDOMAgent::setInspectModeEnabled):
(WebCore::InspectorDOMAgent::setSearchingForNode):
Add an optional showRulers parameter to DOM.setInspectModeEnabled that supersedes the
current value of Page.setShowRulers as to whether rulers/guides are shown.

Source/WebInspectorUI:

  • UserInterface/Base/Setting.js:
  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createGeneralSettingsView):
Add a setting for controlling whether rulers/guides are shown during element selection.

  • UserInterface/Controllers/DOMManager.js:

(WI.DOMManager.prototype.set inspectModeEnabled):
Pass the setting value as an optional parameter when calling DOM.setInspectModeEnabled.

  • Localizations/en.lproj/localizedStrings.js:
6:22 PM Changeset in webkit [245729] by commit-queue@webkit.org
  • 20 edits in trunk

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

Inspector appears blank, again. (Requested by NVI on #webkit).

Reverted changeset:

"Web Inspector: Provide UIString descriptions to improve
localizations"
https://bugs.webkit.org/show_bug.cgi?id=195132
https://trac.webkit.org/changeset/245665

5:10 PM Changeset in webkit [245728] by Devin Rousso
  • 3 edits in trunk/Source/WebCore

Web Inspector: Overlay: rulers should switch sides if they intersect the highlighted node(s) so they don't obstruct any content
https://bugs.webkit.org/show_bug.cgi?id=198165

Reviewed by Timothy Hatcher.

If the highlighted node is against the top edge of the screen, the top ruler should shift to
the bottom, unless the highlighted node is also against the bottom edge of the screen.

If the highlighted node is against the left edge of the screen, the left ruler should shift
to the right, unless the highlighted node is also against the right edge of the screen.

This way, unless the node is very wide/tall, the rulers won't be drawn on top of anything
being highlighted.

  • inspector/InspectorOverlay.h:
  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::drawNodeHighlight):
(WebCore::InspectorOverlay::drawQuadHighlight):
(WebCore::InspectorOverlay::drawBounds):
(WebCore::InspectorOverlay::drawRulers):
Drive-by: create an alias for the type (FloatRect) used when calculating the bounds of

everything that's highlighted.

4:41 PM Changeset in webkit [245727] by sbarati@apple.com
  • 2 edits in trunk/Source/WebCore

[WHLSL] Make the AST dumper disambiguate expressions using parenthesis to represent AST construction
https://bugs.webkit.org/show_bug.cgi?id=198199

Reviewed by Myles C. Maxfield.

We would dump "*foo.bar" for "(*foo).bar", which is super confusing.
We now dump "(*foo).bar".

  • Modules/webgpu/WHLSL/WHLSLASTDumper.cpp:

(WebCore::WHLSL::ASTDumper::visit):

4:36 PM Changeset in webkit [245726] by Ross Kirsling
  • 7 edits in trunk/Source

Socket-based RWI should be able to inspect a JSContext
https://bugs.webkit.org/show_bug.cgi?id=198197

Reviewed by Don Olmstead.

Source/JavaScriptCore:

  • inspector/remote/socket/RemoteInspectorSocket.cpp:

(Inspector::RemoteInspector::listingForInspectionTarget const):
Just use the debuggableType strings that WebInspectorUI ultimately wants.

Source/WebKit:

  • UIProcess/socket/RemoteInspectorClient.cpp:

(WebKit::RemoteInspectorClient::inspect):

  • UIProcess/socket/RemoteInspectorClient.h:
  • UIProcess/socket/RemoteInspectorProtocolHandler.cpp:

(WebKit::RemoteInspectorProtocolHandler::inspect):
(WebKit::RemoteInspectorProtocolHandler::targetListChanged):
(WebKit::RemoteInspectorProtocolHandler::platformStartTask):

  • UIProcess/socket/RemoteInspectorProtocolHandler.h:

Have the RWI client actually pass the debuggableType to WebInspectorUI.

4:34 PM Changeset in webkit [245725] by Ryan Haddad
  • 3 edits in branches/safari-607-branch/LayoutTests

Land test changes for rdar://problem/51086725.

  • inspector/runtime/parse-expected.txt:
  • inspector/runtime/parse.html:
4:13 PM Changeset in webkit [245724] by sbarati@apple.com
  • 2 edits in trunk/Source/WebCore

[WHLSL] Don't wrap anonymous variables in parens in the AST dumper
https://bugs.webkit.org/show_bug.cgi?id=198196

Reviewed by Myles C. Maxfield.

This makes the dump of 'foo.bar.x = 42' go from
($(0x7f86d9d94440) = &foo, $(0x7f86d9d944e0) = operator.bar(*$(0x7f86d9d94440)), $(0x7f86d9d944e0) = operator.x=($(0x7f86d9d944e0), 42), *$(0x7f86d9d94440) = operator.bar=(*$(0x7f86d9d94440), $(0x7f86d9d944e0)));

to:
($0x7f86d9d94440 = &foo, $0x7f86d9d944e0 = operator.bar(*$0x7f86d9d94440), $0x7f86d9d944e0 = operator.x=($0x7f86d9d944e0, 42), *$0x7f86d9d94440 = operator.bar=(*$0x7f86d9d94440, $0x7f86d9d944e0));

  • Modules/webgpu/WHLSL/WHLSLASTDumper.cpp:

(WebCore::WHLSL::ASTDumper::visit):

3:58 PM Changeset in webkit [245723] by don.olmstead@sony.com
  • 10 edits in trunk

[CMake] Use target oriented design for bmalloc
https://bugs.webkit.org/show_bug.cgi?id=198046

Reviewed by Konstantin Tokarev.

.:

Add WEBKIT_COPY_FILES to WebKitMacros so it is available to all CMake code. Add
bmalloc_FRAMEWORK_HEADERS_DIR for specifying the location to copy bmalloc headers to.

  • Source/cmake/WebKitFS.cmake:
  • Source/cmake/WebKitMacros.cmake:

Source/bmalloc:

Switch to a target oriented dsign for bmalloc. Use target_include_directories directly
instead of include_directories.

List the headers for bmalloc and copy them using WEBKIT_COPY_FILES.

Add an intermediate target bmalloc_PostBuild which depends on bmalloc and the headers
being copied. Then alias that to WebKit::bmalloc.

  • CMakeLists.txt:
  • PlatformMac.cmake:

Source/ThirdParty/ANGLE:

Remove WEBKIT_COPY_FILES from CMakelists.txt now that it is in WebKitMacros.

  • CMakeLists.txt:

Source/WTF:

Use WebKit::bmalloc target.

  • wtf/CMakeLists.txt:
3:41 PM Changeset in webkit [245722] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

[WHLSL] Implement property resolver
https://bugs.webkit.org/show_bug.cgi?id=195925
<rdar://problem/48219643>

Unreviewed watchOS build fix.

  • Modules/webgpu/WHLSL/AST/WHLSLAssignmentExpression.h:

(WebCore::WHLSL::AST::AssignmentExpression::AssignmentExpression):

3:21 PM Changeset in webkit [245721] by sbarati@apple.com
  • 3 edits
    2 adds in trunk

[WHLSL] Property resolver needs to recurse to handle the base when simplifying rvalues
https://bugs.webkit.org/show_bug.cgi?id=198193

Reviewed by Myles Maxfield.

Source/WebCore:

We were only transforming the top most node in the AST. So things like
'x = foo.bar' would work, but 'x = foo.bar.baz' would not.

Test: webgpu/whlsl-nested-dot-expression-rvalue.html

  • Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp:

(WebCore::WHLSL::PropertyResolver::simplifyRightValue):

LayoutTests:

  • webgpu/whlsl-nested-dot-expression-rvalue-expected.html: Added.
  • webgpu/whlsl-nested-dot-expression-rvalue.html: Added.
3:08 PM Changeset in webkit [245720] by Shawn Roberts
  • 2 edits in trunk/LayoutTests

http/tests/resourceLoadStatistics/prune-statistics.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=197285

Unreviewed test gardening. Updating expectations for Release as well

  • platform/mac-wk2/TestExpectations:
2:39 PM Changeset in webkit [245719] by Shawn Roberts
  • 2 edits in trunk/LayoutTests

fast/css-grid-layout/flex-content-sized-columns-resize.html is a flaky ImageOnlyFailure
https://bugs.webkit.org/show_bug.cgi?id=187828#add_comment

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Updating for flkay test
2:22 PM Changeset in webkit [245718] by Shawn Roberts
  • 2 edits in trunk/LayoutTests

fast/css/sticky/sticky-left-percentage.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=198195

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Updating for flaky test
2:19 PM Changeset in webkit [245717] by Stephanie Lewis
  • 4 edits in trunk/Source

release builds of webkit cannot be used to generate a dyld shared cache
https://bugs.webkit.org/show_bug.cgi?id=198150
<rdar://problem/50675982>

Reviewed by Dan Bernstein.

Restrict the -not_for_dyld_shared_cache linker flag to macosx

Source/WebCore:

  • Configurations/WebCore.xcconfig:

Source/WebKit:

  • Configurations/WebKit.xcconfig:
2:17 PM Changeset in webkit [245716] by Alan Bujtas
  • 20 edits in trunk/Source

[Hittest] Move hittesting from RenderView to Document
https://bugs.webkit.org/show_bug.cgi?id=198192
<rdar://problem/51077762>

Reviewed by Antti Koivisto.

Source/WebCore:

RenderView is not refcounted and may be destroyed in updateLayout(), so enter hit-testing from Document.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::press):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::visiblePositionForPoint const):

  • dom/Document.cpp:

(WebCore::FrameFlatteningLayoutDisallower::FrameFlatteningLayoutDisallower):
(WebCore::FrameFlatteningLayoutDisallower::~FrameFlatteningLayoutDisallower):
(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::prepareMouseEvent):
(WebCore::Document::hitTest):

  • dom/Document.h:

(WebCore::Document::inHitTesting const):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::nodeFromPoint):
(WebCore::TreeScope::elementsFromPoint):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::contains const):

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::isReplacementObscured):

  • html/MediaElementSession.cpp:

(WebCore::isElementMainContentForPurposesOfAutoplay):

  • page/DragController.cpp:

(WebCore::elementUnderMouse):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMouseDraggedEvent):
(WebCore::EventHandler::eventMayStartDrag const):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::hitTestResultAtPoint const):
(WebCore::EventHandler::updateCursor):
(WebCore::EventHandler::isInsideScrollbar const):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::hoverTimerFired):
(WebCore::EventHandler::handleDrag):
(WebCore::hitTestResultInFrame):

  • page/FrameViewLayoutContext.cpp:

(WebCore::FrameViewLayoutContext::setNeedsLayoutAfterViewConfigurationChange):

  • rendering/RenderView.cpp:

(WebCore::FrameFlatteningLayoutDisallower::FrameFlatteningLayoutDisallower): Deleted.
(WebCore::FrameFlatteningLayoutDisallower::~FrameFlatteningLayoutDisallower): Deleted.
(): Deleted.
(WebCore::RenderView::hitTest): Deleted.

  • rendering/RenderView.h:
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::nodeAtPoint):

  • testing/Internals.cpp:

(WebCore::Internals::nodesFromRect const):

Source/WebKit:

  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::determinePrimarySnapshottedPlugIn):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::dynamicViewportSizeUpdate):

2:15 PM Changeset in webkit [245715] by youenn@apple.com
  • 26 edits
    2 adds
    1 delete in trunk

CacheStorageConnection callbacks should be completed on network connection close
https://bugs.webkit.org/show_bug.cgi?id=195757

Reviewed by Alex Christensen.

Source/WebCore:

Move HashMap-based callbacks to WorkerCacheStorageConnection.
Make CacheStorageConnection default API to implement use callbacks.
This is used by WebKit layer to do AsyncReply IPC.

Move DOMCacheEngine callbacks to CompletionHandler.

Test: http/wpt/cache-storage/cache-storage-networkprocess-crash.html

  • Modules/cache/CacheStorageConnection.cpp:
  • Modules/cache/CacheStorageConnection.h:

(WebCore::CacheStorageConnection::engineRepresentation):

  • Modules/cache/DOMCacheEngine.h:
  • Modules/cache/WorkerCacheStorageConnection.cpp:

(WebCore::recordsDataFromRecords):
(WebCore::recordsDataOrErrorFromRecords):
(WebCore::recordsFromRecordsData):
(WebCore::recordsOrErrorFromRecordsData):
(WebCore::WorkerCacheStorageConnection::open):
(WebCore::WorkerCacheStorageConnection::openOrRemoveCompleted):
(WebCore::WorkerCacheStorageConnection::remove):
(WebCore::WorkerCacheStorageConnection::retrieveCaches):
(WebCore::WorkerCacheStorageConnection::retrieveCachesCompleted):
(WebCore::WorkerCacheStorageConnection::retrieveRecords):
(WebCore::WorkerCacheStorageConnection::retrieveRecordsCompleted):
(WebCore::WorkerCacheStorageConnection::batchDeleteOperation):
(WebCore::WorkerCacheStorageConnection::deleteRecordsCompleted):
(WebCore::WorkerCacheStorageConnection::batchPutOperation):
(WebCore::WorkerCacheStorageConnection::putRecordsCompleted):
(WebCore::WorkerCacheStorageConnection::reference):
(WebCore::WorkerCacheStorageConnection::dereference):
(WebCore::WorkerCacheStorageConnection::clearPendingRequests):

  • Modules/cache/WorkerCacheStorageConnection.h:
  • page/CacheStorageProvider.h:

(WebCore::CacheStorageProvider::createCacheStorageConnection):

Source/WebKit:

Update according new WebCore CacheStorageConnection interface.
Use Async IPC replies so that the completion handlers are called on network crash.

Allow to have specific error handling in case of cancelled reply or badly decoded message.
This allows to reject the corresponding JS promise.

  • CMakeLists.txt:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::clearMemoryRepresentation):

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::requestSpace):
(WebKit::CacheStorage::Caches::writeRecord):

  • NetworkProcess/cache/CacheStorageEngineConnection.cpp:

(WebKit::CacheStorageEngineConnection::open):
(WebKit::CacheStorageEngineConnection::remove):
(WebKit::CacheStorageEngineConnection::caches):
(WebKit::CacheStorageEngineConnection::retrieveRecords):
(WebKit::CacheStorageEngineConnection::deleteMatchingRecords):
(WebKit::CacheStorageEngineConnection::putRecords):

  • NetworkProcess/cache/CacheStorageEngineConnection.h:

(IPC::AsyncReplyError<WebCore::DOMCacheEngine::CacheIdentifierOrError>::create):
(IPC::AsyncReplyError<WebCore::DOMCacheEngine::RecordIdentifiersOrError>::create):
(IPC::AsyncReplyError<WebCore::DOMCacheEngine::CacheInfosOrError>::create):
(IPC::AsyncReplyError<WebCore::DOMCacheEngine::RecordsOrError>::create):

  • NetworkProcess/cache/CacheStorageEngineConnection.messages.in:
  • Platform/IPC/ArgumentCoders.h:
  • Platform/IPC/Connection.h:

(IPC::AsyncReplyError::create):

  • Scripts/webkit/messages.py:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/Cache/WebCacheStorageConnection.cpp:

(WebKit::WebCacheStorageConnection::open):
(WebKit::WebCacheStorageConnection::remove):
(WebKit::WebCacheStorageConnection::retrieveCaches):
(WebKit::WebCacheStorageConnection::retrieveRecords):
(WebKit::WebCacheStorageConnection::batchDeleteOperation):
(WebKit::WebCacheStorageConnection::batchPutOperation):
(WebKit::WebCacheStorageConnection::engineRepresentation):

  • WebProcess/Cache/WebCacheStorageConnection.h:
  • WebProcess/Cache/WebCacheStorageConnection.messages.in: Removed.
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didReceiveMessage):

LayoutTests:

  • http/wpt/cache-storage/cache-storage-networkprocess-crash-expected.txt: Added.
  • http/wpt/cache-storage/cache-storage-networkprocess-crash.html: Added.
2:08 PM Changeset in webkit [245714] by Alan Coon
  • 1 edit in branches/safari-608.1.24.20-branch/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm

Fix incorrect merge conflict resolution. rdar://problem/50613388

2:06 PM Changeset in webkit [245713] by Matt Baker
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove unused CSS class "offset-sections"
https://bugs.webkit.org/show_bug.cgi?id=198194
<rdar://problem/51080111>

Reviewed by Devin Rousso.

  • UserInterface/Views/DebuggerSidebarPanel.js:
  • UserInterface/Views/StyleDetailsPanel.js:

(WI.StyleDetailsPanel):

1:56 PM Changeset in webkit [245712] by youenn@apple.com
  • 11 edits
    2 adds in trunk

Multiple videos (with audios) with autoplay & playinline not working. Only one video play at a time.
https://bugs.webkit.org/show_bug.cgi?id=193312
<rdar://problem/47189864>

Reviewed by Jer Noble.

Source/WebCore:

Allow all MediaStream backed video elements to play together.
Any non MediaStream backed video will stop all MediaStream backed video elements.
Conversely, all non MediaStream backed videos will stop when playing one MediaStream backed video.

Refactor PlatformMediaSessionManager as the way to iterate through sessions
is not safe when pausing a session: if playing, the session will be moved in the array of sessions.

To handle this, copy the list of sessions before iterating through them.
For extra safety, make sessions WeakPtr.

Add routines for the case of filtering with a predicate taking a const session.
In that case, we do not copy the vector but iterate through it as a small optimization.

Test: webrtc/concurrentVideoPlayback.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::bestMediaElementForShowingPlaybackControlsManager):
(WebCore::HTMLMediaElement::hasMediaStreamSource const):

  • html/HTMLMediaElement.h:
  • platform/audio/PlatformMediaSession.cpp:

(WebCore::PlatformMediaSession::activeAudioSessionRequired const):
(WebCore::PlatformMediaSession::canPlayConcurrently const):
(WebCore::PlatformMediaSession::activeAudioSessionRequired): Deleted.

  • platform/audio/PlatformMediaSession.h:

(WebCore::PlatformMediaSessionClient::hasMediaStreamSource const):

  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::has const):
(WebCore::PlatformMediaSessionManager::activeAudioSessionRequired const):
(WebCore::PlatformMediaSessionManager::canProduceAudio const):
(WebCore::PlatformMediaSessionManager::count const):
(WebCore::PlatformMediaSessionManager::beginInterruption):
(WebCore::PlatformMediaSessionManager::endInterruption):
(WebCore::PlatformMediaSessionManager::addSession):
(WebCore::PlatformMediaSessionManager::removeSession):
(WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):
(WebCore::PlatformMediaSessionManager::sessionWillEndPlayback):
(WebCore::PlatformMediaSessionManager::setCurrentSession):
(WebCore::PlatformMediaSessionManager::currentSession const):
(WebCore::PlatformMediaSessionManager::applicationWillBecomeInactive):
(WebCore::PlatformMediaSessionManager::applicationDidBecomeActive):
(WebCore::PlatformMediaSessionManager::applicationDidEnterBackground):
(WebCore::PlatformMediaSessionManager::applicationWillEnterForeground):
(WebCore::PlatformMediaSessionManager::systemWillSleep):
(WebCore::PlatformMediaSessionManager::systemDidWake):
(WebCore::PlatformMediaSessionManager::stopAllMediaPlaybackForDocument):
(WebCore::PlatformMediaSessionManager::stopAllMediaPlaybackForProcess):
(WebCore::PlatformMediaSessionManager::suspendAllMediaPlaybackForDocument):
(WebCore::PlatformMediaSessionManager::resumeAllMediaPlaybackForDocument):
(WebCore::PlatformMediaSessionManager::suspendAllMediaBufferingForDocument):
(WebCore::PlatformMediaSessionManager::resumeAllMediaBufferingForDocument):
(WebCore::PlatformMediaSessionManager::currentSessionsMatching const):
(WebCore::PlatformMediaSessionManager::forEachMatchingSession):
(WebCore::PlatformMediaSessionManager::forEachMatchingSession const):
(WebCore::PlatformMediaSessionManager::forEachSession):
(WebCore::PlatformMediaSessionManager::anyOfSessions const):
(): Deleted.
(WebCore::PlatformMediaSessionManager::applicationWillBecomeInactive const): Deleted.
(WebCore::PlatformMediaSessionManager::applicationDidBecomeActive const): Deleted.
(WebCore::PlatformMediaSessionManager::applicationDidEnterBackground const): Deleted.
(WebCore::PlatformMediaSessionManager::applicationWillEnterForeground const): Deleted.
(WebCore::PlatformMediaSessionManager::forEachSession const): Deleted.
(WebCore::PlatformMediaSessionManager::findSession const): Deleted.

  • platform/audio/PlatformMediaSessionManager.h:

(WebCore::PlatformMediaSessionManager::anyOfSessions const): Deleted.

  • platform/audio/cocoa/MediaSessionManagerCocoa.mm:

(MediaSessionManagerCocoa::updateSessionState):
(MediaSessionManagerCocoa::beginInterruption):

  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring):
(WebCore::MediaSessionManageriOS::externalOutputDeviceAvailableDidChange):

LayoutTests:

  • webrtc/concurrentVideoPlayback-expected.txt: Added.
  • webrtc/concurrentVideoPlayback.html: Added.
1:44 PM Changeset in webkit [245711] by Shawn Roberts
  • 2 edits in trunk/LayoutTests

Updating test expectations for failing tests.
<rdar://problem/47088939>

Unreviewed test gardening.

  • platform/mac/TestExpectations:
1:43 PM Changeset in webkit [245710] by Tadeu Zagallo
  • 3 edits
    1 add in trunk

DFG::OSREntry should not perform arity check
https://bugs.webkit.org/show_bug.cgi?id=198189

Reviewed by Saam Barati.

JSTests:

  • microbenchmarks/loop-osr-with-arity-mismatch.js: Added.

(foo):

Source/JavaScriptCore:

The check prevents OSR entering from hot loops inside functions that were called
with too few arguments.

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

1:23 PM Changeset in webkit [245709] by sihui_liu@apple.com
  • 2 edits in trunk/Source/WebKit

Handling for non-persistent data should be consistent in computeNetworkProcessAccessTypeForDataFetch
https://bugs.webkit.org/show_bug.cgi?id=198050

Reviewed by Youenn Fablet.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::computeNetworkProcessAccessTypeForDataFetch):

1:20 PM Changeset in webkit [245708] by Alan Coon
  • 1 edit in branches/safari-608.1.24.20-branch/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm

Unreviewed build fix. rdar://problem/50613388

1:15 PM Changeset in webkit [245707] by stephan.szabo@sony.com
  • 2 edits in trunk/Tools

[Win][CMake] Pass architecture to cmake via -A for both x64 and Win32
https://bugs.webkit.org/show_bug.cgi?id=198098

Reviewed by Don Olmstead.

With current CMake and Visual Studio 2019, the default
architecture will match the host, so we should make sure
to explicitly mention the architecture we want for 32-bit
builds as well for cases where we are on x64 and not in an
x64_x32 cross-build vcvars environment.

  • Scripts/webkitdirs.pm:

(getVisualStudioToolset): Get toolset name for cmake/msbuild
(getMSBuildPlatformArgument): Update to use getVisualStudioToolset
(getCMakeWindowsToolsetArgument): Get -A argument for cmake
based on toolset
(generateBuildSystemFromCMakeProject): Remove explicit -A x64
in 64-bit mode in favor of new getCMakeWindowsToolsetArgument.

12:54 PM Changeset in webkit [245706] by sbarati@apple.com
  • 4 edits in trunk/Source/WebCore

[WHLSL] Add a helper for in-place AST mutation
https://bugs.webkit.org/show_bug.cgi?id=198175

Reviewed by Myles Maxfield.

This makes WHLSL AST mutation code a bit easier to read and write.

Code that looked like:
`
static_assert(sizeof(AST::DereferenceExpression) <= sizeof(AST::DotExpression), "Dot expressions need to be able to become dereference expressions without updating backreferences");
void* location = &dotExpression;
dotExpression.~DotExpression();
auto* dereferenceExpression = new (location) AST::DereferenceExpression(WTFMove(origin), WTFMove(callExpression));
`

Can now be:
`
auto* dereferenceExpression = AST::replaceWith<AST::DereferenceExpression>(dotExpression, WTFMove(origin), WTFMove(callExpression));
`

  • Modules/webgpu/WHLSL/AST/WHLSLNode.h:

(WebCore::WHLSL::AST::replaceWith):

  • Modules/webgpu/WHLSL/WHLSLNameResolver.cpp:

(WebCore::WHLSL::NameResolver::visit):

  • Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp:

(WebCore::WHLSL::PropertyResolver::visit):
(WebCore::WHLSL::PropertyResolver::simplifyRightValue):
(WebCore::WHLSL::LeftValueSimplifier::visit):

12:45 PM Changeset in webkit [245705] by Alan Coon
  • 3 edits in tags/Safari-608.1.24.50/Source/WebKit

Cherry-pick r245589. rdar://problem/50971874

[WebAuthN] Make WebAuthN default on only on macOS
https://bugs.webkit.org/show_bug.cgi?id=198068
<rdar://problem/50971874>

Reviewed by Brent Fulgham.

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.h:

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

12:42 PM Changeset in webkit [245704] by Alan Coon
  • 7 edits in tags/Safari-608.1.24.50/Source

Versioning.

12:33 PM Changeset in webkit [245703] by Alan Coon
  • 1 copy in tags/Safari-608.1.24.50

New tag.

12:33 PM Changeset in webkit [245702] by Alan Coon
  • 1 copy in tags/Safari-608.1.24.40.4

Tag Safari-608.1.24.40.4.

12:12 PM Changeset in webkit [245701] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[macOS,iOS] Add always-on logging for AVPlayerTimeControlStatus changes
https://bugs.webkit.org/show_bug.cgi?id=197946
<rdar://problem/50627457>

Reviewed by Jon Lee.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::convertEnumerationToString):
(WTF::LogArgument<AVPlayerTimeControlStatus>::toString):
(WebCore::MediaPlayerPrivateAVFoundationObjC::timeControlStatusDidChange):

11:32 AM Changeset in webkit [245700] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Build fix after r245695.

  • dom/Element.cpp:
11:13 AM Changeset in webkit [245699] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[Pointer Events] Compatibility mouse events can only be prevented while the pointer is pressed
https://bugs.webkit.org/show_bug.cgi?id=198178

Patch by Antoine Quint <Antoine Quint> on 2019-05-23
Reviewed by Dean Jackson.

Source/WebCore:

Test: pointerevents/mouse/compatibility-mouse-events-prevention-mouse-released.html

The Pointer Events spec, in https://www.w3.org/TR/pointerevents/#compatibility-mapping-with-mouse-events, says that "Mouse events
can only be prevented when the pointer is down. Hovering pointers (e.g. a mouse with no buttons pressed) cannot have their mouse
events prevented." We now track whether the pointer is pressed and clear the preventsCompatibilityMouseEvents when the pointer is
moved and it is not pressed.

  • page/PointerCaptureController.cpp:

(WebCore::PointerCaptureController::pointerEventWasDispatched):

  • page/PointerCaptureController.h:

LayoutTests:

Add a test that listens "mousemove" events and checks it is not dispatched after preventDefault() is called when handling

"pointerdown" but it is dispatched after releasing the mouse pointer and moving it again.

  • pointerevents/mouse/compatibility-mouse-events-prevention-mouse-released-expected.txt: Added.
  • pointerevents/mouse/compatibility-mouse-events-prevention-mouse-released.html: Added.
11:08 AM Changeset in webkit [245698] by youenn@apple.com
  • 4 edits in trunk

Set default WebsiteDataStore storage quota based on StorageQuotaManager
https://bugs.webkit.org/show_bug.cgi?id=198133
<rdar://problem/51031436>

Reviewed by Geoffrey Garen.

Source/WebKit:

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:

(doTest):

11:07 AM Changeset in webkit [245697] by Ross Kirsling
  • 2 edits in trunk/Source/JavaScriptCore

Lexer<T>::parseDecimal ought to ASSERT isASCIIDigit
https://bugs.webkit.org/show_bug.cgi?id=198156

Reviewed by Keith Miller.

  • parser/Lexer.cpp:

(JSC::Lexer<T>::parseDecimal):
Add ASSERT -- apparently the issue with doing so earlier was simply
that m_current can be anything at all when m_buffer8 is non-empty.

(JSC::Lexer<T>::lexWithoutClearingLineTerminator):
Clean up a few things in the vicinity of r245655:

  • fix token enum values in a couple of error cases added in the last patch
  • add UNLIKELY for existing error cases that forgot to use it
  • simplify some control flow
11:04 AM Changeset in webkit [245696] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: clicking a source link should never open the Network tab
https://bugs.webkit.org/show_bug.cgi?id=197951

Reviewed by Timothy Hatcher.

The preview panel in the Network tab is really meant to be just that; a preview.

Opening resources in the preview panel is not a great experience, as the Network tab doesn't
have as much of the information one would expect when viewing a resource (namely the
Resource details sidebar panel).

Navigating within the Network tab also completely wipes out the current "state" of what
you're looking at (e.g. which panel), which could be unexpected.

The only way this could happen previously was if the Resources/Debugger/Sources tabs had
never been active at any point in the past. Selecting one of those tabs and then clicking on
an initiator link in the Network tab would re-select that other tab.

  • UserInterface/Base/Main.js:

(WI.dialogWasDismissedWithRepresentedObject):

  • UserInterface/Views/ResourceHeadersContentView.js:

(WI.ResourceHeadersContentView.prototype._refreshSummarySection):

11:02 AM Changeset in webkit [245695] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[Pointer Events] The mouseover, mouseout, mouseenter, and mouseleave events should not be prevented while the pointer is down
https://bugs.webkit.org/show_bug.cgi?id=198177

Patch by Antoine Quint <Antoine Quint> on 2019-05-23
Reviewed by Dean Jackson.

Source/WebCore:

Test: pointerevents/mouse/compatibility-mouse-events-prevention-mouse-pressed.html

The Pointer Event spec, in https://www.w3.org/TR/pointerevents/#compatibility-mapping-with-mouse-events, says that "the mouseover,
mouseout, mouseenter, and mouseleave events are never prevented (even if the pointer is down)." We add a new static function which
indicates what is "compatibility" mouse event since those should be excluded, along with "click", which we already excluded.

  • dom/Element.cpp:

(WebCore::isCompatibilityMouseEvent):
(WebCore::Element::dispatchMouseEvent):

LayoutTests:

Add a test that listens to all mouse events and checks which are dispatched in the case preventDefault() is called when handling
"pointerdown" and when it isn't.

  • platform/mac-wk1/TestExpectations: Skipping the test on WK1 where the sequence of dispatched mouse events does not match.
  • pointerevents/mouse/compatibility-mouse-events-prevention-mouse-pressed-expected.txt: Added.
  • pointerevents/mouse/compatibility-mouse-events-prevention-mouse-pressed.html: Added.
10:59 AM Changeset in webkit [245694] by Jon Davis
  • 2 edits in trunk/Source/WebCore

Update feature status for shipped features
https://bugs.webkit.org/show_bug.cgi?id=196783

Reviewed by Timothy Hatcher.

Updated feature status for Beacon API, CSS Text Decoration Level 4, Intersection Observer,
Conic Gradients, Datalist Element, and Web Share.

  • features.json:
10:46 AM Changeset in webkit [245693] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Add Mojave+ back to media/track/track-cue-rendering-vertical.html expectation
https://bugs.webkit.org/show_bug.cgi?id=136627

Unreviewed test gardening.

  • platform/mac/TestExpectations:
10:33 AM Changeset in webkit [245692] by Keith Rollin
  • 3 edits in trunk/Tools

generate-xcfilelists should not store temporary build files in /tmp
https://bugs.webkit.org/show_bug.cgi?id=198136

Reviewed by Jonathan Bedard.

Provide the build infrastructure control of the location of
generate-xcfilelists' temporary files by creating them in the build
directory when possible.

  • Scripts/webkitpy/generate_xcfilelists_lib/application.py:

(get_xcode_project_temp_dir):

  • Scripts/webkitpy/generate_xcfilelists_lib/generators.py:

(BaseGenerator._generate_derived):
(BaseGenerator._generate_unified):
(BaseGenerator):
(BaseGenerator._get_temp_dir):

10:20 AM Changeset in webkit [245691] by achristensen@apple.com
  • 9 edits in trunk/Source/WebKit

Deprecate more preview API
https://bugs.webkit.org/show_bug.cgi?id=198152

Reviewed by Dean Jackson.

This is working towards <rdar://problem/51003503>

  • UIProcess/API/Cocoa/WKPreviewActionItem.h:
  • UIProcess/API/Cocoa/WKPreviewActionItem.mm:
  • UIProcess/API/Cocoa/WKPreviewActionItemIdentifiers.h:
  • UIProcess/API/Cocoa/WKPreviewActionItemInternal.h:
  • UIProcess/API/Cocoa/WKPreviewElementInfo.h:
  • UIProcess/API/Cocoa/WKPreviewElementInfo.mm:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:

(WebKit::ScrollingTreeScrollingNodeDelegateIOS::activeTouchActions const):

  • UIProcess/ios/WKContentViewInteraction.mm:

(previewIdentifierForElementAction):
(-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]):
(-[WKContentView _previewItemController:commitPreview:]):

10:01 AM Changeset in webkit [245690] by Kocsen Chung
  • 3 edits
    2 adds in branches/safari-608.1.24.20-branch

Cherry-pick r245661. rdar://problem/50613388

REGRESSION(r245148): Removing inputmode="none" does not bring up software keyboard
https://bugs.webkit.org/show_bug.cgi?id=198141

Reviewed by Geoffrey Garen.

Source/WebKit:

r245148 changed _requiresKeyboardWhenFirstResponder to return NO when shouldShowAutomaticKeyboardUI
returns NO with regards to software keyboard. This introduced a regression that removing inputmode="none"
no longer brings up the software keyboard. Fixed the bug by making it return YES when inputmode="none"
is present on an editable element in shouldShowAutomaticKeyboardUI, partially restoring the old behavior.

  • UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView shouldShowAutomaticKeyboardUI]): (-[WKContentView _shouldShowAutomaticKeyboardUIIgnoringInputMode]): (-[WKContentView _requiresKeyboardWhenFirstResponder]):

LayoutTests:

Added a regression test.

  • fast/forms/ios/inputmode-removing-none-expected.txt: Added.
  • fast/forms/ios/inputmode-removing-none.html: Added.

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

10:00 AM Changeset in webkit [245689] by Kocsen Chung
  • 3 edits
    1 add in branches/safari-608.1.24.20-branch

Cherry-pick r245622. rdar://problem/50754184

[JSC] ArrayBufferContents::tryAllocate signs the pointer with allocation size and authenticates it with sizeInBytes
https://bugs.webkit.org/show_bug.cgi?id=198101

Reviewed by Michael Saboff.

JSTests:

  • stress/zero-sized-array-buffer-pointer-should-be-signed-with-zero.js: Added. (shouldBe):

Source/JavaScriptCore:

When we allocate 0-length ArrayBuffer, we allocate 1 byte storage instead because we would like to ensure that
non-neutered ArrayBuffer always have non nullptr. While we allocate a 1 byte storage, this ArrayBuffer says
sizeInBytes = 0. However, we accidentally configure the vector pointer with this 1 byte size in the constructor.
In ARM64E device, we sign the vector pointer with modifier = 1 (1 byte size), and later we authenticate this
pointer with modifier = 0 (sizeInBytes), and fail to authenticate the pointer.

In this patch, we sign the pointer with sizeInBytes so that we correctly authenticate the 0 bytes vector pointer.

  • runtime/ArrayBuffer.cpp: (JSC::ArrayBufferContents::tryAllocate):

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

9:59 AM Changeset in webkit [245688] by Ross Kirsling
  • 2 edits
    1 add in trunk/Source/WTF

[PlayStation] Implement platformUserPreferredLanguages.
https://bugs.webkit.org/show_bug.cgi?id=198149

Reviewed by Fujii Hironori.

  • wtf/PlatformPlayStation.cmake:
  • wtf/playstation/LanguagePlayStation.cpp: Added.

(WTF::platformUserPreferredLanguages):

9:53 AM Changeset in webkit [245687] by stephan.szabo@sony.com
  • 3 edits in trunk/JSTests

[PlayStation] Skip additional tests on PlayStation
https://bugs.webkit.org/show_bug.cgi?id=198145

Reviewed by Ross Kirsling.

  • exceptionFuzz.yaml:

Add skip on hostOS playstation

  • executableAllocationFuzz.yaml:

Add skip on hostOS playstation

9:44 AM Changeset in webkit [245686] by Kocsen Chung
  • 6 edits in branches/safari-608.1.24.40-branch/Source/WebKit

Cherry-pick r245660. rdar://problem/50698533

REGRESSION (r240552): PDF contents are not exposed to Accessibility (VO, etc.)
https://bugs.webkit.org/show_bug.cgi?id=198146
<rdar://problem/50698533>

Reviewed by Simon Fraser.

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm: (WebKit::WebPage::updateMockAccessibilityElementAfterCommittingLoad):
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad): (WebKit::WebPage::updateMockAccessibilityElementAfterCommittingLoad):
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.h:
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm: (-[WKAccessibilityWebPageObjectBase accessibilityRootObjectWrapper]): (-[WKAccessibilityWebPageObjectBase setWebPage:]): (-[WKAccessibilityWebPageObjectBase setHasMainFramePlugin:]): In r240552, we changed to only defer to the main frame PluginView's accessibility tree if the cached "has a plugin" bit is true. That bit was only updated in WebPage::platformInitialize, which is long before we've actually loaded anything or have any clue if we're going to have a plugin.

Instead, push updates every time we commit a load, which coincides
with when we make other decisions based on having a plugin or not.
Also, just use the existence of a PluginDocument to make the decision,
instead of actually digging in to see if there's a PluginView, since
PluginView comes in asynchronously.

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

9:41 AM Changeset in webkit [245685] by Kocsen Chung
  • 7 edits in branches/safari-608.1.24.40-branch/Source

Versioning.

9:39 AM Changeset in webkit [245684] by Kocsen Chung
  • 7 edits in branches/safari-608.1.24.20-branch/Source

Versioning.

9:36 AM Changeset in webkit [245683] by Kocsen Chung
  • 7 edits in branches/safari-608.1.24.30-branch/Source

Versioning.

8:49 AM WebKitGTK/2.24.x edited by Adrian Perez de Castro
(diff)
8:48 AM Changeset in webkit [245682] by Simon Fraser
  • 5 edits
    2 copies
    1 add in trunk

Create scrolling tree nodes for descendants of position:absolute inside stacking-context overflow
https://bugs.webkit.org/show_bug.cgi?id=198154

Reviewed by Antti Koivisto.
Source/WebCore:

There exists code that creates scrolling tree nodes for position:absolute when the containing block
chain skips an enclosing scroller, but the compositing ancestor tree includes the scroller. However
this code explicitly checked that the layer was position:absolute.

This needed to be generalized for any layer whose containing block ancestor chain includes
a position:absolute that skips the scroller, for example a transformed inside a position:absolute,
so remove an explicit isAbsolutelyPositioned() check and some similar assertions.

Test: scrollingcoordinator/scrolling-tree/composited-in-absolute-in-stacking-context-overflow.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::collectStationaryLayerRelatedOverflowNodes):
(WebCore::RenderLayerCompositor::computeCoordinatedPositioningForLayer const):
(WebCore::collectRelatedCoordinatedScrollingNodes):

LayoutTests:

  • platform/ios-wk2/scrollingcoordinator/scrolling-tree/composited-in-absolute-in-stacking-context-overflow-expected.txt: Copied from LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/nested-absolute-in-sc-overflow-expected.txt.
  • platform/ios-wk2/scrollingcoordinator/scrolling-tree/nested-absolute-in-sc-overflow-expected.txt:
  • scrollingcoordinator/scrolling-tree/composited-in-absolute-in-stacking-context-overflow-expected.txt: Copied from LayoutTests/scrollingcoordinator/scrolling-tree/nested-absolute-in-sc-overflow-expected.txt.
  • scrollingcoordinator/scrolling-tree/composited-in-absolute-in-stacking-context-overflow.html: Added.
  • scrollingcoordinator/scrolling-tree/nested-absolute-in-sc-overflow-expected.txt:
8:47 AM Changeset in webkit [245681] by Adrian Perez de Castro
  • 7 edits in trunk/Source

Fix a few missing header inclusions often masked by by unified sources
https://bugs.webkit.org/show_bug.cgi?id=198180

Reviewed by Eric Carlson.

Source/JavaScriptCore:

  • assembler/PerfLog.cpp: Add missing <array> header inclusion.
  • wasm/WasmBinding.cpp: Add missing "WasmCallingConvention.h" inclusion.

Source/WebCore:

  • editing/markup.h: Add missing "FloatSize.h" inclusion.
  • html/FeaturePolicy.cpp: Add missing "HTMLParserIdioms.h" inclusion.
  • platform/text/TextCodec.cpp: Add missing <cstdio> inclusion.
3:29 AM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
3:28 AM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
3:21 AM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
3:15 AM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
3:15 AM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
2:29 AM Changeset in webkit [245680] by mmaxfield@apple.com
  • 56 edits
    1 copy
    3 adds in trunk

[WHLSL] Implement property resolver
https://bugs.webkit.org/show_bug.cgi?id=195925
<rdar://problem/48219643>

Reviewed by Saam Barati and Robin Morisset.

Source/WebCore:

The property resolver is the thing that replaces dot expressions, index expressions, and
read-modify-write expressions with calls to getters, setters, and anders. This patch doesn't
fully implement the property resolver, but implements enough for simple dot expressions to
work. This is enough for us to be able to test most of the rest of the compiler. Index
expressions and read-modify-write expressions are not fully included in this patch, and will
be finished in a follow-up patch.

The property resolver may introduce anonymous variables in various places. In order to do
this, after the property resolver runs, it will insert all these anonymous variables in the
beginning of the function. However, this means that entries in the VariableDeclarations
vector will all shift, which means VariableDeclarations have to be allocated on the heap so
backreferences to them stay valid. This patch moves the storage associated with these values
to living directly in the vector's storage to living in heap storage (via filling the vector
with UniqueRefs).

This patch also adds the third concept of value-ness. We now have right values, left values,
and abstract left values (for things which have setters but have no address). This addition
is required for the analysis the property resolver performs. This concept is also present in
the spec.

Test: webgpu/whlsl-dot-expressions.html

  • Modules/webgpu/WHLSL/AST/WHLSLAddressSpace.h:

(WebCore::WHLSL::AST::TypeAnnotation::TypeAnnotation):
(WebCore::WHLSL::AST::TypeAnnotation::leftAddressSpace const):
(WebCore::WHLSL::AST::TypeAnnotation::isRightValue const):
(WebCore::WHLSL::AST::TypeAnnotation::visit):

  • Modules/webgpu/WHLSL/AST/WHLSLAssignmentExpression.h:

(WebCore::WHLSL::AST::AssignmentExpression::takeRight):

  • Modules/webgpu/WHLSL/AST/WHLSLConstantExpression.h:
  • Modules/webgpu/WHLSL/AST/WHLSLDotExpression.h:
  • Modules/webgpu/WHLSL/AST/WHLSLEntryPointType.h:
  • Modules/webgpu/WHLSL/AST/WHLSLExpression.h:

(WebCore::WHLSL::AST::Expression::maybeResolvedType):
(WebCore::WHLSL::AST::Expression::resolvedType):
(WebCore::WHLSL::AST::Expression::maybeTypeAnnotation const):
(WebCore::WHLSL::AST::Expression::typeAnnotation const):
(WebCore::WHLSL::AST::Expression::setTypeAnnotation):
(WebCore::WHLSL::AST::Expression::addressSpace const): Deleted.
(WebCore::WHLSL::AST::Expression::setAddressSpace): Deleted.

  • Modules/webgpu/WHLSL/AST/WHLSLFloatLiteral.h:

(WebCore::WHLSL::AST::FloatLiteral::clone const):

  • Modules/webgpu/WHLSL/AST/WHLSLIndexExpression.h:
  • Modules/webgpu/WHLSL/AST/WHLSLIntegerLiteral.cpp:

(WebCore::WHLSL::AST::IntegerLiteral::valueForSelectedType const):

  • Modules/webgpu/WHLSL/AST/WHLSLIntegerLiteral.h:

(WebCore::WHLSL::AST::IntegerLiteral::clone const):

  • Modules/webgpu/WHLSL/AST/WHLSLMakeArrayReferenceExpression.h:

(WebCore::WHLSL::AST::MakeArrayReferenceExpression::MakeArrayReferenceExpression):
(WebCore::WHLSL::AST::MakeArrayReferenceExpression::leftValue):
(WebCore::WHLSL::AST::MakeArrayReferenceExpression::lValue): Deleted.

  • Modules/webgpu/WHLSL/AST/WHLSLMakePointerExpression.h:

(WebCore::WHLSL::AST::MakePointerExpression::MakePointerExpression):
(WebCore::WHLSL::AST::MakePointerExpression::leftValue):
(WebCore::WHLSL::AST::MakePointerExpression::lValue): Deleted.

  • Modules/webgpu/WHLSL/AST/WHLSLNullLiteral.h:

(WebCore::WHLSL::AST::NullLiteral::clone const):

  • Modules/webgpu/WHLSL/AST/WHLSLPropertyAccessExpression.h:

(WebCore::WHLSL::AST::PropertyAccessExpression::possibleGetterOverloads):
(WebCore::WHLSL::AST::PropertyAccessExpression::possibleSetterOverloads):
(WebCore::WHLSL::AST::PropertyAccessExpression::possibleAnderOverloads):
(WebCore::WHLSL::AST::PropertyAccessExpression::getterFunction):
(WebCore::WHLSL::AST::PropertyAccessExpression::anderFunction):
(WebCore::WHLSL::AST::PropertyAccessExpression::threadAnderFunction):
(WebCore::WHLSL::AST::PropertyAccessExpression::setterFunction):
(WebCore::WHLSL::AST::PropertyAccessExpression::setPossibleGetterOverloads):
(WebCore::WHLSL::AST::PropertyAccessExpression::setPossibleAnderOverloads):
(WebCore::WHLSL::AST::PropertyAccessExpression::setPossibleSetterOverloads):
(WebCore::WHLSL::AST::PropertyAccessExpression::setGetterFunction):
(WebCore::WHLSL::AST::PropertyAccessExpression::setAnderFunction):
(WebCore::WHLSL::AST::PropertyAccessExpression::setThreadAnderFunction):
(WebCore::WHLSL::AST::PropertyAccessExpression::setSetterFunction):
(WebCore::WHLSL::AST::PropertyAccessExpression::takeBase):
(WebCore::WHLSL::AST::PropertyAccessExpression::possibleGetOverloads): Deleted.
(WebCore::WHLSL::AST::PropertyAccessExpression::possibleSetOverloads): Deleted.
(WebCore::WHLSL::AST::PropertyAccessExpression::possibleAndOverloads): Deleted.
(WebCore::WHLSL::AST::PropertyAccessExpression::setPossibleGetOverloads): Deleted.
(WebCore::WHLSL::AST::PropertyAccessExpression::setPossibleSetOverloads): Deleted.
(WebCore::WHLSL::AST::PropertyAccessExpression::setPossibleAndOverloads): Deleted.

  • Modules/webgpu/WHLSL/AST/WHLSLReadModifyWriteExpression.h:

(WebCore::WHLSL::AST::ReadModifyWriteExpression::oldVariableReference):
(WebCore::WHLSL::AST::ReadModifyWriteExpression::newVariableReference):
(WebCore::WHLSL::AST::ReadModifyWriteExpression::leftValue):
(WebCore::WHLSL::AST::ReadModifyWriteExpression::takeLeftValue):
(WebCore::WHLSL::AST::ReadModifyWriteExpression::takeOldValue):
(WebCore::WHLSL::AST::ReadModifyWriteExpression::takeNewValue):
(WebCore::WHLSL::AST::ReadModifyWriteExpression::takeNewValueExpression):
(WebCore::WHLSL::AST::ReadModifyWriteExpression::takeResultExpression):
(WebCore::WHLSL::AST::ReadModifyWriteExpression::ReadModifyWriteExpression):
(WebCore::WHLSL::AST::ReadModifyWriteExpression::lValue): Deleted.

  • Modules/webgpu/WHLSL/AST/WHLSLResolvableType.h:

(WebCore::WHLSL::AST::ResolvableType::maybeResolvedType const):
(WebCore::WHLSL::AST::ResolvableType::resolvedType const):
(WebCore::WHLSL::AST::ResolvableType::maybeResolvedType):
(WebCore::WHLSL::AST::ResolvableType::resolvedType):

  • Modules/webgpu/WHLSL/AST/WHLSLResourceSemantic.cpp:

(WebCore::WHLSL::AST::ResourceSemantic::isAcceptableType const):

  • Modules/webgpu/WHLSL/AST/WHLSLSpecializationConstantSemantic.cpp:

(WebCore::WHLSL::AST::SpecializationConstantSemantic::isAcceptableType const):

  • Modules/webgpu/WHLSL/AST/WHLSLStageInOutSemantic.cpp:

(WebCore::WHLSL::AST::StageInOutSemantic::isAcceptableType const):

  • Modules/webgpu/WHLSL/AST/WHLSLStructureDefinition.h:

(WebCore::WHLSL::AST::StructureDefinition::find):

  • Modules/webgpu/WHLSL/AST/WHLSLTypeReference.h:

(WebCore::WHLSL::AST::TypeReference::maybeResolvedType const):
(WebCore::WHLSL::AST::TypeReference::resolvedType const):

  • Modules/webgpu/WHLSL/AST/WHLSLUnsignedIntegerLiteral.cpp:

(WebCore::WHLSL::AST::UnsignedIntegerLiteral::valueForSelectedType const):

  • Modules/webgpu/WHLSL/AST/WHLSLUnsignedIntegerLiteral.h:

(WebCore::WHLSL::AST::UnsignedIntegerLiteral::clone const):

  • Modules/webgpu/WHLSL/AST/WHLSLVariableDeclaration.h:
  • Modules/webgpu/WHLSL/AST/WHLSLVariableDeclarationsStatement.h:

(WebCore::WHLSL::AST::VariableDeclarationsStatement::VariableDeclarationsStatement):
(WebCore::WHLSL::AST::VariableDeclarationsStatement::variableDeclarations):

  • Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp:

(WebCore::WHLSL::Metal::attributeForSemantic):
(WebCore::WHLSL::Metal::EntryPointScaffolding::mangledInputPath):
(WebCore::WHLSL::Metal::EntryPointScaffolding::unpackResourcesAndNamedBuiltIns):
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::helperTypes):
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::unpack):

  • Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:

(WebCore::WHLSL::Metal::FunctionDeclarationWriter::visit):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::visit):

  • Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp:

(WebCore::WHLSL::Metal::writeNativeFunction):

  • Modules/webgpu/WHLSL/Metal/WHLSLNativeTypeWriter.cpp:

(WebCore::WHLSL::Metal::writeNativeType):

  • Modules/webgpu/WHLSL/Metal/WHLSLTypeNamer.cpp:

(WebCore::WHLSL::Metal::findInVector):
(WebCore::WHLSL::Metal::TypeNamer::visit):
(WebCore::WHLSL::Metal::TypeNamer::createNameNode):

  • Modules/webgpu/WHLSL/WHLSLASTDumper.cpp:

(WebCore::WHLSL::ASTDumper::visit):

  • Modules/webgpu/WHLSL/WHLSLCheckDuplicateFunctions.cpp:

(WebCore::WHLSL::checkDuplicateFunctions):

  • Modules/webgpu/WHLSL/WHLSLChecker.cpp:

(WebCore::WHLSL::resolveWithOperatorAnderIndexer):
(WebCore::WHLSL::resolveWithOperatorLength):
(WebCore::WHLSL::resolveWithReferenceComparator):
(WebCore::WHLSL::resolveByInstantiation):
(WebCore::WHLSL::checkOperatorOverload):
(WebCore::WHLSL::Checker::assignTypes):
(WebCore::WHLSL::commit):
(WebCore::WHLSL::Checker::visit):
(WebCore::WHLSL::Checker::recurseAndGetInfo):
(WebCore::WHLSL::Checker::getInfo):
(WebCore::WHLSL::Checker::assignType):
(WebCore::WHLSL::Checker::forwardType):
(WebCore::WHLSL::getUnnamedType):
(WebCore::WHLSL::Checker::finishVisitingPropertyAccess): Deleted.
(WebCore::WHLSL::Checker::recurseAndWrapBaseType): Deleted.

  • Modules/webgpu/WHLSL/WHLSLGatherEntryPointItems.cpp:

(WebCore::WHLSL::Gatherer::takeEntryPointItems):
(WebCore::WHLSL::Gatherer::visit):

  • Modules/webgpu/WHLSL/WHLSLInferTypes.cpp:

(WebCore::WHLSL::matchAndCommit):
(WebCore::WHLSL::commit):
(WebCore::WHLSL::inferTypesForCall):

  • Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp:

(WebCore::WHLSL::getNativeTypeDeclaration):

  • Modules/webgpu/WHLSL/WHLSLNameResolver.cpp:

(WebCore::WHLSL::NameResolver::visit):

  • Modules/webgpu/WHLSL/WHLSLParser.cpp:

(WebCore::WHLSL::Parser::parseParameters):
(WebCore::WHLSL::Parser::parseVariableDeclarations):

  • Modules/webgpu/WHLSL/WHLSLPipelineDescriptor.h:
  • Modules/webgpu/WHLSL/WHLSLPrepare.cpp:

(WebCore::WHLSL::prepareShared):

  • Modules/webgpu/WHLSL/WHLSLPrepare.h:
  • Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp: Added.

(WebCore::WHLSL::PropertyResolver::visit):
(WebCore::WHLSL::setterCall):
(WebCore::WHLSL::getterCall):
(WebCore::WHLSL::modify):
(WebCore::WHLSL::PropertyResolver::simplifyRightValue):
(WebCore::WHLSL::LeftValueSimplifier::visit):
(WebCore::WHLSL::PropertyResolver::simplifyLeftValue):
(WebCore::WHLSL::resolveProperties):

  • Modules/webgpu/WHLSL/WHLSLPropertyResolver.h: Copied from Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLEntryPointType.h.
  • Modules/webgpu/WHLSL/WHLSLRecursiveTypeChecker.cpp:

(WebCore::WHLSL::RecursiveTypeChecker::visit):

  • Modules/webgpu/WHLSL/WHLSLResolveOverloadImpl.cpp:

(WebCore::WHLSL::conversionCost):

  • Modules/webgpu/WHLSL/WHLSLResolvingType.h:

(WebCore::WHLSL::ResolvingType::getUnnamedType):

  • Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt:
  • Modules/webgpu/WHLSL/WHLSLSynthesizeArrayOperatorLength.cpp:

(WebCore::WHLSL::FindArrayTypes::takeArrayTypes):
(WebCore::WHLSL::synthesizeArrayOperatorLength):

  • Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp:

(WebCore::WHLSL::FindAllTypes::takeUnnamedTypes):
(WebCore::WHLSL::FindAllTypes::takeNamedTypes):
(WebCore::WHLSL::synthesizeConstructors):

  • Modules/webgpu/WHLSL/WHLSLSynthesizeEnumerationFunctions.cpp:

(WebCore::WHLSL::synthesizeEnumerationFunctions):

  • Modules/webgpu/WHLSL/WHLSLSynthesizeStructureAccessors.cpp:

(WebCore::WHLSL::synthesizeStructureAccessors):

  • Modules/webgpu/WHLSL/WHLSLVisitor.cpp:

(WebCore::WHLSL::Visitor::visit):

  • Modules/webgpu/WHLSL/WHLSLVisitor.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm:

(WebCore::trySetWHLSLFunctionsForPipelineDescriptor):

LayoutTests:

  • webgpu/whlsl-dot-expressions-expected.html: Added.
  • webgpu/whlsl-dot-expressions.html: Added.
1:39 AM Changeset in webkit [245679] by graouts@webkit.org
  • 7 edits in trunk/Source/WebKit

[tvOS] Build broken by r245639
https://bugs.webkit.org/show_bug.cgi?id=198172
<rdar://problem/51048991>

Unreviewed build fix.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::touchWithIdentifierWasRemoved):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::touchWithIdentifierWasRemoved): Deleted.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::touchWithIdentifierWasRemoved):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::touchWithIdentifierWasRemoved): Deleted.

1:01 AM WebKitGTK/2.24.x edited by Adrian Perez de Castro
(diff)
12:55 AM Changeset in webkit [245678] by graouts@webkit.org
  • 2 edits in trunk/Source/WebKit

[tvOS] Build broken by r245639
https://bugs.webkit.org/show_bug.cgi?id=198172
<rdar://problem/51048991>

Unreviewed build fix.

  • WebProcess/WebPage/WebPage.messages.in:
12:41 AM Changeset in webkit [245677] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[JHBuild][GStreamer] Enable libsrtp
https://bugs.webkit.org/show_bug.cgi?id=198041

Patch by Philippe Normand <philn@igalia.com> on 2019-05-23
Reviewed by Xabier Rodriguez-Calvar.

  • gstreamer/jhbuild.modules: Enable libsrtp. The system version

can't be used from Stretch because it's too old.

12:28 AM Changeset in webkit [245676] by Adrian Perez de Castro
  • 3 edits in trunk/Source/WebKit

[WPE] Build fails with ENABLE_VIDEO=OFF and ENABLE_WEB_AUDIO=OFF
https://bugs.webkit.org/show_bug.cgi?id=198125

Reviewed by Philippe Normand.

  • UIProcess/glib/WebProcessPoolGLib.cpp: Guard the inclusion of GStreamerCommon.h with USE(GSTREAMER).
  • WebProcess/glib/WebProcessGLib.cpp: Ditto.
12:06 AM Changeset in webkit [245675] by Tadeu Zagallo
  • 6 edits
    3 adds in trunk

createListFromArrayLike should throw if value is not an object
https://bugs.webkit.org/show_bug.cgi?id=198138

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/create-list-from-array-like-not-object.js: Added.

(testValid):
(testInvalid):

  • stress/proxy-get-own-property-names-should-not-clear-previous-results.js:

(opt):

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

(main):

  • stress/proxy-proto-own-keys.js: Added.

(assert):
(ownKeys):

Source/JavaScriptCore:

According to the spec[1], createListFromArrayLike should throw a type error if the array-like value
passed in is not an object.
[1]: https://www.ecma-international.org/ecma-262/9.0/index.html#sec-createlistfromarraylike

  • runtime/JSObjectInlines.h:

(JSC::createListFromArrayLike):

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::performGetOwnPropertyNames):

  • runtime/ReflectObject.cpp:

(JSC::reflectObjectConstruct):

Note: See TracTimeline for information about the timeline view.