Commit Graph

240929 Commits

Author SHA1 Message Date
Pascal Abresch 011fd13722 Haiku: fix scrolling for some controls
Should fix #12890
2021-09-12 10:25:02 +02:00
Augustin Cavalier 9c60ce5494 Haiku: properly stop runloop
Fixes #15934
2021-09-11 20:47:22 +02:00
Pascal Abresch 7e66ca0a43 Haiku: BWebPage::handleFindString abort early 2021-09-11 17:59:49 +02:00
Pascal Abresch 4cf12e5d13 Haiku: clang fixes 2021-09-11 17:55:29 +02:00
Pascal Abresch 44871cb0e7 Haiku: Make gigacage use Overcommit by default 2021-09-09 18:55:27 +02:00
Adrien Destugues 8a09c0d427 Fix HaikuLauncher build. 2021-09-02 21:56:22 +02:00
Adrien Destugues 9a30b73ff6 Fix some code to match current WebKit APIs 2021-09-02 21:22:28 +02:00
Adrien Destugues f7e7412fa5 Remove some now unneeded files and functions
These now have cross platform implementation
2021-09-02 21:22:25 +02:00
Adrien Destugues 9c6eaba9df PlatformUse: enable system malloc for Haiku 2021-08-31 21:11:48 +02:00
Adrien Destugues 6214e2dc7a Remove SHARED_CORE definition
It has not been used by anything in webkit for a few years.
2021-08-31 21:11:15 +02:00
Adrien Destugues b341c477b3 Fix build after merge. 2021-08-30 21:30:42 +02:00
Adrien Destugues 0195b40b77 Merge commit 'e4390067fab9a407b0c303e04f03c77381cb2ddb' into Haiku 2021-08-30 17:59:07 +02:00
Russell Epstein e4390067fa Versioning.
WebKit-7613.1.1

Canonical link: https://commits.webkit.org/240838@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 18:38:34 +00:00
Eric Hutchison 3224302342 Updated test expectations for fast/events/touch/ios/long-press-on-editable-content-then-drag-up-to-change-selected-text.html and fast/events/touch/ios/long-press-then-drag-to-select-text.html.
<rdar://80386523>, <rdar://80386061>.

Unreviewed test gardening.

* platform/ios-14/TestExpectations:
* platform/ios-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/240837@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 18:27:24 +00:00
Yusuke Suzuki 31407a67a8 [JSC] emitArrayProfilingSiteWithCell should not load indexingType unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=229396

Reviewed by Saam Barati.

emitArrayProfilingSiteWithCell is always loading indexingType after profiling a cell.
But (possibly) this is old code, and there is no reason to do that. This patch removes it.

* jit/JIT.h:
* jit/JITInlines.h:
(JSC::JIT::emitArrayProfilingSiteWithCell):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_in_by_val):
(JSC::JIT::emit_op_enumerator_get_by_val):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_in_by_val):


Canonical link: https://commits.webkit.org/240836@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 17:36:45 +00:00
Eric Hutchison 5d06c5eaef Update test expectations for fast/events/touch/page-scaled-touch-gesture-click.html.
https://bugs.webkit.org/show_bug.cgi?id=168961.

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/240835@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 17:16:44 +00:00
Eric Hutchison be117f9b38 Update test expectations for fast/events/wheelevent-in-frame.html.
https://bugs.webkit.org/show_bug.cgi?id=168961.

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:
* platform/mac/TestExpectations:

Canonical link: https://commits.webkit.org/240834@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 17:02:55 +00:00
Eric Hutchison 15d66b15a4 Update test expectations for fast/forms/ios/ipad/open-picker-using-keyboard.html and fast/forms/ios/accessory-bar-navigation.html.
<rdar://80391927>, <rdar://80390931>.

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/240833@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 16:45:05 +00:00
Wenson Hsieh cbf95252da REGRESSION (r271146): editing/selection/ios/scrolling-to-focused-element-inside-iframe.html is failing
https://bugs.webkit.org/show_bug.cgi?id=229376
rdar://80384683

Reviewed by Megan Gardner.

Source/WebKit:

This iOS-specific test verifies that tapping on an element that makes itself contenteditable inside of a click
event handler both (1) brings up the software keyboard, and (2) scrolls to reveal the focused, newly editable
element such that it is not obscured by the software keyboard. This test began failing after the changes in
r271146 -- specifically, the fact that the call to `Element::setFocus()` moved to before the focus event is
dispatched, rather than afterwards.

The following timeline of events (annotated with web and UI processes) illustrates why this happens:

(WEB)   1.  The click event on the element inside the subframe is handled; the element is made contentEditable,
            and we make it focused, by first calling `Element::setFocus` and then `Element::dispatchFocusEvent`.
            Right before dispatching the "focus" event, we call out to the client layer, via
            `WebPage::elementDidFocus`, and compute a FocusedElementInformation struct to encode and send to the
            UI process in the WebPageProxy::ElementDidFocus IPC message.

        2.  In the process of populating this struct in `WebPage::focusedElementInformation`, we observe that
            layout is dirty, and immediately compute and send an EditorState underneath
            `WebPage::sendEditorStateUpdate()`.

        3.  We then proceed to construct and send FocusedElementInformation to the UI process via
            `Messages::WebPageProxy::ElementDidFocus`.

(UI)    4.  We receive the EditorState that was computed and sent in step (2), which contains the up-to-date
            state corresponding to the newly focused contentEditable `div`.

        5.  We then receive the FocusedElementInformation computed and sent in step (3), which makes us begin
            waiting for the next post-layout EditorState update before zooming to reveal the focused element, by
            setting WebPageProxy's `m_waitingForPostLayoutEditorStateUpdateAfterFocusingElement` flag. However,
            this post-layout EditorState after focusing the `div` never arrives, since we've already computed it
            and sent it in step (2).

        6.  The software keyboard finishes animating in, causing us to resolve the UIScriptController promise
            that we began to await after calling `UIHelper.activateAndWaitForInputSessionAt` in the test.

(WEB)   7.  The test finishes, calls `testRunner.notifyDone()`, and we destroy the focused subframe and clear
            the editable selection as well. This selection change causes us to compute another post-layout
            editor state and send it to the UI process.

(UI)    8.  The UI process *finally* receives the post-layout EditorState computed in (7). However, it's too
            late, since (a) the test has already finished, and (b) the post-layout EditorState is computed after
            the editable selection has already been cleared, so it's missing selection rect information anyways.

