Timeline



Jul 7, 2020:

9:36 PM Changeset in webkit [264059] by ysuzuki@apple.com
  • 3 edits
    3 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 aestes@apple.com
  • 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 Lauro Moura
  • 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 Lauro Moura
  • 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 commit-queue@webkit.org
  • 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 commit-queue@webkit.org
  • 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 Lauro Moura
  • 2 edits
    2 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 ysuzuki@apple.com
  • 6 edits
    1 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 checked reject( 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 ysuzuki@apple.com
  • 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 of static 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 weinig@apple.com
  • 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 keith_miller@apple.com
  • 20 edits
    1 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 Chris Dumez
  • 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 commit-queue@webkit.org
  • 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 Chris Dumez
  • 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 Devin Rousso
  • 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 weinig@apple.com
  • 13 edits
    37 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 Chris Dumez
  • 118 edits
    2 moves
    44 adds
    6 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 Brent Fulgham
  • 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 Russell Epstein
  • 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 Russell Epstein
  • 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 Chris Dumez
  • 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 Chris Dumez
  • 9 edits
    13 copies
    883 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 Andres Gonzalez
  • 5 edits
    2 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 commit-queue@webkit.org
  • 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 Chris Dumez
  • 47 edits
    2 copies
    2 moves
    74 adds
    3 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 youenn@apple.com
  • 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 Chris Dumez
  • 1 edit
    1 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 Chris Dumez
  • 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 Simon Fraser
  • 6 edits
    4 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 Peng Liu
  • 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 Russell Epstein
  • 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 Russell Epstein
  • 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 timothy_horton@apple.com
  • 14 edits
    2 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 Russell Epstein
  • 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 Truitt Savell
  • 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 Russell Epstein
  • 1 copy in branches/safari-610.1.21.1-branch

New branch.

10:13 AM Changeset in webkit [264023] by Russell Epstein
  • 1 copy in branches/safari-610.1.21.0-branch

New branch.

10:05 AM Changeset in webkit [264022] by Chris Dumez
  • 1 edit
    4 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 commit-queue@webkit.org
  • 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 Chris Dumez
  • 34 edits
    1 copy
    93 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 beidson@apple.com
  • 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 beidson@apple.com
  • 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 ggaren@apple.com
  • 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 Carlos Garcia Campos
  • 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 Carlos Garcia Campos
  • 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 Tomoki Imai
  • 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 commit-queue@webkit.org
  • 4 edits
    1 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 Adrian Perez de Castro
  • 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 yurys@chromium.org
  • 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 Lauro Moura
  • 4 edits
    1 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 Chris Dumez
  • 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 Simon Fraser
  • 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 Chris Dumez
  • 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 Simon Fraser
  • 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 Chris Fleizach
  • 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 beidson@apple.com
  • 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 Wenson Hsieh
  • 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
Position that is anchored before or after the anchor node (more specifically, either PositionIsBeforeAnchor
or PositionIsAfterAnchor). In makeBoundaryPoint, we'll avoid the early WTF::nullopt return 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 object element, 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 clopez@igalia.com
  • 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 wilander@apple.com
  • 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 Chris Fleizach
  • 23 edits
    2 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 commit-queue@webkit.org
  • 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 mmaxfield@apple.com
  • 3 edits
    2 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 Alan Bujtas
  • 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 Chris Dumez
  • 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 dbates@webkit.org
  • 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 Alan Bujtas
  • 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 weinig@apple.com
  • 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 wilander@apple.com
  • 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 Peng Liu
  • 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 Peng Liu
  • 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 Alan Coon
  • 1 copy in tags/Safari-610.1.21

Tag Safari-610.1.21.

2:50 PM Changeset in webkit [263988] by Russell Epstein
  • 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 Chris Dumez
  • 202 edits
    16 copies
    5 moves
    334 adds
    20 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 Jonathan Bedard
  • 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 commit-queue@webkit.org
  • 17 edits
    4 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 pvollan@apple.com
  • 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 Jonathan Bedard
  • 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 Kate Cheney
  • 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 ggaren@apple.com
  • 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:

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 Simon Fraser
  • 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 Wenson Hsieh
  • 12 edits
    1 move
    4 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
by UITextMultiTapRecognizer, which is part of the UITextSelectionInteraction; 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 -makeKeyWindow from 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::FocusedElementIsTooSmall flag 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) to UIScriptControllerShared.cpp, and introduce new
DumpRenderTree and WebKitTestRunner versions of UIScriptController.cpp to house DumpRenderTree and
WebKitTestRunner-specific UIScriptController method implementations.

For now, these are just windowIsKey and setWindowIsKey below, which plumb into their respective platform-
agnostic PlatformWebView methods 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_windowIsKey when the test runner's UIWindow becomes 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 -becomeKeyWindow calling 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 commit-queue@webkit.org
  • 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 weinig@apple.com
  • 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 zhifei_fang@apple.com
  • 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 Russell Epstein
  • 8 edits in branches/safari-610.1.21-branch/Source

Versioning.

WebKit-610.1.21

10:39 AM Changeset in webkit [263974] by Russell Epstein
  • 1 copy in branches/safari-610.1.21-branch

New branch.

10:15 AM Changeset in webkit [263973] by ggaren@apple.com
  • 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 commit-queue@webkit.org
  • 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 commit-queue@webkit.org
  • 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 commit-queue@webkit.org
  • 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 dbates@webkit.org
  • 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 Alan Bujtas
  • 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 Alan Bujtas
  • 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 commit-queue@webkit.org
  • 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 Carlos Garcia Campos
  • 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 Carlos Garcia Campos
  • 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 commit-queue@webkit.org
  • 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 aboya@igalia.com
  • 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):

Jul 5, 2020:

5:59 PM Changeset in webkit [263961] by commit-queue@webkit.org
  • 34 edits
    4 deletes in trunk

Unreviewed, reverting r263960.
https://bugs.webkit.org/show_bug.cgi?id=213980

Re-land, because r263959 somehow fixed the build issue caused
by r263953

Reverted changeset:

"Unreviewed, reverting r263953 and r263959."
https://bugs.webkit.org/show_bug.cgi?id=213979
https://trac.webkit.org/changeset/263960

5:46 PM Changeset in webkit [263960] by commit-queue@webkit.org
  • 34 edits
    4 adds in trunk

Unreviewed, reverting r263953 and r263959.
https://bugs.webkit.org/show_bug.cgi?id=213979

Broke internal build

Reverted changesets:

"[Cocoa] Move almost all features from FeatureDefines.xcconfig
to PlatformEnableCocoa.h"
https://bugs.webkit.org/show_bug.cgi?id=212542
https://trac.webkit.org/changeset/263953

"[Cocoa] Remove FEATURE_DEFINES from the Cocoa/Xcode build
system"
https://bugs.webkit.org/show_bug.cgi?id=213976
https://trac.webkit.org/changeset/263959

4:34 PM Changeset in webkit [263959] by Darin Adler
  • 32 edits
    4 deletes in trunk

[Cocoa] Remove FEATURE_DEFINES from the Cocoa/Xcode build system
https://bugs.webkit.org/show_bug.cgi?id=213976

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig: Removed FEATURE_DEFINES.
  • Configurations/FeatureDefines.xcconfig: Removed.
  • Configurations/JSC.xcconfig: Removed include of FeatureDefines.xcconfig.
  • Configurations/JavaScriptCore.xcconfig: Ditto.
  • Configurations/ToolExecutable.xcconfig: Ditto.
  • DerivedSources-input.xcfilelist: Removed FeatureDefines.xcconfig.
  • DerivedSources.make: Removed FEATURE_DEFINES and FEATURE_DEFINE_FLAGS.
  • JavaScriptCore.xcodeproj/project.pbxproj: Removed FeatureDefines.xcconfig.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Removed everything except for ENABLE_WEB_RTC.
  • Configurations/WebCore.xcconfig: Removed FEATURE_DEFINES.
  • DerivedSources-input.xcfilelist: Removed FeatureDefines.xcconfig.
  • DerivedSources.make: Removed FEATURE_DEFINES, FEATURE_DEFINE_FLAGS, and the dependency

on FeatureDefines.xcconfig.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Removed.
  • Configurations/PAL.xcconfig: Removed FEATURE_DEFINES and the include

of FeatureDefines.xcconfig.

  • PAL.xcodeproj/project.pbxproj: Removed FeatureDefines.xcconfig.

Source/WebKit:

  • Configurations/BaseTarget.xcconfig: Removed FEATURE_DEFINES, and added

WK_ENABLE_EXPERIMENTAL_FEATURES,

  • Configurations/FeatureDefines.xcconfig: Removed everything except for ENABLE_WEB_RTC.

Source/WebKitLegacy:

  • WebKitLegacy.xcodeproj/project.pbxproj: Removed FeatureDefines.xconfig.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Removed.
  • Configurations/WebKitLegacy.xcconfig: Removed FEATURE_DEFINES and the include of

FeatureDefines.xcconfig.

  • MigrateHeaders.make: Removed FEATURE_DEFINES, FEATURE_DEFINE_FLAGS, and

FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES. FEATURE_AND_PLATFORM_DEFINES is now used
solely to determine if this is an internal SDK build, which should be cleaned up later.

Tools:

  • Scripts/webkitpy/style/checkers/featuredefines.py: Removed all FeatureDefines.xcconfig

files except for the two that remain, WebCore and WebKit.

  • TestWebKitAPI/Configurations/Base.xcconfig: Removed FEATURE_DEFINES.
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed.
  • TestWebKitAPI/Configurations/TestWTF.xcconfig: Removed include of FeatureDefines.xcconfig.
  • TestWebKitAPI/Configurations/TestWTFLibrary.xcconfig: Ditto.
  • TestWebKitAPI/Configurations/TestWebKitAPILibrary.xcconfig: Ditto.
  • TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Ditto.
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Removed FeatureDefines.xcconfig.
4:32 PM Changeset in webkit [263958] by commit-queue@webkit.org
  • 4 edits in trunk

Text manipulation: add a new heuristic to decide paragraph boundary
https://bugs.webkit.org/show_bug.cgi?id=213918

Patch by Sihui Liu <sihui_liu@appe.com> on 2020-07-05
Reviewed by Wenson Hsieh.

Source/WebCore:

Modified test: TextManipulation.StartTextManipulationTreatsInlineBlockLinksAndButtonsAndSpansAsParagraphs.

  • editing/TextManipulationController.cpp:

(WebCore::isEnclosingItemBoundaryElement):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:

(TestWebKitAPI::TEST):

4:10 PM Changeset in webkit [263957] by Darin Adler
  • 2 edits in trunk/Source/WebCore

[Cocoa] REGRESSION (r263914): Non-Apple-Pay Cocoa builds failing
https://bugs.webkit.org/show_bug.cgi?id=213977

  • Modules/applepay/cocoa/PaymentMethodCocoa.mm: Fixed messed up #endif and

unnecessary #undef at end of file.

4:06 PM Changeset in webkit [263956] by aestes@apple.com
  • 8 edits
    1 add in trunk/Source

[iOS] La Banque Postale app does not respect safe area insets on iOS 14
https://bugs.webkit.org/show_bug.cgi?id=213974
<rdar://problem/65109197>

Reviewed by Darin Adler.

Source/WebCore:

  • platform/RuntimeApplicationChecks.h:
  • platform/cocoa/RuntimeApplicationChecksCocoa.mm:

