Timeline
Jul 7, 2020:
- 9:36 PM Changeset in webkit [264059] by
-
- 3 edits3 adds in trunk
[JSC] BytecodeGenerator should be robust against failed constant generation
https://bugs.webkit.org/show_bug.cgi?id=214062
<rdar://problem/65117916>
Reviewed by Saam Barati.
JSTests:
- stress/bigint-oom-in-codegen-array-literal-context.js: Added.
(shouldThrow):
(test):
- stress/bigint-oom-in-codegen-binary-conditional-context.js: Added.
(shouldThrow):
(test):
- stress/bigint-oom-in-codegen-conditional-context.js: Added.
(shouldThrow):
(test):
Source/JavaScriptCore:
Some code in NodesCodegen.cpp assumes
jsValue(generator)call for constant nodes must succeed.
But this can fail when BigInt in source code is too large and becomes OOM. BytecodeGenerator should
be robust against BigInt OOM.
- bytecompiler/NodesCodegen.cpp:
(JSC::ConstantNode::emitBytecodeInConditionContext):
(JSC::ArrayNode::emitBytecode):
(JSC::BinaryOpNode::tryFoldToBranch):
- 8:21 PM Changeset in webkit [264058] by
-
- 5 edits in trunk/Source/WebCore
[Apple Pay] Fix the build on Catalina internal SDKs
https://bugs.webkit.org/show_bug.cgi?id=214066
Unreviewed build fix for the 10.15.0 Internal SDK.
Source/WebCore:
- Modules/applepay/ApplePaySetupFeature.mm:
(WebCore::ApplePaySetupFeature::supportsInstallments const):
Source/WebCore/PAL:
- pal/spi/cocoa/PassKitInstallmentsSPI.h:
- pal/spi/cocoa/PassKitSPI.h:
- 8:18 PM Changeset in webkit [264057] by
-
- 4 edits in trunk/LayoutTests
[GTK][WPE] Garden some recent failures and move related entries together
Unreviewed test gardening.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 7:56 PM Changeset in webkit [264056] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
Rebaseline windowclient-navigate.https after service-workers resync
This test was rebaselined in r264043 and the as the test changed to
an async function, the emmited messages changed.
Unreviewed test gardening.
- web-platform-tests/service-workers/service-worker/windowclient-navigate.https-expected.txt:
- 7:28 PM Changeset in webkit [264055] by
-
- 15 edits in trunk/Source/WebKit
Modernize FindOptions IPC code
https://bugs.webkit.org/show_bug.cgi?id=214063
Patch by Alex Christensen <achristensen@webkit.org> on 2020-07-07
Reviewed by Chris Dumez.
Use callWithAsyncReply instead of GenericCallback.
Use OptionSet<FindOptions> instead of FindOptions or uint32_t.
No change in behavior.
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toFindOptions):
- Shared/WebFindOptions.h:
(): Deleted.
- UIProcess/API/Cocoa/WKWebView.mm:
(toFindOptions):
(-[WKWebView findString:withConfiguration:completionHandler:]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::findStringMatches):
(WebKit::WebPageProxy::findString):
(WebKit::WebPageProxy::countStringMatches):
(WebKit::WebPageProxy::findStringCallback): Deleted.
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::findString):
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebPage/FindController.cpp:
(WebKit::core):
(WebKit::FindController::countStringMatches):
(WebKit::FindController::updateFindUIAfterPageScroll):
(WebKit::FindController::findString):
(WebKit::FindController::findStringMatches):
- WebProcess/WebPage/FindController.h:
- WebProcess/WebPage/WebPage.messages.in:
- 6:56 PM Changeset in webkit [264054] by
-
- 2 edits in trunk/Source/WebCore
Allow WebCoreNSURLSession sendH2Ping:pongHandler: to be called from any thread like the rest of WebCoreNSURLSession methods
https://bugs.webkit.org/show_bug.cgi?id=214065
Patch by Alex Christensen <achristensen@webkit.org> on 2020-07-07
Reviewed by Jer Noble.
Otherwise horrible crashes happen.
The WebCore function calls and loading IPC calls need to happen on the main thread,
and the callback should happen on the NSOperationQueue given when constructing the WebCoreNSURLSession.
- platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSession sendH2Ping:pongHandler:]):
- 6:14 PM Changeset in webkit [264053] by
-
- 2 edits2 adds in trunk/LayoutTests
Add missing resource file for some imported/blink/compositing/squashing tests
https://bugs.webkit.org/show_bug.cgi?id=154076
Unreviewed test gardening.
Based on original patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>.
All but one test ran as expected for GTK/WPE.
- TestExpectations:
- imported/blink/compositing/squashing/resources/blue.png: Added.
- 6:02 PM Changeset in webkit [264052] by
-
- 6 edits1 add in trunk
[JSC] Should not pass Exception to JSPromise::reject
https://bugs.webkit.org/show_bug.cgi?id=214061
<rdar://problem/65134450>
Reviewed by Mark Lam.
JSTests:
- stress/import-exception.js: Added.
(import.string_appeared_here.then):
Source/JavaScriptCore:
In some places, we are passing Exception* as JSValue instead of Exception::value()'s JSValue.
Error and Exception are different, and Exception is not an object. We should pass Exception::value()'s
thrown value instead. I checkedreject(call sites and ensure error is passed.
- API/JSAPIGlobalObject.mm:
(JSC::JSAPIGlobalObject::moduleLoaderImportModule):
(JSC::JSAPIGlobalObject::moduleLoaderFetch):
- jsc.cpp:
(GlobalObject::moduleLoaderImportModule):
(GlobalObject::moduleLoaderFetch):
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::importModule):
(JSC::JSModuleLoader::resolve):
(JSC::JSModuleLoader::fetch):
(JSC::moduleLoaderParseModule):
- runtime/JSPromise.cpp:
(JSC::JSPromise::resolve):
(JSC::JSPromise::reject):
- 5:59 PM Changeset in webkit [264051] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Fix btjs by recovering CallFrame::describeFrame
https://bugs.webkit.org/show_bug.cgi?id=214055
Reviewed by Mark Lam.
While CallFrame::describeFrame is not used in WebKit tree, it is used in LLDB btjs which is invoked from python.
So we need to keep it. We also use std::call_once based buffer allocation instead ofstatic char buffer[...]
to avoid spreading debug-use-only buffer in BSS segment.
- interpreter/CallFrame.cpp:
(JSC::CallFrame::describeFrame):
- interpreter/CallFrame.h:
- 5:53 PM Changeset in webkit [264050] by
-
- 37 edits in trunk/Source
Part 2 of SimpleColor and SRGBA<uint8_t> are essentially the same - let's converge them
https://bugs.webkit.org/show_bug.cgi?id=213981
Reviewed by Darin Adler.
Source/WebCore:
- Replaces internal representation of SimpleColor based on an ARGB uint32_t with SRGBA<uint8_t>.
- Removes SimpleColor constructor taking a uint32_t. Callers that still need to convert from ARGB now do makeSimpleColor(asSRGBA(Packed::ARGB { value })).
- Removes value() and valueAsARGB() member functions from SimpleColor. Callers that need a packed representation now do Packed::ARGB { simpleColor.asSRGBA<uint8_t>() }.value.
- css/StyleColor.cpp:
(WebCore::StyleColor::colorFromKeyword):
Use asSRGBA(Packed::ARGB{...}) to constuct the color.
- css/parser/CSSParserFastPaths.cpp:
(WebCore::finishParsingNamedColor):
Use asSRGBA(Packed::ARGB{...}) (or in one case, Packed::RGBA) to constuct the color.
These can almost certainly be simplified, but in the interest of keeping things smallish,
I have left that for a subsequent change.
- editing/CompositionHighlight.h:
Switch to using auto/makeSimpleColor.
- page/cocoa/ResourceUsageOverlayCocoa.mm:
Switch to using makeSimpleColor.
(WebCore::HistoricMemoryCategoryInfo::HistoricMemoryCategoryInfo):
(WebCore::HistoricResourceUsageData::HistoricResourceUsageData):
Switch to using auto/makeSimpleColor.
- platform/adwaita/ScrollbarThemeAdwaita.cpp:
Switch to using auto/makeSimpleColor.
- platform/graphics/Color.cpp:
- platform/graphics/Color.h:
- Switch to using auto/makeSimpleColor for named colors.
- Switch to storing/encoding the inline SimpleColor as a Packed::RGBA value.
- platform/graphics/ColorBlending.cpp:
(WebCore::blend):
Update for new name of clampToComponentBytes.
- platform/graphics/ColorTypes.h:
(WebCore::Packed::RGBA::RGBA):
(WebCore::Packed::ARGB::ARGB):
(WebCore::asSRGBA):
Rename WebCore::ARGB to WebCore::Packed::ARGB. Adds companion, WebCore::Packed::RGBA. And adds constructors
which make a packed type from an SRGBA<uint8_t>.
- platform/graphics/ColorUtilities.h:
(WebCore::clampToComponentByte):
(WebCore::clampToComponentFloat):
Extract out helper functions which just do the clamping for the type.
(WebCore::clampToComponentBytes):
(WebCore::clampToComponentFloats):
Rename conversion functions that just clamp to use "clamp" prefix rather than "convert". Make use
of extracted helpers.
- platform/graphics/ImageBackingStore.h:
(WebCore::ImageBackingStore::blendPixel):
(WebCore::ImageBackingStore::pixelValue const):
Update using new packed color types and funtions.
- platform/graphics/SimpleColor.h:
(WebCore::SimpleColor::SimpleColor):
(WebCore::SimpleColor::alphaComponent const):
(WebCore::SimpleColor::alphaComponentAsFloat const):
(WebCore::SimpleColor::isOpaque const):
(WebCore::SimpleColor::isVisible const):
(WebCore::SimpleColor::colorWithAlpha const):
(WebCore::SimpleColor::invertedColorWithAlpha const):
(WebCore::SimpleColor::asSRGBA const):
(WebCore::SimpleColor::get const):
(WebCore::makeSimpleColor):
(WebCore::SimpleColor::valueAsARGB const): Deleted.
(WebCore::SimpleColor::value const): Deleted.
(WebCore::SimpleColor::redComponent const): Deleted.
(WebCore::SimpleColor::greenComponent const): Deleted.
(WebCore::SimpleColor::blueComponent const): Deleted.
- Removes constructor taking an ARGB uint32_t.
- Removes valueAsARGB()/value() functions (can use Packed::ARGB directly if needed).
- Switches internal representation to SRGBA<uint8_t>.
- Streamline makeSimpleColor functions to use shared helpers from ColorUtilities.h
- platform/graphics/cg/ColorCG.cpp:
(WebCore::cachedCGColor):
- platform/graphics/mac/ColorMac.mm:
(WebCore::nsColor):
Use Packed::RGBA to extract uint32_t for quick lookup of transparent/white/black SimpleColors. Despite the
length of the calls, SimpleColor is fully constexpr, so these actually collapse down to the uint32_t representation
at compile time.
- platform/graphics/win/GraphicsContextCGWin.cpp:
(WebCore::GraphicsContext::drawDotsForDocumentMarker):
Switch to using auto/makeSimpleColor.
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::defaultDevices):
Switch to using makeSimpleColor.
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::drawBoxes):
Switch to using auto/makeSimpleColor.
- platform/mock/ScrollbarThemeMock.cpp:
(WebCore::ScrollbarThemeMock::paintTrackBackground):
Switch to using makeSimpleColor.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::calculateBorderStyleColor):
Update comment to use per-component values.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::systemColor const):
Switch to using makeSimpleColor.
- rendering/RenderThemeAdwaita.cpp:
Switch to using auto/makeSimpleColor.
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintProgressBar):
Switch to using auto/makeSimpleColor.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor const):
Switch to using auto/makeSimpleColor.
Source/WebKit:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::paintSnapshotAtSize):
- WebProcess/WebPage/ios/FindControllerIOS.mm:
Make calls to makeSimpleColor more consistent. Use decimal rather than hex, don't pass unncessary
255 as the 4th argument.
Source/WebKitLegacy/win:
- FullscreenVideoController.cpp:
Switch to using auto/makeSimpleColor.
- 5:32 PM Changeset in webkit [264049] by
-
- 20 edits1 add in trunk
Bytecode UseDef should be aware of checkpoints
https://bugs.webkit.org/show_bug.cgi?id=213566
Reviewed by Saam Barati.
JSTests:
- stress/def-then-use-in-single-bytecode-with-checkpoints-for-of.js: Added.
(foo):
Source/JavaScriptCore:
Previously, we tried to solve teaching DFG about uses and defs of
locals across checkpoints by asking what locals were def'd at some
checkpoint. However, this was subtly wrong because we couldn't
report any uses at subsequent checkpoints so DFG thought the
local was dead immediately after its birth.
This patch reverts that change and instead teaches BytecodeUseDef
about checkpoints. Right now, BytecodeUseDef only knows about
locals at checkpoints but in the future we may teach it about tmps
at well.
Since the vectors containing our liveness bitmaps were already
sparse (they are indexed by the bytecode offset) we can reuse the
gaps to hold our checkpoint liveness information. To make sure we
don't overlap between the next bytecode and a checkpoint for the
current bytecode there is now a static assert that the length of
the bytecode is greater than the number of checkpoints. This
assumption is already true for existing bytecodes with checkpoints (and
likely to be true for future ones anyway).
Many of the BytecodeLivenessPropegation functions have been
renamed to reflect that they operate over the full instruction,
including checkpoints, rather than just the BytecodeIndex passed.
Lastly, this patch makes a speculative fix to forAllKilledOperands where we
wouldn't report that all tmps die at the end of each bytecode. I can't think
of a case where this would break things but it's probably good hygiene.
- bytecode/BytecodeGeneratorification.cpp:
(JSC::GeneratorLivenessAnalysis::run):
- bytecode/BytecodeIndex.h:
(JSC::BytecodeIndex::BytecodeIndex):
(JSC::BytecodeIndex::checkpoint const):
(JSC::BytecodeIndex::withCheckpoint const):
(JSC::BytecodeIndex::pack):
- bytecode/BytecodeLivenessAnalysis.cpp:
(JSC::BytecodeLivenessAnalysis::computeFullLiveness):
(JSC::BytecodeLivenessAnalysis::dumpResults):
(JSC::tmpLivenessForCheckpoint):
(JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeIndex): Deleted.
(JSC::livenessForCheckpoint): Deleted.
- bytecode/BytecodeLivenessAnalysis.h:
(JSC::BytecodeLivenessAnalysis::getLivenessInfoAtInstruction):
- bytecode/BytecodeLivenessAnalysisInlines.h:
(JSC::BytecodeLivenessPropagation::stepOverBytecodeIndexDef):
(JSC::BytecodeLivenessPropagation::stepOverBytecodeIndexUse):
(JSC::BytecodeLivenessPropagation::stepOverBytecodeIndexUseInExceptionHandler):
(JSC::BytecodeLivenessPropagation::stepOverBytecodeIndex):
(JSC::BytecodeLivenessPropagation::stepOverInstruction):
(JSC::BytecodeLivenessPropagation::computeLocalLivenessForInstruction):
(JSC::BytecodeLivenessPropagation::computeLocalLivenessForBlock):
(JSC::BytecodeLivenessPropagation::getLivenessInfoAtInstruction):
(JSC::BytecodeLivenessPropagation::stepOverInstructionDef): Deleted.
(JSC::BytecodeLivenessPropagation::stepOverInstructionUse): Deleted.
(JSC::BytecodeLivenessPropagation::stepOverInstructionUseInExceptionHandler): Deleted.
(JSC::BytecodeLivenessPropagation::computeLocalLivenessForBytecodeIndex): Deleted.
(JSC::BytecodeLivenessPropagation::getLivenessInfoAtBytecodeIndex): Deleted.
- bytecode/BytecodeUseDef.cpp:
(JSC::computeUsesForBytecodeIndexImpl):
(JSC::computeDefsForBytecodeIndexImpl):
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeIndex):
(JSC::computeDefsForBytecodeIndex):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeIndexSlow):
(JSC::CodeBlock::validate):
- bytecode/FullBytecodeLiveness.h:
(JSC::FullBytecodeLiveness::getLiveness const):
(JSC::FullBytecodeLiveness::toIndex):
- bytecode/Instruction.h:
(JSC::BaseInstruction::numberOfCheckpoints const):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::ForInContext::finalize):
- dfg/DFGForAllKills.h:
(JSC::DFG::forAllKilledOperands):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::isLiveInBytecode):
- dfg/DFGGraph.h:
- dfg/DFGMovHintRemovalPhase.cpp:
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::cleanMustHandleValuesIfNecessary):
- generator/Opcode.rb:
- generator/Section.rb:
- 4:38 PM Changeset in webkit [264048] by
-
- 2 edits in trunk/LayoutTests
Mark 3 WPT tests imported in r264035 as failing in iOS Simulator.
This is because of lack of WebAssembly support on this platform.
- platform/ios-simulator/TestExpectations:
- 4:30 PM Changeset in webkit [264047] by
-
- 8 edits in trunk/Source/WebKit
Use sendWithAsyncReply instead of EditingRangeCallback
https://bugs.webkit.org/show_bug.cgi?id=214056
Patch by Alex Christensen <achristensen@webkit.org> on 2020-07-07
Reviewed by Chris Dumez.
No change in behavior.
- UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm:
(-[WKReloadFrameErrorRecoveryAttempter initWithWebView:frameHandle:urlString:]):
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::selectedRangeWithCompletionHandler):
(WebKit::WebViewImpl::markedRangeWithCompletionHandler):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getMarkedRangeAsync):
(WebKit::WebPageProxy::getSelectedRangeAsync):
(WebKit::WebPageProxy::editingRangeCallback): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 4:00 PM Changeset in webkit [264046] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: (r263987): [ iOS Debug WK2 ] 12 web-platform-tests semantics/scripting consistently failing
https://bugs.webkit.org/show_bug.cgi?id=214058
<rdar://problem/65193100>
Unreviewed, mark as flaky on iOS some of the new html/semantics web-platform-tests that got added
during the resync in r263987. Those give different TEXT results on release and debug builds so this
must be due to a timing issue, indicating those tests are actually flaky.
- platform/ios/TestExpectations:
- 3:34 PM Changeset in webkit [264045] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas: show an error message if unable to fetch shader source
https://bugs.webkit.org/show_bug.cgi?id=213661
Reviewed by Brian Burg.
- UserInterface/Views/ShaderProgramContentView.js:
(WI.ShaderProgramContentView):
(WI.ShaderProgramContentView.prototype._refreshContent):
- UserInterface/Views/ShaderProgramContentView.css:
(.content-view.shader-program > .spinner-container): Added.
(.content-view.shader-program > .spinner-container > .indeterminate-progress-spinner): Added.
- 3:33 PM Changeset in webkit [264044] by
-
- 13 edits37 adds in trunk
Enabled testing of date/time input types for WebKit2 macOS
https://bugs.webkit.org/show_bug.cgi?id=214044
Reviewed by Chris Dumez.
Tools:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Enable the date/time input types unconditionally for testing when support is compiled in.
LayoutTests:
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
Move skipping of date/time input types to WebKit1 specific TestExpectations
to allow for testing on WebKit2. If this goes well, we can look into enabling
them for WebKit1 as well.
- platform/mac-wk2/accessibility/roles-exposed-expected.txt:
- platform/mac-wk2/fast/forms/datalist: Added.
- platform/mac-wk2/fast/forms/datalist/input-list-expected.txt: Added.
- platform/mac-wk2/fast/forms/date: Added.
- platform/mac-wk2/fast/forms/date/date-input-rendering-basic-expected.png: Added.
- platform/mac-wk2/fast/forms/date/date-input-rendering-basic-expected.txt: Added.
- platform/mac-wk2/fast/forms/time: Added.
- platform/mac-wk2/fast/forms/time/time-input-rendering-basic-expected.png: Added.
- platform/mac-wk2/fast/forms/time/time-input-rendering-basic-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/rendering: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/form-controls: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/form-controls/resets-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/rendering/widgets: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/rendering/widgets/appearance: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/rendering/widgets/appearance/default-styles-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-elements-filter-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/date-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/datetime-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/datetime-local-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-seconds-leading-zeroes-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-valueasdate-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-valueasdate-stepping-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-valueasnumber-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-valueasnumber-stepping-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/month-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-2-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/week-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange-expected.txt: Added.
Update results, adding new platform specific results where needed.
- 3:32 PM Changeset in webkit [264043] by
-
- 118 edits2 moves44 adds6 deletes in trunk/LayoutTests
Resync web-platform-tests/service-workers from upstream
https://bugs.webkit.org/show_bug.cgi?id=214052
Reviewed by Geoff Garen.
LayoutTests/imported/w3c:
Resync web-platform-tests/service-workers from upstream 145839c323ba1ec8b973.
- web-platform-tests/service-workers/*: Updated.
LayoutTests:
- tests-options.json:
- 3:31 PM Changeset in webkit [264042] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Allow additional IOKit classes for Apple Silicon
https://bugs.webkit.org/show_bug.cgi?id=214021
Reviewed by Sam Weinig.
<rdar://problem/63696732>
Update two of the arm64-specific sandbox rules to include additional
IOKit classes (and one IOKit property).
- WebProcess/com.apple.WebProcess.sb.in:
- 3:05 PM Changeset in webkit [264041] by
-
- 1 copy in tags/Safari-610.1.21.1.1
Tag Safari-610.1.21.1.1.
- 2:48 PM Changeset in webkit [264040] by
-
- 1 copy in tags/Safari-610.1.21.0.1
Tag Safari-610.1.21.0.1.
- 1:43 PM Changeset in webkit [264039] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, mark one of the imported WPT webaudio tests as flaky.
The test is failing and printing out information that is hardware specific.
- 1:42 PM Changeset in webkit [264038] by
-
- 9 edits13 copies883 adds in trunk/LayoutTests/imported/w3c
Resync web-platform-tests/html/editing from upstream
https://bugs.webkit.org/show_bug.cgi?id=214051
Reviewed by Sam Weinig.
Resync web-platform-tests/html/editing from upstream 145839c323ba1ec8b973.
- resources/import-expectations.json:
- web-platform-tests/html/editing/*: Updated.
- 12:49 PM Changeset in webkit [264037] by
-
- 5 edits2 adds in trunk
Web content process hangs in AccessibilityRenderObject::setSelectedVisiblePositionRange in some corner cases.
https://bugs.webkit.org/show_bug.cgi?id=214017
Source/WebCore:
<rdar://problem/63000006>
Reviewed by Chris Fleizach.
Ensures that in the case of collapsed ranges, the VisiblePosition that
the selection is being set to, is contained in the Element object.
Test: accessibility/mac/selected-visible-position-range.html
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const):
LayoutTests:
Reviewed by Chris Fleizach.
- accessibility/mac/resources/accessibility-helper.js:
(selectTextInNode):
- accessibility/mac/selected-visible-position-range-expected.txt: Added.
- accessibility/mac/selected-visible-position-range.html: Added.
- accessibility/mac/text-marker-p-tags.html:
- 12:45 PM Changeset in webkit [264036] by
-
- 2 edits in trunk/Source/WebKit
Network process crashes in WebKit::StorageManagerSet::deleteSessionStorageForOrigins
https://bugs.webkit.org/show_bug.cgi?id=214050
Patch by Sihui Liu <sihui_liu@appe.com> on 2020-07-07
Reviewed by Chris Dumez.
In NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains, deleteSessionStorageForOrigins is called
in a callback without checking if session still exists.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
- 12:43 PM Changeset in webkit [264035] by
-
- 47 edits2 copies2 moves74 adds3 deletes in trunk/LayoutTests/imported/w3c
Resync web-platform-tests/html/webappapis from upstream
https://bugs.webkit.org/show_bug.cgi?id=214049
Reviewed by Darin Adler.
Resync web-platform-tests/html/webappapis from upstream 145839c323ba1ec8b.
- resources/resource-files.json:
- web-platform-tests/html/webappapis/*: Updated.
- 12:17 PM Changeset in webkit [264034] by
-
- 2 edits in trunk/Source/WebCore
Fix potential pixel buffer leak in ImageRotationSessionVT::rotate
https://bugs.webkit.org/show_bug.cgi?id=213922
Reviewed by Eric Carlson.
Fix a potential memory leak in an error case.
Add more logging to be able to see errors.
Remove the kCVPixelBufferIOSurfacePropertiesKey key on iOS from the buffer pool to revert
part of https://trac.webkit.org/changeset/258504/webkit that seems problematic in iOS.
- platform/graphics/cv/ImageRotationSessionVT.mm:
(WebCore::ImageRotationSessionVT::initialize):
(WebCore::ImageRotationSessionVT::rotate):
- 11:59 AM Changeset in webkit [264033] by
-
- 1 edit1 delete in trunk/LayoutTests/imported/w3c
Unreviewed, drop tests from web-platform-tests/html/dom/dynamic-markup-insertion.
Those tests were moved upstream to html/webappapis/dynamic-markup-insertion/ and should have
been removed during the resync in r263903. html/webappapis/dynamic-markup-insertion/ is
about to get merged via Bug 214049.
- web-platform-tests/html/dom/dynamic-markup-insertion/closing-the-input-stream/document.close-01-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/closing-the-input-stream/w3c-import.log: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/001-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/001.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/002-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/002.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/003-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/003.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/004-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/004.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/005-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/005.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/005.js: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/006-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/006.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/006.js: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/007-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/007.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/007.js: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/008-1.js: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/008-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/008.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/008.js: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/009-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/009.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/010-1.js: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/010-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/010.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/010.js: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/011-1.js: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/011-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/011.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/011.js: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/012-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/012.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/012.js: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/013-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/013.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/013.js: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/014-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/014.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/015-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/015.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/016-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/016.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/017-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/017.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/018-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/018.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/019-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/019.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/020-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/020.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/021-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/021.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/022-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/022.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/023-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/023.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/024-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/024.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/025-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/025.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/026-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/026.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/027-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/027.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/028-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/028.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/029-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/029.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/030-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/030.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/031-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/031.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/032-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/032.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/033-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/033.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/034-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/034.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/035-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/035.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/036-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/036.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/037-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/037.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/038-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/038.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/039-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/039.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/040-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/040.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/041-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/041.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/042-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/042.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/043-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/043.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/044-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/044.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/045-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/045.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/046-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/046.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/047-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/047.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/048-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/048.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/049-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/049.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/050-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/050.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/051-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/051.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/document.write-01-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/document.write-01.xhtml: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/document.write-02-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/document.write-02.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/empty.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_001-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_001.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_002-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_002.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_003-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_003.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_004-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_004.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_005-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_005.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_005.js: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_006-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_006.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_007-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_007.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_008-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_008.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_009-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_009.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_010-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/iframe_010.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/nested-document-write-1-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/nested-document-write-1.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/nested-document-write-2-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/nested-document-write-2.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/nested-document-write-external.js: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/original-id.json: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_001-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_001.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_002-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_002.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_003-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_003.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_004-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_004.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_005-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_005.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_006-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_006.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_007-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_007.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_008-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_008.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_009-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_009.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_010-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_010.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_011-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_011.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_012-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_012.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_013-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/script_013.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/w3c-import.log: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/write-active-document-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-write/write-active-document.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-01-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-02-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-02.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-03-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-03.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/original-id.json: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/w3c-import.log: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/001-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/001.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/002-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/002.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/004-1-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/004-1.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/004-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/004.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/005-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/005.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/006-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/006.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/007-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/007.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/008-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/008.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/009-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/009.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-1.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-2.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011-1-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011-1.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012-1-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012-1.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013-1-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013-1.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014-1-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014-1.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015-1-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015-1.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/016-1-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/016-1.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/016-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/016.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-01-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame-expected.txt: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html: Removed.
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/w3c-import.log: Removed.
- 11:44 AM Changeset in webkit [264032] by
-
- 3 edits in trunk/Source/WebKit
WebContent process sometimes kills itself because it is receiving too much IPC from the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=214048
<rdar://problem/64844770>
Reviewed by Darin Adler.
There was logic in IPC::Connection::enqueueIncomingMessage() that would kill the XPC connection
if too many IPC messages had been queued without the main thread processing them. The intention
was to protect the UIProcess again a badly behavior WebProcess sending too much IPC and it would
in effect terminate that WebProcess. However, the logic would actually apply too ALL IPC
connections. In <rdar://problem/64844770>, we see that the WebProcess is stuck on a sync IPC and
thus not processing other incoming IPCs. The UIProcess is sending it a lot of IPC so the
WebProcess decides to kill its IPC connection, thus terminating itself, which does not make much
sense. To address the issue, we now enable to killing on too much IPC behavior only if IPC message
throttling is enabled for the IPC connection, which means it only impacts the UIProcess connections
to its WebProcesses.
- Platform/IPC/Connection.cpp:
(IPC::Connection::enableIncomingMessagesThrottling):
(IPC::Connection::enqueueIncomingMessage):
- Platform/IPC/Connection.h:
(IPC::Connection::isIncomingMessagesThrottlingEnabled const):
- 11:16 AM Changeset in webkit [264031] by
-
- 6 edits4 adds in trunk
Unable to scroll elcomerico.pe page until the page finishes loading
https://bugs.webkit.org/show_bug.cgi?id=214027
<rdar://problem/64646259>
Reviewed by Antti Koivisto.
Source/WebCore:
<https://elcomercio.pe/mundo/eeuu/que-visas-para-estados-unidos-fueron-suspendidas-por-orden-de-donald-trump-hasta-fin-de-ano-y-a-quien-afecta-la-medida-noticia/>
had a scaleX(0) element as an ancestor of an overflow:scroll. The CALayer hit-testing code failed to take
non-invertible transforms into account, causing the overflow:scroll to intercept scrolling events.
Fix by explicitly testing for non-invertible transforms, and, when found, bailing from the
sublayer walk. A non-invertible layer transform makes all its descendants non hit-testable.
Tests: fast/scrolling/ios/non-invertible-transformed-scroller-ancestor.html
fast/scrolling/mac/non-invertible-transform-hit-testing.html
- page/scrolling/mac/ScrollingTreeMac.mm:
(collectDescendantLayersAtPoint):
- platform/graphics/transforms/TransformationMatrix.h:
Source/WebKit:
The same issue with non-invertible transforms existed on iOS. r248015 attempted to
fix some instances of this, but failed to take into account the fact that a non-invertible
transfrom should also prevent hit-testing of descendant views.
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:
(WebKit::collectDescendantViewsAtPoint):
LayoutTests:
macOS and iOS tests with non-invertible transforms.
- fast/scrolling/ios/non-invertible-transformed-scroller-ancestor-expected.txt: Added.
- fast/scrolling/ios/non-invertible-transformed-scroller-ancestor.html: Added.
- fast/scrolling/mac/non-invertible-transform-hit-testing-expected.txt: Added.
- fast/scrolling/mac/non-invertible-transform-hit-testing.html: Added.
- 11:03 AM Changeset in webkit [264030] by
-
- 2 edits in trunk/Source/WebCore
Function didCleanupFullscreencreen() should be called at the end of VideoFullscreenInterfaceAVKit::cleanupFullscreen()
https://bugs.webkit.org/show_bug.cgi?id=214032
Reviewed by Eric Carlson.
VideoFullscreenManagerProxy::didCleanupFullscreen() may destroy an instance of VideoFullscreenInterfaceAVKit.
So we should not access member variables of VideoFullscreenInterfaceAVKit after calling didCleanupFullscreen()
in VideoFullscreenInterfaceAVKit::cleanupFullscreen().
Fix a flaky test crash: media/video-autoplay.html
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::cleanupFullscreen):
- 10:40 AM Changeset in webkit [264029] by
-
- 8 edits in branches/safari-610.1.21.1-branch/Source
Versioning.
WebKit-610.1.21.1.1
- 10:38 AM Changeset in webkit [264028] by
-
- 8 edits in branches/safari-610.1.21.0-branch/Source
Versioning.
WebKit-610.1.21.0.1
- 10:38 AM Changeset in webkit [264027] by
-
- 14 edits2 adds in trunk
<attachment> layout does not scale with Dynamic Type size changes
https://bugs.webkit.org/show_bug.cgi?id=214023
<rdar://problem/64914762>
Reviewed by Sam Weinig.
Source/WebCore:
Test: fast/attachment/attachment-dynamic-type.html
- rendering/RenderThemeIOS.mm:
(WebCore::shortCaptionPointSizeWithContentSizeCategory):
(WebCore::attachmentDynamicTypeScaleFactor):
(WebCore::RenderAttachmentInfo::buildWrappedLines):
(WebCore::RenderThemeIOS::attachmentIntrinsicSize const):
Scale the <attachment> overall size and text line width by the Dynamic Type
scaling factor, determined by dividing the resolved point size of two
font descriptors created with the Large (default) category and the Current category.
- rendering/RenderAttachment.cpp:
(WebCore::RenderAttachment::layout):
- rendering/RenderTheme.h:
(WebCore::RenderTheme::attachmentShouldAllowWidthToShrink const):
- rendering/RenderThemeIOS.h:
Add a RenderTheme bit controlling the behavior introduced in r202117.
After r202117, <attachment> elements are never allowed to shrink. This
is fine for macOS, where we don't vary the Dynamic Type size, only the content,
but undesirable on iOS, where the size of the <attachment> is based solely
on Dynamic Type size (and thus can shrink when the size is reduced),
and not the content.
- Configurations/WebCoreTestSupport.xcconfig:
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setContentSizeCategory):
- testing/Internals.h:
- testing/Internals.idl:
Add a Internals method to change the current Dynamic Type category.
Source/WebCore/PAL:
- pal/spi/cocoa/CoreTextSPI.h:
LayoutTests:
- TestExpectations:
- fast/attachment/attachment-dynamic-type-expected.txt: Added.
- fast/attachment/attachment-dynamic-type.html: Added.
- platform/ios/TestExpectations:
Add a test that ensures that changing the content size to XXXL also increases the size of the <attachment>.
- 10:22 AM Changeset in webkit [264026] by
-
- 2 edits in branches/safari-610.1.21.0-branch/Source/WebKit
Cherry-pick r264019. rdar://problem/65179688
Forward declare WKContentWorld in WKUserScript.h
<rdar://problem/65164826> and https://bugs.webkit.org/show_bug.cgi?id=214046
Unreviewed.
- UIProcess/API/Cocoa/WKUserScript.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264019 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:16 AM Changeset in webkit [264025] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/tests/adClickAttribution/store-disabled-in-ephemeral-session.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=207551
Unreviewed test gardening
- platform/ios-wk2/TestExpectations:
- 10:13 AM Changeset in webkit [264024] by
-
- 1 copy in branches/safari-610.1.21.1-branch
New branch.
- 10:13 AM Changeset in webkit [264023] by
-
- 1 copy in branches/safari-610.1.21.0-branch
New branch.
- 10:05 AM Changeset in webkit [264022] by
-
- 1 edit4 deletes in trunk/LayoutTests/imported/w3c
Unreviewed, drop a couple of tests that failed to get removed during resync in r263856.
These tests were renamed and exist under slightly different names after r263856.
- web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-expected.txt: Removed.
- web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting.html: Removed.
- web-platform-tests/html/browsers/the-window-object/security-window/window-security.sub-expected.txt: Removed.
- web-platform-tests/html/browsers/the-window-object/security-window/window-security.sub.html: Removed.
- 10:04 AM Changeset in webkit [264021] by
-
- 52 edits in trunk
Add WebCoreNSURLSession SPI to send HTTP/2 ping
https://bugs.webkit.org/show_bug.cgi?id=214030
<rdar://problem/64495827>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-07-07
Reviewed by Jer Noble.
Source/WebCore:
Add lots of plumbing, move internalError from WebKit to WebCore.
Covered by an API test that requires some future CFNetwork behavior.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMPromiseDeferred.h:
- loader/FrameLoaderClient.cpp: Added.
(WebCore::FrameLoaderClient::sendH2Ping):
- loader/FrameLoaderClient.h:
- loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::sendH2Ping):
- loader/MediaResourceLoader.h:
- platform/graphics/PlatformMediaResourceLoader.cpp: Added.
(WebCore::PlatformMediaResourceLoader::sendH2Ping):
- platform/graphics/PlatformMediaResourceLoader.h:
- platform/network/ResourceErrorBase.cpp:
(WebCore::internalError):
- platform/network/ResourceErrorBase.h:
- platform/network/cocoa/WebCoreNSURLSession.h:
- platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSession sendH2Ping:pongHandler:]):
- testing/Internals.cpp:
(WebCore::Internals::sendH2Ping):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
The SPI to do this through CFNetwork requires setting a block on the task
between construction and resumption. To allow this, I made PreconnectTask
and NetworkLoad require a start() call, and I added start() calls everywhere
they were implied with construction before.
- NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::PendingDownload):
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::sendH2Ping):
(WebKit::NetworkConnectionToWebProcess::preconnectTo):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::setH2PingCallback):
- NetworkProcess/NetworkDataTask.h:
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
(WebKit::NetworkLoad::start):
(WebKit::NetworkLoad::setH2PingCallback):
(WebKit::NetworkLoad::initialize): Deleted.
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::preconnectTo):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
- NetworkProcess/PreconnectTask.cpp:
(WebKit::PreconnectTask::setH2PingCallback):
(WebKit::PreconnectTask::start):
(WebKit::PreconnectTask::~PreconnectTask): Deleted.
- NetworkProcess/PreconnectTask.h:
- NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
(WebKit::ServiceWorkerSoftUpdateLoader::loadFromNetwork):
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::preconnectForSubresource):
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::setH2PingCallback):
- Shared/WebErrors.cpp:
(WebKit::internalError): Deleted.
- Shared/WebErrors.h:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::generateLoadIdentifier):
(WebKit::WebLoaderStrategy::startPingLoad):
(WebKit::WebLoaderStrategy::preconnectTo):
(WebKit::generateLoadIdentifier): Deleted.
- WebProcess/Network/WebLoaderStrategy.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::sendH2Ping):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm:
(TestWebKitAPI::TEST):
Add a disabled test I used to verify this works correctly.
- 9:48 AM Changeset in webkit [264020] by
-
- 34 edits1 copy93 adds in trunk/LayoutTests
Resync web-platform-tests/custom-elements from upstream
https://bugs.webkit.org/show_bug.cgi?id=214028
Reviewed by Sam Weinig.
Resync web-platform-tests/custom-elements from upstream 145839c323ba1ec8b97.
- web-platform-tests/custom-elements/*: Updated.
- 9:23 AM Changeset in webkit [264019] by
-
- 2 edits in trunk/Source/WebKit
Forward declare WKContentWorld in WKUserScript.h
<rdar://problem/65164826> and https://bugs.webkit.org/show_bug.cgi?id=214046
Unreviewed.
- UIProcess/API/Cocoa/WKUserScript.h:
- 8:20 AM Changeset in webkit [264018] by
-
- 2 edits in trunk/Source/WebKit
Fix CrashTracer reported in PDFPlugin::ByteRangeRequest::maybeComplete.
<rdar://problem/64884982> and https://bugs.webkit.org/show_bug.cgi?id=214026
Reviewed by Tim Horton.
No new tests (CrashTracer with no reproduction)
Due to the racy-ness of how PDFKit calls us on the background thread vs. what might be
happening with the main thread, sometimes the main thread is asked to handle a data
request either:
- Before m_data is allocated or
- After it is deallocated
In either case it's okay to just not handle it.
Despite understanding how to reproduce in theory, writing a test case has been elusive.
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::ByteRangeRequest::maybeComplete): Null check m_data before doing anything with it.
- 8:07 AM Changeset in webkit [264017] by
-
- 2 edits in trunk/Tools
Added a test for callOnMainThread
https://bugs.webkit.org/show_bug.cgi?id=214025
Reviewed by Sam Weinig.
This test failed prior to https://trac.webkit.org/changeset/263981.
- TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST): Added a test demonstrating why a simple "is the
queue empty?" check doesn't work when you support both re-entrancy and
threads. While the main thread is sleeping in a nested RunLoop, a
secondary thread can see a non-empty queue.
- 6:57 AM Changeset in webkit [264016] by
-
- 3 edits in trunk/Source/WebKit
REGRESSION(r262680): [GTK] Crash in WebKit::DropTarget::didPerformAction
https://bugs.webkit.org/show_bug.cgi?id=213885
Reviewed by Michael Catanzaro.
Just compare if new operation is the same as the current one, the == operator of Optional already takes care of
values being nullopt.
- UIProcess/API/gtk/DropTargetGtk3.cpp:
(WebKit::DropTarget::didPerformAction):
- UIProcess/API/gtk/DropTargetGtk4.cpp:
(WebKit::DropTarget::didPerformAction):
- 6:56 AM Changeset in webkit [264015] by
-
- 2 edits in trunk/Source/WTF
[GTK] WebProcess hangs when browsing GitHub
https://bugs.webkit.org/show_bug.cgi?id=213970
Reviewed by Sergio Villar Senin.
Use a lower priority for LayerFlushTimer and DisplayRefreshMonitorTimer. We were using a very high priority for
drawing with the idea of keeping a good rendering performance without being affected by other timers. The
problem is that animations can be controlled by timers, so we need to ensure that MainThreadSharedTimer has
higher priority than drawing.
- wtf/glib/RunLoopSourcePriority.h: Use 110 for LayerFlushTimer and DisplayRefreshMonitorTimer.
- 4:31 AM Changeset in webkit [264014] by
-
- 11 edits in trunk
[Win] Implement Pasteboard::writeCustomData for Web Inspector Console tab
https://bugs.webkit.org/show_bug.cgi?id=213986
Reviewed by Fujii Hironori.
Source/WebCore:
Implement Pasteboard::writeCustomData and Pasteboard::typesSafeForBindings.
This fixes the issue which we cannot copy text in WebInspector's Console tab.
We enable some existing testcases for pasteboard.
- platform/Pasteboard.h:
- platform/PasteboardCustomData.cpp:
(WebCore::PasteboardCustomData::fromPersistenceDecoder): Construct PasteboardCustomData from WTF::Persistence::Decoder.
(WebCore::PasteboardCustomData::fromSharedBuffer): Use fromPersistenceDecoder function to implement.
- platform/PasteboardCustomData.h:
- platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::createGlobalData): Add uint8_t* variant.
- platform/win/ClipboardUtilitiesWin.h:
- platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::finishCreatingPasteboard): Register new clipboard format CustomDataClipboardFormat.
(WebCore::Pasteboard::readPasteboardCustomData): Helper function to read PasteboardCustomData from the pasteboard.
(WebCore::Pasteboard::typesSafeForBindings): Implemented.
(WebCore::Pasteboard::readOrigin): Implemented.
(WebCore::Pasteboard::readStringInCustomData): Implemented.
(WebCore::Pasteboard::writeCustomData): Implemented.
Source/WebKit:
- Shared/WebPreferencesDefaultValues.h: Turn DEFAULT_CUSTOM_PASTEBOARD_DATA_ENABLED on for Windows
LayoutTests:
Now pasteboard tests related to custom data pass.
- platform/win/TestExpectations:
- 4:08 AM Changeset in webkit [264013] by
-
- 4 edits1 add in trunk
[GStreamer] OGV/VP8 video not playing on minibrowser (neither epiphany)
https://bugs.webkit.org/show_bug.cgi?id=205916
Patch by Philippe Normand <pnormand@igalia.com> on 2020-07-07
Reviewed by Xabier Rodriguez-Calvar.
Tools:
- buildstream/elements/sdk/gst-plugins-base.bst: Vendor upstreamed GStreamer patch. It is
merged in the 1.16 branch and scheduled for 1.16.3 release but we don't know when/if it will
happen.
- buildstream/patches/gst-plugins-base-0001-oggstream-Workaround-for-broken-PAR-in-VP8-BOS.patch: Added.
LayoutTests:
- platform/glib/TestExpectations: Update WPT expectations
- 1:03 AM Changeset in webkit [264012] by
-
- 2 edits in trunk
[CMake] Fix typo in version variable assingment in FindWOFF2.cmake
https://bugs.webkit.org/show_bug.cgi?id=214012
Reviewed by Carlos Garcia Campos.
- Source/cmake/FindWOFF2.cmake: Properly use PC_WOFF2_VERSION as the version
detected from pkg-config.
- 12:21 AM Changeset in webkit [264011] by
-
- 2 edits in trunk/Tools
[GTK][MiniBrowser] occasional crashes when closing while download in progress
https://bugs.webkit.org/show_bug.cgi?id=214007
Reviewed by Carlos Garcia Campos.
Remove signal handlers from WebKitDownload when BrowserDownload is finalized,
WebKitDownload may emit a signal after the UI item has been destroyed which leads
to a crash.
- MiniBrowser/gtk/BrowserDownloadsBar.c:
(browserDownloadFinalize):
Jul 6, 2020:
- 9:44 PM Changeset in webkit [264010] by
-
- 4 edits1 add in trunk/LayoutTests
[GTK][WPE] Imported semantics tests gardening after r263987
Unreviewed test gardening.
- platform/glib/TestExpectations:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt: Added.
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt:
- 8:48 PM Changeset in webkit [264009] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, mark ref-test imported in r263987 as failing on iOS.
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-slow.html is
a new ref-test that has been failing on iOS since import.
- platform/ios/TestExpectations:
- 8:46 PM Changeset in webkit [264008] by
-
- 7 edits in trunk/Source
High CPU usage on Stash search results pages
https://bugs.webkit.org/show_bug.cgi?id=214018
<rdar://problem/64832917>
Reviewed by Tim Horton.
Source/WebCore:
Stash search results pages can contain a lot of overflow:scroll areas, so scrolling thread CA commits
would take a long time because ScrollingTreeScrollingNodeDelegateMac::updateScrollbarPainters() would
open and close a CA commit for each scroller.
Fix by not explicitly starting a CA commit, and only entering this code if a gesture is active and in
the momentum phase.
Also sprinkle BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS in more places that call into Core
Animation.
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::repositionScrollingLayers):
(WebCore::ScrollingTreeFrameScrollingNodeMac::repositionRelatedLayers):
- page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:
(WebCore::ScrollingTreeOverflowScrollingNodeMac::repositionScrollingLayers):
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
- page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::handleWheelEvent):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateScrollbarPainters):
Source/WebKit:
Stash search results pages can contain a lot of overflow:scroll areas, so scrolling thread CA commits
would take a long time because ScrollingTreeScrollingNodeDelegateMac::updateScrollbarPainters() would
open and close a CA commit for each scroller.
Fix by not explicitly starting a CA commit, and only entering this code if a gesture is active and in
the momentum phase.
Also sprinkle BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS in more places that call into Core
Animation.
- UIProcess/RemoteLayerTree/ios/ScrollingTreeFrameScrollingNodeRemoteIOS.mm:
(WebKit::ScrollingTreeFrameScrollingNodeRemoteIOS::repositionRelatedLayers):
- 8:35 PM Changeset in webkit [264007] by
-
- 2 edits in trunk/LayoutTests
Rebaseline test for iOS after r263987.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
- 7:57 PM Changeset in webkit [264006] by
-
- 57 edits in trunk/Source
BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS should not have trailing semicolons
https://bugs.webkit.org/show_bug.cgi?id=214019
Reviewed by Tim Horton.
These macros are defined as:
#define BEGIN_BLOCK_OBJC_EXCEPTIONS @try {
#define END_BLOCK_OBJC_EXCEPTIONS } @catch(NSException *localException) { ReportBlockedObjCException(localException); }
so they should not be used with trailing semicolons.
Source/WebCore:
- editing/cocoa/DictionaryLookup.mm:
(WebCore::expandSelectionByCharacters):
(WebCore::showPopupOrCreateAnimationController):
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::dataInRTFDFormat):
(WebCore::Editor::dataInRTFFormat):
- editing/mac/DictionaryLookupLegacy.mm:
(WebCore::tokenRange):
(WebCore::expandSelectionByCharacters):
(WebCore::showPopupOrCreateAnimationController):
(WebCore::DictionaryLookup::hidePopup):
- page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::keyEvent):
(WebCore::lastEventIsMouseUp):
(WebCore::EventHandler::passMouseDownEventToWidget):
(WebCore::findViewInSubviews):
(WebCore::EventHandler::eventLoopHandleMouseUp):
(WebCore::EventHandler::passSubframeEventToSubframe):
(WebCore::EventHandler::passWheelEventToWidget):
(WebCore::EventHandler::mouseDown):
(WebCore::EventHandler::mouseUp):
(WebCore::EventHandler::mouseMoved):
- page/mac/ChromeMac.mm:
(WebCore::Chrome::focusNSView):
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::keyEvent):
(WebCore::lastEventIsMouseUp):
(WebCore::EventHandler::passMouseDownEventToWidget):
(WebCore::findViewInSubviews):
(WebCore::EventHandler::eventLoopHandleMouseDragged):
(WebCore::EventHandler::eventLoopHandleMouseUp):
(WebCore::EventHandler::passSubframeEventToSubframe):
(WebCore::EventHandler::passWheelEventToWidget):
(WebCore::EventHandler::mouseDown):
(WebCore::EventHandler::mouseDragged):
(WebCore::EventHandler::mouseUp):
(WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
(WebCore::EventHandler::mouseMoved):
(WebCore::EventHandler::pressureChange):
(WebCore::EventHandler::passMouseMovedEventToScrollbars):
- platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:
(WebCore::ContentFilterUnblockHandler::encode const):
(WebCore::ContentFilterUnblockHandler::decode):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::willProvideContentKeyRequestInitializationDataForTrackID):
- platform/graphics/gpu/cocoa/GPUBindGroupAllocatorMetal.mm:
(WebCore::GPUBindGroupAllocator::allocateAndSetEncoders):
(WebCore::GPUBindGroupAllocator::reallocate):
- platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm:
(WebCore::appendArgumentToArray):
(WebCore::tryCreateMtlArgumentEncoder):
(WebCore::argumentDescriptor):
(WebCore::GPUBindGroupLayout::tryCreate):
- platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm:
(WebCore::setBufferOnEncoder):
(WebCore::setSamplerOnEncoder):
(WebCore::setTextureOnEncoder):
- platform/graphics/gpu/cocoa/GPUBufferMetal.mm:
(WebCore::GPUBuffer::tryCreate):
(WebCore::GPUBuffer::commandBufferCommitted):
(WebCore::GPUBuffer::copyStagingBufferToGPU):
- platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm:
(WebCore::GPUCommandBuffer::tryCreate):
(WebCore::GPUCommandBuffer::endBlitEncoding):
(WebCore::GPUCommandBuffer::copyBufferToBuffer):
(WebCore::GPUCommandBuffer::copyBufferToTexture):
(WebCore::GPUCommandBuffer::copyTextureToBuffer):
(WebCore::GPUCommandBuffer::copyTextureToTexture):
- platform/graphics/gpu/cocoa/GPUComputePassEncoderMetal.mm:
(WebCore::GPUComputePassEncoder::tryCreate):
(WebCore::GPUComputePassEncoder::setPipeline):
(WebCore::GPUComputePassEncoder::dispatch):
(WebCore::GPUComputePassEncoder::useResource):
(WebCore::GPUComputePassEncoder::setComputeBuffer):
- platform/graphics/gpu/cocoa/GPUComputePipelineMetal.mm:
(WebCore::trySetMetalFunctions):
(WebCore::trySetFunctions):
(WebCore::convertComputePipelineDescriptor):
(WebCore::tryCreateMTLComputePipelineState):
- platform/graphics/gpu/cocoa/GPUDeviceMetal.mm:
(WebCore::GPUDevice::tryCreate):
- platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm:
(WebCore::GPUProgrammablePassEncoder::endPass):
- platform/graphics/gpu/cocoa/GPUQueueMetal.mm:
(WebCore::GPUQueue::tryCreate):
(WebCore::GPUQueue::submit):
- platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:
(WebCore::populateMtlColorAttachmentsArray):
(WebCore::populateMtlDepthStencilAttachment):
(WebCore::GPURenderPassEncoder::tryCreate):
(WebCore::GPURenderPassEncoder::setPipeline):
(WebCore::GPURenderPassEncoder::setBlendColor):
(WebCore::GPURenderPassEncoder::setViewport):
(WebCore::GPURenderPassEncoder::setScissorRect):
(WebCore::GPURenderPassEncoder::setVertexBuffers):
(WebCore::GPURenderPassEncoder::draw):
(WebCore::GPURenderPassEncoder::drawIndexed):
(WebCore::GPURenderPassEncoder::useResource):
(WebCore::GPURenderPassEncoder::setVertexBuffer):
(WebCore::GPURenderPassEncoder::setFragmentBuffer):
- platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm:
(WebCore::tryCreateMtlDepthStencilState):
(WebCore::trySetVertexInput):
(WebCore::trySetColorStates):
(WebCore::trySetMetalFunctions):
(WebCore::trySetFunctions):
(WebCore::convertRenderPipelineDescriptor):
(WebCore::tryCreateMtlRenderPipelineState):
- platform/graphics/gpu/cocoa/GPUSamplerMetal.mm:
(WebCore::tryCreateMtlSamplerState):
- platform/graphics/gpu/cocoa/GPUShaderModuleMetal.mm:
(WebCore::GPUShaderModule::tryCreate):
- platform/graphics/gpu/cocoa/GPUSwapChainMetal.mm:
(WebCore::tryCreateWebGPULayer):
(WebCore::GPUSwapChain::tryGetCurrentTexture):
- platform/graphics/gpu/cocoa/GPUTextureMetal.mm:
(WebCore::tryCreateMtlTextureDescriptor):
(WebCore::GPUTexture::tryCreate):
(WebCore::GPUTexture::tryCreateDefaultTextureView):
- platform/graphics/mac/ColorMac.mm:
(WebCore::makeSimpleColorFromNSColor):
- platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::documentView const):
(WebCore::ScrollView::platformSetScrollbarModes):
(WebCore::ScrollView::platformScrollbarModes const):
(WebCore::ScrollView::platformSetCanBlitOnScroll):
(WebCore::ScrollView::platformUnobscuredContentRect const):
(WebCore::ScrollView::platformExposedContentRect const):
(WebCore::ScrollView::setActualScrollPosition):
(WebCore::ScrollView::platformVisibleContentRect const):
(WebCore::ScrollView::platformVisibleContentSize const):
(WebCore::ScrollView::legacyTileCache):
(WebCore::ScrollView::platformSetContentsSize):
(WebCore::ScrollView::platformSetScrollbarsSuppressed):
(WebCore::ScrollView::platformSetScrollPosition):
(WebCore::ScrollView::platformRepaintContentRectangle):
(WebCore::ScrollView::platformContentsToScreen const):
(WebCore::ScrollView::platformScreenToContents const):
(WebCore::ScrollView::platformSetScrollOrigin):
- platform/ios/WidgetIOS.mm:
(WebCore::Widget::show):
(WebCore::Widget::hide):
(WebCore::Widget::frameRect const):
(WebCore::Widget::setFrameRect):
(WebCore::Widget::paint):
(WebCore::Widget::addToSuperview):
(WebCore::Widget::removeFromSuperview):
(WebCore::Widget::convertFromRootToContainingWindow):
(WebCore::Widget::convertFromContainingWindowToRoot):
- platform/mac/CursorMac.mm:
(WebCore::createCustomCursor):
- platform/mac/ScrollAnimatorMac.mm:
(-[WebScrollbarPartAnimation invalidate]):
(-[WebScrollerImpDelegate cancelAnimations]):
(-[WebScrollerImpDelegate invalidate]):
(WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
- platform/mac/ScrollViewMac.mm:
(WebCore::ScrollView::documentView const):
(WebCore::ScrollView::platformAddChild):
(WebCore::ScrollView::platformSetScrollbarModes):
(WebCore::ScrollView::platformScrollbarModes const):
(WebCore::ScrollView::platformSetCanBlitOnScroll):
(WebCore::ScrollView::platformTopContentInset const):
(WebCore::ScrollView::platformSetTopContentInset):
(WebCore::ScrollView::platformVisibleContentRect const):
(WebCore::ScrollView::platformVisibleContentRectIncludingObscuredArea const):
(WebCore::ScrollView::platformSetContentsSize):
(WebCore::ScrollView::platformSetScrollbarsSuppressed):
(WebCore::ScrollView::platformSetScrollPosition):
(WebCore::ScrollView::platformRepaintContentRectangle):
(WebCore::ScrollView::platformContentsToScreen const):
(WebCore::ScrollView::platformScreenToContents const):
(WebCore::ScrollView::platformSetScrollOrigin):
- platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::scrollbarThickness):
(WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):
(WebCore::scrollerImpPaint):
(WebCore::linenBackgroundColor):
- platform/mac/WidgetMac.mm:
(WebCore::Widget::setFocus):
(WebCore::Widget::show):
(WebCore::Widget::hide):
(WebCore::Widget::frameRect const):
(WebCore::Widget::setFrameRect):
(WebCore::Widget::paint):
(WebCore::Widget::setIsSelected):
(WebCore::Widget::removeFromSuperview):
(WebCore::Widget::convertFromRootToContainingWindow):
(WebCore::Widget::convertFromContainingWindowToRoot):
- platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::NetworkStorageSession::setCookie):
(WebCore::NetworkStorageSession::setCookies):
(WebCore::NetworkStorageSession::setAllCookiesToSameSiteStrict):
(WebCore::NetworkStorageSession::cookiesForSession const):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::cookieAcceptPolicy const):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::NetworkStorageSession::deleteCookie const):
(WebCore::NetworkStorageSession::getHostnamesWithCookies):
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
- platform/network/mac/ResourceErrorMac.mm:
(WebCore::ResourceError::platformLazyInit):
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::start):
- rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::mediaControlsFormattedStringForDuration):
Source/WebKit:
- Shared/Cocoa/ArgumentCodersCocoa.mm:
(IPC::decodeFontInternal):
- Shared/Cocoa/CoreTextHelpers.mm:
(WebKit::fontWithAttributes):
- Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
(WebKit::RemoteLayerTreePropertyApplier::applyProperties):
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::updateFontManagerIfNeeded):
- UIProcess/RemoteLayerTree/mac/ScrollerMac.mm:
(-[WKScrollbarPartAnimation invalidate]):
(-[WKScrollerImpDelegate cancelAnimations]):
(-[WKScrollerImpDelegate invalidate]):
(WebKit::ScrollerMac::updateValues):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView assignLegacyDataForContextMenuInteraction]):
(-[WKContentView continueContextMenuInteractionWithDataDetectors:]):
- UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::showPopupMenu):
- WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm:
(WebKit::PlatformCAAnimationRemote::updateLayerAnimations):
Source/WebKitLegacy/mac:
- DOM/DOMCustomXPathNSResolver.mm:
(DOMCustomXPathNSResolver::lookupNamespaceURI):
- WebCoreSupport/PopupMenuMac.mm:
(PopupMenuMac::show):
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::exceededDatabaseQuota):
(WebChromeClient::reachedApplicationCacheOriginQuota):
(WebChromeClient::runOpenPanel):
(WebChromeClient::keyboardUIMode):
(WebChromeClient::firstResponder):
(WebChromeClient::makeFirstResponder):
(WebChromeClient::attachRootGraphicsLayer):
(WebChromeClient::setNeedsOneShotDrawingSynchronization):
(WebChromeClient::scheduleRenderingUpdate):
(WebChromeClient::enterVideoFullscreenForVideoElement):
(WebChromeClient::exitVideoFullscreenForVideoElement):
(WebChromeClient::exitVideoFullscreenToModeWithoutAnimation):
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createFrame):
(WebFrameLoaderClient::objectContentType):
(NetscapePluginWidget::notifyWidget):
(WebFrameLoaderClient::createPlugin):
(WebFrameLoaderClient::redirectDataToPlugin):
(WebFrameLoaderClient::createJavaAppletWidget):
- WebCoreSupport/WebGeolocationClient.mm:
(WebGeolocationClient::setEnableHighAccuracy):
(WebGeolocationClient::requestPermission):
(-[WebGeolocationProviderInitializationListener initializationAllowedWebView:]):
- WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::requestPermission):
- WebCoreSupport/WebPluginInfoProvider.mm:
(WebPluginInfoProvider::pluginInfo):
- WebCoreSupport/WebVisitedLinkStore.mm:
(WebVisitedLinkStore::populateVisitedLinksIfNeeded):
- WebView/WebHTMLView.mm:
(imageFromRect):
- 6:49 PM Changeset in webkit [264005] by
-
- 2 edits in trunk/Source/WebCore
AX: Add ability for AX objects to output html in debug
https://bugs.webkit.org/show_bug.cgi?id=214020
Reviewed by Darin Adler.
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase innerHTML]):
(-[WebAccessibilityObjectWrapperBase outerHTML]):
- 6:34 PM Changeset in webkit [264004] by
-
- 25 edits in trunk/Source
Get rid of concept of "initial connected gamepads"
https://bugs.webkit.org/show_bug.cgi?id=214010
Reviewed by Tim Horton.
Source/WebCore:
No new tests (Refactor, no behavior change)
When a page starts using gamepads and some were already connected, this concept
was meant to manage when the already-connected gamepads could be revealed to the page.
It obviously wasn't needed, as only the HID provider used them (GameController provider didn't)
Instead, we should just always include a "does this event make gamepads visible?" bit.
This cleans up a lot of weird code gets both providers working closer to each other.
- Modules/gamepad/GamepadManager.cpp:
(WebCore::GamepadManager::platformGamepadConnected):
(WebCore::GamepadManager::platformGamepadInputActivity):
- Modules/gamepad/GamepadManager.h:
- platform/gamepad/GamepadProvider.cpp:
(WebCore::GamepadProvider::dispatchPlatformGamepadInputActivity):
- platform/gamepad/GamepadProviderClient.h:
(WebCore::GamepadProviderClient::setInitialConnectedGamepads): Deleted.
- platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
(WebCore::GameControllerGamepadProvider::controllerDidConnect):
(WebCore::GameControllerGamepadProvider::makeInvisibileGamepadsVisible):
- platform/gamepad/mac/HIDGamepadProvider.cpp:
(WebCore::HIDGamepadProvider::HIDGamepadProvider):
(WebCore::HIDGamepadProvider::initialGamepadsConnectedTimerFired):
(WebCore::HIDGamepadProvider::openAndScheduleManager):
(WebCore::HIDGamepadProvider::closeAndUnscheduleManager):
(WebCore::HIDGamepadProvider::deviceAdded):
(WebCore::HIDGamepadProvider::deviceRemoved):
(WebCore::HIDGamepadProvider::inputNotificationTimerFired):
(WebCore::HIDGamepadProvider::connectionDelayTimerFired): Deleted.
- platform/gamepad/mac/HIDGamepadProvider.h:
- testing/MockGamepadProvider.cpp:
(WebCore::MockGamepadProvider::connectMockGamepad):
Source/WebKit:
- Scripts/webkit/messages.py:
- UIProcess/Gamepad/UIGamepadProvider.cpp:
(WebKit::UIGamepadProvider::gamepadSyncTimerFired):
(WebKit::UIGamepadProvider::platformGamepadConnected):
(WebKit::UIGamepadProvider::platformGamepadInputActivity):
(WebKit::UIGamepadProvider::setInitialConnectedGamepads): Deleted.
- UIProcess/Gamepad/UIGamepadProvider.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::gamepadActivity):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::gamepadConnected):
(WebKit::WebProcessPool::setInitialConnectedGamepads): Deleted.
- UIProcess/WebProcessPool.h:
- WebProcess/Gamepad/WebGamepadProvider.cpp:
(WebKit::WebGamepadProvider::gamepadConnected):
(WebKit::WebGamepadProvider::gamepadActivity):
- WebProcess/Gamepad/WebGamepadProvider.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::gamepadActivity):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::gamepadConnected):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 5:54 PM Changeset in webkit [264003] by
-
- 4 edits in trunk
Web process sometimes crashes when translating an article on spiegel.de
https://bugs.webkit.org/show_bug.cgi?id=214014
<rdar://problem/65099253>
Reviewed by Tim Horton.
Source/WebCore:
The crash happens because we try to make a BoundaryPoint (using
makeBoundaryPoint) out of an orphaned
Positionthat is anchored before or after the anchor node (more specifically, eitherPositionIsBeforeAnchor
orPositionIsAfterAnchor). InmakeBoundaryPoint, we'll avoid the earlyWTF::nulloptreturn since the
position is non-null, but then try to access the container node, which is null in this case because the anchor
node has been unparented.
Fix this by not attempting to observe orphaned DOM positions when extracting content for translation.
Test: TextManipulation.StartTextManipulationAvoidCrashWhenExtractingOrphanedPositions
- editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::observeParagraphs):
Tools:
Add a test case that dynamically adds an
objectelement, immediately removes it, and then adds a chunk of text
and verifies that the text manipulation delegate method for new content is invoked.
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
- 5:46 PM Changeset in webkit [264002] by
-
- 2 edits in trunk/Tools
svn-apply should use verbose mode when adding files to git
https://bugs.webkit.org/show_bug.cgi?id=214022
Reviewed by Darin Adler.
If a patch contains several copy or add operations it can happen that there is
no output for more than 600 seconds meanwhile the tool is applying the patch.
This can cause a fatal error on the EWS. Pass the verbose flag to git,
so it outputs the name of the file after adding it to the index.
This is consequent how "svn add" works by default (it outputs the name of the file),
or how "git rm" works (it also outputs the name of the file by default as well).
- Scripts/svn-apply:
(scmCopy):
(scmAdd):
(scmCommitQueueAdded):
- 5:15 PM Changeset in webkit [264001] by
-
- 3 edits in trunk/Source/WebCore
Follow-up to r263992: Make isKinjaLoginAvatarElement() a free function
https://bugs.webkit.org/show_bug.cgi?id=214015
<rdar://problem/65153632>
Unreviewed follow-up to a quirk. Just changing
isKinjaLoginAvatarElement() from member to free function.
As requested in https://bugs.webkit.org/show_bug.cgi?id=213910#c10.
- page/Quirks.cpp:
(WebCore::isKinjaLoginAvatarElement):
(WebCore::Quirks::isKinjaLoginAvatarElement const): Deleted.
- page/Quirks.h:
- 5:09 PM Changeset in webkit [264000] by
-
- 23 edits2 adds in trunk
AX: Implement user action spec for Escape action
https://bugs.webkit.org/show_bug.cgi?id=213875
<rdar://problem/65022980>
Reviewed by Darin Adler.
Source/WebCore:
Implement the Escape action for the user action events.
https://github.com/WICG/aom/blob/gh-pages/explainer.md#user-action-events-from-assistive-technology
Test: accessibility/keyevents-posted-for-dismiss-action.html
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::performEscape):
(WebCore::AccessibilityNodeObject::dispatchSimulatedKeyboardUpDownEvent):
(WebCore::AccessibilityNodeObject::postKeyboardKeysForValueChange):
- accessibility/AccessibilityNodeObject.h:
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityObjectInterface.h:
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityPerformEscape]):
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::performEscape):
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityPerformAction:]):
Tools:
- DumpRenderTree/AccessibilityUIElement.cpp:
(dismissCallback):
(AccessibilityUIElement::getJSClass):
- DumpRenderTree/AccessibilityUIElement.h:
- DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::dismiss):
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::dismiss):
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
(WTR::AccessibilityUIElement::dismiss):
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::dismiss):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::dismiss):
LayoutTests:
- accessibility/keyevents-posted-for-dismiss-action-expected.txt: Added.
- accessibility/keyevents-posted-for-dismiss-action.html: Added.
- platform/gtk/TestExpectations:
- platform/ios-simulator/TestExpectations:
- platform/win/TestExpectations:
- 5:01 PM Changeset in webkit [263999] by
-
- 15 edits in trunk
Fix transform feedback tests
https://bugs.webkit.org/show_bug.cgi?id=213906
Patch by James Darpinian <James Darpinian> on 2020-07-06
Reviewed by Dean Jackson.
Fix transform feedback conformance tests by implementing missing functionality such as:
- Transform feedback object state tracking
- Validation for all GL errors that can affect state tracking before calling ANGLE
- Default transform feedback object
- Pause/resume
- Fix vertexAttribDivisor in WebGL 2 (unrelated to transform feedback)
After this, all related tests pass except for a few that also fail in Chrome, and one that uses
PIXEL_PACK_BUFFER which is not yet supported.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::~WebGL2RenderingContext):
(WebCore::WebGL2RenderingContext::initializeNewContext):
(WebCore::WebGL2RenderingContext::deleteTransformFeedback):
(WebCore::WebGL2RenderingContext::bindTransformFeedback):
(WebCore::ValidateTransformFeedbackPrimitiveMode):
(WebCore::WebGL2RenderingContext::beginTransformFeedback):
(WebCore::WebGL2RenderingContext::endTransformFeedback):
(WebCore::WebGL2RenderingContext::transformFeedbackVaryings):
(WebCore::WebGL2RenderingContext::pauseTransformFeedback):
(WebCore::WebGL2RenderingContext::resumeTransformFeedback):
(WebCore::WebGL2RenderingContext::setIndexedBufferBinding):
(WebCore::WebGL2RenderingContext::getIndexedParameter):
(WebCore::WebGL2RenderingContext::getMaxTransformFeedbackSeparateAttribs):
(WebCore::WebGL2RenderingContext::getParameter):
(WebCore::WebGL2RenderingContext::uncacheDeletedBuffer):
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::cacheInfoIfNeeded):
- html/canvas/WebGLProgram.h:
- html/canvas/WebGLTransformFeedback.cpp:
(WebCore::WebGLTransformFeedback::create):
(WebCore::WebGLTransformFeedback::WebGLTransformFeedback):
(WebCore::WebGLTransformFeedback::setProgram):
(WebCore::WebGLTransformFeedback::setBoundIndexedTransformFeedbackBuffer):
(WebCore::WebGLTransformFeedback::getBoundIndexedTransformFeedbackBuffer):
(WebCore::WebGLTransformFeedback::hasEnoughBuffers const):
(WebCore::WebGLTransformFeedback::usesBuffer):
(WebCore::WebGLTransformFeedback::unbindBuffer):
(WebCore::WebGLTransformFeedback::validateProgramForResume const):
- html/canvas/WebGLTransformFeedback.h:
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLOpenGL::vertexAttribDivisor):
- 4:59 PM Changeset in webkit [263998] by
-
- 3 edits2 adds in trunk
Locale-specific quotes infrastructure needs to compare locale strings properly
https://bugs.webkit.org/show_bug.cgi?id=213827
Reviewed by Darin Adler.
Source/WebCore:
Before this patch, WebKit is selecting which quotes to display on <q>
elements by doing a raw strcmp() on the locale string with a big table
of locale strings. strcmp() is the wrong way to compare locale strings.
The HTML spec has a list of locales and their associated quotes[1].
It is formulated in terms of CSS using the "lang()" pseudoclass.
The spec of the lang() pseudoclass[2] describes that locale comparison
needs to be done according to section 3.3.2 in RFC4647[3].
This algorithm is a pretty general algorithm, and implementing it naively
would mean turning our O(log(n)) algorithm into a O(n) algorithm, which
would be unfortunate. Instead, we can use a few observations about the
set of locale strings we are comparing against, in order to preserve the
O(log(n)) runtime:
- All the locales have either 1 or 2 subtags
- None of the subtags in any of the ranges are wildcards
- The list is sorted, so a locale string that is a prefix of another one
is listed before it.
[1] https://html.spec.whatwg.org/multipage/rendering.html#quotes
[2] https://drafts.csswg.org/selectors-4/#the-lang-pseudo
[3] https://tools.ietf.org/html/rfc4647#page-10
Test: fast/css-generated-content/quotes-lang-2.html
- WebCore.xcodeproj/xcshareddata/xcschemes/WebCore.xcscheme:
- rendering/RenderQuote.cpp:
(WebCore::subtagCompare):
(WebCore::quoteTableLanguageComparisonFunction):
(WebCore::quotesForLanguage):
(WebCore::RenderQuote::computeText const):
LayoutTests:
- fast/css-generated-content/quotes-lang-2-expected.html: Added.
- fast/css-generated-content/quotes-lang-2.html: Added.
- 4:32 PM Changeset in webkit [263997] by
-
- 2 edits in trunk/LayoutTests
[Win] No need to mark tables/mozilla_expected_failures/other/empty_cells.html with [Failure] anymore.
Unreviewed.
- platform/win/TestExpectations:
- 4:30 PM Changeset in webkit [263996] by
-
- 4 edits in trunk/Source/WebKit
Regression(r249303) Crash under NetworkLoad::NetworkLoad()
https://bugs.webkit.org/show_bug.cgi?id=214008
<rdar://problem/64853936>
Reviewed by Alex Christensen.
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
Do some hardening and fail the SpeculativeLoad if the network session is null, instead of dereferencing
the network session unconditionally. The NetworkCache owns the NetworkCacheSpeculativeLoadManager and
the NetworkCache is RefCounted so it may outlive its NetworkSession in theory and schedule speculative
loads for a session that was just destroyed.
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
Capture weakThis in a few lambda and check it when the lambda gets called. It looked unsafe so I
decided to do some hardening.
- 4:27 PM Changeset in webkit [263995] by
-
- 2 edits in trunk/Source/WebCore
[iOS] WAKWindow should override -resignFirstResponder and clear state
https://bugs.webkit.org/show_bug.cgi?id=214011
<rdar://problem/65152410>
Reviewed by Tim Horton.
This is part of the fix for <rdar://problem/62615273>.
Override -resignFirstResponder to clear out internal state that tracks the first responder
in the iOS Legacy WebKit world.
- platform/ios/wak/WAKWindow.mm:
(-[WAKWindow resignFirstResponder]):
- 4:14 PM Changeset in webkit [263994] by
-
- 2 edits in trunk/LayoutTests
[Win] Unreviewed mozilla test gardening after r263855.
- platform/win/tables/mozilla_expected_failures/other/empty_cells-expected.txt:
- 4:13 PM Changeset in webkit [263993] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION: (r263977): [ iOS Debug WK2 ] 36 fast form and web-platform test consistently crashing
https://bugs.webkit.org/show_bug.cgi?id=214009
<rdar://problem/65151752>
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::weekInputStyleSheet const):
Replace ""_s with emptyString() to fix crashing tests.
- 4:01 PM Changeset in webkit [263992] by
-
- 4 edits in trunk/Source/WebCore
Storage Access API: Add the capability to open a popup and get user interaction so we can call the Storage Access API as a quirk, on behalf of websites that should be doing it themselves
https://bugs.webkit.org/show_bug.cgi?id=213910
<rdar://problem/65058017>
Reviewed by Darin Adler.
This patch not only adds the capability but also adds a site-specific quirk for
the family of Kinja sites so that no previous user interaction with kinja.com
results in a login popup for kinja.com.
No new tests. This is for site-specific quirks.
- dom/Element.cpp:
(WebCore::Element::dispatchMouseEvent):
Just a change in the call into the quirk function.
- page/Quirks.cpp:
(WebCore::Quirks::isKinjaLoginAvatarElement const):
Convenience function for telling if the given element is the Kinja login avatar.
(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):
Now takes the whole Element to be able to look at both classes and attributes.
- page/Quirks.h:
- 3:25 PM Changeset in webkit [263991] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r261001): ASSERTION FAILED: m_clientCounts.contains(contextId) in WebKit::VideoFullscreenManagerProxy::removeClientForContext
https://bugs.webkit.org/show_bug.cgi?id=212986
Reviewed by Jer Noble.
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::removeClientForContext):
Function removeClientForContext() could be called multiple times with the same contextId.
We should bail out if m_clientCounts does not contain the contextId.
- 3:04 PM Changeset in webkit [263990] by
-
- 3 edits in trunk/Source/WebCore
Cleanup WebVideoFullscreenControllerAVKit.mm and PlaybackSessionInterfaceAVKit.mm
https://bugs.webkit.org/show_bug.cgi?id=214005
Reviewed by Daniel Bates.
No new tests, no behavior change.
- platform/ios/PlaybackSessionInterfaceAVKit.mm:
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(VideoFullscreenControllerContext::setUpFullscreen):
Remove a redundant line.
- 2:52 PM Changeset in webkit [263989] by
-
- 1 copy in tags/Safari-610.1.21
Tag Safari-610.1.21.
- 2:50 PM Changeset in webkit [263988] by
-
- 2 edits in branches/safari-610.1.21-branch/Source/WebKitLegacy/mac
Cherry-pick r263986. rdar://problem/65149071
[Catalyst] Remove SPI header from WebDownload.h
https://bugs.webkit.org/show_bug.cgi?id=214004
<rdar://problem/65146575>
Reviewed by Wenson Hsieh.
- Misc/WebDownload.h: Remove SPI header.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263986 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:36 PM Changeset in webkit [263987] by
-
- 202 edits16 copies5 moves334 adds20 deletes in trunk/LayoutTests
Resync web-platform-tests/html/semantics from upstream
https://bugs.webkit.org/show_bug.cgi?id=213994
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Resync web-platform-tests/html/semantics from upstream 145839c323ba1ec8b.
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/html/semantics/*: Updated.
LayoutTests:
- TestExpectations:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt:
- tests-options.json:
- 2:33 PM Changeset in webkit [263986] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
[Catalyst] Remove SPI header from WebDownload.h
https://bugs.webkit.org/show_bug.cgi?id=214004
<rdar://problem/65146575>
Reviewed by Wenson Hsieh.
- Misc/WebDownload.h: Remove SPI header.
- 2:24 PM Changeset in webkit [263985] by
-
- 17 edits4 adds in trunk
Added PannerNode constructor according to spec
https://bugs.webkit.org/show_bug.cgi?id=213801
Patch by Clark Wang <clark_wang@apple.com> on 2020-07-06
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Re-baselined existing tests now that new ones are passing. New ones that fail are due to accepted range
of values that attributes can take on, which are to be implemented in a future patch.
- web-platform-tests/webaudio/idlharness.https.window-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/ctor-panner-expected.txt:
- web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping-expected.txt:
Source/WebCore:
Added in new PannerNode constructor to match spec: https://www.w3.org/TR/webaudio/#dom-pannernode-pannernode.
Added in AudioNodeOptions and PannerOptions files. Modified some previous code in order to pass compilation.
Re-baselined existing tests now that new ones are passing. New ones that fail are due to accepted range
of values that attributes can take on, which are to be implemented in a future patch.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Modules/webaudio/AudioDestinationNode.h:
- Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::AudioNode):
- Modules/webaudio/AudioNode.h:
- Modules/webaudio/AudioNodeOptions.h: Added.
- Modules/webaudio/AudioNodeOptions.idl: Added.
- Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::PannerNode):
(WebCore::PannerNodeBase::PannerNodeBase):
(WebCore::PannerNode::create):
- Modules/webaudio/PannerNode.h:
- Modules/webaudio/PannerNode.idl:
- Modules/webaudio/PannerOptions.h: Added.
- Modules/webaudio/PannerOptions.idl: Added.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- 1:34 PM Changeset in webkit [263984] by
-
- 2 edits in trunk/LayoutTests
[Win] Some tests are failing on the EWS bots
https://bugs.webkit.org/show_bug.cgi?id=213998
Unreviewed test gardening.
- platform/win/TestExpectations:
- 1:19 PM Changeset in webkit [263983] by
-
- 2 edits in trunk/Tools
[test-webkitpy] Use platform architecture
https://bugs.webkit.org/show_bug.cgi?id=214002
<rdar://problem/65144773>
Rubber-stamped by Aakash Jain.
- Scripts/webkitpy/test/main.py:
(Tester._run_tests):
- 1:19 PM Changeset in webkit [263982] by
-
- 2 edits in trunk/Source/WebKit
update-webkit-localizable-strings exits without writing localized strings because of an R"" string
https://bugs.webkit.org/show_bug.cgi?id=213274
<rdar://problem/64427891>
Reviewed by Darin Adler.
Remove R"" string, use adjacent string literals instead.
No new tests, functionality tested by existing tests, specifically
(http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database.html
and http/tests/resourceLoadStatistics/telemetry-generation-advanced-functionality-database.html).
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::joinSubStatisticsForSorting):
(WebKit::CompletionHandler<void): Deleted.
- 12:51 PM Changeset in webkit [263981] by
-
- 8 edits in trunk/Source
callOnMainThread should use the same queue as RunLoop::dispatch
https://bugs.webkit.org/show_bug.cgi?id=213830
Reviewed by Brady Eidson.
Source/JavaScriptCore:
- JavaScriptCore.order:
Source/WTF:
This should reduce flakiness in scheduled tasks.
There's no need to keep a separate queue anymore since both APIs have
the same semantics now.
- wtf/MainThread.cpp:
(WTF::callOnMainThread):
(WTF::functionQueue): Deleted.
(WTF::dispatchFunctionsFromMainThread): Deleted.
- wtf/MainThread.h:
- wtf/cocoa/MainThreadCocoa.mm:
(WTF::scheduleDispatchFunctionsOnMainThread): Deleted.
- wtf/generic/MainThreadGeneric.cpp:
(WTF::scheduleDispatchFunctionsOnMainThread): Deleted.
- wtf/win/MainThreadWin.cpp:
(WTF::scheduleDispatchFunctionsOnMainThread): Deleted.
- 12:48 PM Changeset in webkit [263980] by
-
- 2 edits in trunk/Source/WebCore
ASSERT_NOT_REACHED() in EventRegionContext::popClip()
https://bugs.webkit.org/show_bug.cgi?id=213905
Reviewed by Daniel Bates.
Fix an assertion seen on bing.com, tesla.com etc where event region painting
would have mismatched push/pop because of an obvious code error.
I spent too long trying to make a testcase and gave up.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::restoreClip):
- 12:45 PM Changeset in webkit [263979] by
-
- 12 edits1 move4 adds in trunk
[iPadOS] Unable to change focus between Google Docs windows by tapping
https://bugs.webkit.org/show_bug.cgi?id=213985
<rdar://problem/57083267>
Reviewed by Darin Adler.
Source/WebKit:
When putting two Google Docs windows side-by-side on iPad, it's currently not possible to change the window to
which keyboard input is routed. In native views (e.g. two side-by-side Notes windows), this is normally handled
byUITextMultiTapRecognizer, which is part of theUITextSelectionInteraction; tapping to place the text
selection calls into-[UITextInteractionAssistant setFirstResponderIfNecessaryActivatingSelection:], which
updates the key window if needed. This doesn't apply to Google Docs because they instead use touch events to
drive their own "text interaction"-like behaviors instead of relying on system gesture recognizers, which we
suppress due to the fact that the selection is within a hidden contenteditable.
But even in non-hidden editable areas, the initial tap to focus an editable element still doesn't automatically
make the window key, since the editable text interaction gestures are still inactive when tapping to focus an
editable element. This means two taps are currently required to change the key window when focusing two Safari
windows side-by-side: the first tap to focus the element (via the synthetic click gesture), and the second tap
to trigger the editable text interaction tap gesture that is used to set the selection.
To fix both of these issues, make some minor adjustments to call
-makeKeyWindowfrom WebKit when focusing
editable elements. See below for more details.
Test: editing/selection/ios/become-key-window-when-focusing-editable-area.html
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _webTouchEventsRecognized:]):
For the case in Google Docs where a hidden editable element is used and tapping in the page does not result in
the element being refocused, we additionally need to make sure that we make our window key anyways. Limit this
hack to tap gestures, and only when there is a hidden focused editable element to emulate platform behavior of
updating the key window based on the text tap gesture.
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
Make the content view's window key when focusing an editable element.
(-[WKContentView hasHiddenContentEditable]):
Consider the selection to be inside a hidden editable area if the
WebKit::FocusedElementIsTooSmallflag is set
as well. While this doesn't affect Google Docs, it does affect some other custom editors, such as Quip.
(-[WKContentView mouseGestureRecognizerChanged:]):
Additionally make the current window key when clicking in a hidden editable area with a trackpad on iOS.
Tools:
Add WebKitTestRunner support for being able to verify that a web view's window has become the key window.
- DumpRenderTree/CMakeLists.txt:
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- DumpRenderTree/UIScriptController.cpp: Added.
(WTR::UIScriptController::setWindowIsKey):
(WTR::UIScriptController::windowIsKey const):
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- TestRunnerShared/UIScriptContext/UIScriptControllerShared.cpp: Renamed from Tools/TestRunnerShared/UIScriptContext/UIScriptController.cpp.
Rename
UIScriptController.cpp(in TestRunnerShared) toUIScriptControllerShared.cpp, and introduce new
DumpRenderTree and WebKitTestRunner versions ofUIScriptController.cppto house DumpRenderTree and
WebKitTestRunner-specific UIScriptController method implementations.
For now, these are just
windowIsKeyandsetWindowIsKeybelow, which plumb into their respective platform-
agnosticPlatformWebViewmethods in WebKitTestRunner.
- WebKitTestRunner/UIScriptController.cpp: Added.
(WTR::UIScriptController::windowIsKey const):
(WTR::UIScriptController::setWindowIsKey):
- WebKitTestRunner/CMakeLists.txt:
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(-[WebKitTestRunnerWindow becomeKeyWindow]):
(-[WebKitTestRunnerWindow resignKeyWindow]):
Update these two methods to update
m_windowIsKeywhen the test runner'sUIWindowbecomes the key window (or
stops being the key window). This is invoked when-[UIWindow makeKeyWindow]is called (e.g. from within WebKit
code when tapping on an editable element).
(WTR::PlatformWebView::setWindowIsKey):
Avoid infinitely looping when setting windowIsKey to
true, due to-becomeKeyWindowcalling back into
setWindowIsKey.
LayoutTests:
Add a new layout test to verify that tapping to focus a plain textarea causes the web view's window to become
the key window, as well as tapping to focus a hidden contenteditable area, over a touch handler that prevents
default.
- editing/selection/ios/become-key-window-when-focusing-editable-area-expected.txt: Added.
- editing/selection/ios/become-key-window-when-focusing-editable-area.html: Added.
- resources/ui-helper.js:
(window.UIHelper.setWindowIsKey):
(window.UIHelper.windowIsKey):
- 12:03 PM Changeset in webkit [263978] by
-
- 2 edits in trunk/Source/WTF
Spams system logs with "Current memory footprint: 10 MB"
https://bugs.webkit.org/show_bug.cgi?id=213991
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-07-06
Reviewed by Darin Adler.
This particular log statement is too much spam in the system journal, since it prints
continuously under normal operating conditions. Let's limit it only to Apple platforms,
which have had RELEASE_LOG() for a long time and where this is presumably expected.
- wtf/MemoryPressureHandler.cpp:
(WTF::MemoryPressureHandler::measurementTimerFired):
- 12:01 PM Changeset in webkit [263977] by
-
- 27 edits in trunk/Source
Compile-time enable (but leave disabled at runtime by default) date/time input types on macOS to allow testing of cross platform (e.g. DOM) aspects of the controls
https://bugs.webkit.org/show_bug.cgi?id=213949
Reviewed by Darin Adler.
Source/WebCore:
Enable date/time related input element types on all Cocoa platforms, but disable them at runtime.
To make runtime disabling work completely, the user agent style for these element types was
extracted from html.css and is now only added when needed via UserAgentStyle::ensureDefaultStyleSheetsForElement.
This is the first step to allowing us to run a subset of the date/time related input element tests
on more platforms. If this is successful, we should consider do this for all platforms, not just Cocoa.
- css/html.css:
Move to RenderTheme accessors for conditional inclusion based on Settings.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isDateTimeField const): Deleted.
- html/HTMLInputElement.h:
Removed dead isDateTimeField() code. This should have been removed when datetime was removed.
- html/InputType.cpp:
(WebCore::createInputTypeFactoryMap):
(WebCore::InputType::create):
Switch from using RuntimeEnabledFeatures to Settings for checking for enabling (Settings allows
us to write less boilerplate code and is more versatile for testing) and switch to checking the
condition on each InputType construction, rather than just on map's creation (again, this allows
us to have more flexibility in testing).
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::inputTypeColorEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setInputTypeColorEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::inputTypeDateEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setInputTypeDateEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::inputTypeDateTimeLocalEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setInputTypeDateTimeLocalEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::inputTypeMonthEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setInputTypeMonthEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::inputTypeTimeEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setInputTypeTimeEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::inputTypeWeekEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setInputTypeWeekEnabled): Deleted.
Remove hand written code infavor of code genreated from Settings.yaml.
- page/Settings.yaml:
Moved from RuntimeEnabledFeatures.
- platform/LocalizedStrings.h:
Remove weekFormatInLDML() declaration, which had not implementation.
- platform/text/PlatformLocale.cpp:
(WebCore::Locale::formatDateTime):
- platform/text/PlatformLocale.h:
Simplify code by marking formatDateTime() virtual on all platforms and un-#ifdefing
the base implementation. Platforms that wish to override it still can.
- platform/text/cocoa/LocaleCocoa.h:
- platform/text/cocoa/LocaleCocoa.mm:
- platform/text/ios/LocalizedDateCache.h:
- platform/text/ios/LocalizedDateCache.mm:
Remove iOS specific #ifdefs around code that should work on all Cocoa platforms.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::colorInputStyleSheet const):
(WebCore::RenderTheme::dateInputStyleSheet const):
(WebCore::RenderTheme::dateTimeLocalInputStyleSheet const):
(WebCore::RenderTheme::monthInputStyleSheet const):
(WebCore::RenderTheme::timeInputStyleSheet const):
(WebCore::RenderTheme::weekInputStyleSheet const):
- rendering/RenderTheme.h:
Add default user agent stylesheet strings for input types. All moved from html.css.
- style/UserAgentStyle.cpp:
(WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement):
- style/UserAgentStyle.h:
Conditionally add the input type specific user agent stylesheets only if the actual
input type is being passed in. Since creation of the input types is guarded by a Setting,
this can only happen if the type has been enabled.
Source/WebKit:
- Shared/FocusedElementInformation.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKFocusedElementInfo initWithFocusedElementInformation:isUserInitiated:userObject:]):
(-[WKContentView requiresAccessoryView]):
(-[WKContentView textInputTraits]):
(mayContainSelectableText):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getFocusedElementInformation):
Remove DateTime from the InputType enum. This should have been removed when datetime was removed.
- Shared/WebPreferences.yaml:
Add preferences for all the date/time related input types, and have them automatically
link up with the newly added WebCore Settings of the same names (this is the default
behavior if no explicit webcoreBinding: is provided).
- Shared/WebPreferencesDefaultValues.h:
Disable date/time input elements by default for non iOS/watchOS cocoa platforms. For non-Cocoa platforms
(and iOS/watchOS), they are enabled by default, but only actually get enabled if the appropriate ENABLE_*
macro is also set.
Source/WTF:
- wtf/PlatformEnableCocoa.h:
Enable building date/time input types on all Cocoa ports.
- 11:09 AM Changeset in webkit [263976] by
-
- 2 edits in trunk/Tools
[result database] Empty search will return too many tests to display
https://bugs.webkit.org/show_bug.cgi?id=213898
Reviewed by Jonathan Bedard.
- resultsdbpy/resultsdbpy/view/static/js/search.js: Trim the search string before fetching the tests, ingore empty string on paste event
- 10:44 AM Changeset in webkit [263975] by
-
- 8 edits in branches/safari-610.1.21-branch/Source
Versioning.
WebKit-610.1.21
- 10:39 AM Changeset in webkit [263974] by
-
- 1 copy in branches/safari-610.1.21-branch
New branch.
- 10:15 AM Changeset in webkit [263973] by
-
- 6 edits in trunk
RunLoop::dispatch should only call wakeUp when needed
https://bugs.webkit.org/show_bug.cgi?id=213705
Reviewed by Brady Eidson.
Source/WTF:
RunLoop::wakeUp is super expensive (at least on Darwin platforms). Back
when IndexedDB used RunLoop::dispatch, RunLoop::wakeUp accounted for 15%
of all database lookup time.
We can reduce the cost a bit by only scheduling a wakeUp when the queue
is empty.
- wtf/RunLoop.cpp:
(WTF::RunLoop::performWork): Take all the functions out of the pending
queue before we start executing them; that way, we can tell if a new
function has been added to the pending queue since we enetered
performWork.
(WTF::RunLoop::dispatch): Only call wakeUp if we need to.
- wtf/RunLoop.h:
Tools:
Added some tests for interesting edge cases.
Now that we have tests, we don't need so many comments.
- TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST): Test that re-entry maintiains ordering. Test that
re-entry does not deadlock with cross-thread posting. (This deadlock is
why we can't just use a naive check for an empty queue.)
- TestWebKitAPI/glib/UtilitiesGLib.cpp:
(TestWebKitAPI::Util::run):
(TestWebKitAPI::Util::spinRunLoop):
(TestWebKitAPI::Util::sleep): Try to fix the GLib RunLoop testing code.
GLib fails my two new tests, and seems to fail other RunLoop-y tests.
I think this is because g_idle_add is defined not to work in nested
RunLoops. Let's see if using WTF's RunLoop API instead can help.
- 9:53 AM Changeset in webkit [263972] by
-
- 3 edits in trunk/PerformanceTests
MallocBench: Remove unused private field
https://bugs.webkit.org/show_bug.cgi?id=213989
Patch by Philippe Normand <pnormand@igalia.com> on 2020-07-06
Reviewed by Alex Christensen.
The m_argc private field is never used. Remove it.
- MallocBench/MallocBench/CommandLine.cpp:
- MallocBench/MallocBench/CommandLine.h:
- 9:51 AM Changeset in webkit [263971] by
-
- 4 edits in trunk
Allow setting empty host/hostname on URLs if they use file scheme
https://bugs.webkit.org/show_bug.cgi?id=213983
Patch by Rob Buis <rbuis@igalia.com> on 2020-07-06
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Update improved test expectation.
- web-platform-tests/url/url-setters-expected.txt:
Source/WebCore:
Allow setting empty host/hostname on URLs if they use file scheme [1, 2, 3].
Behavior matches Firefox.
[1] https://url.spec.whatwg.org/#dom-url-host
[2] https://url.spec.whatwg.org/#dom-url-hostname
[3] https://url.spec.whatwg.org/#host-state Step 1
Test: imported/w3c/web-platform-tests/url/url-setters.html
- html/URLDecomposition.cpp:
(WebCore::URLDecomposition::setHost):
(WebCore::URLDecomposition::setHostname):
- 9:48 AM Changeset in webkit [263970] by
-
- 2 edits in trunk/Source/WebCore
Update the user agent on iPadOS to use 11 to match macOS Safari
https://bugs.webkit.org/show_bug.cgi?id=213753
Patch by Matt Gilligan <matthew_gilligan@apple.com> on 2020-07-06
Reviewed by Alex Christensen.
Update the version number in the desktop user agent string to 11_0.
- platform/ios/UserAgentIOS.mm:
(WebCore::standardUserAgentWithApplicationName):
- 9:27 AM Changeset in webkit [263969] by
-
- 2 edits in trunk/Source/WebCore
Use RenderObject::positionForPoint instead of hit testing the entire view in closestEditablePositionInElementForAbsolutePoint
https://bugs.webkit.org/show_bug.cgi?id=213975
Reviewed by Wenson Hsieh.
The target renderer is known a priori so it is more efficient to hit test this directly
instead of indirectly by hit testing the entire view.
- editing/Editing.cpp:
(WebCore::closestEditablePositionInElementForAbsolutePoint):
- 8:18 AM Changeset in webkit [263968] by
-
- 8 edits in trunk/LayoutTests
[Win] Unreviewed mozilla test gardening after r263855.
- platform/win/tables/mozilla/bugs/bug100334-expected.txt:
- platform/win/tables/mozilla/bugs/bug10633-expected.txt:
- platform/win/tables/mozilla/bugs/bug1188-expected.txt:
- platform/win/tables/mozilla/bugs/bug1302-expected.txt:
- platform/win/tables/mozilla/bugs/bug16012-expected.txt:
- platform/win/tables/mozilla/bugs/bug222336-expected.txt:
- platform/win/tables/mozilla/bugs/bug3037-1-expected.txt:
- 8:03 AM Changeset in webkit [263967] by
-
- 13 edits in trunk/LayoutTests
[Win] Unreviewed test gardening after r263855.
- platform/win/fast/css/acid2-expected.txt:
- platform/win/fast/css/acid2-pixel-expected.txt:
- platform/win/fast/css/percentage-non-integer-expected.txt:
- platform/win/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
- platform/win/fast/repaint/table-cell-move-expected.txt:
- platform/win/fast/table/cell-absolute-child-expected.txt:
- platform/win/fast/table/empty-cells-expected.txt:
- platform/win/fast/table/prepend-in-anonymous-table-expected.txt:
- platform/win/fast/table/table-cell-split-expected.txt:
- platform/win/fast/table/table-insert-before-non-anonymous-block-expected.txt:
- platform/win/http/tests/misc/acid2-expected.txt:
- platform/win/http/tests/misc/acid2-pixel-expected.txt:
- 5:13 AM Changeset in webkit [263966] by
-
- 2 edits in trunk/Source/WebKit
BubblewrapLauncher.cpp: Add paths required for sndio
https://bugs.webkit.org/show_bug.cgi?id=212524
Information about the paths currently ins't into the sndio
documentation but it can be found in this email:
http://www.sndio.org/arch/0077.html
Patch by Haelwenn (lanodan) Monnier <contact@hacktivis.me> on 2020-07-06
Reviewed by Adrian Perez de Castro.
Manually tested, there is currently no automatic tests for it
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bindSndio):
(WebKit::bubblewrapSpawn):
- 2:47 AM Changeset in webkit [263965] by
-
- 4 edits in trunk
[GTK][WPE] Enable storageAccess tests
https://bugs.webkit.org/show_bug.cgi?id=213881
Reviewed by Adrian Perez de Castro.
Tools:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::getAllStorageAccessEntries): Use the right website data store.
LayoutTests:
Enable storageAccess tests and mark expected failures.
- platform/glib/TestExpectations:
- 1:49 AM Changeset in webkit [263964] by
-
- 11 edits in trunk
[GTK][WPE] Change the cookies accept policy when ITP is enabled
https://bugs.webkit.org/show_bug.cgi?id=213502
Reviewed by Michael Catanzaro.
Source/WebCore:
Set the accept policy to always when ITP is enabled and no-third-party is set, otherwise cookies access granted
by request storage access would still be rejected by libsoup if policy is set to no-third-party.
- platform/network/NetworkStorageSession.cpp:
(WebCore::NetworkStorageSession::setResourceLoadStatisticsEnabled): Move here the implementation for ports not
using soup.
- platform/network/NetworkStorageSession.h:
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::NetworkStorageSession): Initialize cookie accept policy.
(WebCore::NetworkStorageSession::setCookieStorage): Set here the accept policy of the new jar.
(WebCore::NetworkStorageSession::setCookieAcceptPolicy): Set the cookie accept policy taking into account that
if ITP is enabled and no-third-party is set we save the policy but use always instead.
(WebCore::NetworkStorageSession::cookieAcceptPolicy const): Remove the default case of the switch.
(WebCore::NetworkStorageSession::setResourceLoadStatisticsEnabled): When enabled, save current policy and set
always if no-third-party is set. When disabled, restore the saved policy.
Source/WebKit:
- NetworkProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Use NetworkStorageSession::setCookieAcceptPolicy().
- NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSessionSoup::setCookiePersistentStorage): Do not change the accept policy, it's now done by
NetworkStorageSession when the new cookie jar is set.
- UIProcess/API/glib/WebKitCookieManager.cpp: Update API docs.
- UIProcess/API/glib/WebKitWebsiteDataManager.cpp: Ditto.
Tools:
Add tests to check the policy is changed and restored correctly when ITP is enabled and disabled.
- TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(testCookieManagerAcceptPolicy):
- 1:35 AM Changeset in webkit [263963] by
-
- 4 edits in trunk/Tools
[Flatpak SDK] Misc updates
https://bugs.webkit.org/show_bug.cgi?id=213968
Patch by Philippe Normand <pnormand@igalia.com> on 2020-07-06
Reviewed by Sergio Villar Senin.
- buildstream/README.rst: ReST format fixes and doc additions.
- buildstream/elements/sdk/perl-term-readkey.bst: Remove perllocal.pod as it can clash with other recipes.
- flatpak/flatpakutils.py:
(run_in_sandbox_if_available): Add --flatpak- option pass-through support. This was lost
after the migration of run-minibrowser to python.
- 12:42 AM Changeset in webkit [263962] by
-
- 2 edits in trunk/Source/WebCore
[MSE][GStreamer] Don't skip samples past media duration in AppendPipeline
https://bugs.webkit.org/show_bug.cgi?id=213888
Reviewed by Xabier Rodriguez-Calvar.
appsinkNewSample() contained code to skip samples whose presentation
time starts after media duration. This is paradoxical, because later
sourceBufferPrivateDidReceiveSample() extends media duration whenever
the presentation end time of the sample is past the original one.
It does not sound reasonable that samples extending the duration are
okay on one case but outright rejected in the other. Also, if it was
about skipping samples, sourceBufferPrivateDidReceiveSample() could do
it itself, and already does in other cases.
For all these reasons I was very doubtful of the need for this if()
and indeed removing this condition didn't cause any new test failure.
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::appsinkNewSample):