Timeline
Jun 15, 2019:
- 11:38 PM Changeset in webkit [246472] by
-
- 2 edits in trunk/Source/WebKit
WebProcessPool::clearWebProcessHasUploads cannot assume its given processIdentifier is valid
https://bugs.webkit.org/show_bug.cgi?id=198865
Unreviewed.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::clearWebProcessHasUploads):
Remove wrong debug assertion in case of WebProcessProxy destruction.
- 10:33 PM Changeset in webkit [246471] by
-
- 9 edits1 delete in trunk
Make layerTreeAsText() output a bit less verbose
https://bugs.webkit.org/show_bug.cgi?id=198870
Reviewed by Tim Horton.
Source/WebCore:
"accelerates drawing" was getting dumped twice for debug dumps.
Only dump the non-default state for "uses display-list drawing".
Use the new OptionSet<> dumping for GraphicsLayerPaintingPhases.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::dumpProperties const):
(WebCore::operator<<):
- platform/graphics/GraphicsLayer.h:
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
LayoutTests:
- compositing/overflow/stacking-context-composited-scroller-with-foreground-paint-phases-expected.txt:
- platform/gtk/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
- platform/ios-wk2/compositing/overflow/stacking-context-composited-scroller-with-foreground-paint-phases-expected.txt:
- platform/mac-wk1/compositing/overflow/stacking-context-composited-scroller-with-foreground-paint-phases-expected.txt:
- platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt: Removed.
- 9:47 PM Changeset in webkit [246470] by
-
- 10 edits in trunk/Source/WebCore
Make MediaStream constructor take a Document instead of a ScriptExecutionContext
https://bugs.webkit.org/show_bug.cgi?id=198873
Reviewed by Darin Adler.
Update MediaStream constructors and call site to take a Document&.
Make the same for creation of CanvasCaptureMediaStreamTrack.
No observable change of behavior.
- Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
(WebCore::CanvasCaptureMediaStreamTrack::create):
(WebCore::CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack):
(WebCore::loggerFromContext): Deleted.
- Modules/mediastream/CanvasCaptureMediaStreamTrack.h:
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::create):
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::clone):
(WebCore::loggerFromContext): Deleted.
- Modules/mediastream/MediaStream.h:
- Modules/mediastream/MediaStream.idl:
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::allow):
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::captureStream):
- html/HTMLCanvasElement.h:
- html/HTMLCanvasElement.idl:
- 9:46 PM Changeset in webkit [246469] by
-
- 2 edits in trunk/Tools
WPT test importer WTR option reader should not throw if the file is not proper UTF-8
https://bugs.webkit.org/show_bug.cgi?id=198780
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter._webkit_test_runner_options):
In case the test file cannot be read as text, consider that there is no WTR option.
- 12:30 PM Changeset in webkit [246468] by
-
- 11 edits in trunk/Source/WebCore
[LFC][BFC] Fix available width for non-floating positioned float avoiders.
https://bugs.webkit.org/show_bug.cgi?id=198886
<rdar://problem/51773643>
Reviewed by Antti Koivisto.
Normally the available width for an in-flow block level box is the width of the containing block's content box.
However a non-floating positioned float avoider box might be constrained by existing floats.
The idea here is that we pre-compute(estimate) the vertical position and check the current floating context for
left and right floats. These floats contrain the available width and this computed value should be used instead of the containing block's
content box's width whe calculating the used width for width: auto.
- layout/FormattingContext.cpp:
(WebCore::Layout::mapHorizontalPositionToAncestor):
(WebCore::Layout::FormattingContext::mapLeftToAncestor):
(WebCore::Layout::FormattingContext::mapRightToAncestor):
(WebCore::Layout::FormattingContext::mapPointToAncestor):
(WebCore::Layout::FormattingContext::mapCoordinateToAncestor): Deleted.
- layout/FormattingContext.h:
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::usedAvailableWidthForFloatAvoider const):
(WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot const):
(WebCore::Layout::BlockFormattingContext::computeStaticVerticalPosition const):
(WebCore::Layout::BlockFormattingContext::computeStaticHorizontalPosition const):
(WebCore::Layout::BlockFormattingContext::computeStaticPosition const):
(WebCore::Layout::BlockFormattingContext::computeEstimatedVerticalPositionForFormattingRoot const):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin const):
- layout/blockformatting/BlockFormattingContext.h:
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):
- layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::staticVerticalPosition):
(WebCore::Layout::BlockFormattingContext::Geometry::staticHorizontalPosition):
(WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):
- layout/floats/FloatingState.cpp:
(WebCore::Layout::FloatingState::constraints const):
- layout/layouttree/LayoutBlockContainer.cpp:
(WebCore::Layout::BlockContainer::establishesInlineFormattingContextOnly const):
- layout/layouttree/LayoutBlockContainer.h:
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::isFloatAvoider const):
- layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::establishesInlineFormattingContextOnly const):
- 11:33 AM Changeset in webkit [246467] by
-
- 14 edits in trunk/Source
[GTK] Stop accessing GdkEvent fields when possible
https://bugs.webkit.org/show_bug.cgi?id=198829
Patch by Ludovico de Nittis <ludovico.denittis@collabora.com> on 2019-06-15
Reviewed by Michael Catanzaro.
Direct access to GdkEvent structs is no longer possible in GTK 4.
Source/WebCore:
No behaviour changes.
- platform/gtk/PlatformKeyboardEventGtk.cpp:
(WebCore::eventTypeForGdkKeyEvent):
(WebCore::modifiersForGdkKeyEvent):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
- platform/gtk/PlatformMouseEventGtk.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
- platform/gtk/PlatformWheelEventGtk.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
Source/WebKit:
- Shared/gtk/WebEventFactory.cpp:
(WebKit::buttonForEvent):
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebKeyboardEvent):
(WebKit::WebEventFactory::createWebTouchEvent):
- UIProcess/API/gtk/WebKitEmojiChooser.cpp:
- UIProcess/API/gtk/WebKitScriptDialogImpl.cpp:
(webkitScriptDialogImplKeyPressEvent):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(ClickCounter::currentClickCountForGdkButtonEvent):
(webkitWebViewBaseKeyPressEvent):
(webkitWebViewBaseHandleMouseEvent):
(webkitWebViewBaseCrossingNotifyEvent):
(webkitWebViewBaseGetTouchPointsForEvent):
(webkitWebViewBaseTouchEvent):
(webkitWebViewBaseEvent):
- UIProcess/gtk/GestureController.cpp:
(WebKit::GestureController::handleEvent):
- UIProcess/gtk/InputMethodFilter.cpp:
(WebKit::InputMethodFilter::filterKeyEvent):
(WebKit::InputMethodFilter::logHandleKeyboardEventForTesting):
(WebKit::InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting):
- UIProcess/gtk/KeyBindingTranslator.cpp:
(WebKit::KeyBindingTranslator::commandsForKeyEvent):
- UIProcess/gtk/ViewGestureControllerGtk.cpp:
(WebKit::isEventStop):
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanInfluenceSwipe):
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventGetScrollingDeltas):
(WebKit::ViewGestureController::SwipeProgressTracker::handleEvent):
- UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::treeViewButtonReleaseEventCallback):
(WebKit::WebPopupMenuProxyGtk::keyPressEventCallback):
- 11:20 AM Changeset in webkit [246466] by
-
- 11 edits7 adds in trunk
Source/WebCore:
Add tests for prefetch redirects
https://bugs.webkit.org/show_bug.cgi?id=197371
Patch by Rob Buis <rbuis@igalia.com> on 2019-06-15
Reviewed by Youenn Fablet.
Test: http/wpt/prefetch/link-prefetch-main-resource-redirect.html
Allow clearing of the Purpose request header field.
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::clearPurpose):
- platform/network/ResourceRequestBase.h:
Source/WebKit:
Store prefetch redirects in the prefetch cache
https://bugs.webkit.org/show_bug.cgi?id=197371
Patch by Rob Buis <rbuis@igalia.com> on 2019-06-15
Reviewed by Youenn Fablet.
Store prefetch redirects in the prefetch cache and use them when
navigating.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::didFinishWithRedirectResponse):
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/cache/PrefetchCache.cpp:
(WebKit::PrefetchCache::Entry::Entry):
(WebKit::PrefetchCache::storeRedirect):
- NetworkProcess/cache/PrefetchCache.h:
LayoutTests:
Add tests for prefetch redirects
https://bugs.webkit.org/show_bug.cgi?id=197371
Patch by Rob Buis <rbuis@igalia.com> on 2019-06-15
Reviewed by Youenn Fablet.
Add a test to verify prefetch redirections are cached in the prefetch
cache and reused when navigating.
- http/wpt/prefetch/link-prefetch-main-resource-redirect-expected.txt: Added.
- http/wpt/prefetch/link-prefetch-main-resource-redirect.html: Added.
- http/wpt/prefetch/resources/main-resource-redirect-no-prefetch.py: Added.
(main):
- http/wpt/prefetch/resources/navigate.html: Added.
- http/wpt/prefetch/resources/prefetched-main-resource-redirect.py: Added.
(main):
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- 10:42 AM Changeset in webkit [246465] by
-
- 2 edits in trunk/LayoutTests
Unreviewed. Temporarily mark webgpu/whlsl-oob-access.html as flaky.
- 7:36 AM Changeset in webkit [246464] by
-
- 2 edits in trunk/Source/WebCore
[LFC][MarginCollapsing] Remove redundant checks in MarginCollapse::marginBefore/AfterCollapsesWith*
https://bugs.webkit.org/show_bug.cgi?id=198882
<rdar://problem/51773334>
Reviewed by Antti Koivisto.
In-flow child can neither be floating nor out-of-flow positioned.
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBeforeCollapsesWithFirstInFlowChildMarginBefore):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginAfterCollapsesWithLastInFlowChildMarginAfter):
- 7:16 AM Changeset in webkit [246463] by
-
- 2 edits in trunk/Source/WebCore
[LFC][MarginCollapsing] Collapsed through margin values preserve quirk state.
https://bugs.webkit.org/show_bug.cgi?id=198885
<rdar://problem/51773568>
Reviewed by Antti Koivisto.
The collapsed through margin becomes a quirk margin if either of the vertical(before/after) margins have quirk value.
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::computedPositiveAndNegativeMargin):
- 7:13 AM Changeset in webkit [246462] by
-
- 2 edits in trunk/Source/WebCore
[LFC[MarginCollapsing] Anonymous boxes never collapse their margins with siblings.
https://bugs.webkit.org/show_bug.cgi?id=198884
<rdar://problem/51773509>
Reviewed by Antti Koivisto.
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBeforeCollapsesWithPreviousSiblingMarginAfter):
- 7:11 AM Changeset in webkit [246461] by
-
- 2 edits in trunk/Source/WebCore
[LFC][MarginCollapsing] Add check for computed height value in MarginCollapse::marginsCollapseThrough
https://bugs.webkit.org/show_bug.cgi?id=198883
<rdar://problem/51773395>
Reviewed by Antti Koivisto.
"A box's own margins collapse if... ...and it has a 'height' of either 0 or 'auto"
https://www.w3.org/TR/CSS22/box.html#collapsing-margins
- layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginsCollapseThrough):
- 7:09 AM Changeset in webkit [246460] by
-
- 2 edits in trunk/Source/WebCore
[LFC] Fix available width for shrink-to-fit (for out-of-flow non-replaced box)
https://bugs.webkit.org/show_bug.cgi?id=198880
<rdar://problem/51773118>
Reviewed by Antti Koivisto.
This patch fixes the cases when the available width for the out-of-flow positioned box is not the same as the containing block's (padding)width.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
- 7:06 AM Changeset in webkit [246459] by
-
- 2 edits in trunk/Source/WebCore
[LFC] Fix over-constrained logic for out-of-flow non-replaced horizontal geometry.
https://bugs.webkit.org/show_bug.cgi?id=198879
<rdar://problem/51772995>
Reviewed by Antti Koivisto.
The over-constrained logic applies to the case when all the horizontal properties are set.
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
- 7:05 AM Changeset in webkit [246458] by
-
- 2 edits in trunk/Source/WebCore
[LFC] Convert both the absolutely and statically positioned out-of-flow block level boxes positions relative to the containing block's padding box
https://bugs.webkit.org/show_bug.cgi?id=198878
<rdar://problem/51772882>
Reviewed by Antti Koivisto.
This patch ensures that while we compute the vertical/horizontal geometry for an out-of-flow block level box,
the static and the absolute positioned values are in the same coordinate system (relative to the containing block's padding box).
- layout/FormattingContextGeometry.cpp:
(WebCore::Layout::staticVerticalPositionForOutOfFlowPositioned):
(WebCore::Layout::staticHorizontalPositionForOutOfFlowPositioned):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
- 7:03 AM Changeset in webkit [246457] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Add support for vertical-align: top and bottom
https://bugs.webkit.org/show_bug.cgi?id=198697
<rdar://problem/51556188>
Reviewed by Antti Koivisto.
Use the layout box's vertical alignment to adjust line baseline and height and set the run's logical top when the line is being closed.
- layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::isVisuallyEmpty const):
(WebCore::Layout::Line::close):
(WebCore::Layout::Line::appendInlineContainerStart):
(WebCore::Layout::Line::appendTextContent):
(WebCore::Layout::Line::appendNonReplacedInlineBox):
(WebCore::Layout::Line::appendHardLineBreak):
(WebCore::Layout::Line::adjustBaselineAndLineHeight):
(WebCore::Layout::Line::inlineItemHeight const):
(WebCore::Layout::Line::Content::isVisuallyEmpty const): Deleted.
- layout/inlineformatting/InlineLine.h:
(WebCore::Layout::Line::Content::isVisuallyEmpty const):
(WebCore::Layout::Line::Content::setIsVisuallyEmpty):
(WebCore::Layout::Line::hasContent const):
Jun 14, 2019:
- 8:20 PM Changeset in webkit [246456] by
-
- 4 edits in trunk/Source/WebKit
waitForNavigationToComplete may be called before WebPageProxy knows it's loading
https://bugs.webkit.org/show_bug.cgi?id=198741
<rdar://problem/31164316>
Reviewed by Joseph Pecoraro.
There's a potential race in
WebAutomationSession::waitForNavigationToCompleteOnPagewhen
querying for theWebPageProxy's loading state (viaPageLoadingState::isLoading), in that
a pending load may be committed _after_ theWebAutomationSessionchecks it's value. This
makes the automation session think that it isn't loading, so it will continue running
commands, which can lead to a JavaScript error ("Callback was not called before the unload
event") as any injected scripts will be cleared by the impending navigation, leaving the
script evaluation callbacks "dangling".
Expose more information from
PageLoadStateabout whether it thinks there _may_ be a
navigation currently happening, which theWebAutomationSessioncan use to delay commands.
In the best case, no navigations are "missed".
In the worst case, the automation session will wait
pageLoadTimeoutbefore continuing.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::waitForNavigationToCompleteOnPage):
- UIProcess/PageLoadState.h:
- UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::hasUncommittedLoad const): Added.
- 8:09 PM Changeset in webkit [246455] by
-
- 14 edits in trunk/LayoutTests
Web Inspector: rework http/tests/inspector/network/resource-sizes-network.html to print the actual values so other platforms don't FAIL
https://bugs.webkit.org/show_bug.cgi?id=198877
<rdar://problem/50381370>
Reviewed by Joseph Pecoraro.
- http/tests/inspector/network/resources/resource-size-test.js:
(TestPage.registerInitializer.window.addResourceSizeTest):
- http/tests/inspector/network/resource-sizes-disk-cache.html:
- http/tests/inspector/network/resource-sizes-disk-cache-expected.txt:
- http/tests/inspector/network/resource-sizes-memory-cache.html:
- http/tests/inspector/network/resource-sizes-memory-cache-expected.txt:
- platform/gtk/http/tests/inspector/network/resource-sizes-memory-cache-expected.txt:
- platform/mac/http/tests/inspector/network/resource-sizes-memory-cache-expected.txt:
- platform/mac-sierra/http/tests/inspector/network/resource-sizes-memory-cache-expected.txt:
- http/tests/inspector/network/resource-sizes-network.html:
- http/tests/inspector/network/resource-sizes-network-expected.txt:
- platform/gtk/http/tests/inspector/network/resource-sizes-network-expected.txt:
- platform/mac/http/tests/inspector/network/resource-sizes-network-expected.txt:
- platform/mac-sierra/http/tests/inspector/network/resource-sizes-network-expected.txt:
- 7:50 PM Changeset in webkit [246454] by
-
- 9 copies1 add in releases/Apple/Safari Technology Preview/Safari Technology Preview 85
Added a tag for Safari Technology Preview release 85.
- 7:23 PM Changeset in webkit [246453] by
-
- 3 edits in trunk/LayoutTests
Repeatedly check for IDB removal to address flakiness in http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration.html
https://bugs.webkit.org/show_bug.cgi?id=198185
<rdar://problem/51074251>
Unreviewed test gardening.
There's an asynchronosity in the removal of IDB entries so this test case
needs to check repeatedly until the removal has happened.
- http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration.html:
- platform/ios-simulator-wk2/TestExpectations:
Removed skip.
- 6:07 PM Changeset in webkit [246452] by
-
- 11 edits in trunk/Source/WebKit
WebProcessPool::clearWebProcessHasUploads cannot assume its given processIdentifier is valid
https://bugs.webkit.org/show_bug.cgi?id=198865
<rdar://problem/51618878>
Reviewed by Brady Eidson.
NetworkProcess currently instructs UIProcess whether a given WebProcess is doing upload.
There is no guarantee though that the WebProcessProxy is still there when the IPC is arriving at UIProcess.
Instead, let WebProcess handles its upload state and notify WebProcessPool about its state.
Make sure WebProcessProxy unregisters itself in case of crash.
In case of NetworkProcess crash, WebProcesses will see all their uploads fail
and will notify automatically UIProcess to update their state.
Since the processID given to WebProcessPool is coming from IPC, we cannot not trust it.
Add early return in case of not finding a WebProcessProxy for WebProcessPool clear/set methods.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkResourceLoadMap.cpp:
(WebKit::NetworkResourceLoadMap::add):
(WebKit::NetworkResourceLoadMap::take):
- NetworkProcess/NetworkResourceLoadMap.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::setWebProcessHasUploads):
(WebKit::WebProcessPool::clearWebProcessHasUploads):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::~WebProcessProxy):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::remove):
(WebKit::WebLoaderStrategy::tryLoadingSynchronouslyUsingURLSchemeHandler):
- WebProcess/Network/WebLoaderStrategy.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensureNetworkProcessConnection):
- 4:14 PM Changeset in webkit [246451] by
-
- 20 edits in trunk/Source
Restore PAC based cage.
https://bugs.webkit.org/show_bug.cgi?id=198872
Rubber-stamped by Saam Barati.
Source/bmalloc:
- bmalloc/Gigacage.h:
Source/JavaScriptCore:
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::bitFieldInsert64):
- assembler/MacroAssemblerARM64E.h:
- assembler/testmasm.cpp:
(JSC::testCagePreservesPACFailureBit):
(JSC::run):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpForTypedArrayIsNeuteredIfOutOfBounds):
(JSC::DFG::SpeculativeJIT::cageTypedArrayStorage):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):
(JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
(JSC::FTL::DFG::LowerDFGToB3::caged):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::cageWithoutUntagging):
(JSC::AssemblyHelpers::cageConditionally):
(JSC::AssemblyHelpers::cage): Deleted.
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emitIntTypedArrayGetByVal):
(JSC::JIT::emitFloatTypedArrayGetByVal):
(JSC::JIT::emitIntTypedArrayPutByVal):
(JSC::JIT::emitFloatTypedArrayPutByVal):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter64.asm:
- offlineasm/arm64.rb:
- offlineasm/instructions.rb:
- offlineasm/registers.rb:
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::restoreWebAssemblyGlobalState):
(JSC::Wasm::AirIRGenerator::addCallIndirect):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::restoreWebAssemblyGlobalState):
(JSC::Wasm::B3IRGenerator::addCallIndirect):
- wasm/WasmBinding.cpp:
(JSC::Wasm::wasmToWasm):
- wasm/js/JSToWasm.cpp:
(JSC::Wasm::createJSToWasmWrapper):
- wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
- 4:12 PM Changeset in webkit [246450] by
-
- 1 edit4 copies5 moves12 adds1 delete in trunk/LayoutTests
[iOS] Split up fast/events/ios/key-events-meta-alt-combinations.html and add more tests
https://bugs.webkit.org/show_bug.cgi?id=198834
<rdar://problem/50103348>
Reviewed by Brent Fulgham.
The test fast/events/ios/key-events-meta-alt-combinations.html frequently times out. Let's try
to break up this test into multiple files. Also add more modifier combination tests and group
all these combination tests under a new direcdtory: fast/events/ios/key-events-comprehensive.
- fast/events/ios/key-events-comprehensive/key-events-control-expected.txt: Renamed from LayoutTests/fast/events/ios/key-events-control-expected.txt.
- fast/events/ios/key-events-comprehensive/key-events-control-option-expected.txt: Added.
- fast/events/ios/key-events-comprehensive/key-events-control-option.html: Copied from LayoutTests/fast/events/ios/key-events-control.html.
- fast/events/ios/key-events-comprehensive/key-events-control-shift-expected.txt: Added.
- fast/events/ios/key-events-comprehensive/key-events-control-shift.html: Copied from LayoutTests/fast/events/ios/key-events-control.html.
- fast/events/ios/key-events-comprehensive/key-events-control.html: Renamed from LayoutTests/fast/events/ios/key-events-control.html.
- fast/events/ios/key-events-comprehensive/key-events-meta-control-expected.txt: Added.
- fast/events/ios/key-events-comprehensive/key-events-meta-control.html: Copied from LayoutTests/fast/events/ios/key-events-meta.html.
- fast/events/ios/key-events-comprehensive/key-events-meta-expected.txt: Renamed from LayoutTests/fast/events/ios/key-events-meta-expected.txt.
- fast/events/ios/key-events-comprehensive/key-events-meta-option-expected.txt: Added.
- fast/events/ios/key-events-comprehensive/key-events-meta-option.html: Renamed from LayoutTests/fast/events/ios/key-events-meta-alt-combinations.html.
- fast/events/ios/key-events-comprehensive/key-events-meta-shift-expected.txt: Added.
- fast/events/ios/key-events-comprehensive/key-events-meta-shift.html: Copied from LayoutTests/fast/events/ios/key-events-meta.html.
- fast/events/ios/key-events-comprehensive/key-events-meta.html: Renamed from LayoutTests/fast/events/ios/key-events-meta.html.
- fast/events/ios/key-events-comprehensive/key-events-option-expected.txt: Added.
- fast/events/ios/key-events-comprehensive/key-events-option-shift-expected.txt: Added.
- fast/events/ios/key-events-comprehensive/key-events-option-shift.html: Added.
- fast/events/ios/key-events-comprehensive/key-events-option.html: Added.
- fast/events/ios/key-events-comprehensive/key-events-shift-expected.txt: Added.
- fast/events/ios/key-events-comprehensive/key-events-shift.html: Added.
- fast/events/ios/key-events-meta-alt-combinations-expected.txt: Removed.
- 4:05 PM Changeset in webkit [246449] by
-
- 10 edits in trunk
WebResourceLoadStatisticsStore should not use its network session if invalidated
https://bugs.webkit.org/show_bug.cgi?id=198814
Reviewed by Geoffrey Garen.
Source/WebKit:
Tell WebResourceLoadStatisticsStore that its network session is invalidated.
WebResourceLoadStatisticsStore will then clear its reference to the network session.
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookieBlocking):
Added for test purposes to trigger further cookie processing.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::invalidateAndCancel):
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::invalidateAndCancel):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
- 3:52 PM Changeset in webkit [246448] by
-
- 2 edits in trunk/Source/WebKit
[Cocoa] NSFileWrapper associated with _WKAttachment
https://bugs.webkit.org/show_bug.cgi?id=198871
<rdar://problem/51760625>
Reviewed by Wenson Hsieh.
- UIProcess/API/Cocoa/_WKAttachment.mm:
(-[_WKAttachment dealloc]):
Ensure we destruct the API::Object associated with this so RetainPtrs can release.
- 3:50 PM Changeset in webkit [246447] by
-
- 3 edits in trunk/Source/WebKit
WebKit's NSAttributedString.h is not included in the WebKit.h umbrella header
https://bugs.webkit.org/show_bug.cgi?id=198869
<rdar://problem/51754437>
Reviewed by Timothy Hatcher.
- Shared/API/Cocoa/WebKit.h:
Make the new API available to modularized clients and folks who just import WebKit.h
- 2:39 PM Changeset in webkit [246446] by
-
- 7 edits in trunk/Source
Disable AppSSO for web processes and plugin processes
https://bugs.webkit.org/show_bug.cgi?id=198843
<rdar://problem/51642920>
Reviewed by Sam Weinig.
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h:
Adds a SPI to disable AppSSO for CFNetwork.
Source/WebKit:
This patch moves the disabling of AppSSO from AuxiliaryProcess to PluginProcess
and WebProcess such that NetworkingProcess will not be affected.
- PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializePluginProcess):
- Shared/ios/AuxiliaryProcessIOS.mm:
(WebKit::AuxiliaryProcess::platformInitialize):
- Shared/mac/AuxiliaryProcessMac.mm:
(WebKit::AuxiliaryProcess::platformInitialize):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeProcess):
- 2:17 PM Changeset in webkit [246445] by
-
- 4 edits2 adds in trunk
[Pointer Events] button property is -1 for pointerdown and pointerup
https://bugs.webkit.org/show_bug.cgi?id=198868
<rdar://problem/51758109>
Reviewed by Dean Jackson.
Source/WebCore:
A value of -1 for "button", which means there was no change of pressed button since the last event, should only ever be used for "pointermove" events.
Test: pointerevents/mouse/pointer-button-and-buttons.html
- page/PointerCaptureController.cpp:
(WebCore::PointerCaptureController::pointerEventForMouseEvent):
LayoutTests:
- pointerevents/mouse/pointer-button-and-buttons-expected.txt: Added.
- pointerevents/mouse/pointer-button-and-buttons.html: Added.
- pointerevents/utils.js:
(prototype._handlePointerEvent):
- 2:00 PM Changeset in webkit [246444] by
-
- 15 edits in trunk/Source
Move Synthetic Editing Commands to behind an experimental feature flag
https://bugs.webkit.org/show_bug.cgi?id=198842
<rdar://problem/50594700>
Reviewed by Simon Fraser.
Source/WebCore:
Moving from a quirk to a feature flag.
- page/Quirks.cpp:
(WebCore::shouldEmulateEditingButtonsAndGesturesInHiddenEditableAreasForHost): Deleted.
(WebCore::Quirks::shouldEmulateEditingButtonsAndGesturesInHiddenEditableAreas const): Deleted.
- page/Quirks.h:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setSyntheticEditingCommandsEnabled):
(WebCore::RuntimeEnabledFeatures::syntheticEditingCommandsEnabled const):
Source/WebKit:
Add a feature flag to gate synthetic editing commands.
- Shared/WebPreferences.yaml:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getFocusedElementInformation):
Source/WebKitLegacy/mac:
Add plumbing for synthetic editing command feature flag.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences syntheticEditingCommandsEnabled]):
(-[WebPreferences setSyntheticEditingCommandsEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
- 1:55 PM Changeset in webkit [246443] by
-
- 7 edits in tags/Safari-608.1.29.1/Source
Versioning.
- 1:46 PM Changeset in webkit [246442] by
-
- 1 copy in tags/Safari-608.1.29.1
New tag.
- 1:10 PM Changeset in webkit [246441] by
-
- 4 edits in trunk/Source/WebCore
REGRESSION(244439): platform/mac/media/encrypted-media/fps-* tests are crashing
https://bugs.webkit.org/show_bug.cgi?id=198612
<rdar://problem/51078978>
Reviewed by Eric Carlson.
There are two implementations of a 'cenc' initialiation data factory; an ASSERT fires when
the second one is added to the registry. Unify them.
- Modules/encryptedmedia/InitDataRegistry.cpp:
(WebCore::extractKeyIDsCenc):
- platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
(WebCore::CDMPrivateFairPlayStreaming::validFairPlayStreamingSchemes):
(WebCore::CDMPrivateFairPlayStreaming::fairPlaySystemID):
(WebCore::validInitDataTypes):
(WebCore::CDMFactory::platformRegisterFactories):
(WebCore::validFairPlayStreamingSchemes): Deleted.
(WebCore::CDMPrivateFairPlayStreaming::cencName): Deleted.
(WebCore::fairPlaySystemID): Deleted.
(WebCore::extractSchemeAndKeyIdFromCenc): Deleted.
(WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsCenc): Deleted.
(WebCore::CDMPrivateFairPlayStreaming::sanitizeCenc): Deleted.
- platform/graphics/avfoundation/CDMFairPlayStreaming.h:
- 1:10 PM Changeset in webkit [246440] by
-
- 3 edits in trunk/LayoutTests
Move http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html off of testRunner.setAlwaysAcceptCookies()
https://bugs.webkit.org/show_bug.cgi?id=198863
<rdar://problem/47854589>
Unreviewed test gardening.
testRunner.setAlwaysAcceptCookies() is not working right (tracked
in rdar://problem/51757107). Therefore, we need to change
http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html
to make it work properly.
- http/tests/resourceLoadStatistics/remove-blocking-in-redirect-expected.txt:
- http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html:
- 11:59 AM Changeset in webkit [246439] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed. Follow up to r246438. This removes a debug assert until
we do further compiler work in: https://bugs.webkit.org/show_bug.cgi?id=198861
- Modules/webgpu/WHLSL/WHLSLCheckDuplicateFunctions.cpp:
(WebCore::WHLSL::checkDuplicateFunctions):
- Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt:
- 11:01 AM Changeset in webkit [246438] by
-
- 11 edits4 adds in trunk
[WHLSL] Implement out-of-bounds and nullptr behavior
https://bugs.webkit.org/show_bug.cgi?id=198600
<rdar://problem/51668853>
Reviewed by Robin Morisset.
Source/WebCore:
The behavior we're implementing is:
- OOB writes are ignored.
- OOB reads return zero.
- Writes to null are ignored.
- Reads from null return zero.
- &*x == x, including &*null == null.
We implement this like so:
- The value stack in FunctionWriter turns into a stack of pairs: rvalues and lvalues. rvalues are represented the same as before. Lvalues are always pointers.
- Anything that produces an lvalue must push a pointer to the stack. Not all things produce lvalues, so that entry in the stack may be empty. However, all things that produce lvalues also produce rvalues. So, "*x = 42" works, and so does "foo(*x)". Nodes that produce lvalues are responsible for also producing an rvalue, which should be the value as if the lvalue was dereferenced at that point in program execution. So the "*x" in "thread int* x = null; *x" produces the int zero for its rvalue, and null for its lvalue.
- Dereference just works, as dereference produces both an lvalue and rvalue. Dereference node's child must also be an lvalue. So we just forward that value along on the stack. For the rvalue, if we try to dereference nullptr, we just fill in zero bytes instead. Otherwise, the rvalue is the result of dereferencing the non-null pointer.
- Assignment expressions check if the incoming lvalue is null. If it is, it skips the assignment.
- operator&[] returns nullptr on an OOB access. Then, based on the above behavior, we get the desired OOB reads return zero, and OOB writes are ignored.
- MakePointerExpression just takes the last lvalue off the stack (which must be a pointer) and returns it as an rvalue.
- VariableReference will push both the variable value and a pointer to the variable onto the stack.
This patch also fixes a few bugs where we weren't giving certain AST nodes the
proper address space values.
This patch also removes code to generate native functions for operators
"operator[]" and "operator[]=" as we should never be generating these
ourselves. We should only be generating the "operator&[]" ander.
Tests: webgpu/whlsl-null-dereference.html
webgpu/whlsl-oob-access.html
- Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::FunctionDefinitionWriter):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::appendRightValue):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::appendLeftValue):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::takeLastValue):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::takeLastLeftValue):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::visit):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::emitLoop):
- Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp:
(WebCore::WHLSL::Metal::writeNativeFunction):
- Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.h:
- Modules/webgpu/WHLSL/Metal/WHLSLTypeNamer.cpp:
(WebCore::WHLSL::Metal::TypeNamer::emitUnnamedTypeDefinition):
- Modules/webgpu/WHLSL/WHLSLPreserveVariableLifetimes.cpp:
(WebCore::WHLSL::PreserveLifetimes::assignVariableIntoStruct):
- Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp:
(WebCore::WHLSL::PropertyResolver::visit):
- Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt:
- platform/graphics/gpu/cocoa/GPUComputePipelineMetal.mm:
(WebCore::trySetFunctions):
- platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm:
(WebCore::trySetFunctions):
LayoutTests:
- webgpu/whlsl-null-dereference-expected.txt: Added.
- webgpu/whlsl-null-dereference.html: Added.
- webgpu/whlsl-oob-access-expected.txt: Added.
- webgpu/whlsl-oob-access.html: Added.
- 10:42 AM Changeset in webkit [246437] by
-
- 3 edits in trunk/Source/WebCore
CRASH(nullptr) in WebCore::jsAudioContextCurrentTime()
https://bugs.webkit.org/show_bug.cgi?id=198859
<rdar://problem/27986991>
Reviewed by Eric Carlson.
AudioContext's m_destinationNode can become null during iframe teardown,
but can AudioContext methods can still be called by JavaScript. Add null-checks
to all (remaing) unprotected dereferences of m_destinationNode.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::uninitialize):
(WebCore::AudioContext::createBufferSource):
(WebCore::AudioContext::createScriptProcessor):
(WebCore::AudioContext::createBiquadFilter):
(WebCore::AudioContext::createPanner):
(WebCore::AudioContext::createConvolver):
(WebCore::AudioContext::createDynamicsCompressor):
(WebCore::AudioContext::createAnalyser):
(WebCore::AudioContext::createGain):
(WebCore::AudioContext::createDelay):
(WebCore::AudioContext::createChannelSplitter):
(WebCore::AudioContext::createChannelMerger):
(WebCore::AudioContext::createOscillator):
- Modules/webaudio/AudioContext.h:
(WebCore::AudioContext::currentSampleFrame const):
(WebCore::AudioContext::currentTime const):
(WebCore::AudioContext::sampleRate const):
- 10:14 AM Changeset in webkit [246436] by
-
- 21 edits in trunk
Cloning a MediaStreamTrack does not clone the logger
https://bugs.webkit.org/show_bug.cgi?id=198844
Reviewed by Eric Carlson.
Source/WebCore:
Make MediaStream and MediaStreamTrack rely on their private versions for logging.
Move from a RefPtr version to a Ref so as to forbid nullptr crashes.
Make sure that RealtimeIncomingAudioSource and RealtimeIncomingVideoSource check for their logger before logging.
Covered by existing tests and updated test.
- Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
(WebCore::loggerFromContext):
(WebCore::CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack):
- Modules/mediastream/MediaStream.cpp:
(WebCore::loggerFromContext):
(WebCore::MediaStream::create):
(WebCore::MediaStream::MediaStream):
- Modules/mediastream/MediaStream.h:
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::MediaStreamTrack):
- Modules/mediastream/MediaStreamTrack.h:
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::allow):
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::mediaStreamFromRTCStream):
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::LibWebRTCPeerConnectionBackend::createReceiverForSource):
- Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
- platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::create):
(WebCore::MediaStreamPrivate::MediaStreamPrivate):
(WebCore::MediaStreamPrivate::setLogger): Deleted.
- platform/mediastream/MediaStreamPrivate.h:
- platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::create):
(WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
(WebCore::MediaStreamTrackPrivate::clone):
(WebCore::MediaStreamTrackPrivate::setLogger): Deleted.
- platform/mediastream/MediaStreamTrackPrivate.h:
- platform/mediastream/RealtimeMediaSourceCenter.cpp:
(WebCore::RealtimeMediaSourceCenter::createMediaStream):
- platform/mediastream/RealtimeMediaSourceCenter.h:
- platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp:
(WebCore::RealtimeIncomingAudioSourceCocoa::OnData):
- platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
(WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferPool):
(WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferFromVideoFrame):
(WebCore::RealtimeIncomingVideoSourceCocoa::OnFrame):
LayoutTests:
- fast/mediastream/MediaStreamTrack-clone-expected.txt:
- fast/mediastream/MediaStreamTrack-clone.html:
- 10:12 AM Changeset in webkit [246435] by
-
- 2 edits in trunk/LayoutTests
webgpu/compute-squares.html test was deleted in https://trac.webkit.org/changeset/246427
https://bugs.webkit.org/show_bug.cgi?id=198841
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations: Removing expectation for deleted teest
- 8:53 AM Changeset in webkit [246434] by
-
- 5 edits in trunk/Tools
import-w3c-tests should respect WEBKIT_OUTPUTDIR
https://bugs.webkit.org/show_bug.cgi?id=198682
<rdar://problem/51536931>
Reviewed by Jonathan Bedard.
Check for WEBKIT_OUTPUTDIR environment variable to compute the w3c-tests folder.
Made some refactoring to also teach WPTPaths users about WEBKIT_OUTPUTDIR.
- Scripts/webkitpy/common/webkit_finder.py:
(WebKitFinder.path_from_webkit_outputdir):
- Scripts/webkitpy/w3c/common.py:
(WPTPaths):
(WPTPaths.checkout_directory):
(WPTPaths.wpt_checkout_path):
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.init):
- Scripts/webkitpy/w3c/test_importer_unittest.py:
(test_checkout_directory):
- 7:44 AM Changeset in webkit [246433] by
-
- 2 edits in trunk/LayoutTests
[Win10] Some tests are failing only on specific machines
https://bugs.webkit.org/show_bug.cgi?id=197509
Unreviewed test gardening.
- platform/win/TestExpectations:
- 6:32 AM WebKitGTK/2.24.x edited by
- (diff)
- 6:05 AM Changeset in webkit [246432] by
-
- 5 edits2 adds in trunk
IntersectionObserver rootMargin detection fails when
rootis an element
https://bugs.webkit.org/show_bug.cgi?id=198784
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Import https://github.com/web-platform-tests/wpt/pull/17323.
- web-platform-tests/intersection-observer/root-margin-root-element-expected.txt: Added.
- web-platform-tests/intersection-observer/root-margin-root-element.html: Added.
Source/WebCore:
When computing a target's bounds in root space, we were applying the root's
clip rect (if any), and then intersecting with the root rect expanded by the
root margin. This meant that if a target did not intersect the non-expanded root
rect, we would get an empty intersection even if the target did intersect the
expanded root rect. Fix this by not applying the root's clip rect when computing
a target's bounds in root space. Add a new VisibleRectContextOption::ApplyContainerClip
that determines whether RenderObject::computeVisibleRectInContainer should apply
the container's clip.
Test: imported/w3c/web-platform-tests/intersection-observer/root-margin-root-element.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::applyCachedClipAndScrollPosition const):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::visibleRectContextForRepaint):
- rendering/RenderObject.h:
- 1:02 AM Changeset in webkit [246431] by
-
- 2 edits in trunk/Source/WebCore
[cairo] Entering text into forms on github.com creates a trapezoid artifact
https://bugs.webkit.org/show_bug.cgi?id=126124
Reviewed by Michael Catanzaro.
Mixing antialiasing modes in the same clip is not actually supported by cairo. In the case of rectangle clips we
are already ignoring the current antialiasing to not do any antialiasing. We could do the opposite for clips
receiving a path, we want to enforce antialiasing in that case since the paths might contain curves. Doing that
we ensure all calls to clip with a path use the same antialiasing, which is the case of the github bug.
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::doClipWithAntialias): Helper to call cairo_clip() with the given antialising mode.
(WebCore::Cairo::clip): Use doClipWithAntialias().
(WebCore::Cairo::clipOut): Ditto.
(WebCore::Cairo::clipPath): Ditto.