(WebCore::IOSApplication::isLaBanquePostale): Added.

Source/WebKitLegacy:

  • WebKitLegacy.xcodeproj/project.pbxproj:

Source/WebKitLegacy/mac:

La Banque Postale uses a fixed list of iOS versions that support safe area insets (versions
11 through 13 at the time of writing). Since iOS 14 is not in this list, the app fails to
apply top and bottom safe area insets to its web content. Work around this by adding the
'device-ios12p' class to <body> as if the iOS major version were 13 (the app currently uses
'device-ios12p' to represent both iOS 12 and iOS 13). This quirk will be disabled on
versions of La Banque Postale that link against the iOS 14 SDK (or later).

  • Configurations/WebKitLegacy.xcconfig: Excluded LaBanquePostaleQuirks.js on Mac.
  • Resources/LaBanquePostaleQuirks.js: Added.
  • WebView/WebView.mm:

(needsLaBanquePostaleQuirks): Added. Checks if the quirk is needed.
(leakLaBanquePostaleQuirksScript): Added. Leaks an NSString containing the quirk script.
(-[WebView _injectLaBanquePostaleQuirks]): Added. Injects the quirk as a user script.
(-[WebView _commonInitializationWithFrameName:groupName:]):

3:23 PM Changeset in webkit [263955] by Kocsen Chung
  • 1 copy in tags/Safari-610.1.20.4

Tag Safari-610.1.20.4.

2:57 PM Changeset in webkit [263954] by Kocsen Chung
  • 8 edits in branches/safari-610.1.20-branch/Source

Versioning.

WebKit-610.1.20.4

12:31 PM Changeset in webkit [263953] by Darin Adler
  • 14 edits in trunk

[Cocoa] Move almost all features from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212542

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Delete everything except

ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Delete everything except

ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Delete everything except

ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig: Delete everything except

ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.

  • Configurations/WebKit.xcconfig: Added include of WebKitTargetConditionals.xcconfig.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Delete everything except

ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Delete everything except

ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.

  • TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Added include of

WebKitTargetConditionals.xcconfig.

12:00 PM Changeset in webkit [263952] by Wenson Hsieh
  • 8 edits in trunk/Source/WebCore

[macOS 11] Indeterminate progress bar animation periodically jumps
https://bugs.webkit.org/show_bug.cgi?id=213967

Reviewed by Sam Weinig.

Source/WebCore:

The animation for an indeterminate progress bar occasionally jumps to the starting frame on macOS 11. This is
because the indeterinate progress bar animation only lasts for 120 frames on macOS 11, so our current hard-coded
value of 256 frames results in 16 extra frames of animation, before abruptly looping back to the starting frame.

To fix this, instead of specifying the animation frame index when painting progress bars on macOS, specify the
starting time and current time for the animation, and let CoreUI determine which frame to use.

  • rendering/RenderProgress.cpp:

(WebCore::RenderProgress::animationProgress):

Assert that this never gets called with a zero animation duration.

(WebCore::RenderProgress::updateAnimationState):

Instead of checking for the animation duration to determine whether or not we should try and animate progress
bar painting, check for the animation repeat interval instead. This is because on macOS, we no longer hard-code
the animation duration, but still want to be able to animate progress bars.

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::animationRepeatIntervalForProgressBar const): Deleted.
(WebCore::RenderThemeIOS::animationDurationForProgressBar const): Deleted.

Drive-by fix: remove some unnecessary overridden method implementations on RenderThemeIOS.

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::animationDurationForProgressBar const): Deleted.

Stop overriding this method, and remove the progressAnimationNumFrames constant declared in this file.

Source/WebCore/PAL:

  • pal/spi/mac/CoreUISPI.h: Add declarations for kCUIAnimationStartTimeKey and kCUIAnimationTimeKey.
7:23 AM Changeset in webkit [263951] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Web Inspector: Fix python3 build warnings
https://bugs.webkit.org/show_bug.cgi?id=213971

Patch by Philippe Normand <pnormand@igalia.com> on 2020-07-05
Reviewed by Sam Weinig.

Fix Python3 syntax warnings. Using 'is' with string literals triggers those. Adopt the ==
operator instead, which is more idiomatic anyway.

  • inspector/scripts/codegen/cpp_generator.py:

(CppGenerator.cpp_getter_method_for_type):
(CppGenerator.cpp_setter_method_for_type):

  • inspector/scripts/codegen/objc_generator.py:

(ObjCTypeCategory.category_for_type):
(ObjCGenerator.objc_type_for_raw_name):
(ObjCGenerator.objc_class_for_raw_name):
(ObjCGenerator.protocol_type_for_raw_name):
(ObjCGenerator.objc_protocol_export_expression_for_variable):
(ObjCGenerator.objc_protocol_import_expression_for_variable):
(ObjCGenerator.objc_to_protocol_expression_for_member):
(ObjCGenerator.protocol_to_objc_expression_for_member):
(ObjCGenerator.payload_to_objc_expression_for_member):
(ObjCGenerator.objc_setter_method_for_member_internal):
(ObjCGenerator.objc_getter_method_for_member_internal):
(ObjCGenerator.objc_protocol_export_expression_for_variable.is): Deleted.
(ObjCGenerator.objc_protocol_import_expression_for_variable.is): Deleted.
(ObjCGenerator.objc_to_protocol_expression_for_member.is): Deleted.
(ObjCGenerator.protocol_to_objc_expression_for_member.is): Deleted.

7:15 AM Changeset in webkit [263950] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WPE] run-wpe-tests Python3 compatibility
https://bugs.webkit.org/show_bug.cgi?id=213969

Patch by Philippe Normand <pnormand@igalia.com> on 2020-07-05
Reviewed by Sam Weinig.

  • Scripts/run-wpe-tests:
3:02 AM Changeset in webkit [263949] by commit-queue@webkit.org
  • 15 edits in trunk

[macOS] Allow selecting HEIF images if the 'accept' attribute includes an image MIME type that the platform can transcode the HEIF to
https://bugs.webkit.org/show_bug.cgi?id=212489

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-07-05
Reviewed by Darin Adler.

Source/WebCore:

Add some utility functions to MIMETypeRegistry. These new functions will
deal with a list of MIME types combined with a list of file extensions.
They are going to be used the FileChooserSettings which reflects the
'accept' attribute of the <input> file element.

  • platform/MIMETypeRegistry.cpp:

(WebCore::trimmedExtension):
(WebCore::MIMETypeRegistry::preferredImageMIMETypeForEncoding):
(WebCore::MIMETypeRegistry::containsImageMIMETypeForEncoding):

(WebCore::MIMETypeRegistry::allowedMIMETypes):
It returns the set of mime types which is stated by a list of mime types
and a list of file extensions.

(WebCore::MIMETypeRegistry::allowedFileExtensions):
It returns the set of extensions which is stated by a list of mime types
and a list of file extensions.

  • platform/MIMETypeRegistry.h:

Source/WebKit:

Make WKOpenPanelParameters call allowedFileExtensions() and allowedMIMETypes()
of MIMETypeRegistry via OpenPanelParameters.

UIDelegate will get allowedMIMETypes() and pass it to WebOpenPanelResultListenerProxy
which will pass it to WebPageProxy. In a following patch, WebPageProxy
will use allowedMIMETypes to transcode the selected images before sending
them to WebPage.

  • UIProcess/API/APIOpenPanelParameters.cpp:

(API::OpenPanelParameters::allowedMIMETypes const):
(API::OpenPanelParameters::allowedFileExtensions const):
(API::OpenPanelParameters::mediaCaptureType const): Deleted.

  • UIProcess/API/APIOpenPanelParameters.h:

(API::OpenPanelParameters::mediaCaptureType const):

  • UIProcess/API/Cocoa/WKOpenPanelParameters.mm:

(-[WKOpenPanelParameters _allowedFileExtensions]):
(-[WKOpenPanelParameters _allowedFileExtensionsTitles]): Deleted.

  • UIProcess/API/Cocoa/WKOpenPanelParametersPrivate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::runOpenPanel):

  • UIProcess/WebOpenPanelResultListenerProxy.cpp:

(WebKit::WebOpenPanelResultListenerProxy::chooseFiles):

  • UIProcess/WebOpenPanelResultListenerProxy.h:

(WebKit::WebOpenPanelResultListenerProxy::chooseFiles):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChooseFilesForOpenPanel):

  • UIProcess/WebPageProxy.h:

Tools:

The scope of this enhancement will be scaled down. No UI change will be
done for now. Only allow HEIF/HEIC images to be selected if the 'accept'
attribute include a mime type which CG supports transcoding the HEIF/HEIC
images to.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
(-[FileExtensionsPopupTarget initWithOpenPanel:allowedFileExtensions:]): Deleted.
(-[FileExtensionsPopupTarget popupAction:]): Deleted.
(-[FileExtensionsPopupTarget dealloc]): Deleted.
(-[WK2BrowserWindowController createFilterView:popupTarget:]): Deleted.

Jul 4, 2020:

6:54 PM Changeset in webkit [263948] by Darin Adler
  • 2 edits in trunk/Source/WTF

[Cocoa] Add almost everything from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=213964

Reviewed by Sam Weinig.

Added logic that matches what FeatureDefines.xcconfig does for everything
except for ENABLE_EXPERIMENTAL_FEATURES.

Changed format so we mostly list platforms where we do not want to enable
a certain feature; also order it pretty consistently macOS, iOS, Mac Catalyst,
watchOS, then tvOS. This format highlights possible mistakes when not enabling
a feature on some platforms in an easier to understand way.

  • wtf/PlatformEnableCocoa.h:

(ENABLE_AIRPLAY_PICKER): List platforms that do *not* enable this.
(ENABLE_APPLE_PAY): All except Mac Catalyst, watchOS, tvOS.
Not sure why disabled in Mac Catalyst, but replicates FeatureDefines.xcconfig.
(ENABLE_APPLE_PAY_REMOTE_UI): List platforms that do *not* enable this.
(ENABLE_AUTOCAPITALIZE): List platforms that do *not* enable this.
(ENABLE_AUTOCORRECT): List platforms that do *not* enable this.
(ENABLE_CONTENT_FILTERING): All except older watchOS simulator and tvOS.
(ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER): Re-sorted this.
(ENABLE_CSS_CONIC_GRADIENTS): All except older macOS and tvOS. The tvOS
exception seems questionable, so added a FIXME.
(ENABLE_DARK_MODE_CSS): All except watchOS and tvOS.
(ENABLE_DATA_INTERACTION): All except macOS, watchOS, and tvOS.
(ENABLE_DATA_DETECTION): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_EDITABLE_REGION): Only iOS.
(ENABLE_ENCRYPTED_MEDIA): All except older macOS and Mac Catalyst.
(ENABLE_FULLSCREEN_API): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_FULL_KEYBOARD_ACCESS): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_GAMEPAD): All except watchOS.
(ENABLE_INPUT_TYPE_DATE): All except macOS, Mac Catalyst, and tvOS.
(ENABLE_INPUT_TYPE_DATETIMELOCAL): Ditto.
(ENABLE_INPUT_TYPE_MONTH): Ditto.
(ENABLE_INPUT_TYPE_TIME): Ditto.
(ENABLE_INPUT_TYPE_WEEK): Ditto.
(ENABLE_MEDIA_CAPTURE): All except macOS.
(ENABLE_MEDIA_SOURCE): All except Mac Catalyst, watchOS, tvOS, and
all simulators.
(ENABLE_MEDIA_STREAM): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_NAVIGATOR_STANDALONE): All iOS family. (Considered writing as
all except macOS, but left like this to match some .cpp code for now.)
(ENABLE_OVERFLOW_SCROLLING_TOUCH): All iOS family.
(ENABLE_PICTURE_IN_PICTURE_API): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_SPEECH_SYNTHESIS): All except Mac Catalyst.
(ENABLE_REVEAL): All except older macOS, watchOS, and tvOS.
(ENABLE_SIGILL_CRASH_ANALYZER): All except macOS and watchOS.
(ENABLE_TAKE_UNBOUNDED_NETWORKING_ASSERTION): All except macOS, watchOS, and tvOS.
(ENABLE_VIDEO_PRESENTATION_MODE): All except simulators and tvOS.
(ENABLE_WEBGPU): All except older macOS, Mac Catalyst, and simulators.
(ENABLE_WEB_API_STATISTICS): Re-sorted this.
(ENABLE_WEB_AUTHN): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_WEB_RTC): All except Mac Catalyst, watchOS, and tvOS.