Prior to r271146, the call to `Element::setFocus` came *after* step (3), and caused us to compute and send
another EditorState to the UI process, which ensured that an up-to-date post layout EditorState would arrive in
the UI process shortly after step (5).

To fix this, we should avoid immediately computing and sending an EditorState to the UI process in the middle of
`WebPage::focusedElementInformation`, and instead simply schedule an EditorState during the next rendering
update. This ensures that the editor state triggered during element focus will always arrive after
`WebPageProxy::ElementDidFocus` in the UI process, rather than before, which allows us to scroll to the correct
selection rect in the UI process when focusing an editable element.

This also has the additional benefit of avoiding redundant EditorState computation and updates in the case where
focus is programmatically thrashed between elements during the same rendering update, since all of the editor
state updates are effectively batched together and dispatched at the end of the current rendering update.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::focusedElementInformation):

LayoutTests:

Adjust test expectations for the layout test, which should now pass.

* platform/ios-wk2/TestExpectations:
* platform/ios/TestExpectations:


Canonical link: https://commits.webkit.org/240832@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 16:41:50 +00:00
Jonathan Bedard cc45f7cd95 [Cygwin] Support Python 3 in run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=229360
<rdar://problem/82192362>

Reviewed by Dewei Zhu.

* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py:
(TaskPoolUnittest): Skip some tests on cygwin.
* Scripts/webkitpy/common/system/abstractexecutive.py:
(AbstractExecutive.command_for_printing): Strings might be bytes on some platforms.
* Scripts/webkitpy/common/system/path.py:
(_CygPath.convert): Cygwin path process is not unicode.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._win_version_str): Return Windows version string as unicode string.


Canonical link: https://commits.webkit.org/240831@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281448 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 16:33:58 +00:00
Sihui Liu 9124f8ac23 Import permissions tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=229349

Reviewed by Chris Dumez.

* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/permissions/META.yml: Added.
* web-platform-tests/permissions/feature-policy-permissions-query.html: Added.
* web-platform-tests/permissions/idlharness.any-expected.txt: Added.
* web-platform-tests/permissions/idlharness.any.html: Added.
* web-platform-tests/permissions/idlharness.any.js: Added.
(async idl_array):
* web-platform-tests/permissions/idlharness.any.worker-expected.txt: Added.
* web-platform-tests/permissions/idlharness.any.worker.html: Added.
* web-platform-tests/permissions/nfc-permission-expected.txt: Added.
* web-platform-tests/permissions/nfc-permission.html: Added.
* web-platform-tests/permissions/permissions-query-feature-policy-attribute.https.sub-expected.txt: Added.
* web-platform-tests/permissions/permissions-query-feature-policy-attribute.https.sub.html: Added.
* web-platform-tests/permissions/permissionsstatus-name-expected.txt: Added.
* web-platform-tests/permissions/permissionsstatus-name.html: Added.
* web-platform-tests/permissions/screen-wake-lock-permission-expected.txt: Added.
* web-platform-tests/permissions/screen-wake-lock-permission.html: Added.
* web-platform-tests/permissions/test-background-fetch-permission-expected.txt: Added.
* web-platform-tests/permissions/test-background-fetch-permission.html: Added.
* web-platform-tests/permissions/test-periodic-background-sync-permission-expected.txt: Added.
* web-platform-tests/permissions/test-periodic-background-sync-permission.html: Added.
* web-platform-tests/permissions/w3c-import.log: Added.


Canonical link: https://commits.webkit.org/240830@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 16:01:29 +00:00
Martin Robinson a70f9a1472 Sticky position should not use transformed position to compute sticky offset.
https://bugs.webkit.org/show_bug.cgi?id=164292
<rdar://problem/29054773>

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

* web-platform-tests/css/css-position/sticky/position-sticky-transforms-translate-expected.txt: Update results
of test to show pass.

Source/WebCore:

No new tests. This change is tested by the following WPT test:
  web-platform-tests/css/css-position/sticky/position-sticky-transforms-translate.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::computeStickyPositionConstraints const): When calling localToContainerQuad,
pass 0 for the mode which means that the transformation between coordinate systems does not include
transforms.


Canonical link: https://commits.webkit.org/240829@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 15:11:36 +00:00
Chris Dumez ff71e5a6e9 WebKit2 can only have one active navigation policy check for a given frame
https://bugs.webkit.org/show_bug.cgi?id=229012

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline test that is now passing one more check.

* web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt:

Source/WebKit:

WebKit2 could only have one active navigation policy check for a given frame
and there was a FIXME comment about this in the code. This was causing some
WPT tests to timeout in WebKit2 only because those tests would trigger
several navigations (e.g. in new windows) and only the last one would proceed
(earlier ones would get cancelled).

This patch updates the policy checking logic in WebFrame so that we can support
several concurrent policy checks.

No new tests, unskipped / rebaselined existing tests.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::cancelPolicyCheck):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::~WebFrame):
(WebKit::WebFrame::setUpPolicyListener):
(WebKit::WebFrame::setUpWillSubmitFormListener):
(WebKit::WebFrame::continueWillSubmitForm):
(WebKit::WebFrame::invalidatePolicyListeners):
(WebKit::WebFrame::didReceivePolicyDecision):
* WebProcess/WebPage/WebFrame.h:

LayoutTests:

Unskip a couple of tests that are no longer timing out in WebKit2.

* platform/ios-wk1/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt: Removed.
* platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt: Removed.
* platform/wk2/TestExpectations:

Canonical link: https://commits.webkit.org/240828@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 15:02:30 +00:00
Carlos Garcia Campos 0e86f37ae4 Create a RenderLineBreak when BR element has unsupported content data style
https://bugs.webkit.org/show_bug.cgi?id=224849

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-08-23
Reviewed by Antti Koivisto.

Source/WebCore:

Instead of falling back to RenderElement::createFor(), create a RenderLineBreak just ignoring the unsupported
content data.

* html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::createElementRenderer):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::isContentDataSupported):
(WebCore::RenderElement::createFor):
* rendering/RenderElement.h:

LayoutTests:

* editing/execCommand/insert-image-in-composed-list-expected.txt: Rebaseline.