2:32 PM Changeset in webkit [263947] by Darin Adler
  • 14 edits in trunk

[Cocoa] Remove all features from FeatureDefines.xcconfig that are already mentioned in PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=213962

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WTF:

  • wtf/PlatformEnableCocoa.h:

(ENABLE_DRAG_SUPPORT): Before, this was enabled for iOS, iOS simulator, and Mac Catalyst in the
FeatureDefines.xcconfig file, but then disabled for any other iOS family platform here, then enabled
by default in PlatformEnable.h, which covered Mac. Instead, disable here only for watchOS and tvOS,
which gives the same result in a more straightforward way.
(ENABLE_GEOLOCATION): Before, this was enabled for iOS, iOS simulator, Mac Catalyst, and Mac in the
FeatureDefines.xcconfig file, then enabled for any other iOS family platform here. Instead, just
enable here for all Cocoa platforms, which gives the same result in a more straightforward way.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

2:17 PM Changeset in webkit [263946] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

[LFC][BFC] Move PositiveAndNegativeVerticalMargin to UsedVerticalMargin
https://bugs.webkit.org/show_bug.cgi?id=213963

Reviewed by Antti Koivisto.

Now that UsedVerticalMargin is not used in Display::Box, we can merged these 2 layout structures.

  • layout/MarginTypes.h:

(WebCore::Layout::UsedVerticalMargin::PositiveAndNegativePair::Values::isNonZero const):
(WebCore::Layout::PositiveAndNegativeVerticalMargin::Values::isNonZero const): Deleted.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingState.h:

(WebCore::Layout::BlockFormattingState::hasUsedVerticalMargin const):
(WebCore::Layout::BlockFormattingState::setPositiveAndNegativeVerticalMargin): Deleted.
(WebCore::Layout::BlockFormattingState::hasPositiveAndNegativeVerticalMargin const): Deleted.
(WebCore::Layout::BlockFormattingState::positiveAndNegativeVerticalMargin const): Deleted.

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::computedPositiveAndNegativeMargin const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginValue const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::updateMarginAfterForPreviousSibling):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeValues const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeMarginBefore const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeMarginAfter const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedVerticalValues):

  • layout/blockformatting/PrecomputedBlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::precomputedPositiveNegativeValues const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::precomputedPositiveNegativeMarginBefore const):

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):

2:09 PM Changeset in webkit [263945] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][BFC] Remove redundant out-of-flow height-and-margin handling
https://bugs.webkit.org/show_bug.cgi?id=213959

Reviewed by Antti Koivisto.

We will never end up here with an out-of-flow box.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

1:06 PM Changeset in webkit [263944] by Alexey Shvayka
  • 5 edits
    3 adds in trunk

%TypedArray%.prototype.{indexOf,lastIndexOf} are not spec-perfect
https://bugs.webkit.org/show_bug.cgi?id=213715

Reviewed by Yusuke Suzuki.

JSTests:

  • microbenchmarks/array-prototype-indexOf-empty.js: Added.
  • microbenchmarks/typed-array-indexOf-empty.js: Added.
  • stress/array-indexof-tointeger-order.js: Added.
  • test262/expectations.yaml: Mark 10 test cases as passing.

Source/JavaScriptCore:

This patch:

  1. Implements step 3 of {Array,%TypedArray%}.prototype.indexOf [1] and %TypedArray%.prototype.lastIndexOf [2] since it is observable when second argument is an object with userland toString() or valueOf() method. Advances provided microbenchmark by 100% for Array and by 25% for %TypedArray%.
  1. Removes argument count check from %TypedArray%.prototype.{indexOf,lastIndexOf}, allowing these methods to be invoked w/o arguments. The spec treats missing arguments as undefined, always returning -1 for typed arrays.

Both changes align JSC with V8 and SpiderMonkey.

[1]: https://tc39.es/ecma262/#sec-array.prototype.indexof
[2]: https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):

  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:

(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):

1:06 PM Changeset in webkit [263943] by Alan Bujtas
  • 15 edits in trunk/Source/WebCore

[LFC][BFC] Store used vertical margin values in the formatting state
https://bugs.webkit.org/show_bug.cgi?id=213958

Reviewed by Antti Koivisto.

Layout related vertical margin values (collapsed vs. non-collapsed) should all go to the FormattingState, while
Display::Box should only have the final values.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry):

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::staticVerticalPositionForOutOfFlowPositioned const):

  • layout/MarginTypes.h:

(WebCore::Layout::marginBefore):
(WebCore::Layout::marginAfter):
(WebCore::Layout::UsedVerticalMargin::before const): Deleted.
(WebCore::Layout::UsedVerticalMargin::after const): Deleted.
(WebCore::Layout::UsedVerticalMargin::isCollapsedThrough const): Deleted.
(WebCore::Layout::UsedVerticalMargin::nonCollapsedValues const): Deleted.
(WebCore::Layout::UsedVerticalMargin::collapsedValues const): Deleted.
(WebCore::Layout::UsedVerticalMargin::hasCollapsedValues const): Deleted.
(WebCore::Layout::UsedVerticalMargin::setCollapsedValues): Deleted.
(WebCore::Layout::UsedVerticalMargin::UsedVerticalMargin): Deleted.

  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::verticalPositionWithMargin const):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):

  • layout/blockformatting/BlockFormattingState.h:

(WebCore::Layout::BlockFormattingState::setUsedVerticalMargin):
(WebCore::Layout::BlockFormattingState::usedVerticalMargin const):

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::updateMarginAfterForPreviousSibling):

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):

  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::Box):
(WebCore::Display::Box::nonCollapsedMarginBox const): Deleted.

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::rectWithMargin const):
(WebCore::Display::Box::setHasValidVerticalMargin):
(WebCore::Display::Box::setVerticalMargin):
(WebCore::Display::Box::marginBefore const):
(WebCore::Display::Box::marginAfter const):
(WebCore::Display::Box::VerticalMargin::before const): Deleted.
(WebCore::Display::Box::VerticalMargin::after const): Deleted.
(WebCore::Display::Box::VerticalMargin::isCollapsedThrough const): Deleted.
(WebCore::Display::Box::VerticalMargin::nonCollapsedValues const): Deleted.
(WebCore::Display::Box::VerticalMargin::collapsedValues const): Deleted.
(WebCore::Display::Box::VerticalMargin::hasCollapsedValues const): Deleted.
(WebCore::Display::Box::VerticalMargin::setCollapsedValues): Deleted.
(WebCore::Display::Box::hasCollapsedThroughMargin const): Deleted.
(WebCore::Display::Box::setHasValidVerticalNonCollapsedMargin): Deleted.
(WebCore::Display::Box::VerticalMargin::VerticalMargin): Deleted.
(WebCore::Display::Box::VerticalMargin::NonCollapsedValues::NonCollapsedValues): Deleted.
(WebCore::Display::Box::VerticalMargin::CollapsedValues::CollapsedValues): Deleted.
(WebCore::Display::Box::nonCollapsedMarginBefore const): Deleted.
(WebCore::Display::Box::nonCollapsedMarginAfter const): Deleted.

  • layout/floats/FloatingContext.cpp:

(WebCore::Layout::FloatingContext::verticalPositionWithClearance const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin):

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForRows):
(WebCore::Layout::TableFormattingContext::setUsedGeometryForSections):
(WebCore::Layout::TableFormattingContext::layoutCell):

12:21 PM Changeset in webkit [263942] by Darin Adler
  • 12 edits in trunk

[Cocoa] Remove unconditional features from FeatureDefines.xcconfig, making sure they are covered in PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212418

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

12:20 PM Changeset in webkit [263941] by weinig@apple.com
  • 45 edits
    1 delete in trunk

Part 1 of SimpleColor and SRGBA<uint8_t> are essentially the same - let's converge them
https://bugs.webkit.org/show_bug.cgi?id=213948

Reviewed by Darin Adler.

Source/WebCore:

Begin converging SimpleColor and SRGBA<uint8_t>, starting with removing usages that
were getting SimpleColors to access or operate on the color's components.

  • Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>
  • Replace toSRGBALossy() with toSRGBALossy<float>().
  • Remove direct color component accessors from SimpleColor.
  • Add new ARGB type to support explicit conversion from packed ARGB bits to a color type.
  • Update premulitplication functions to operate on SRGBA<uint8_t> and rename them to match existing function operating on SRGBA<float>.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Removes SimpleColor.cpp

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::colorValue const):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getAttributeSetForAccessibilityObject):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::colorValue const):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • css/DeprecatedCSSOMRGBColor.h:

Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • editing/cocoa/DataDetection.mm:

(WebCore::DataDetection::detectContentInRange):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/Color.cpp:

(WebCore::Color::lightened const):
(WebCore::Color::darkened const):
(WebCore::Color::lightness const):
(WebCore::Color::luminance const):
(WebCore::Color::semanticColor const):
(WebCore::Color::toSRGBASimpleColorLossy const): Deleted.
(WebCore::Color::toSRGBALossy const): Deleted.

  • platform/graphics/Color.h:

Remove toSRGBASimpleColorLossy() and templatize toSRGBALossy() to support both
lossy conversion to byte based components as well.

  • platform/graphics/ColorBlending.cpp:

(WebCore::blendSourceOver):
(WebCore::blendWithWhite):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

(WebCore::blend):
(WebCore::blendWithoutPremultiply):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>. Adopt new premultipliedCeiling
and unpremultiplied functions that operate on SRGBA<uint8_t> (rather than SimpleColor) and
clamping conversion to SRGBA<uint8_t> via convertToComponentBytes<SRGBA>. premultipliedCeiling
now works correctly for 0 alpha, so no workaround is needed anymore.

  • platform/graphics/ColorTypes.h:

(WebCore::asARGB):
(WebCore::asSRGBA):
Add new type of color struct representing a format packing. The initial one is ARGB to support
the few places using SimpleColor to manipulate ARGB pixel data.

  • platform/graphics/ColorUtilities.cpp:

(WebCore::unpremultiplied):
(WebCore::premultipliedFlooring):
(WebCore::premultipliedCeiling):
(WebCore::unpremultipliedComponentByte):

  • platform/graphics/ColorUtilities.h:

(WebCore::convertToComponentBytes):
(WebCore::convertToComponentFloats):
Move remaining premultiplication functions here (from SimpleColor.h/cpp) and reimplement
to operate on SRGBA<uint8_t>. Also slightly rename, premultiply -> premultiplied, to
match existing premultiplied functions. While moving them, also fix the premultiplied
functions to better support 0 alpha to avoid workarounds in callers.

Additional, this adds convertToComponentBytes/convertToComponentFloats helper functions
which convert to/from uint8_t/float based color types, and support creating color types
from values potentially outside of their supported value range. Right now, that value
range is always considerer to be 0-255 for uint8_t and 0-1 for float, but that can be
chnaged in the future by allowing color type structs to indicate their supported ranges.

  • platform/graphics/ExtendedColor.cpp:

(WebCore::ExtendedColor::toSRGBAFloatComponentsLossy const):
(WebCore::ExtendedColor::toSRGBALossy const): Deleted.

  • platform/graphics/ExtendedColor.h:

(WebCore::ExtendedColor::toSRGBALossy const):
Rename existing toSRGBALossy() to toSRGBAFloatComponentsLossy() and replace templatize
toSRGBALossy(), with the uint8_t case just down converting via new convertToComponentBytes.

  • platform/graphics/ImageBackingStore.h:

(WebCore::ImageBackingStore::fillRect):
(WebCore::ImageBackingStore::setPixel):
(WebCore::ImageBackingStore::blendPixel):
(WebCore::ImageBackingStore::pixelValue const):
Replace usage of SimpleColor with new ARGB type for conversion from ARGB to SRGBA<uint8_t>.
Update to use new premulitplication functions. Also, update the interface to take pixel
components as uint8_t, rather than unsigned, as that is what the callers are passing anyway,
and it avoids us having to clamp/cast manually all over the case.

  • platform/graphics/SimpleColor.cpp: Removed.
  • platform/graphics/SimpleColor.h:

(WebCore::SimpleColor::alphaComponent const):
(WebCore::SimpleColor::asSRGBA const):
(WebCore::SimpleColor::redComponent const):
(WebCore::SimpleColor::greenComponent const):
(WebCore::SimpleColor::blueComponent const):
(WebCore::operator==):
(WebCore::makeSimpleColor):
Simplify interface, making red, green and blue component accessors private and having
callers all use SRGBA directly. Remove premultiplication functions in favor of new ones
in ColorUtilities.

  • platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm:

(WebCore::PlatformCAAnimationCocoa::setFromValue):
(WebCore::PlatformCAAnimationCocoa::setToValue):
(WebCore::PlatformCAAnimationCocoa::setValues):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • platform/graphics/ca/win/PlatformCAAnimationWin.cpp:

(PlatformCAAnimationWin::setFromValue):
(PlatformCAAnimationWin::setToValue):
(PlatformCAAnimationWin::setValues):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::setSourceRGBAFromColor):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/cairo/GradientCairo.cpp:

(WebCore::addColorStopRGBA):
(WebCore::setCornerColorRGBA):
(WebCore::interpolateColorStop):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/cairo/ImageBufferCairoImageSurfaceBackend.cpp:

(WebCore::ImageBufferCairoImageSurfaceBackend::platformTransformColorSpace):
Replace usage of SimpleColor with new ARGB type for conversion from ARGB to SRGBA<uint8_t>.
Update to use new premulitplication functions.

  • platform/graphics/cairo/NativeImageCairo.cpp:

(WebCore::nativeImageSinglePixelSolidColor):
Replace usage of SimpleColor with new ARGB type for conversion from ARGB to SRGBA<uint8_t>.
Update to use new premulitplication functions.

  • platform/graphics/cpu/arm/filters/FELightingNEON.h:

(WebCore::FELighting::platformApplyNeon):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::drawLighting):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::FilterOperations::transformColor const):
(WebCore::FilterOperations::inverseTransformColor const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/gtk/ColorGtk.cpp:

(WebCore::Color::operator GdkRGBA const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawBorder):
(WebCore::TextureMapperGL::drawNumber):
(WebCore::prepareFilterProgram):
(WebCore::TextureMapperGL::drawSolidColor):
(WebCore::TextureMapperGL::clearColor):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/win/ColorDirect2D.cpp:

(WebCore::Color::operator D2D1_COLOR_F const):
(WebCore::Color::operator D2D1_VECTOR_4F const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/win/GradientDirect2D.cpp:

(WebCore::Gradient::generateGradient):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/win/GraphicsContextCGWin.cpp:

(WebCore::GraphicsContext::drawDotsForDocumentMarker):
Replace direct usage component access from SimpleColor with usage of accessed SRGBA<uint8_t>.

  • platform/graphics/win/GraphicsContextDirect2D.cpp:

(WebCore::GraphicsContext::colorWithGlobalAlpha const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::disabledTextColor const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • rendering/RenderThemeIOS.mm:

(WebCore::shouldUseConvexGradient):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • rendering/TextPaintStyle.cpp:

(WebCore::textColorIsLegibleAgainstBackgroundColor):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • svg/properties/SVGAnimationAdditiveValueFunctionImpl.h:

(WebCore::SVGAnimationColorFunction::animate):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

Source/WebKit:

  • UIProcess/API/wpe/WebKitColor.cpp:

(webkitColorFillFromWebCoreColor):

  • UIProcess/gtk/ViewGestureControllerGtk.cpp:

(WebKit::ViewGestureController::beginSwipeGesture):

  • WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm:

(WebKit::animationValueFromKeyframeValue):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::getDocumentBackgroundColor):
Adapt to use templatized toSRGBALossy<float/uint8_t>.

Tools:

  • TestWebKitAPI/Tests/WebCore/ColorTests.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:

(TestWebKitAPI::TEST):
Adapt tests to use templatized toSRGBALossy<float/uint8_t>.

12:17 PM Changeset in webkit [263940] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC] Remove redundant Display::Box::HorizontalMargin c'tors
https://bugs.webkit.org/show_bug.cgi?id=213957

Reviewed by Antti Koivisto.

Let's just have a very simple Display::Box:HorizontalMargin struct.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::HorizontalMargin::HorizontalMargin): Deleted.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):

11:56 AM Changeset in webkit [263939] by svillar@igalia.com
  • 4 edits in trunk

[Flatpak SDK] Require OpenXR 1.0.9
https://bugs.webkit.org/show_bug.cgi?id=213930

Reviewed by Philippe Normand.

.:

Require version 1.0.9 because is the first one that include EGL support for Monado.

  • Source/cmake/OptionsWPE.cmake:

Tools:

  • buildstream/elements/sdk/openxr.bst:
11:37 AM Changeset in webkit [263938] by Alan Bujtas
  • 16 edits in trunk/Source/WebCore

[LFC] Do not cache computed horizontal margin values
https://bugs.webkit.org/show_bug.cgi?id=213956

Reviewed by Antti Koivisto.

Outside of the width + margin computation, computed horizontal margin values are only required by
float positioning. Let's just re-computed them on demand (which is basically just a style.marginStart/end resolve).

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):

  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::layout):

  • layout/LayoutUnits.h:
  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computePositionToAvoidFloats):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):

  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::Box):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::setHasValidVerticalNonCollapsedMargin):
(WebCore::Display::Box::setHasValidHorizontalComputedMargin): Deleted.
(WebCore::Display::Box::ComputedHorizontalMargin::ComputedHorizontalMargin): Deleted.
(WebCore::Display::Box::setHorizontalComputedMargin): Deleted.
(WebCore::Display::Box::computedMarginStart const): Deleted.
(WebCore::Display::Box::computedMarginEnd const): Deleted.

  • layout/floats/FloatingContext.cpp:

(WebCore::Layout::computedHorizontalMargin):
(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::positionForNonFloatingFloatAvoider const):

  • layout/floats/FloatingContext.h:
  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeHorizontalMargin):
(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockWidthAndMargin):

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForRows):
(WebCore::Layout::TableFormattingContext::setUsedGeometryForSections):
(WebCore::Layout::TableFormattingContext::layoutCell):

10:18 AM Changeset in webkit [263937] by Darin Adler
  • 2 edits in trunk/Tools

Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable
https://bugs.webkit.org/show_bug.cgi?id=212420

  • Scripts/generate-unified-sources.sh: Removed --feature-flags from the

arguments passed to generate-unified-source-bundles.rb. Also removed many
unneeded quotes.

9:43 AM Changeset in webkit [263936] by Lauro Moura
  • 2 edits in trunk/WebDriverTests

[WebDriver][WPE][GTK] Garden post update failures

Unreviewed test gardening.

9:41 AM Changeset in webkit [263935] by Darin Adler
  • 16 edits
    1 add in trunk

Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable
https://bugs.webkit.org/show_bug.cgi?id=212420

Reviewed by Don Olmstead.

.:

  • Source/cmake/WebKitCommon.cmake: Removed call to SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS.
  • Source/cmake/WebKitFeatures.cmake: Removed SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS.
  • Source/cmake/WebKitMacros.cmake: Removed use of "--feature-flags" when invoking the

generate-unified-source-bundles.rb, which also means no longer depending on the
UNIFIED_SOURCE_LIST_ENABLED_FEATURES variable, which was set by the
SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS function.

Source/JavaScriptCore:

  • Scripts/generate-unified-sources.sh: Removed many unneeded quote marks from the

invocation of generate-unified-source-bundles.rb.

Source/WebCore:

  • Scripts/generate-unified-sources.sh: Added code to include sources from

SourcesCocoaInternalSDK.txt, only if USE_INTERNAL_SDK is YES. Removed --feature-flags
argument from invocation of generate-unified-source-bundles.rb. Removed many
unnecessary quotes.

  • SourcesCocoa.txt: Removed the names of the files from the internal SDK.
  • SourcesCocoaInternalSDK.txt: Added. Moved those names here.
  • html/MediaElementSession.cpp: Added some includes, apparently needed because of different

groupings of unified sources.

Source/WebKit:

  • Scripts/generate-unified-sources.sh: Removed --feature-flags from the

arguments passed to generate-unified-source-bundles.rb. Also removed many
unneeded quotes.

Source/WebKitLegacy:

  • scripts/generate-unified-sources.sh: Removed --feature-flags from the

arguments passed to generate-unified-source-bundles.rb. Also removed many
unneeded quotes.

Source/WTF:

  • Scripts/generate-unified-source-bundles.rb: Removed the --feature-flags

command line option along with the code that implements it.

9:33 AM Changeset in webkit [263934] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC] Used dedicated paint margin structures
https://bugs.webkit.org/show_bug.cgi?id=213955

Reviewed by Antti Koivisto.

This is in preparation for having only final margin values in Display::Box.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::VerticalMargin::before const):
(WebCore::Display::Box::VerticalMargin::after const):
(WebCore::Display::Box::VerticalMargin::isCollapsedThrough const):
(WebCore::Display::Box::VerticalMargin::nonCollapsedValues const):
(WebCore::Display::Box::VerticalMargin::collapsedValues const):
(WebCore::Display::Box::VerticalMargin::hasCollapsedValues const):
(WebCore::Display::Box::VerticalMargin::setCollapsedValues):
(WebCore::Display::Box::VerticalMargin::VerticalMargin):
(WebCore::Display::Box::VerticalMargin::NonCollapsedValues::NonCollapsedValues):
(WebCore::Display::Box::VerticalMargin::CollapsedValues::CollapsedValues):
(WebCore::Display::Box::ComputedHorizontalMargin::ComputedHorizontalMargin):
(WebCore::Display::Box::HorizontalMargin::HorizontalMargin):
(WebCore::Display::Box::setHorizontalMargin):
(WebCore::Display::Box::setVerticalMargin):
(WebCore::Display::Box::setHorizontalComputedMargin):
(WebCore::Display::Box::verticalMargin const):
(WebCore::Display::Box::horizontalMargin const):

  • layout/floats/FloatingState.h:

(WebCore::Layout::FloatingState::FloatItem::horizontalMargin const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin):

9:04 AM Changeset in webkit [263933] by Lauro Moura
  • 2 edits in trunk/Tools

[WebDriver][WPE] Allow running Selenium tests with the WPE WebDriver
https://bugs.webkit.org/show_bug.cgi?id=213500

Reviewed by Carlos Garcia Campos.

Add missing method used to discover the selenium name of
the WPE webdriver.

Proper gardening/triaging of failures will come in following commits.

  • Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:

(WebDriverWPE.selenium_name):

6:32 AM Changeset in webkit [263932] by Darin Adler
  • 12 edits in trunk

Update comment in FeatureDefines.xcconfig since PlatformEnableCocoa.h should be used instead
https://bugs.webkit.org/show_bug.cgi?id=213952

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Updated comment.
2:18 AM Changeset in webkit [263931] by youenn@apple.com
  • 13 edits in trunk/Source

Enable VTB required low latency code path
https://bugs.webkit.org/show_bug.cgi?id=210609
<rdar://problem/61890332>

Reviewed by Darin Adler.

Source/ThirdParty/libwebrtc:

Enable low latency mode for latest MacOS and iOS versions.
Add a boolean controlling whether to opt in that code path.
Export the setter to that boolean so that it can be controlled by a WebCore runtime flag.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
  • Source/webrtc/sdk/WebKit/WebKitEncoder.mm:

(webrtc::setH264LowLatencyEncoderEnabled):
(webrtc::isH264LowLatencyEncoderEnabled):

  • Source/webrtc/sdk/WebKit/WebKitUtilities.h:
  • Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:

(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):

Source/WebCore:

Add new runtime flag for the low latency code path.
Call webrtc newly introduced setter whenever creating a new encoder factory.
Manually tested.

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::webRTCH264LowLatencyEncoderEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebRTCH264LowLatencyEncoderEnabled):

  • platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:

(WebCore::LibWebRTCProviderCocoa::createEncoderFactory):

Source/WebKit:

Add a runtime flag to enable/disable the low latency code path.

  • Shared/WebPreferences.yaml:

Jul 3, 2020:

11:42 PM Changeset in webkit [263930] by ysuzuki@apple.com
  • 3 edits
    1 add in trunk

[JSC] Promise should check whether a user-provided function is set by using @isUndefinedOrNull
https://bugs.webkit.org/show_bug.cgi?id=213951

Reviewed by Ross Kirsling.

JSTests:

  • stress/masquerader-as-function-in-promise.js: Added.

Source/JavaScriptCore:

If a user-provided function is masquerade-as-undefined value, if (!xxx.@onRejected) returns wrong
value since this function object is considered as undefined in this context. We should use @isUndefinedOrNull
here instead since this if-branch is checking whether this property is null/undefined actually.
And if (@isUndefinedOrNull(...)) is efficient since we have jundefined_or_null / jnundefined_or_null bytecodes.

  • builtins/PromiseOperations.js:

(globalPrivate.promiseReactionJob):

11:38 PM Changeset in webkit [263929] by Wenson Hsieh
  • 2 edits in trunk/Tools

[macOS] Tests that show system menu popups may fail when run concurrently
https://bugs.webkit.org/show_bug.cgi?id=213950
<rdar://problem/64551566>

Reviewed by Darin Adler.

Make it possible to run tests that present system modal popups simultaneously, without the possibility of these
tests interfering with each other. Examples include context menus, select menus, and the DOM paste popup. To do
this, we swizzle out codepaths for showing and dimissing popups, and instead dispatch notifications and the
appropriate NSMenuDelegate methods ourselves.

This change has the side effect of fixing several layout tests that are currently timing out only on arm64e
macOS, due to reasons detailed in <rdar://problem/65084503>.

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::setSwizzledPopUpMenu):
(WTR::swizzledPopUpContextMenu):
(WTR::swizzledPopUpMenu):
(WTR::swizzledCancelTracking):
(WTR::TestController::platformInitialize):

10:15 PM Changeset in webkit [263928] by youenn@apple.com
  • 25 edits
    3 copies
    23 adds in trunk

MediaRecorder should support peer connection remote video tracks
https://bugs.webkit.org/show_bug.cgi?id=213924

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Resync to WPT ToT.

  • resources/resource-files.json:
  • web-platform-tests/mediacapture-record/BlobEvent-constructor.html:
  • web-platform-tests/mediacapture-record/MediaRecorder-bitrate.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-bitrate.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-creation.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-creation.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-detached-context-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-detached-context.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-disabled-tracks.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-disabled-tracks.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-error.html:
  • web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-mimetype-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-mimetype.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-no-sink.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-no-sink.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-pause-resume-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-pause-resume.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-stop-expected.txt:
  • web-platform-tests/mediacapture-record/MediaRecorder-stop.html:
  • web-platform-tests/mediacapture-record/idlharness.window-expected.txt:
  • web-platform-tests/mediacapture-record/idlharness.window.js:
  • web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https.html: Added.
  • web-platform-tests/mediacapture-record/passthrough/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/w3c-import.log.
  • web-platform-tests/mediacapture-record/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/w3c-import.log.
  • web-platform-tests/mediacapture-record/utils/peerconnection.js: Added.

(async exchangeOfferAnswer):
(setTransceiverCodecPreference):
(async startConnection):
(async waitForReceivedFrames):
(async waitForReceivedCodec):

  • web-platform-tests/mediacapture-record/utils/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/w3c-import.log.
  • web-platform-tests/mediacapture-record/w3c-import.log:

Source/WebCore:

Previsouly we were checking whether width and height are given for a video track.
This is not always available, for instance for remote tracks.
And this can change over time.
Instead, pass a simple boolean (whether there is a video track or not).
Minor simplifications to stop storing unneeded members.

Tests: imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-bitrate.https.html

imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-creation.https.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-detached-context.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-disabled-tracks.https.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-mimetype.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-no-sink.https.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-pause-resume.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https.html
imported/w3c/web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https.html

  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:

(WebCore::MediaRecorderPrivateAVFImpl::create):
(WebCore::MediaRecorderPrivateAVFImpl::MediaRecorderPrivateAVFImpl):

  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::create):

Source/WebKit:

Pass a boolean instead of width/height for the video track.

  • GPUProcess/webrtc/RemoteMediaRecorder.cpp:

(WebKit::RemoteMediaRecorder::create):

  • GPUProcess/webrtc/RemoteMediaRecorder.h:
  • GPUProcess/webrtc/RemoteMediaRecorderManager.cpp:

(WebKit::RemoteMediaRecorderManager::createRecorder):

  • GPUProcess/webrtc/RemoteMediaRecorderManager.h:
  • GPUProcess/webrtc/RemoteMediaRecorderManager.messages.in:
  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::startRecording):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.h:

LayoutTests:

9:56 PM Changeset in webkit [263927] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore/PAL

Fix a build error by forward declaring _NSHTTPAlternativeServicesStorage
https://bugs.webkit.org/show_bug.cgi?id=213911

Patch by Saagar Jha <saagar@saagarjha.com> on 2020-07-03
Reviewed by Darin Adler.

The public 10.16 SDK does not define _NSHTTPAlternativeServicesStorage, and the interface
declaration comes after it is used. Forward declare it to fix the error.

  • pal/spi/cf/CFNetworkSPI.h: Forward declare _NSHTTPAlternativeServicesStorage.
7:33 PM Changeset in webkit [263926] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove all remaining #if (ENABLE_WEBGL and ENABLE_WEBXR)
https://bugs.webkit.org/show_bug.cgi?id=213946

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_WEBGL and ENABLE_WEBXR items out of if blocks.

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove all remaining #if, and sort files, getting rid of paragraphing

per directory to just turn this into three sorted lists of filenames (separate ones for
derived sources and generated bindings at the end). The source files themselves have the
appropriate conditionals and soon we will not need to support #if in Sources.txt files.

7:07 PM Changeset in webkit [263925] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GStreamer] Garden media/vp9.html failure

Unreviewed test gardening.

  • platform/glib/TestExpectations:
6:51 PM Changeset in webkit [263924] by Lauro Moura
  • 4 edits in trunk/LayoutTests

[GTK][WPE] Rebaseline imported dom/idlharness tests after r263903

Unreviewed test gardening.

  • platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
5:42 PM Changeset in webkit [263923] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed stack-overflow crash fix for r263890
https://bugs.webkit.org/show_bug.cgi?id=213912
<rdar://problem/65069686>

Renamed mimeTypeForExtension to mimeTypeForExtensionFromRegistry.

  • platform/win/MIMETypeRegistryWin.cpp:

(WebCore::mimeTypeForExtensionFromRegistry):
(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::mimeTypeForExtension): Deleted.

5:30 PM Changeset in webkit [263922] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix for r263913
https://bugs.webkit.org/show_bug.cgi?id=213939
<rdar://problem/65084185>

  • CMakeLists.txt: Process encrypted media IDL files even if ENABLE_ENCRYPTED_MEDIA is off.
5:16 PM Changeset in webkit [263921] by Kocsen Chung
  • 1 copy in tags/Safari-610.1.20.3

Tag Safari-610.1.20.3.

5:12 PM Changeset in webkit [263920] by Kocsen Chung
  • 2 edits in branches/safari-610.1.20-branch/Source/WebKit

Revert r263781. rdar://problem/65085169

5:12 PM Changeset in webkit [263919] by Kocsen Chung
  • 3 edits in branches/safari-610.1.20-branch/Source/WebKit

Revert r263793. rdar://problem/65085169

4:56 PM Changeset in webkit [263918] by Darin Adler
  • 4 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_WIRELESS_PLAYBACK_TARGET
https://bugs.webkit.org/show_bug.cgi?id=213945

Reviewed by Sam Weinig.

  • CMakeLists.txt: Moved items from the pictureinpicture and remoteplayback module here

from PlatformMac.cmake. Even if these are currently only implemented on Mac, they are
not intrinsically Mac-specific, so they belong here.

  • PlatformMac.cmake: Ditto.
  • Sources.txt: Remove #if ENABLE_WIRELESS_PLAYBACK_TARGET and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

4:51 PM Changeset in webkit [263917] by Kocsen Chung
  • 8 edits in branches/safari-610.1.20-branch/Source

Versioning.

WebKit-610.1.20.3

4:43 PM Changeset in webkit [263916] by weinig@apple.com
  • 32 edits
    2 deletes in trunk

Remove support for ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE
https://bugs.webkit.org/show_bug.cgi?id=213932

Reviewed by Darin Adler.

Removes support for non-standard <input type="datetime">, currently being
guarded by the macro ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE. This macro, was
added back in 2013 as a temporary measure to support some engines who shipped
support for <input type="datetime">. It is currently not enabled for any
ports so now seems like as good a time as any to remove it.

.:

  • Source/cmake/OptionsWin.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmake/tools/vsprops/FeatureDefines.props:
  • Source/cmake/tools/vsprops/FeatureDefinesCairo.props:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/html.css:

(#endif):

  • html/DateTimeInputType.cpp: Removed.
  • html/DateTimeInputType.h: Removed.
  • html/InputType.cpp:

(WebCore::createInputTypeFactoryMap):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::inputTypeDateTimeEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setInputTypeDateTimeEnabled): Deleted.

  • platform/DateComponents.cpp:

(WebCore::DateComponents::setMillisecondsSinceEpochForDateTimeLocal):
(WebCore::DateComponents::millisecondsSinceEpoch const):
(WebCore::DateComponents::toString const):
(WebCore::DateComponents::fromParsingDateTime): Deleted.
(WebCore::DateComponents::parseDateTime): Deleted.
(WebCore::DateComponents::fromMillisecondsSinceEpochForDateTime): Deleted.
(WebCore::DateComponents::setMillisecondsSinceEpochForDateTime): Deleted.

  • platform/DateComponents.h:
  • platform/text/PlatformLocale.cpp:

(WebCore::Locale::formatDateTime):

  • platform/text/ios/LocalizedDateCache.mm:

(WebCore::LocalizedDateCache::createFormatterForType):

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/PlatformEnable.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4:25 PM Changeset in webkit [263915] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_USER_MESSAGE_HANDLERS
https://bugs.webkit.org/show_bug.cgi?id=213944

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_USER_MESSAGE_HANDLERS items out of if blocks.

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_USER_MESSAGE_HANDLERS and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

4:23 PM Changeset in webkit [263914] by Darin Adler
  • 2 edits in trunk/Source/WebCore

WebCore/SourcesCocoa.txt: Remove #if ENABLE_APPLE_PAY
https://bugs.webkit.org/show_bug.cgi?id=213943

Reviewed by Sam Weinig.

  • SourcesCocoa.txt: Remove #if ENABLE_APPLE_PAY and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.
Also, sort the files and remove the separate per-directory paragraphs, making this closer
to just a sorted list of filenames with less "editorial" content. Also added comments
about the USE_INTERNAL_SDK part of the file.

3:17 PM Changeset in webkit [263913] by Darin Adler
  • 2 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_ENCRYPTED_MEDIA
https://bugs.webkit.org/show_bug.cgi?id=213939

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_ENCRYPTED_MEDIA items out of if blocks.

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_LEGACY_ENCRYPTED_MEDIA and sort files in with the others.

The IDL files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:50 PM Changeset in webkit [263912] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_LEGACY_ENCRYPTED_MEDIA
https://bugs.webkit.org/show_bug.cgi?id=213937

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_LEGACY_ENCRYPTED_MEDIA items out of if blocks.

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_LEGACY_ENCRYPTED_MEDIA and sort files in with the others.

The IDL files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:45 PM Changeset in webkit [263911] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_QUOTA
https://bugs.webkit.org/show_bug.cgi?id=213941

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_QUOTA items out of "if (ENABLE_QUOTA)".

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_QUOTA and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:43 PM Changeset in webkit [263910] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_GAMEPAD
https://bugs.webkit.org/show_bug.cgi?id=213936

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_GAMEPAD items out of "if (ENABLE_GAMEPAD)".

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_GAMEPAD and sort files in with the others.

The IDL files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:40 PM Changeset in webkit [263909] by Darin Adler
  • 2 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_MEDIA_SOURCE
https://bugs.webkit.org/show_bug.cgi?id=213940

Reviewed by Sam Weinig.

  • Sources.txt: Remove #if ENABLE_MEDIA_SOURCE and sort files in with the others.

The IDL files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:27 PM Changeset in webkit [263908] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

[WPE] Fix build with clang after r263898
https://bugs.webkit.org/show_bug.cgi?id=213942

Unreviewed build fix.

  • loader/appcache/ApplicationCacheManifestParser.cpp:
2:16 PM Changeset in webkit [263907] by Darin Adler
  • 2 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_APPLICATION_MANIFEST
https://bugs.webkit.org/show_bug.cgi?id=213935

Reviewed by Sam Weinig.

  • Sources.txt: Remove #if ENABLE_APPLICATION_MANIFEST and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

1:30 PM Changeset in webkit [263906] by weinig@apple.com
  • 17 edits in trunk/Source

Add "-Wliteral-conversion" warning to Xcode based builds and fix the issues it finds
https://bugs.webkit.org/show_bug.cgi?id=213931

Reviewed by Darin Adler.

  • Configurations/Base.xcconfig:

Add -Wliteral-conversion.
Source/WebCore:

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::draw):
Fix error due to passing a double when a uint8_t was expected. This probably means
that the debug borders looked wrong for a little bit, but should now be back to
their transparent splendor.

1:06 PM Changeset in webkit [263905] by ysuzuki@apple.com
  • 7 edits
    1 add in trunk

[JSC] Add exception checks before and after viewWithUnderlyingString
https://bugs.webkit.org/show_bug.cgi?id=213923
<rdar://problem/65068473>

Reviewed by Sam Weinig.

JSTests:

  • stress/exception-checks-before-and-after-viewwithunderlyingstring.js: Added.

(shouldThrow):

Source/JavaScriptCore:

This patch inserts missing exception checks before and after viewWithUnderlyingString.

  • jsc.cpp:

(printInternal):
(functionDebug):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncParseFloat):

  • runtime/JSONObject.cpp:

(JSC::JSONProtoFuncParse):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):

12:59 PM Changeset in webkit [263904] by commit-queue@webkit.org
  • 24 edits in trunk/Source

Unreviewed, reverting r263882.
https://bugs.webkit.org/show_bug.cgi?id=213933

Broke the build

Reverted changeset:

"Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to
replace _WKProcessPoolConfiguration.hstsStorageDirectory"
https://bugs.webkit.org/show_bug.cgi?id=213048
https://trac.webkit.org/changeset/263882

11:54 AM Changeset in webkit [263903] by Chris Dumez
  • 48 edits
    5 copies
    3 moves
    29 adds
    9 deletes in trunk/LayoutTests

Resync web-platform-tests/html/dom & web-platform-tests/html/infrastructure from upstream
https://bugs.webkit.org/show_bug.cgi?id=213908

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Resync web-platform-tests/html/dom & web-platform-tests/html/infrastructure from upstream 145839c323ba1ec8b.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/html/dom/*: Updated.
  • web-platform-tests/html/infrastructure/*: Updated.

LayoutTests:

  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/usvstring-reflection.https-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
11:32 AM Changeset in webkit [263902] by Alan Bujtas
  • 10 edits
    3 adds in trunk

[LFC][TFC][Quirk] Inflow child box quirk vertical margins should collapse with table cell.
https://bugs.webkit.org/show_bug.cgi?id=213926

Reviewed by Antti Koivisto.

Source/WebCore:

The BFC rootd (table cell box in this case) nornally do not collapse their margins with the first/last inflow child.
However in quirks mode, cell boxes collapse their (non-existing)margins with inflow quirk margins.

<table><tr><td><p>text content</td></tr></table> <- <p> box's top position is at 0px in quirks mode, while at 16px (1em) in strict mode.

This patch ensures that we collapse the quirk margins and take them into account when computing the cell's content height.

Test: fast/layoutformattingcontext/table-quirk-vertical-margin-simple.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

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

(WebCore::Layout::BlockFormattingContext::Quirks::shouldCollapseMarginBeforeWithParentMarginBefore const):
(WebCore::Layout::BlockFormattingContext::Quirks::shouldCollapseMarginAfterWithParentMarginAfter const):

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBeforeCollapsesWithParentMarginBefore const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginAfterCollapsesWithParentMarginAfter const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedVerticalValues):

  • layout/tableformatting/TableFormattingContext.h:

(WebCore::Layout::TableFormattingContext::Quirks::Quirks):

  • layout/tableformatting/TableFormattingContextGeometry.cpp:

(WebCore::Layout::TableFormattingContext::Geometry::cellHeigh const):

  • layout/tableformatting/TableFormattingContextQuirks.cpp: Added.

(WebCore::Layout::TableFormattingContext::Quirks::shouldIgnoreChildContentVerticalMargin const):

LayoutTests:

  • fast/layoutformattingcontext/table-quirk-vertical-margin-simple-expected.html: Added.
  • fast/layoutformattingcontext/table-quirk-vertical-margin-simple.html: Added.
9:55 AM Changeset in webkit [263901] by weinig@apple.com
  • 22 edits
    2 copies in trunk

Split color conversion functions out of ColorUtilities.h/cpp into their own file.
https://bugs.webkit.org/show_bug.cgi?id=213803

Reviewed by Simon Fraser.

Source/WebCore:

Moves color conversion functions (both between color spaces like toDisplayP3(const SRGBA&)
and between different representations like toHSLA(const SRGBA&)) to their own files.

  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Add new files.

  • css/parser/CSSPropertyParserHelpers.cpp:
  • editing/cocoa/DataDetection.mm:
  • html/canvas/CanvasRenderingContext2DBase.cpp:
  • html/canvas/CanvasStyle.cpp:

Add include of ColorConversion.h

  • platform/graphics/ColorConversion.cpp: Added.
  • platform/graphics/ColorConversion.h: Added.
  • platform/graphics/ColorUtilities.cpp:
  • platform/graphics/ColorUtilities.h:

Move functions to the new files.

  • platform/graphics/ExtendedColor.cpp:
  • platform/graphics/cairo/ImageBufferCairoBackend.cpp:
  • platform/graphics/filters/FELighting.cpp:

Add include of ColorConversion.h, remove unncessary include of ColorUtilities.h

  • platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp:
  • platform/graphics/filters/FEDisplacementMap.cpp:
  • platform/graphics/filters/FEMorphology.cpp:
  • platform/graphics/filters/FilterOperations.cpp:

Remove unncessary include of ColorUtilities.h

  • platform/graphics/filters/FilterOperation.cpp:

Add include of ColorConversion.h and ColorTypes.h, remove unncessary include of ColorUtilities.h.

  • platform/graphics/gtk/ColorGtk.cpp:
  • platform/graphics/win/ColorDirect2D.cpp:

Remove unncessary include of ColorUtilities.h. Update to use standard float -> SimpleColor idiom
using SRGBA<float>.

Tools:

  • TestWebKitAPI/Tests/WebCore/ColorTests.cpp:

Update to include ColorConversion.h and ColorTypes.h rather than ColorUtilities.h

9:45 AM Changeset in webkit [263900] by weinig@apple.com
  • 21 edits in trunk/Source/WebCore

Convert DateComponents parsing code to use Optional based return values rather than out-parameters
https://bugs.webkit.org/show_bug.cgi?id=213440

Reviewed by Darin Adler.

Rework DateComponents and Date/Time related InputTypes to use Optional based programming
for parsing results. Also take the opportunity to remove unicode upconversion from
DateComponent parsing and instead separate UChar and LChar variants via templates.

  • html/BaseDateAndTimeInputType.cpp:
  • html/BaseDateAndTimeInputType.h:
  • html/DateInputType.cpp:
  • html/DateInputType.h:
  • html/DateTimeInputType.cpp:
  • html/DateTimeInputType.h:
  • html/DateTimeLocalInputType.cpp:
  • html/DateTimeLocalInputType.h:
  • html/HTMLInputElement.cpp:
  • html/HTMLInputElement.h:
  • html/InputType.cpp:
  • html/InputType.h:
  • html/MonthInputType.cpp:
  • html/MonthInputType.h:
  • html/TimeInputType.cpp:
  • html/TimeInputType.h:
  • html/WeekInputType.cpp:
  • html/WeekInputType.h:
    • Removes parseToDateComponentsInternal. No need it and parseToDateComponents.
    • Makes parseToDateComponents pure virtual. The old code had a default implementations down in InputType, but it had no callers.
    • Remove iOS vs. non-iOS difference for dateType(). It is now available on InputType on all platforms.
    • Make setMillisecondToDateComponents and parseToDateComponents return an Optional.
  • platform/DateComponents.cpp:
  • platform/DateComponents.h:
    • Replace member function based interfaces for parsing/setting explicit time offsets with new factory functions that return Optional<DateComponents>.
    • These factories are implemented using the existing member functions, which are now private.
    • Make max/min constants constexpr.
    • Make parse* member functions templates to allow factory parse functions to call them without upconverting.
    • Replace header guard with #pragma once.
8:19 AM WebKitGTK/2.28.x edited by Michael Catanzaro
(diff)
8:09 AM Changeset in webkit [263899] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[WPE][GTK] Bubblewrap sandbox should not attempt to bind empty paths
https://bugs.webkit.org/show_bug.cgi?id=202880

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-07-03
Reviewed by Carlos Garcia Campos.

If an empty path is set in LD_LIBRARY_PATH (e.g. /foo::/bar), we wind up passing
--ro-bind-try --ro-bind-try to bwrap, where the second --ro-bind-try is treated as the
source path to mount, and the next flag we pass gets treated as the destination path. The
web process crashes with this confusing error:

bwrap: Can't create file at /.flatpak-info: Read-only file system

  • UIProcess/Launcher/glib/BubblewrapLauncher.cpp:

(WebKit::bindIfExists):

8:01 AM Changeset in webkit [263898] by weinig@apple.com
  • 3 edits in trunk/Source/WebCore

Cleanup ApplicationCacheManifestParser.h/cpp
https://bugs.webkit.org/show_bug.cgi?id=213844

Reviewed by Alex Christensen.

Address some post review comments.

  • loader/appcache/ApplicationCacheManifestParser.cpp:

(WebCore::parseApplicationCacheManifest):
Fix typos: manfest -> manifest.

  • loader/appcache/ApplicationCacheManifestParser.h:

Stop including ApplicationCache.h, and only include / declare what's needed.

8:00 AM Changeset in webkit [263897] by clopez@igalia.com
  • 2 edits in trunk/Tools

[WPE][webkitpy] Use headless driver instead of wayland driver
https://bugs.webkit.org/show_bug.cgi?id=213914

Reviewed by Philippe Normand.

WPE now supports running tests completely headless, but we are
still using the webkitpy WaylandDriver to run the tests.
This causes an error if the environment doesn't have defined the
WAYLAND_DISPLAY or WAYLAND_SOCKET environment variables.
Switch the driver to HeadlessDriver.

  • Scripts/webkitpy/port/wpe.py:

(WPEPort._driver_class):

7:55 AM Changeset in webkit [263896] by youenn@apple.com
  • 7 edits in trunk

Support MediaRecorder.onstart
https://bugs.webkit.org/show_bug.cgi?id=213720

Reviewed by Darin Adler.

Source/WebCore:

Fire start event if MediaRecorder.start is successful.
Do some WebIDL clean-up, in particular change timeSlice from long to unsigned long, as per spec.
Covered by added test.

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::startRecording):

  • Modules/mediarecorder/MediaRecorder.h:
  • Modules/mediarecorder/MediaRecorder.idl:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice-expected.txt:
  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html:
7:31 AM Changeset in webkit [263895] by Carlos Garcia Campos
  • 4 edits in trunk

REGRESSION(r261779): [GTK][WPE] http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral.html is failing
https://bugs.webkit.org/show_bug.cgi?id=212017

Reviewed by Michael Catanzaro.

Tools:

Use the ephemeral data store when useEphemeralSession option is enabled.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::platformInitializeDataStore):

LayoutTests:

Remove expectations for tests that are now passing.

  • platform/gtk/TestExpectations:
7:21 AM Changeset in webkit [263894] by youenn@apple.com
  • 20 edits
    1 copy
    4 adds in trunk

Allow registering VP9 as a VT decoder
https://bugs.webkit.org/show_bug.cgi?id=213837
<rdar://problem/64984881>

Reviewed by Jer Noble.

Source/ThirdParty/libwebrtc:

Implement a method that registers VP9 as a VT decoder.
Implement the binding code between VP9DecoderImpl and VT pluggable codec API.
Restrict this to internal SDK for now.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.h:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.mm:

(webrtc::createPixelBufferPool):

  • Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp: Added.

(webrtc::registerWebKitVP9Decoder):
(webrtc::createWebKitVP9Decoder):
(webrtc::invalidateVP9Decoder):
(webrtc::finalizeVP9Decoder):
(webrtc::copyVP9DecoderDebugDescription):
(webrtc::webKitVP9DecoderFromVTDecoder):
(webrtc::startVP9DecoderSession):
(webrtc::decodeVP9DecoderFrameFromContiguousBlock):
(webrtc::decodeVP9DecoderFrame):
(webrtc::WebKitVP9DecoderReceiver::WebKitVP9DecoderReceiver):
(webrtc::WebKitVP9DecoderReceiver::~WebKitVP9DecoderReceiver):
(webrtc::WebKitVP9DecoderReceiver::decoderFailed):
(webrtc::WebKitVP9DecoderReceiver::Decoded):

  • Source/webrtc/sdk/WebKit/WebKitVP9Decoder.h: Added.
  • libwebrtc.xcodeproj/project.pbxproj:

Source/WebKit:

Add a runtime flag to enable registration of VP9 as a VT decoder.
Register conditionally this decoder on creation of page based on this flag.

Test: media/vp9.html

  • Scripts/GeneratePreferences.rb:
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • Shared/WebPreferences.yaml:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_limitsNavigationsToAppBoundDomains):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::enableVP9Decoder):

  • WebProcess/WebProcess.h:

LayoutTests:

  • media/content/bipbop-vp9.mp4: Added.
  • media/vp9-expected.txt: Added.
  • media/vp9.html: Added.
6:12 AM Changeset in webkit [263893] by Lauro Moura
  • 81 edits
    1 copy
    3 adds
    5 deletes in trunk/WebDriverTests

[WebDriver][WPE] Update imported selenium to a version that enables WPE WebDriver tests
https://bugs.webkit.org/show_bug.cgi?id=213916

Reviewed by Carlos Garcia Campos.

Also updated the importer.json file with more paths to be skipped.

  • imported/selenium/common/.classpath: Removed.
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_222222_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_228ef1_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_ef8c08_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_ffd27a_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_ffffff_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/jquery-ui-1.12.1.min.css: Added.
  • imported/selenium/common/src/web/css/ui-lightness/jquery-ui-1.8.10.custom.css: Removed.
  • imported/selenium/common/src/web/draggableLists.html:
  • imported/selenium/common/src/web/droppableItems.html:
  • imported/selenium/common/src/web/jquery-1.3.2.js: Removed.
  • imported/selenium/common/src/web/js/jquery-1.4.4.min.js: Removed.
  • imported/selenium/common/src/web/js/jquery-3.5.1.min.js: Added.
  • imported/selenium/common/src/web/js/jquery-ui-1.12.1.min.js: Added.
  • imported/selenium/common/src/web/js/jquery-ui-1.8.10.custom.min.js: Removed.
  • imported/selenium/common/src/web/mousePositionTracker.html:
  • imported/selenium/common/src/web/selectableItems.html:
  • imported/selenium/importer.json:
  • imported/selenium/py/conftest.py:
  • imported/selenium/py/selenium/init.py:
  • imported/selenium/py/selenium/webdriver/init.py:
  • imported/selenium/py/selenium/webdriver/common/action_chains.py:
  • imported/selenium/py/selenium/webdriver/common/actions/action_builder.py:
  • imported/selenium/py/selenium/webdriver/common/actions/pointer_actions.py:
  • imported/selenium/py/selenium/webdriver/common/actions/pointer_input.py:
  • imported/selenium/py/selenium/webdriver/common/desired_capabilities.py:
  • imported/selenium/py/selenium/webdriver/common/html5/application_cache.py:
  • imported/selenium/py/selenium/webdriver/common/keys.py:
  • imported/selenium/py/selenium/webdriver/common/options.py:
  • imported/selenium/py/selenium/webdriver/common/service.py:
  • imported/selenium/py/selenium/webdriver/common/timeouts.py:
  • imported/selenium/py/selenium/webdriver/common/window.py:
  • imported/selenium/py/selenium/webdriver/remote/file_detector.py:
  • imported/selenium/py/selenium/webdriver/remote/remote_connection.py:
  • imported/selenium/py/selenium/webdriver/remote/switch_to.py:
  • imported/selenium/py/selenium/webdriver/remote/webdriver.py:
  • imported/selenium/py/selenium/webdriver/remote/webelement.py:
  • imported/selenium/py/selenium/webdriver/support/color.py:
  • imported/selenium/py/selenium/webdriver/support/event_firing_webdriver.py:
  • imported/selenium/py/selenium/webdriver/support/expected_conditions.py:
  • imported/selenium/py/selenium/webdriver/support/relative_locator.py:
  • imported/selenium/py/selenium/webdriver/support/select.py:
  • imported/selenium/py/selenium/webdriver/support/wait.py:
  • imported/selenium/py/selenium/webdriver/wpewebkit/options.py:
  • imported/selenium/py/test/selenium/webdriver/common/alerts_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/api_example_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/appcache_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/children_finding_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/clear_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/click_scrolling_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/cookie_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/correct_event_firing_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/driver_element_finding_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/element_attribute_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/executing_async_javascript_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/executing_javascript_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/form_handling_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/frame_switching_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/google_one_box.py:
  • imported/selenium/py/test/selenium/webdriver/common/implicit_waits_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/interactions_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/page_load_timeout_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/page_loading_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/position_and_size_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/repr_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/results_page.py:
  • imported/selenium/py/test/selenium/webdriver/common/select_class_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/stale_reference_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/takes_screenshots_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/text_handling_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/timeout_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/typing_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/visibility_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/w3c_interaction_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/webdriverwait_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/window_switching_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/window_tests.py:
  • imported/selenium/py/test/selenium/webdriver/remote/remote_hub_connection.py: Copied from WebDriverTests/imported/selenium/py/selenium/webdriver/common/window.py.
  • imported/selenium/py/test/selenium/webdriver/safari/launcher_tests.py:
  • imported/selenium/py/test/selenium/webdriver/support/event_firing_webdriver_tests.py:
  • imported/selenium/py/test/selenium/webdriver/support/relative_by_tests.py:
5:58 AM Changeset in webkit [263892] by youenn@apple.com
  • 4 edits
    2 adds in trunk

MediaRecorder.start() Method is Ignoring the "timeslice" Parameter
https://bugs.webkit.org/show_bug.cgi?id=202233
<rdar://problem/55720555>

Reviewed by Eric Carlson.

Source/WebCore:

Use a timer to implement timeSlice parameter.
Schedule timer either when start is called or as part of requestData callback.
This should ensure that, if requestData is called by the application, the timer will be rescheduled appropriately.

Test: http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::requestData):

  • Modules/mediarecorder/MediaRecorder.h:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice-expected.txt: Added.
  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html: Added.
5:01 AM Changeset in webkit [263891] by youenn@apple.com
  • 16 edits
    2 adds in trunk

MediaRecorder stopRecorder() returns empty Blob after first use
https://bugs.webkit.org/show_bug.cgi?id=212274
<rdar://problem/63601298>

Reviewed by Eric Carlson.

Source/WebCore:

Refactor code to create/destroy MediaRecorderPrivate on MediaRecorder start/stop.
This allows reusing a MediaRecorder after a stop and restarting with a clean state.

We introduce MediaRecorderPrivate::startRecording to do the initialization,
which allows to fix a potential ref cycle as part of the error callback handling.

Make some improvements to the platform implementation, in particular add default initialization to all fields.
Align the code using AudioConverterRef to what is done in AudioSampleDataSource.
Also call VTCompressionSessionInvalidate when destroying the VideoSampleBufferCompressor.

Test: http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::create):
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::stopRecording):
(WebCore::MediaRecorder::requestData):

  • Modules/mediarecorder/MediaRecorder.h:
  • platform/mediarecorder/MediaRecorderPrivateMock.cpp:

(WebCore::MediaRecorderPrivateMock::fetchData):

  • platform/mediarecorder/MediaRecorderPrivate.h:

(WebCore::MediaRecorderPrivate::startRecording):

  • platform/mediarecorder/cocoa/AudioSampleBufferCompressor.h:
  • platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:

(WebCore::AudioSampleBufferCompressor::~AudioSampleBufferCompressor):
(WebCore::AudioSampleBufferCompressor::initAudioConverterForSourceFormatDescription):
(WebCore::AudioSampleBufferCompressor::attachPrimingTrimsIfNeeded):
(WebCore::AudioSampleBufferCompressor::gradualDecoderRefreshCount):
(WebCore::AudioSampleBufferCompressor::sampleBufferWithNumPackets):
(WebCore::AudioSampleBufferCompressor::processSampleBuffersUntilLowWaterTime):

  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::stopRecording):

  • platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm:

(WebCore::VideoSampleBufferCompressor::~VideoSampleBufferCompressor):

Source/WebKit:

Update implementation to do initialization as part of startRecording.

  • GPUProcess/webrtc/RemoteMediaRecorderManager.cpp:

(WebKit::RemoteMediaRecorderManager::releaseRecorder):
Remove ASSERT as recorder creation in WebProcess is always ok while creation in GPUProcess may fail and m_recorders may not be populated.

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::startRecording):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.h:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-multiple-start-stop-expected.txt: Added.
  • http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html: Added.
2:35 AM Changeset in webkit [263890] by commit-queue@webkit.org
  • 28 edits in trunk/Source

Change the names of MIMETypeRegistry methods to comply with webkit naming style
https://bugs.webkit.org/show_bug.cgi?id=213912

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-07-03
Reviewed by Youenn Fablet.

Source/WebCore:

Remove the verb 'get' from the name of some of the methods of MIMETypeRegistry.

  • editing/cocoa/WebArchiveResourceFromNSAttributedString.mm:

(WebCore::if):

  • fileapi/File.cpp:

(WebCore::File::computeNameAndContentType):

  • html/HTMLPlugInElement.cpp:

(WebCore::pluginReplacementForType):

  • loader/mac/LoaderNSURLExtras.mm:

(suggestedFilenameWithMIMEType):

  • platform/MIMETypeRegistry.cpp:

(WebCore::commonMimeTypesMap):
(WebCore::MIMETypeRegistry::mediaMIMETypeForExtension):
(WebCore::MIMETypeRegistry::mimeTypeForPath):
(WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
(WebCore::MIMETypeRegistry::normalizedMIMEType):
(WebCore::MIMETypeRegistry::appendFileExtensionIfNecessary):
(WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): Deleted.
Delete this function since it is not used.

(WebCore::MIMETypeRegistry::getMIMETypeForPath): Deleted.
(WebCore::MIMETypeRegistry::getNormalizedMIMEType): Deleted.

  • platform/MIMETypeRegistry.h:
  • platform/cocoa/MIMETypeRegistryCocoa.mm:

(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::extensionsForMIMEType):
(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):
(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): Deleted.
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): Deleted.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::load):

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

(WebCore::ImageDecoderAVFObjC::filenameExtension const):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.h:
  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::invokeDidReceiveResponseForFile):

  • platform/playstation/MIMETypeRegistryPlayStation.cpp:

(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):
(WebCore::MIMETypeRegistry::extensionsForMIMEType):
(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): Deleted.
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): Deleted.

  • platform/win/MIMETypeRegistryWin.cpp:

(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):
(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::extensionsForMIMEType):
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): Deleted.
(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): Deleted.

  • platform/xdg/MIMETypeRegistryXdg.cpp:

(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):
(WebCore::MIMETypeRegistry::extensionsForMIMEType):
(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): Deleted.
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): Deleted.

Source/WebKit:

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::didSendRequest):

  • UIProcess/API/Cocoa/APIAttachmentCocoa.mm:

(API::mimeTypeInferredFromFileExtension):
(API::Attachment::setFileWrapperAndUpdateContentType):

  • UIProcess/API/Cocoa/WKOpenPanelParameters.mm:

(-[WKOpenPanelParameters _allowedFileExtensions]):

  • UIProcess/API/glib/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestReadCallback):

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::fileCanBeAcceptedForUpload):

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::findPlugin):

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel presentWithParameters:resultListener:]):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::objectContentType):

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebMIMETypeRegistry.mm:

(+[WebMIMETypeRegistry mimeTypeForExtension:]):
(+[WebMIMETypeRegistry preferredExtensionForMIMEType:]):

Source/WebKitLegacy/win:

  • WebView.cpp:

(WebView::MIMETypeForExtension):

2:18 AM Changeset in webkit [263889] by ysuzuki@apple.com
  • 4 edits
    1 add in trunk

[JSC] Add exception checks in JSStringBuilder and Array#join
https://bugs.webkit.org/show_bug.cgi?id=213915
<rdar://problem/64878225>

Reviewed by Saam Barati and Mark Lam.

JSTests:

  • stress/out-of-memory-handle-in-join.js: Added.

(shouldThrow):

Source/JavaScriptCore:

This patch adds missing exception checks into Array#join's certain place and JSStringBuilder.

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncToString):

  • runtime/JSStringJoiner.h:

(JSC::JSStringJoiner::append):

2:06 AM Changeset in webkit [263888] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK4] Enable threaded rendering by default
https://bugs.webkit.org/show_bug.cgi?id=213883

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-07-03
Reviewed by Adrian Perez de Castro.

When building with GTK4 we no longer use the cairo context to render directly, so we can always enable the
threaded rendering. In WPE port threaded rendering is only enabled when env var WEBKIT_NICOSIA_PAINTING_THREADS
is present. This patch changes a bit the meaning of the env var, so that when 0 is passed the feature is
disabled too, instead of setting the number of threads to 4.

  • platform/graphics/nicosia/NicosiaPaintingEngine.cpp:

(Nicosia::PaintingEngine::create):

1:37 AM Changeset in webkit [263887] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

[GTK4] Support kinetic scrolling
https://bugs.webkit.org/show_bug.cgi?id=213791

Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2020-07-03
Reviewed by Carlos Garcia Campos.

GtkEventControllerScroll skips the last event and exposes it in a separate signal.
Normally one would add the KINETIC flag and listen to decelerate signal, but since
WebKit already has code for calculating the velocity for GTK3, just use the same
code path as scroll signal handler.

  • Shared/gtk/NativeWebWheelEventGtk.cpp:

(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebWheelEvent):

  • Shared/gtk/WebEventFactory.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseScrollEnd):
(webkitWebViewBaseConstructed):

12:42 AM Changeset in webkit [263886] by Diego Pino Garcia
  • 25 edits
    6 adds
    4 deletes in trunk/LayoutTests

Unreviewed test gardening. Update test expectations and baselines after r263858.

Baselines need to be updated after r263856. Some PNG images moved to
GLIB as their text output was on GLIB as well.

Filed a test crashing after r263858.

  • platform/glib/TestExpectations:
  • platform/glib/fast/css/percentage-non-integer-expected.png: Added.
  • platform/glib/fast/css/percentage-non-integer-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug100334-expected.png: Added.
  • platform/glib/tables/mozilla/bugs/bug100334-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug3037-1-expected.png: Added.
  • platform/glib/tables/mozilla/bugs/bug3037-1-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/other/empty_cells-expected.png: Added.
  • platform/glib/tables/mozilla_expected_failures/other/empty_cells-expected.txt:
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/css/percentage-non-integer-expected.png: Removed.
  • platform/gtk/fast/dynamic/insert-before-table-part-in-continuation-expected.png:
  • platform/gtk/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/gtk/fast/repaint/table-cell-move-expected.png:
  • platform/gtk/fast/repaint/table-cell-move-expected.txt:
  • platform/gtk/fast/table/cell-absolute-child-expected.png:
  • platform/gtk/fast/table/cell-absolute-child-expected.txt:
  • platform/gtk/fast/table/empty-cells-expected.png:
  • platform/gtk/fast/table/empty-cells-expected.txt:
  • platform/gtk/fast/table/prepend-in-anonymous-table-expected.png:
  • platform/gtk/fast/table/prepend-in-anonymous-table-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug100334-expected.png: Removed.
  • platform/gtk/tables/mozilla/bugs/bug10633-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug10633-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1188-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1302-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug1302-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug16012-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug16012-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug222336-expected.png: Added.
  • platform/gtk/tables/mozilla/bugs/bug222336-expected.txt: Added.
  • platform/gtk/tables/mozilla/bugs/bug3037-1-expected.png: Removed.
  • platform/gtk/tables/mozilla_expected_failures/other/empty_cells-expected.png: Removed.
12:21 AM Changeset in webkit [263885] by Fujii Hironori
  • 3 edits in trunk/Source/JavaScriptCore

Builtin internal wrapper implementation files wrap static global initialization code with incorrect guards
https://bugs.webkit.org/show_bug.cgi?id=213792

Reviewed by Youenn Fablet.

Streams API hadn't worked since r263700 for AppleWin and WinCairo
ports. r263700 removed the unused ENABLE_STREAMS_API.

Before r263700, the static global initialization code was wrapped

by "ENABLE(WEB_RTC)
ENABLE(STREAMS_API)". After r263700, it was

wrapped by "ENABLE(WEB_RTC)". AppleWin and WinCairo doesn't turn
on ENABLE_WEB_RTC. So, builtins for Streams API weren't properly
initialized for them.

  • Scripts/tests/builtins/expected/WebCoreJSBuiltins.h-result: Rebaselined.
  • Scripts/wkbuiltins/builtins_generate_internals_wrapper_implementation.py:

(BuiltinsInternalsWrapperImplementationGenerator.generate_initialize_method):
Removed calling wrap_with_guard for the value of _generate_initialize_static_globals().

12:15 AM Changeset in webkit [263884] by Fujii Hironori
  • 7 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo/fast/css/acid2-expected.txt:
  • platform/wincairo/fast/css/acid2-pixel-expected.txt:
  • platform/wincairo/fast/css/percentage-non-integer-expected.txt:
  • platform/wincairo/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/wincairo/http/tests/misc/acid2-expected.txt:
  • platform/wincairo/http/tests/misc/acid2-pixel-expected.txt:
Note: See TracTimeline for information about the timeline view.