Canonical link: https://commits.webkit.org/240827@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 14:53:04 +00:00
Chris Dumez 6f1d674811 HTMLStyleElement should be able to fire the load event more than once
https://bugs.webkit.org/show_bug.cgi?id=228975

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now passing. This test was already passing in both Firefox and Chrome.

* web-platform-tests/html/semantics/document-metadata/the-style-element/style_load_event-expected.txt:

Source/WebCore:

HTMLStyleElement should be able to fire the load event more than once. WebKit has a flag
preventing the load event to fire more than once but this behavior is not present in the
HTML specification and doesn't match other browsers.

No new tests, rebaselined existing test.

* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::notifyLoadedSheetAndAllCriticalSubresources):
* html/HTMLStyleElement.h:

LayoutTests:

Unskip test that is no longer timing out.

* TestExpectations:


Canonical link: https://commits.webkit.org/240826@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281443 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 14:50:46 +00:00
Xan Lopez d027ba26ec Skip failing test on 32bit (ARMv7/MIPS)
https://bugs.webkit.org/show_bug.cgi?id=229407

Unreviewed test gardening.

Patch by Xan Lopez <xan@igalia.com> on 2021-08-23

* js/script-tests/reserved-words.js:

Canonical link: https://commits.webkit.org/240825@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 14:32:41 +00:00
Razvan Caliman dae0c60694 Web Inspector: CSS Changes: changes are not updated live
https://bugs.webkit.org/show_bug.cgi?id=229153
<rdar://problem/81989328>

Reviewed by Devin Rousso.

Dispatch an event whenever the list of modified styles changes.
Re-layout the Changes details sidebar panel in response to this event
to reflect the latest state of the modified styles.

* UserInterface/Controllers/CSSManager.js:
(WI.CSSManager.prototype.addModifiedStyle):
(WI.CSSManager.prototype.removeModifiedStyle):
* UserInterface/Views/ChangesDetailsSidebarPanel.js:
(WI.ChangesDetailsSidebarPanel.prototype.attached):
(WI.ChangesDetailsSidebarPanel.prototype.detached):


Canonical link: https://commits.webkit.org/240824@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 14:20:50 +00:00
Alicia Boya Garcia 569fdc337c [MSE][GStreamer] Implement multi-track support
https://bugs.webkit.org/show_bug.cgi?id=229072

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

This patch adds support for SourceBuffer having more than one track in
the GStreamer port.

This fixes the following LayoutTests:

imported/w3c/web-platform-tests/media-source/mediasource-activesourcebuffers.html
media/media-source/media-source-has-audio-video.html
media/media-source/only-bcp47-language-tags-accepted-as-valid.html

* platform/graphics/gstreamer/GStreamerCommon.h:
(GstIteratorAdaptor::GstIteratorAdaptor):
(GstIteratorAdaptor::iterator::iterator):
(GstIteratorAdaptor::iterator::operator*):
(GstIteratorAdaptor::iterator::operator++):
(GstIteratorAdaptor::iterator::operator==):
(GstIteratorAdaptor::iterator::operator!=):
(GstIteratorAdaptor::begin):
(GstIteratorAdaptor::end):
* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::~AppendPipeline):
(WebCore::AppendPipeline::parseDemuxerSrcPadCaps):
(WebCore::AppendPipeline::appsinkCapsChanged):
(WebCore::AppendPipeline::handleEndOfAppend):
(WebCore::AppendPipeline::appsinkNewSample):
(WebCore::AppendPipeline::didReceiveInitializationSegment):
(WebCore::AppendPipeline::consumeAppsinksAvailableSamples):
(WebCore::AppendPipeline::resetParserState):
(WebCore::AppendPipeline::handleAppsinkNewSampleFromStreamingThread):
(WebCore::createOptionalParserForFormat):
(WebCore::AppendPipeline::generateTrackId):
(WebCore::AppendPipeline::tryCreateTrackFromPad):
(WebCore::AppendPipeline::tryMatchPadToExistingTrack):
(WebCore::AppendPipeline::linkPadWithTrack):
(WebCore::AppendPipeline::makeWebKitTrack):
(WebCore::AppendPipeline::Track::initializeElements):
(WebCore::AppendPipeline::hookTrackEvents):
(WebCore::AppendPipeline::streamTypeToString):
(WebCore::AppendPipeline::id): Deleted.
(WebCore::AppendPipeline::trackId): Deleted.
(WebCore::AppendPipeline::consumeAppsinkAvailableSamples): Deleted.
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsinkFromStreamingThread): Deleted.
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink): Deleted.
(WebCore::AppendPipeline::disconnectDemuxerSrcPadFromAppsinkFromAnyThread): Deleted.
* platform/graphics/gstreamer/mse/AppendPipeline.h:
(WebCore::AppendPipeline::sourceBufferPrivate):
(WebCore::AppendPipeline::Track::Track):
(WebCore::AppendPipeline::appsrc):
(WebCore::AppendPipeline::appsinkCaps): Deleted.
(WebCore::AppendPipeline::track): Deleted.
(WebCore::AppendPipeline::appsink): Deleted.
(WebCore::AppendPipeline::demuxerSrcPadCaps): Deleted.
* platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::setInitialVideoSize):
(WebCore::MediaPlayerPrivateGStreamerMSE::trackDetected): Deleted.
* platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:

LayoutTests:

Update expectations and rebaseline one test is which the buffered
ranges have changed slightly due to the audio track previously
discarded now being parsed.

* platform/glib/TestExpectations:
* platform/glib/imported/w3c/web-platform-tests/media-source/mediasource-remove-expected.txt:


Canonical link: https://commits.webkit.org/240823@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 13:22:29 +00:00
Carlos Garcia Campos ff4ba8a5c3 [Freetype] Set maximum allowed font size for Freetype
https://bugs.webkit.org/show_bug.cgi?id=228893

Reviewed by Michael Catanzaro.

Maximum allowed font size in Freetype2 is 65535 because x_ppem and y_ppem fields in FreeType structs are of type
'unsigned short'.

* rendering/style/RenderStyleConstants.h:

Canonical link: https://commits.webkit.org/240822@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 07:11:41 +00:00
Yusuke Suzuki 907efddb43 [JSC] Remove already-shipped wasm option flags
https://bugs.webkit.org/show_bug.cgi?id=229386

Reviewed by Ross Kirsling.

JSTests:

* wasm/references/element_active_mod.js:
* wasm/references/element_parsing.js:
* wasm/references/externref_globals.js:
* wasm/references/externref_modules.js:
* wasm/references/externref_table.js:
* wasm/references/externref_table_import.js:
* wasm/references/func_ref.js:
* wasm/references/globals.js:
* wasm/references/is_null.js:
* wasm/references/memory_copy.js:
* wasm/references/memory_copy_shared.js:
* wasm/references/memory_fill_shared.js:
* wasm/references/multitable.js:
* wasm/references/parse_unreachable.js:
* wasm/references/table_js_api.js:
* wasm/references/table_misc.js:
* wasm/references/validation.js:
* wasm/stress/immutable-globals.js:
* wasm/stress/local-ref.js:
* wasm/stress/mutable-globals.js:
* wasm/stress/table-grow-table-size.js:

Source/JavaScriptCore:

This patch removes some wasm option flags which are already shipped.

* runtime/OptionsList.h:
* wasm/WasmFormat.h:
(JSC::Wasm::isValueType):
* wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::parseExpression):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):
* wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
* wasm/WasmParser.h:
(JSC::Wasm::Parser<SuccessType>::parseBlockSignature):
* wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseType):
(JSC::Wasm::SectionParser::parseElement):
(JSC::Wasm::SectionParser::parseData):
(JSC::Wasm::SectionParser::parseDataCount):
* wasm/js/JSWebAssembly.cpp:
(JSC::JSWebAssembly::finishCreation):
* wasm/js/WebAssemblyGlobalConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
* wasm/js/WebAssemblyTableConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
* wasm/js/WebAssemblyTablePrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):

Tools:

* Scripts/run-jsc-stress-tests:

LayoutTests:

* workers/wasm-references.html:

Canonical link: https://commits.webkit.org/240821@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 06:28:16 +00:00
Alan Bujtas 2ccd0d1c03 [iOS] Unreviewed test gardening.
* platform/ios-wk2/fast/repaint/placeholder-after-caps-lock-hidden-expected.txt:


Canonical link: https://commits.webkit.org/240820@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 04:25:31 +00:00
Alan Bujtas 28f93b1a6c [LFC][IFC] Add support for vertical-align: super
https://bugs.webkit.org/show_bug.cgi?id=228235

Reviewed by Antti Koivisto.

Source/WebCore:

* layout/formattingContexts/inline/InlineFormattingGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::computeLineBoxHeightAndAlignInlineLevelBoxesVertically):
* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForChild):

LayoutTests:

* platform/mac/css1/text_properties/vertical_align-expected.txt:


Canonical link: https://commits.webkit.org/240819@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 03:55:38 +00:00
Kate Cheney 4b0a22b5f3 Report correct blocked URI in CSP violation report
https://bugs.webkit.org/show_bug.cgi?id=226316
<rdar://problem/78552912>

Reviewed by Alex Christensen.

Source/WebCore:

Tests: http/tests/security/contentSecurityPolicy/report-blocked-uri-after-blocked-redirect.html
       http/tests/security/contentSecurityPolicy/report-blocked-uri-after-multiple-redirects.html

Currently for a blocked redirection we report the blocked URI as the
target URL. This is not up to spec and we should actually report the
requested URL.

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::redirectReceived):
(WebCore::DocumentThreadableLoader::isAllowedByContentSecurityPolicy):
* loader/DocumentThreadableLoader.h:
* page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowConnectToSource const):
(WebCore::ContentSecurityPolicy::reportViolation const):
* page/csp/ContentSecurityPolicy.h:

Source/WebKit:

Currently for a blocked redirection we report the blocked URI as the
target URL. This is not up to spec and we should actually report the
requested URL.

* NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::check):
(WebKit::NetworkLoadChecker::checkRedirection):
(WebKit::NetworkLoadChecker::checkRequest):
(WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy):
* NetworkProcess/NetworkLoadChecker.h:

LayoutTests:

* http/tests/security/contentSecurityPolicy/report-blocked-uri-after-blocked-redirect-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-blocked-uri-after-blocked-redirect.html: Added.
* http/tests/security/contentSecurityPolicy/report-blocked-uri-after-multiple-redirects-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-blocked-uri-after-multiple-redirects.html: Added.
* platform/mac-wk1/http/tests/security/contentSecurityPolicy/report-blocked-uri-after-multiple-redirects-expected.txt: Added.
* platform/mac-wk1/http/tests/security/contentSecurityPolicy/report-blocked-uri-after-blocked-redirect-expected.txt: Added.
* platform/win/http/tests/security/contentSecurityPolicy/report-blocked-uri-after-blocked-redirect-expected.txt: Added.
* platform/win/http/tests/security/contentSecurityPolicy/report-blocked-uri-after-multiple-redirects-expected.txt: Added.
WebKitLegacy and Win have different console logging.


Canonical link: https://commits.webkit.org/240818@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281431 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 02:24:23 +00:00
Lauro Moura 74809f681a [WPE][WebDriver] Basic fullscreen support for the headless backend
https://bugs.webkit.org/show_bug.cgi?id=229380

Reviewed by Adrian Perez de Castro.

Tools:

r280774 added support for fullscreen in the WindowViewBackend, but
many webdriver tests started failing as they run in the headless
backend.

This commits adds basic support in HeadlessBackend to make some
tests pass. Currently, just storing the fullscreen state and
forwarding the events to the WPE backend functions.

A number of tests are still failing due to the missing multiple window
support (required through the `session` fixtures), but also there are
still some failing that expect the view to be started in
non-fullscreen mode, which does not happen in the headless backend.

* wpe/backends/HeadlessViewBackend.cpp:
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::onDOMFullScreenRequest):
(WPEToolingBackends::HeadlessViewBackend::dispatchFullscreenEvent):
* wpe/backends/HeadlessViewBackend.h:

WebDriverTests:

* TestExpectations.json: Skip some tests still failing, mainly due to multiple window support missing.


Canonical link: https://commits.webkit.org/240817@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 01:41:34 +00:00
Yusuke Suzuki bb751b0464 [JSC] Remove already-shipped JS feature flags
https://bugs.webkit.org/show_bug.cgi?id=229387

Reviewed by Ross Kirsling.

JSTests:

* microbenchmarks/class-fields-private/get-private-name.js:
* microbenchmarks/class-fields-private/monomorphic-get-private-field.js:
* microbenchmarks/class-fields-private/polymorphic-get-private-field.js:
* microbenchmarks/class-fields-private/polymorphic-put-private-field.js:
* microbenchmarks/class-fields-private/put-private-field.js:
* stress/class-fields-private-as-function.js:
* stress/class-fields-private-cached-bytecode.js:
* stress/class-fields-private-freeze-out-of-line.js:
* stress/class-fields-private-freeze.js:
* stress/class-fields-private-harmony.js:
* stress/class-fields-private-on-proxy.js:
* stress/class-fields-private-out-of-line.js:
* stress/class-fields-private-prevent-extensions-out-of-line.js:
* stress/class-fields-private-prevent-extensions.js:
* stress/class-fields-private-seal-out-of-line.js:
* stress/class-fields-private-seal.js:
* stress/class-fields-private-use-eval.js:
* stress/class-fields-static-harmony.js:
* stress/class-fields-static-private-harmony.js:
* stress/class-fields-stress-instance.js:
* stress/class-private-method-access.js:
* stress/dfg-get-private-name-by-id-generic.js:
* stress/dfg-get-private-name-by-id-osr-bad-identifier.js:
* stress/dfg-get-private-name-by-id.js:
* stress/dfg-get-private-name-by-offset-osr-bad-identifier.js:
* stress/dfg-get-private-name-by-offset-osr-bad-structure.js:
* stress/dfg-get-private-name-by-offset.js:
* stress/dfg-get-private-name-by-val-generic.js:
* stress/dfg-put-private-name-check-barrier-insertion.js:
* stress/dfg-put-private-name-compiled-as-put-by-id-direct.js:
* stress/dfg-put-private-name-compiled-as-put-private-name-by-id.js:
* stress/ftl-get-private-name-by-id.js:
* stress/ftl-get-private-name-by-offset-multi.js:
* stress/get-private-name-cache-failure.js:
* stress/get-private-name-with-constant-ident.js:
* stress/get-private-name-with-constant-symbol.js:
* stress/get-private-name-with-different-symbol.js:
* stress/get-private-name-with-primitive.js:
* stress/get-private-name.js:
* stress/optional-chaining-and-private-fields.js:
* stress/private-accesor-duplicate-name-early-errors.js:
* stress/private-accessor-static-non-static.js:
* stress/private-brand-installed-after-super-call-from-arrow-function.js:
* stress/private-brand-installed-after-super-call-from-eval.js:
* stress/private-getter-brand-check.js:
* stress/private-getter-inner-class.js:
* stress/private-in-error.js:
* stress/private-in.js:
* stress/private-members-get-and-set.js:
* stress/private-method-and-field-named-constructor.js:
* stress/private-method-brand-check.js:
* stress/private-method-change-attribute-from-branded-structure.js:
* stress/private-method-change-prototype-from-branded-structure.js:
* stress/private-method-check-private-brand-ic.js:
* stress/private-method-check-structure-miss.js:
* stress/private-method-comparison.js:
* stress/private-method-delete-property-from-branded-structure.js:
* stress/private-method-extends-brand-check.js:
* stress/private-method-get-and-call.js:
* stress/private-method-invalid-multiple-brand-installation.js:
* stress/private-method-invalidate-compiled-with-constant-symbol.js:
* stress/private-method-nested-class.js:
* stress/private-method-on-sealed-objects.js:
* stress/private-method-on-uncacheable-dictionary.js:
* stress/private-method-polymorphic-with-constant-symbol.js:
* stress/private-method-set-brand-should-have-write-barrier.js:
* stress/private-method-untyped-use.js:
* stress/private-method-with-uncacheable-dictionary-transition.js:
* stress/private-methods-and-accessors-postfix-node.js:
* stress/private-methods-and-accessors-prefix-node.js:
* stress/private-methods-inline-cache.js:
* stress/private-methods-megamorphic-ic.js:
* stress/private-methods-on-proxy.js:
* stress/private-methods-poly-ic-multiple-classes.js:
* stress/private-methods-poly-ic-single-class.js:
* stress/private-name-access-in-computed-property.js:
* stress/private-names-available-on-direct-eval.js:
* stress/private-names-available-on-eval-during-field-initialization.js:
* stress/private-setter-brand-check.js:
* stress/private-setter-inner-class.js:
* stress/put-by-val-direct-addprivate.js:
* stress/put-by-val-direct-putprivate.js:
* stress/put-private-name-by-id-set-do-not-add-structure-trasition.js:
* stress/put-private-name-check-structure-miss.js:
* stress/put-private-name-constant-folding-to-mult-put-by-offset.js:
* stress/put-private-name-constant-folding-to-put-by-offset.js:
* stress/put-private-name-generic.js:
* stress/put-private-name-invalid-define.js:
* stress/put-private-name-invalid-store.js:
* stress/put-private-name-invalidate-compiled-with-constant-symbol.js:
* stress/put-private-name-polymorphic-with-constant-symbol.js:
* stress/put-private-name-untyped-use.js:
* stress/put-private-name-with-constant-symbol.js:
* stress/put-private-name-with-different-identifier.js:
* stress/put-private-name-with-primitive.js:
* stress/static-private-methods-and-accessor-inner-class.js:
* stress/static-private-methods-and-accessor-multiple-evaluation.js:
* stress/static-private-methods-and-accessors-postfix-node.js:
* stress/static-private-methods-and-accessors-prefix-node.js:
* stress/v8-cleanup-from-different-realm.js:
* stress/v8-cleanup-proxy-from-different-realm.js:
* stress/v8-finalization-registry-basics.js:
* stress/v8-finalizationregistry-and-weakref.js:
* stress/v8-finalizationregistry-keeps-holdings-alive.js:
* stress/v8-finalizationregistry-scheduled-for-cleanup-multiple-times.js:
* stress/v8-multiple-dirty-finalization-registries.js:
* stress/v8-reentrant-gc-from-cleanup.js:
* stress/v8-stress-finalizationregistry-dirty-enqueue.js:
* stress/v8-undefined-holdings.js:
* stress/v8-unregister-after-cleanup.js:
* stress/v8-unregister-before-cleanup.js:
* stress/v8-unregister-called-twice.js:
* stress/v8-unregister-inside-cleanup2.js:
* stress/v8-unregister-inside-cleanup3.js:
* stress/v8-unregister-many.js:
* stress/v8-weak-unregistertoken.js:
* test262/config.yaml:

Source/JavaScriptCore:

These features are already shipped. So removing these runtime flags to clean up source code and
remove untested path.

* API/JSObjectRef.cpp:
(JSObjectMakeError):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* bytecompiler/NodesCodegen.cpp:
(JSC::FunctionCallValueNode::emitBytecode):
* parser/Lexer.cpp:
(JSC::Lexer<T>::lexWithoutClearingLineTerminator):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::parseForStatement):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseBinaryExpression):
(JSC::Parser<LexerType>::parseGetterSetter):
(JSC::Parser<LexerType>::parsePrimaryExpression):
(JSC::Parser<LexerType>::parseUnaryExpression):
* runtime/AggregateErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
* runtime/ErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
* runtime/JSGlobalObject.h:
* runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor<errorType>::constructImpl):
(JSC::NativeErrorConstructor<errorType>::callImpl):
* runtime/Options.cpp:
(JSC::Options::recomputeDependentOptions):
* runtime/OptionsList.h:
* wasm/js/WebAssemblyCompileErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
* wasm/js/WebAssemblyLinkErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
* wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):

Tools:

* Scripts/run-jsc-benchmarks:

LayoutTests:

* js/script-tests/weakref-async-is-collected.js:
* js/script-tests/weakref-eventually-collects-values.js:
* js/script-tests/weakref-finalizationregistry.js:
* js/script-tests/weakref-microtasks-dont-collect.js:
* js/script-tests/weakref-weakset-consistency.js:
* js/weakref-async-is-collected.html:
* js/weakref-eventually-collects-values.html:
* js/weakref-finalizationregistry.html:
* js/weakref-microtasks-dont-collect.html:
* js/weakref-weakset-consistency.html:
* webaudio/finished-audio-buffer-source-nodes-should-be-collectable.html:


Canonical link: https://commits.webkit.org/240816@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 01:06:11 +00:00
Myles C. Maxfield efb30b63ee Tiny cleanups in CSS parsing code
https://bugs.webkit.org/show_bug.cgi?id=229369

Reviewed by Alan Bujtas.

Use references for non-nullable pointers, and pass nullptr instead of 0 to other pointer parameters.

No new tests because there is no behavior change.

* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::parseAuthorStyleSheet):
(WebCore::StyleSheetContents::parseString):
* css/StyleSheetContents.h:
* css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseSheet):
* css/parser/CSSParser.h:
* css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::parseStyleSheet):
* css/parser/CSSParserImpl.h:

Canonical link: https://commits.webkit.org/240815@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281426 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 00:52:28 +00:00
Alan Bujtas cf7785414a [LFC][IFC] Add support for out-of-flow box static positioning
https://bugs.webkit.org/show_bug.cgi?id=229103

Reviewed by Antti Koivisto.

Source/WebCore:

This patch is in preparation for enabling positioned content for IFC handling.

In this patch we compute the static position for out-of-flow content inside the inline formatting context.
As per spec, the static position of an out-of-flow box is computed as if the position was set to static.
However it does not mean that the out-of-flow box should be involved in the inline layout process.
Instead we figure out this static position after the inline layout by looking at
the previous sibling (or parent) box's geometry and place the out-of-flow box at the logical right position.

* layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::lineLayoutForIntergration):
(WebCore::Layout::InlineFormattingContext::computeStaticPositionForOutOfFlowContent):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::collectContentIfNeeded):
(WebCore::Layout::InlineFormattingContext::collectInlineContentIfNeeded): Deleted.
* layout/formattingContexts/inline/InlineFormattingContext.h:

LayoutTests:

* fast/inline/out-of-flow-with-static-position-in-ifc-expected.html: Added.
* fast/inline/out-of-flow-with-static-position-in-ifc.html: Added.


Canonical link: https://commits.webkit.org/240814@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281424 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 00:03:10 +00:00
Myles C. Maxfield b9f401b352 REGRESSION(r281389): canUseSimplifiedTextMeasuring() needs to match with WidthIterator::applyCSSVisibilityRules()
https://bugs.webkit.org/show_bug.cgi?id=229388

Reviewed by Alan Bujtas.

WidthIterator::applyCSSVisibilityRules() has some special handling for specific characters.
If those characters are present, we need to make sure we actually use WidthIterator::applyCSSVisibilityRules()
instead of taking the fast path in FontCascade::widthForSimpleText().

This is split out from https://bugs.webkit.org/show_bug.cgi?id=215643, and will be tested by that bug's test.

* layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::canUseSimplifiedTextMeasuring):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::characterCanUseSimplifiedTextMeasuring):
(WebCore::WidthIterator::applyCSSVisibilityRules):
* platform/graphics/WidthIterator.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::computeCanUseSimplifiedTextMeasuring const):

Canonical link: https://commits.webkit.org/240813@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-22 23:45:54 +00:00
Alan Bujtas 50a5b12c10 [LFC][IFC] Add support for vertical-align: sub
https://bugs.webkit.org/show_bug.cgi?id=228217

Reviewed by Antti Koivisto.

Source/WebCore:

Adjust legacy's integral alignment too.

* layout/formattingContexts/inline/InlineFormattingGeometry.cpp:
(WebCore::Layout::LineBoxBuilder::computeLineBoxHeightAndAlignInlineLevelBoxesVertically):
* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForChild):

LayoutTests:

* platform/mac/css1/text_properties/vertical_align-expected.txt:
* platform/mac/fast/selectors/018b-expected.txt:
* platform/mac/fast/text/whitespace/020-expected.txt:


Canonical link: https://commits.webkit.org/240812@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281422 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-22 22:18:46 +00:00
Yusuke Suzuki 8f63cdde7b Unreviewed, speculative fix for old ICU
https://bugs.webkit.org/show_bug.cgi?id=229385

* stress/intl-locale-info.js:
(shouldBe):

Canonical link: https://commits.webkit.org/240811@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281421 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-22 22:09:52 +00:00
Wenson Hsieh 110ceb0490 [iOS] Fix and reenable several layout tests to account for the changes in rdar://80384564
https://bugs.webkit.org/show_bug.cgi?id=229316

Reviewed by Tim Horton.

Source/WebKit:

After rdar://80384564, UIKit's non-editable text tap recognizer will no longer cause us to clear the active text
selection range when tapping outside of currently selected text in the page. Instead, WebKit's synthetic click
gesture recognizer should now manages clearing the selection (unless the page has prevented the "mousedown"
event).

With just the UIKit-side change, this already mostly works as expected since `commitPotentialTapFailed()` clears
out non-editable selections. However, there is one scenario in which we do want to clear out the selection when
tapping that isn't covered by the synthetic click gesture: when tapping on an element that does not handle or
prevent "mousedown"; this behavior is exercised by the existing layout test
`editing/selection/ios/hide-selection-after-tap-on-prevent-default-element.html`. To preserve this behavior, we
add a call to `clearSelectionAfterTapIfNeeded()` when completing a synthetic click, in the case where the
"mousedown" event was not swallowed.

These 3 tests should pass after the changes in rdar://80384564:
- editing/selection/ios/change-selection-by-tapping-with-existing-selection.html
- editing/selection/preserve-selection-when-clicking-button.html
- editing/selection/ios/persist-selection-after-tapping-on-element-with-mousedown-handler.html

And these WebKit-side changes are needed to keep these 2 tests passing:
- editing/selection/ios/hide-selection-after-tap-on-prevent-default-element.html
- fast/images/text-recognition/ios/reselect-word-in-image-overlay.html

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::completeSyntheticClick):

LayoutTests:

See WebKit/ChangeLog for more details.

* fast/images/text-recognition/ios/reselect-word-in-image-overlay.html:

Add a short delay to avoid timing out, due to the second long press gesture to select text not triggering.

* platform/ios-14/TestExpectations:

Remove iOS 14-specific PASS expectations, and remove the more generic FAIL expectation in the ios directory.
Instead, just mark these three layout tests as FAIL on iOS 15, and PASS elsewhere.

* platform/ios-15/TestExpectations: Added.
* platform/ios/TestExpectations:


Canonical link: https://commits.webkit.org/240810@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-22 21:26:45 +00:00
Myles C. Maxfield f1c80ff75f Control characters (Unicode category Cc) should be rendered visibly
https://bugs.webkit.org/show_bug.cgi?id=149128
<rdar://problem/79224941>

Reviewed by Alan Bujtas.

LayoutTests/imported/w3c:

These tests were erroneously marked as reference tests, when they should be reference-mismatch tests.

* web-platform-tests/css/css-text/white-space/control-chars-001-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-001-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-002-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-002-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-003-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-003-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-004-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-004-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-005-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-005-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-006-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-006-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-007-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-007-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-008-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-008-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-00B-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-00B-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-00C-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-00C-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-00E-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-00E-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-00F-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-00F-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-010-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-010-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-011-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-011-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-012-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-012-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-013-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-013-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-014-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-014-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-015-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-015-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-016-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-016-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-017-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-017-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-018-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-018-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-019-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-019-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-01A-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-01A-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-01B-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-01B-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-01C-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-01C-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-01D-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-01D-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-01E-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-01E-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-01F-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-01F-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-07F-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-07F-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-080-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-080-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-081-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-081-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-082-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-082-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-083-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-083-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-084-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-084-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-085-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-085-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-086-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-086-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-087-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-087-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-088-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-088-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-089-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-089-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-08A-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-08A-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-08B-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-08B-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-08C-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-08C-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-08D-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-08D-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-08E-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-08E-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-08F-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-08F-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-090-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-090-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-091-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-091-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-092-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-092-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-093-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-093-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-094-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-094-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-095-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-095-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-096-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-096-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-097-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-097-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-098-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-098-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-099-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-099-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-09A-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-09A-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-09B-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-09B-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-09C-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-09C-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-09D-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-09D-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-09E-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-09E-expected.html.
* web-platform-tests/css/css-text/white-space/control-chars-09F-expected-mismatch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/control-chars-09F-expected.html.

Source/WebCore:

We can map these glyphs to the .notdef glyph, which is (supposed to be) visible.

Tests: fast/dom/52776.html
       fast/text/fixed-pitch-control-characters.html
       fast/text/wide-zero-width-space.html
       fast/text/zero-width-characters.html
       imported/w3c/web-platform-tests/css/css-text/white-space*

* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyCSSVisibilityRules):

LayoutTests:

Update existing tests.

* fast/text/fixed-pitch-control-characters-expected.txt:
* fast/text/wide-zero-width-space.html:
* fast/text/zero-width-characters.html:
* platform/ios/fast/dom/52776-expected.txt:
* platform/mac/fast/dom/52776-expected.txt:
* platform/mac/fast/text/wide-zero-width-space-expected.txt: This actually shows
  that there's a difference between the fast text codepath and the complex text
  codepath, but that's okay for now because the complex text codepath is going
  away. Also, it's not practical to fix this in the complex text codepath,
  because that would require a CoreText change. So, for now, we can just encode
  the behavior difference in our test, and when the complex codepath finally
  goes away, this test will be updated to be working correctly again.

Canonical link: https://commits.webkit.org/240809@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281419 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-22 21:04:49 +00:00
Jonathan Bedard 4b5c6c3828 [git-webkit] Add pull-request command (Part 5)
https://bugs.webkit.org/show_bug.cgi?id=229089
<rdar://problem/81908751>

Reviewed by Dewei Zhu.

* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.modified): Return a list of modified files in the current checkout.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.__init__): Add 'git diff' mock commands.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_modified):
(TestGit.test_modified_no_staged):
(TestGit.test_modified_staged):


Canonical link: https://commits.webkit.org/240808@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-22 20:11:45 +00:00
Jonathan Bedard 82f8f31bc2 [git-webkit] Add pull-request command (Part 4)
https://bugs.webkit.org/show_bug.cgi?id=229089
<rdar://problem/81908751>

Reviewed by Dewei Zhu.

* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git): Match BitBucket ssh urls when constructing remotes.


Canonical link: https://commits.webkit.org/240807@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281399 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-22 16:29:28 +00:00
Simon Fraser f3b15675fa Use the strongly typed PageGroupIdentifier in place of uint64_t
https://bugs.webkit.org/show_bug.cgi?id=229356

Reviewed by Alex Christensen.

Replace uses of uint64_t for page group identifiers with PageGroupIdentifier.

There are two places where we convert between StorageNamespaceIdentifier and
PageGroupIdentifier because, as the comments state, those are equivalent.

* Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
(headers_for_type):
* Shared/IdentifierTypes.h:
* Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::decode):
* Shared/WebPageGroupData.h:
* UIProcess/WebPageGroup.cpp:
(WebKit::WebPageGroup::get):
(WebKit::pageGroupData):
(WebKit::generatePageGroupID): Deleted.
* UIProcess/WebPageGroup.h:
(WebKit::WebPageGroup::pageGroupID const):
* WebProcess/Databases/WebDatabaseProvider.cpp:
(WebKit::WebDatabaseProvider::getOrCreate):
(WebKit::WebDatabaseProvider::WebDatabaseProvider):
* WebProcess/Databases/WebDatabaseProvider.h:
* WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::WebSWContextManagerConnection):
* WebProcess/Storage/WebSWContextManagerConnection.h:
* WebProcess/WebPage/WebPageGroupProxy.h:
(WebKit::WebPageGroupProxy::pageGroupID const):
(WebKit::WebPageGroupProxy::localStorageNamespaceIdentifier const):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::webPageGroup):
(WebKit::WebProcess::establishWorkerContextConnectionToNetworkProcess):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
* WebProcess/WebStorage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::pageGroupID const):
* WebProcess/WebStorage/StorageNamespaceImpl.h:


Canonical link: https://commits.webkit.org/240806@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281398 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-22 15:35:52 +00:00
Commit Queue 5f61783a4c Unreviewed, reverting r280984 and r280996.
https://bugs.webkit.org/show_bug.cgi?id=229384

Speedometer2 0.3-0.5% regression

Reverted changesets:

"Update ARM64EHash"
https://bugs.webkit.org/show_bug.cgi?id=228962
https://commits.webkit.org/r280984

"Refactor some ARM64EHash code."
https://bugs.webkit.org/show_bug.cgi?id=229054
https://commits.webkit.org/r280996

Canonical link: https://commits.webkit.org/240805@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281397 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-22 07:35:07 +00:00
Myles C. Maxfield 8c589fafa5 overwriteCodePoint() in createAndFillGlyphPage() is wrong
https://bugs.webkit.org/show_bug.cgi?id=215643
<rdar://problem/67430461>

Reviewed by Alan Bujtas.

Source/WebCore:

The CSS spec says that certain characters have to be invisible. Previously, we were doing this
by just treating these characters as if they were the zero width space character. However, this
is wrong for 2 reasons:

1. If the primary font supports the desired character but doesn't support the zero width space
       character, we'll fallback past it and trigger a download for secondary fonts until
       we find one that supports the ZWS character (which the page didn't even ask for!)
2. Shaping is Turing-complete, and expects that the correct glyphIDs are fed into the shaper.
       We can't just arbitrarily swap out glyphIDs before shaping just because we feel like it.

Instead, the solution is to handle these invisible characters after font fallback, and after
shaping. This patch does it just like we handle adding letter-spacing, word-spacing, and
justification after shaping - by iterating over the glyphs output by the shaper and seeing if
any need to be adjusted.

This patch also includes a fix for the situation where the glyph buffer might be left in an
inconsistent state, where the array of glyphs is shorter than the array of characters -
this new codepath added in this patch revealed this existing problem, and fixes it here too.

Test: fast/text/zwj-ligature.html

* platform/graphics/Font.cpp:
(WebCore::createAndFillGlyphPage):
(WebCore::overrideControlCharacters): Deleted.
* platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBuffer::glyphAt const):
(WebCore::GlyphBuffer::deleteGlyphWithoutAffectingSize):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyCSSVisibilityRules):
(WebCore::WidthIterator::advance):
* platform/graphics/WidthIterator.h:

Source/WTF:

* wtf/unicode/CharacterNames.h:

LayoutTests:

* fast/text/resources/Ahem-GSUB-ligatures.ttf: Added.
* fast/text/zwj-ligature-expected.html: Added.
* fast/text/zwj-ligature.html: Added.
* platform/mac/fast/text/format-control-expected.txt: Progression! A new ligature is formed that wasn't formed before.
      Also, this ligature is formed in both Chrome and Firefox, so we match them now.
* platform/win/TestExpectations:

Canonical link: https://commits.webkit.org/240804@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281389 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-22 05:41:27 +00:00
Alan Bujtas 5deede8020 [LFC][Integration] Do not create an InlineFormattingContext object for constructing display lines and runs
https://bugs.webkit.org/show_bug.cgi?id=228061

Reviewed by Sam Weinig.

We've got all we need in the inlineFormattingState object.

* layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::build const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLineRuns const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
* layout/integration/LayoutIntegrationInlineContentBuilder.h:
* layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::constructContent):


Canonical link: https://commits.webkit.org/240803@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281388 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-22 04:28:58 +00:00
Alan Bujtas 363356392f [LFC][IFC] Add support for -webkit-text-security: disc
https://bugs.webkit.org/show_bug.cgi?id=229047

Reviewed by Antti Koivisto.
Source/WebCore:

The disc glyph affects layout, so let's replace the text before we start measuring the inline content.

* layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTree):
* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForStyle):
* layout/integration/LayoutIntegrationCoverage.h:

LayoutTests:

Let's dump the actual disc characters.

* platform/ios-simulator/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt:
* platform/ios/fast/css/text-overflow-input-expected.txt:
* platform/ios/fast/forms/basic-inputs-expected.txt:
* platform/ios/fast/forms/input-value-expected.txt:
* platform/mac/fast/css/text-overflow-input-expected.txt:
* platform/mac/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt:
* platform/mac/fast/forms/basic-inputs-expected.txt:
* platform/mac/fast/forms/input-value-expected.txt:


Canonical link: https://commits.webkit.org/240802@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281387 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-22 04:24:30 +00:00
Alan Bujtas 87a03b6f4f [IFC][Integration] Enable modern line layout for placeholder elements
https://bugs.webkit.org/show_bug.cgi?id=228887

Reviewed by Antti Koivisto.

Source/WebCore:

Apparently placeholders don't do strange things anymore (this check is originated in SLL).

* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):

LayoutTests:

* platform/ios-wk2/fast/repaint/placeholder-after-caps-lock-hidden-expected.txt:


Canonical link: https://commits.webkit.org/240801@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281386 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-22 03:31:33 +00:00