Timeline
Jun 13, 2020:
- 11:34 PM Changeset in webkit [263008] by
-
- 5 edits in trunk/Source/WebCore
https://bugs.webkit.org/show_bug.cgi?id=213166
Rename executeIfJavaScriptURL to executeJavaScriptURL
Patch by Rob Buis <rbuis@igalia.com> on 2020-06-13
Reviewed by Darin Adler.
Rename executeIfJavaScriptURL to executeJavaScriptURL in order to make the function
unconditional, i.e. the passed url is expected to have the javascript protocol, this
is asserted first thing in the method. This allows us to remove the return parameter
since the remaining return statements all return true.
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeJavaScriptURL):
(WebCore::ScriptController::executeIfJavaScriptURL): Deleted.
- bindings/js/ScriptController.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::submitForm):
- loader/SubframeLoader.cpp:
(WebCore::FrameLoader::SubframeLoader::requestFrame):
- 5:39 PM Changeset in webkit [263007] by
-
- 3 edits2 adds in trunk
[LFC][Floats] Floating positioned box is always a float avoider.
https://bugs.webkit.org/show_bug.cgi?id=213162
Reviewed by Darin Adler.
Source/WebCore:
Test: fast/layoutformattingcontext/inline-float-simple.html
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::isFloatAvoider const): also fix the independent formatting context case.
LayoutTests:
- fast/layoutformattingcontext/inline-float-simple-expected.html: Added.
- fast/layoutformattingcontext/inline-float-simple.html: Added.
- 1:40 PM Changeset in webkit [263006] by
-
- 12 edits1 add in trunk
Make
errorsan own property ofAggregateErrorinstead of a prototype accessor
https://bugs.webkit.org/show_bug.cgi?id=212677
Reviewed by Yusuke Suzuki.
JSTests:
- stress/AggregateError-own-property-errors.js: Added.
- test262/expectations.yaml:
Mark 9 tests as failing while waiting for test262 to update to match the spec.
Source/JavaScriptCore:
- runtime/AggregateError.h:
(JSC::AggregateError::destroy): Deleted.
(JSC::AggregateError::subspaceFor): Deleted.
(JSC::AggregateError::errors): Deleted.
- runtime/AggregateError.cpp:
(JSC::AggregateError::AggregateError):
(JSC::AggregateError::finishCreation): Added.
(JSC::AggregateError::visitChildren): Deleted.
- runtime/AggregateErrorPrototype.h:
- runtime/AggregateErrorPrototype.cpp:
(JSC::AggregateErrorPrototype::finishCreation):
(JSC::aggregateErrorPrototypeAccessorErrors): Deleted.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::initializeAggregateErrorConstructor):
- runtime/VM.h:
- runtime/VM.cpp:
(JSC::VM::VM):
- heap/Heap.cpp:
(JSC::Heap::finalizeUnconditionalFinalizers):
RemoveaggregateErrorSpacesinceAggregateErrordoesn't add any new member variables.
Ensure that it can share anIsoSubspacewithErrorInstance.
- runtime/CommonIdentifiers.h:
Add
errors.
- 1:20 PM Changeset in webkit [263005] by
-
- 2 edits in trunk/Tools
compare-results should have an option to print a breakdown and to save the breakdown as csv file
https://bugs.webkit.org/show_bug.cgi?id=213140
Reviewed by Filip Pizlo.
In this patch, compare-results has a new --breakdown feature which will
break down the results for -a and -b per subtest. It will also show you
p values with a significance threshold determined using the Bonferroni
correction for testing multiple hypotheses:
https://en.wikipedia.org/wiki/Bonferroni_correction
And there is also now a --csv option to generate a csv file containing
the same per subtest breakdown.
--breakdown will print out results like:
| subtest | ms | ms | b / a | pValue, alpha = 0.003125 |
| Elm-TodoMVC |616.625000 |583.625000 |0.946483 | 0.065002 |
| VueJS-TodoMVC |89.425000 |83.225000 |0.930668 | 0.039102 |
| EmberJS-TodoMVC |695.875000 |664.000000 |0.954194 | 0.088901 |
| Flight-TodoMVC |263.600000 |257.600000 |0.977238 | 0.249259 |
| BackboneJS-TodoMVC |213.025000 |201.550000 |0.946133 | 0.000636 (significant) |
| Preact-TodoMVC |48.800000 |47.550000 |0.974385 | 0.502768 |
| AngularJS-TodoMVC |745.300000 |704.275000 |0.944955 | 0.011779 |
| Inferno-TodoMVC |607.900000 |354.800000 |0.583649 | 0.000000 (significant) |
| Vanilla-ES2015-TodoMVC |214.950000 |200.575000 |0.933124 | 0.005018 |
| Angular2-TypeScript-TodoMVC |191.575000 |187.025000 |0.976250 | 0.542229 |
| VanillaJS-TodoMVC |162.075000 |160.375000 |0.989511 | 0.747186 |
| jQuery-TodoMVC |855.275000 |833.825000 |0.974920 | 0.103439 |
| EmberJS-Debug-TodoMVC |2056.250000 |1952.050000 |0.949325 | 0.000003 (significant) |
| React-TodoMVC |475.225000 |428.950000 |0.902625 | 0.007566 |
| React-Redux-TodoMVC |791.100000 |736.675000 |0.931203 | 0.066091 |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |208.050000 |202.000000 |0.970920 | 0.152470 |
- Scripts/compare-results:
(readJSONFile):
(speedometer2Breakdown):
(jetStream2Breakdown):
(motionMarkBreakdown):
(plt5Breakdown):
(displayStr):
(dumpBreakdowns):
(writeCSV):
(detectMotionMark1_1):
(detectMotionMark1_1_1):
(motionMarkResults):
(detectBenchmark):
(getOptions):
(main):
(motionMark1_1Results): Deleted.
- 12:06 PM Changeset in webkit [263004] by
-
- 2 edits in trunk/Source/WebKit
Fix Overrelease in makeFailureSetForAllTextManipulationItems
https://bugs.webkit.org/show_bug.cgi?id=213165
<rdar://problem/61389164>
Patch by Richard Houle <rhoule@apple.com> on 2020-06-13
Reviewed by Wenson Hsieh.
- UIProcess/API/Cocoa/WKWebView.mm:
(makeFailureSetForAllTextManipulationItems):
- 11:35 AM Changeset in webkit [263003] by
-
- 9 edits in trunk
[WPT] dom/nodes/Document-createCDATASection-xhtml.xhtml fails due to missing exception in Document.createCDATASection()
https://bugs.webkit.org/show_bug.cgi?id=213167
Reviewed by Yusuke Suzuki.
LayoutTests/imported/w3c:
- web-platform-tests/dom/nodes/Document-createCDATASection-xhtml-expected.txt:
Update results to show we are now passing all subtests.
Source/WebCore:
Tested by existing (formerly failing) test: imported/w3c/web-platform-tests/dom/nodes/Document-createCDATASection-xhtml.xhtml
Throw an "InvalidCharacterError" DOMException if the data passed to createCDATASection
contains the string "]]>" as specified by https://dom.spec.whatwg.org/#dom-document-createcdatasection
- dom/Document.cpp:
(WebCore::Document::createCDATASection):
LayoutTests:
- dom/xhtml/level3/core/documentnormalizedocument07-expected.txt:
- dom/xhtml/level3/core/documentnormalizedocument08-expected.txt:
- dom/xhtml/level3/core/handleerror01-expected.txt:
- dom/xhtml/level3/core/splitcdatasections01-expected.txt:
Update expected results with new error now being thrown.
- 11:24 AM Changeset in webkit [263002] by
-
- 2 edits in trunk/Source/WebCore
Obsolete comment in FontCustomPlatformDataFreeType.cpp
https://bugs.webkit.org/show_bug.cgi?id=213169
Unreviewed, remove the stale comment.
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-13
- platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
(WebCore::defaultFontconfigOptions):
- 11:14 AM Changeset in webkit [263001] by
-
- 2 edits in trunk/Source/WebKit
[Mac Catalyst] Color inputs and selects fail to display popovers when clicked
https://bugs.webkit.org/show_bug.cgi?id=213157
<rdar://problem/64004135>
Reviewed by Tim Horton.
In Mac Catalyst, presenting popovers using
UIPopoverControllercauses the first responder to change. This
means that the WKContentView will resign first responder, which in turn causes the currently presented popover
to be dismissed. This means that popovers for color inputs and select elements will be dismissed immediately
after presentation.
To mitigate this, adapt the approach taken in r259840 to
WKColorPopoverandWKSelectPopoverby teaching the
base class (WKRotatingPopover) to temporarily preserve the focused element in light of first responder changes
while presenting a popover on Mac Catalyst.
- UIProcess/ios/forms/WKFormPopover.mm:
(-[WKRotatingPopover presentPopoverAnimated:]):
(-[WKRotatingPopover dismissPopoverAnimated:]):
- 9:42 AM Changeset in webkit [263000] by
-
- 33 edits1 add in trunk
Extended Color: Experiment with strongly typed ColorComponents
https://bugs.webkit.org/show_bug.cgi?id=212396
Reviewed by Darin Adler.
Source/WebCore:
Adds simple explicit types for sRGBA, LinearSRGBA, DisplayP3,
LinearDisplayP3, XYZA and HSLA colors. Conversion to/from
ColorComponents<float> is easy but explicit to make conversions
easier to spot.
The goal is to add type clarity (you know when you are dealing
with an sRGB color vs. a DisplayP3 color) and make dealing with
the colors nicer (color.red rather than color[0]). It also allows
us to simplify the naming of functions that convert between color
types as now only the output type needs to be in the function name.
- Headers.cmake:
Add new header, ColorTypes.h
- WebCore.xcodeproj/project.pbxproj:
Add new header, ColorTypes.h
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::parseHSLParameters):
Switch from hslToSRGB({ ... }) to toSRGBA(HSLAColor { ... })
- editing/cocoa/DataDetection.mm:
(WebCore::DataDetection::detectContentInRange):
Update to use toHSLA() and HSLA<float> making the code a bit more readable.
- platform/graphics/Color.cpp:
(WebCore::Color::lightened const):
(WebCore::Color::darkened const):
(WebCore::Color::isDark const):
(WebCore::Color::lightness const):
(WebCore::Color::luminance const):
(WebCore::Color::colorSpaceAndComponents const):
(WebCore::Color::toSRGBASimpleColorLossy const):
(WebCore::Color::toSRGBALossy const):
(WebCore::Color::toSRGBAComponentsLossy const): Deleted.
- platform/graphics/Color.h:
Renames toSRGBAComponentsLossy() to toSRGBALossy() which now returns
a SRGBA<float>.
- platform/graphics/ColorMatrix.h:
(WebCore::ColorMatrix::transformColorComponents const): Deleted.
Remove transformColorComponents, keeping just transformedColorComponents
to simplify the interface. With late conversion to ColorComponents, the
latter is more straightforward to use in most cases anyway.
- platform/graphics/ColorUtilities.cpp:
(WebCore::linearToRGBColorComponent):
(WebCore::rgbToLinearColorComponent):
(WebCore::toLinearSRGBA):
(WebCore::toSRGBA):
(WebCore::toLinearDisplayP3):
(WebCore::toDisplayP3):
(WebCore::toXYZ):
(WebCore::lightness):
(WebCore::luminance):
(WebCore::contrastRatio):
(WebCore::toHSLA):
(WebCore::premultiplied):
(WebCore::rgbToLinearComponents): Deleted.
(WebCore::linearToRGBComponents): Deleted.
(WebCore::xyzToLinearSRGB): Deleted.
(WebCore::linearSRGBToXYZ): Deleted.
(WebCore::XYZToLinearP3): Deleted.
(WebCore::linearP3ToXYZ): Deleted.
(WebCore::p3ToSRGB): Deleted.
(WebCore::sRGBToP3): Deleted.
(WebCore::sRGBToHSL): Deleted.
(WebCore::hslToSRGB): Deleted.
- platform/graphics/ColorUtilities.h:
Rename / rework conversion and utility functions to operate on explicit Color
types. In doing so, simplify the names of the conversion functions so only name
the output type. For instance:
ColorComponents<float> p3ToSRGB(const ColorComponents<float>&);
is now
SRGBA<float> toSRGBA(const DisplayP3<float>&);
as the input type is implicit in the call. A little duplication was needed
for linearToRGBColorComponent/rgbToLinearColorComponent (as it was used for
both sRGB and DisplayP3 linearization), but mostly things stay the same.
- platform/graphics/ExtendedColor.cpp:
(WebCore::ExtendedColor::toSRGBALossy const):
(WebCore::ExtendedColor::toSRGBAComponentsLossy const): Deleted.
- platform/graphics/ExtendedColor.h:
Renamed toSRGBAComponentsLossy() to toSRGBALossy() and have it
return a SRGBA<float>.
- platform/graphics/SimpleColor.h:
(WebCore::SimpleColor::asSRGBA const):
(WebCore::makeSimpleColor):
(WebCore::SimpleColor::asSRGBFloatComponents const): Deleted.
Rename asSRGBFloatComponents() to asSRGBA<T>() and have it
return a SRGBA<float>. Replace makeSimpleColor taking FloatComponents
with one taking a SRGBA<float>, making it much clearer that this
is only valid for sRGB.
- platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::drawLighting):
Rework to support seperate types for SRGB<float> and LinearSRGBA<float>.
- platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::drawLighting):
- platform/graphics/filters/FilterOperation.cpp:
(WebCore::BasicColorMatrixFilterOperation::transformColor const):
(WebCore::BasicComponentTransferFilterOperation::transformColor const):
(WebCore::InvertLightnessFilterOperation::transformColor const):
(WebCore::InvertLightnessFilterOperation::inverseTransformColor const):
- platform/graphics/filters/FilterOperation.h:
(WebCore::FilterOperation::transformColor const):
(WebCore::FilterOperation::inverseTransformColor const):
- platform/graphics/filters/FilterOperations.cpp:
(WebCore::FilterOperations::transformColor const):
(WebCore::FilterOperations::inverseTransformColor const):
Use SRGBA<float> rather than ColorComponents<float> to make it clear
that the filters only work on sRGB colors right now.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::disabledTextColor const):
- rendering/TextPaintStyle.cpp:
(WebCore::textColorIsLegibleAgainstBackgroundColor):
- platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::setSourceRGBAFromColor):
- platform/graphics/cairo/GradientCairo.cpp:
(WebCore::addColorStopRGBA):
(WebCore::setCornerColorRGBA):
(WebCore::interpolateColorStop):
- platform/graphics/gtk/ColorGtk.cpp:
(WebCore::Color::operator GdkRGBA const):
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawBorder):
(WebCore::TextureMapperGL::drawNumber):
(WebCore::prepareFilterProgram):
(WebCore::TextureMapperGL::drawSolidColor):
(WebCore::TextureMapperGL::clearColor):
- platform/graphics/win/ColorDirect2D.cpp:
(WebCore::Color::operator D2D1_COLOR_F const):
(WebCore::Color::operator D2D1_VECTOR_4F const):
- platform/graphics/win/GradientDirect2D.cpp:
(WebCore::Gradient::generateGradient):
- platform/graphics/win/GraphicsContextDirect2D.cpp:
(WebCore::GraphicsContext::colorWithGlobalAlpha const):
Update to call toSRGBALossy() rather than toSRGBAComponentsLossy().
Source/WebKit:
- UIProcess/API/wpe/WebKitColor.cpp:
(webkitColorFillFromWebCoreColor):
- UIProcess/gtk/ViewGestureControllerGtk.cpp:
(WebKit::ViewGestureController::beginSwipeGesture):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::getDocumentBackgroundColor):
Update to call toSRGBALossy() rather than toSRGBAComponentsLossy().
Tools:
- TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
Update for changed names (e.g. toSRGBAComponentsLossy() -> toSRGBALossy())
and use of explicit types.
- 9:24 AM Changeset in webkit [262999] by
-
- 21 edits1 delete in trunk/Source
Remove FileError.h
https://bugs.webkit.org/show_bug.cgi?id=213119
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-06-13
Reviewed by Chris Dumez.
Source/WebCore:
- Headers.cmake:
- Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::didFail):
- Modules/async-clipboard/ClipboardItemBindingsDataSource.h:
- Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::createMessageQueue):
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::didFail):
(WebCore::WebSocketChannel::abortOutgoingFrameQueue):
- Modules/websockets/WebSocketChannel.h:
- WebCore.xcodeproj/project.pbxproj:
- fileapi/BlobLoader.h:
(WebCore::BlobLoader::didFail):
- fileapi/FileError.h: Removed.
- fileapi/FileReader.cpp:
(WebCore::FileReader::didFail):
- fileapi/FileReader.h:
- fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::start):
(WebCore::FileReaderLoader::cancel):
(WebCore::FileReaderLoader::cleanup):
(WebCore::FileReaderLoader::didReceiveResponse):
(WebCore::FileReaderLoader::didReceiveData):
(WebCore::FileReaderLoader::didFail):
(WebCore::FileReaderLoader::failed):
(WebCore::FileReaderLoader::toErrorCode):
(WebCore::FileReaderLoader::httpStatusCodeToErrorCode):
(WebCore::FileReaderLoader::arrayBufferResult const):
(WebCore::FileReaderLoader::stringResult):
- fileapi/FileReaderLoader.h:
(WebCore::FileReaderLoader::errorCode const):
- fileapi/FileReaderLoaderClient.h:
- fileapi/FileReaderSync.cpp:
(WebCore::FileReaderSync::startLoading):
- fileapi/FileReaderSync.h:
- fileapi/NetworkSendQueue.cpp:
(WebCore::NetworkSendQueue::processMessages):
- fileapi/NetworkSendQueue.h:
- html/ImageBitmap.cpp:
Source/WebKit:
- WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::createMessageQueue):
- 1:43 AM Changeset in webkit [262998] by
-
- 2 edits in trunk/Tools
Unreviewed, fix configuration setting of WPE Debug (Tests JS) bot
https://bugs.webkit.org/show_bug.cgi?id=213164
The bot was meant to run as Debug.
- BuildSlaveSupport/build.webkit.org-config/config.json:
Jun 12, 2020:
- 11:22 PM Changeset in webkit [262997] by
-
- 2 edits in trunk/Source/WebKit
Automation.computeElementLayout should return iframe-relative element rects (when coordinate system is 'Page')
https://bugs.webkit.org/show_bug.cgi?id=213139
<rdar://problem/55042445>
Reviewed by Devin Rousso.
Automation.computeElementLayout has two coordinate systems it can use, LayoutViewport (used for hit testing)
and Page (used for Get Element Rect). Since Get Element Rect expects coordinates relative to the current
browsing context, make the mode simpler by reporting the bounds from Element::boundingClientRect() which
are frame-relative.
Covered by existing WPT suite. The semantics of this command are under review, as
the remote end steps seem to describe a different result than what the non-normative text does.
- WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::WebAutomationSessionProxy::computeElementLayout):
- 11:13 PM Changeset in webkit [262996] by
-
- 11 edits2 adds in trunk
REGRESSION(r261985): Unable to respond to large comments on Bugzilla with always-on scrollbars
https://bugs.webkit.org/show_bug.cgi?id=213135
<rdar://problem/64302086>
Reviewed by Tim Horton.
Source/WebCore:
The combination of programmatic scrolls (e.g. anchor click, reveal selection) and user scrolling
could result in a mismatch between the main thread and scrolling thread scroll positions, resulting
in missing tiles and offset cursor handling.
This happened if a programmatic scroll occurred and 'scrolledSinceLastCommit' was true for
the equivalent scrolling node at the start of a rendering update. synchronizeStateFromScrollingTree()
would take the scrolling thread's notion of the scroll position, clobbering the position resulting
from the programmatic scroll.
To fix this, call commitTreeStateIfNeeded() before synchronizeStateFromScrollingTree() to ensure that
any programmatic scrolls have been pushed to the scrolling tree before we fetch its state.
Some infrastructure is needed for testing; getting into the state where a programmatic
scroll and 'scrolledSinceLastCommit' happened in the same event loop cycle required adding
internals.scrollBySimulatingWheelEvent(), which just pokes the scrolling tree directly
without the complexities of wheel events dispatched via the UI process.
Test: scrollingcoordinator/mac/reveal-selection-tile-coverage.html
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::scrollBySimulatingWheelEventForTesting):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::scrollBySimulatingWheelEventForTesting):
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::scrollBySimulatingWheelEventForTesting):
- page/scrolling/ScrollingTree.h:
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::willStartRenderingUpdate):
- testing/Internals.cpp:
(WebCore::Internals::scrollBySimulatingWheelEvent):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Test that does a fake user scroll then a programmatic scroll from a timer (i.e. outside
the rendering update), then dumps tile caches to check that coverage rects match the
right scroll position.
- scrollingcoordinator/mac/reveal-selection-tile-coverage-expected.txt: Added.
- scrollingcoordinator/mac/reveal-selection-tile-coverage.html: Added.
- 8:09 PM Changeset in webkit [262995] by
-
- 4 edits1 add in trunk
The operator (and similar ones) should produce valid bytecode even if the right side is a static error https://bugs.webkit.org/show_bug.cgi?id=213154
Reviewed by Devin Rousso.
JSTests:
- stress/bytecode-for-rmw-with-invalid-right-side.js: Added.
(catch):
Source/JavaScriptCore:
There were two minor issues here that interacted:
- emitThrowReferenceError did not take an optional
dstargument like everything else, and instead always returned a new temporary. As a result, the various functions that sometimes did "return emitThrowReferenceError(..);" could return a different RegisterID than the one provided to them throughdst, breaking the invariant stated at the top of the file. - ShortCircuitReadModifyResolveNode::emitBytecode used the result of such a function, unnecessarily, and (correctly) relied on the invariant being upheld.
The combination of these led to the bytecode trying to do a move of a temporary that was only defined in one of the predecessors of the basic block it was on,
which was caught by validateBytecode.
I fixed both issues, and verified that either fix is enough to stop the bug.
I fixed the first because other code may depend on that invariant in more subtle ways.
I fixed the second because it was just unnecessary complexity and made the code misleading.
I also reworded the comment at the top of NodesCodegen.cpp based on Keith's explanation and Mark's advice to make it less cryptic.
- bytecompiler/NodesCodegen.cpp:
(JSC::ThrowableExpressionData::emitThrowReferenceError):
(JSC::PostfixNode::emitBytecode):
(JSC::DeleteBracketNode::emitBytecode):
(JSC::DeleteDotNode::emitBytecode):
(JSC::PrefixNode::emitBytecode):
(JSC::ShortCircuitReadModifyResolveNode::emitBytecode):
(JSC::AssignErrorNode::emitBytecode):
- parser/Nodes.h:
- 7:55 PM Changeset in webkit [262994] by
-
- 74 edits in trunk/Source
[IPC hardening] Check enum values in IPC::Decoder::decodeEnum() an IPC::Encoder::encodeEnum()
<https://webkit.org/b/211988>
<rdar://problem/63137695>
Reviewed by Darin Adler.
Replace decodeEnum() with decode() and encodeEnum() with
operator<<().
Source/ThirdParty/libwebrtc:
- Source/webrtc/sdk/WebKit/WebKitEncoder.h:
(webrtc::WebKitEncodedFrameInfo::decode):
(webrtc::WebKitEncodedFrameInfo::encode const):
Source/WebCore:
- Modules/applicationmanifest/ApplicationManifest.h:
(WebCore::ApplicationManifest::decode):
- Modules/indexeddb/IDBKeyData.h:
(WebCore::IDBKeyData::encode const):
(WebCore::IDBKeyData::decode):
- Modules/indexeddb/shared/IDBCursorInfo.h:
(WebCore::IDBCursorInfo::encode const):
(WebCore::IDBCursorInfo::decode):
- Modules/indexeddb/shared/IDBError.h:
(WebCore::IDBError::encode const):
(WebCore::IDBError::decode):
- Modules/indexeddb/shared/IDBGetAllRecordsData.h:
(WebCore::IDBGetAllRecordsData::encode const):
(WebCore::IDBGetAllRecordsData::decode):
- Modules/indexeddb/shared/IDBGetRecordData.h:
(WebCore::IDBGetRecordData::encode const):
(WebCore::IDBGetRecordData::decode):
- Modules/indexeddb/shared/IDBIterateCursorData.h:
(WebCore::IDBIterateCursorData::encode const):
(WebCore::IDBIterateCursorData::decode):
- Modules/indexeddb/shared/IDBRequestData.h:
(WebCore::IDBRequestData::encode const):
(WebCore::IDBRequestData::decode):
- Modules/indexeddb/shared/IDBResultData.h:
(WebCore::IDBResultData::encode const):
(WebCore::IDBResultData::decode):
- Modules/indexeddb/shared/IDBTransactionInfo.h:
(WebCore::IDBTransactionInfo::encode const):
(WebCore::IDBTransactionInfo::decode):
- Modules/webauthn/PublicKeyCredentialCreationOptions.h:
(WebCore::PublicKeyCredentialCreationOptions::Parameters::decode):
(WebCore::PublicKeyCredentialCreationOptions::AuthenticatorSelectionCriteria::decode):
- Modules/webauthn/PublicKeyCredentialDescriptor.h:
(WebCore::PublicKeyCredentialDescriptor::decode):
- dom/ExceptionData.h:
(WebCore::ExceptionData::encode const):
(WebCore::ExceptionData::decode):
- html/DataListSuggestionInformation.h:
(WebCore::DataListSuggestionInformation::encode const):
(WebCore::DataListSuggestionInformation::decode):
- page/SecurityOrigin.h:
(WebCore::SecurityOrigin::encode const):
(WebCore::SecurityOrigin::decode):
- platform/ContextMenuItem.h:
(WTF::EnumTraits<WebCore::ContextMenuAction>):
- Add missing ContextMenuItemTagPasteAsPlainText that was added in r261800.
- platform/LinkIcon.h:
(WebCore::LinkIcon::encode const):
(WebCore::LinkIcon::decode):
- platform/PasteboardItemInfo.h:
(WebCore::PasteboardItemInfo::encode const):
(WebCore::PasteboardItemInfo::decode):
- platform/ScreenProperties.h:
(WebCore::ScreenData::encode const):
(WebCore::ScreenData::decode):
- platform/graphics/InbandGenericCue.h:
(WebCore::GenericCueData::encode const):
- platform/graphics/Path.h:
(WebCore::Path::encode const):
(WebCore::Path::decode):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::SetState::encode const):
(WebCore::DisplayList::SetState::decode):
(WebCore::DisplayList::DrawTiledScaledImage::encode const):
(WebCore::DisplayList::DrawTiledScaledImage::decode):
- platform/mediastream/CaptureDevice.h:
(WebCore::CaptureDevice::encode const):
- platform/mediastream/MediaConstraints.h:
(WebCore::MediaConstraint::encode const):
(WebCore::MediaConstraint::decode):
- platform/mediastream/MediaStreamRequest.h:
(WebCore::MediaStreamRequest::encode const):
(WebCore::MediaStreamRequest::decode):
- platform/mediastream/RealtimeMediaSourceCapabilities.h:
(WebCore::CapabilityValueOrRange::encode const):
(WebCore::CapabilityValueOrRange::decode):
(WebCore::RealtimeMediaSourceCapabilities::encode const):
(WebCore::RealtimeMediaSourceCapabilities::decode):
- platform/mediastream/RealtimeMediaSourceSettings.h:
(WebCore::RealtimeMediaSourceSettings::encode const):
(WebCore::RealtimeMediaSourceSettings::decode):
- platform/mock/MockMediaDevice.h:
(WebCore::MockDisplayProperties::encode const):
- platform/network/HTTPHeaderMap.h:
(WebCore::HTTPHeaderMap::CommonHeader::encode const):
(WebCore::HTTPHeaderMap::CommonHeader::decode):
- testing/MockWebAuthenticationConfiguration.h:
(WebCore::MockWebAuthenticationConfiguration::HidConfiguration::decode):
(WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::decode):
- workers/service/ServiceWorkerContextData.h:
(WebCore::ServiceWorkerContextData::decode):
- workers/service/ServiceWorkerJobData.h:
(WebCore::ServiceWorkerJobData::encode const):
(WebCore::ServiceWorkerJobData::decode):
Source/WebKit:
- GPUProcess/media/TextTrackPrivateRemoteConfiguration.h:
(WebKit::TextTrackPrivateRemoteConfiguration::encode const):
- GPUProcess/media/TrackPrivateRemoteConfiguration.h:
(WebKit::TrackPrivateRemoteConfiguration::encode const):
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
- Platform/IPC/Decoder.h:
(IPC::Decoder::decode):
(IPC::Decoder::operator>>):
- Make use of std::underlying_type_t<>.
(IPC::Decoder::decodeEnum): Delete.
- Replace with calls to decode().
- Platform/IPC/Encoder.h:
(IPC::Encoder::operator<<):
(IPC::Encoder::encode):
- Make use of WTF::enumToUnderlyingType<>.
(IPC::Encoder::encodeEnum): Delete.
- Replace with calls to operator<<().
- Shared/Cocoa/ArgumentCodersCocoa.mm:
(IPC::decodeObject):
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest>::encode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest>::decode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::LineItem>::encode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::LineItem>::decode):
- Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::encode const):
(WebKit::ContextMenuContextData::decode):
- Shared/FocusedElementInformation.cpp:
(WebKit::FocusedElementInformation::encode const):
(WebKit::FocusedElementInformation::decode):
- Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
- Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::encode const):
(WebKit::NavigationActionData::decode):
- Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::encode const):
(WebKit::PlatformPopupMenuData::decode):
- Shared/Plugins/PluginProcessCreationParameters.cpp:
(WebKit::PluginProcessCreationParameters::encode const):
(WebKit::PluginProcessCreationParameters::decode):
- Shared/PrintInfo.cpp:
(WebKit::PrintInfo::encode const):
(WebKit::PrintInfo::decode):
- Shared/RTCPacketOptions.cpp:
(WebKit::RTCPacketOptions::encode const):
(WebKit::RTCPacketOptions::decode):
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode const):
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode const):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
- Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateNode>::encode):
(ArgumentCoder<RequestedScrollData>::encode):
(ArgumentCoder<RequestedScrollData>::decode):
(WebKit::RemoteScrollingCoordinatorTransaction::decode):
- Shared/SessionState.cpp:
(WebKit::HTTPBody::Element::encode const):
(WebKit::HTTPBody::Element::decode):
(WebKit::PageState::encode const):
(WebKit::PageState::decode):
- Shared/TouchBarMenuItemData.cpp:
(WebKit::TouchBarMenuItemData::encode const):
(WebKit::TouchBarMenuItemData::decode):
- Shared/UserData.cpp:
(WebKit::UserData::encode):
(WebKit::UserData::decode):
- Shared/WebContextMenuItemData.cpp:
(WebKit::WebContextMenuItemData::encode const):
(WebKit::WebContextMenuItemData::decode):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<LinearTimingFunction>::encode):
(IPC::ArgumentCoder<CubicBezierTimingFunction>::encode):
(IPC::ArgumentCoder<CubicBezierTimingFunction>::decode):
(IPC::ArgumentCoder<StepsTimingFunction>::encode):
(IPC::ArgumentCoder<SpringTimingFunction>::encode):
(IPC::ArgumentCoder<PluginInfo>::encode):
(IPC::ArgumentCoder<PluginInfo>::decode):
(IPC::ArgumentCoder<ProtectionSpace>::encode):
(IPC::ArgumentCoder<ProtectionSpace>::decode):
(IPC::ArgumentCoder<Credential>::encode):
(IPC::ArgumentCoder<Credential>::decode):
(IPC::ArgumentCoder<Cursor>::encode):
(IPC::ArgumentCoder<Cursor>::decode):
(IPC::ArgumentCoder<ResourceError>::encode):
(IPC::ArgumentCoder<ResourceError>::decode):
(IPC::ArgumentCoder<DragData>::encode):
(IPC::ArgumentCoder<DragData>::decode):
(IPC::ArgumentCoder<CompositionUnderline>::encode):
(IPC::ArgumentCoder<CompositionUnderline>::decode):
(IPC::ArgumentCoder<FileChooserSettings>::encode):
(IPC::ArgumentCoder<FileChooserSettings>::decode):
(IPC::ArgumentCoder<TextCheckingRequestData>::encode):
(IPC::ArgumentCoder<TextCheckingRequestData>::decode):
(IPC::ArgumentCoder<TextCheckingResult>::encode):
(IPC::ArgumentCoder<TextCheckingResult>::decode):
(IPC::ArgumentCoder<UserStyleSheet>::encode):
(IPC::ArgumentCoder<UserStyleSheet>::decode):
(IPC::ArgumentCoder<ScrollableAreaParameters>::encode):
(IPC::ArgumentCoder<ScrollableAreaParameters>::decode):
(IPC::ArgumentCoder<FilterOperation>::encode):
(IPC::decodeFilterOperation):
(IPC::ArgumentCoder<FontAttributes>::encode):
(IPC::ArgumentCoder<FontAttributes>::decode):
(IPC::ArgumentCoder<WebCore::SerializedPlatformDataCueValue>::encode):
(IPC::ArgumentCoder<WebCore::SerializedPlatformDataCueValue>::decode):
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPopupItem.cpp:
(WebKit::WebPopupItem::encode const):
(WebKit::WebPopupItem::decode):
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebsiteData/WebsiteData.cpp:
(WebKit::WebsiteData::Entry::encode const):
(WebKit::WebsiteData::Entry::decode):
- Shared/curl/WebCoreArgumentCodersCurl.cpp:
(IPC::ArgumentCoder<ResourceError>::encodePlatformData):
(IPC::ArgumentCoder<ResourceError>::decodePlatformData):
(IPC::ArgumentCoder<ProtectionSpace>::encodePlatformData):
(IPC::ArgumentCoder<ProtectionSpace>::decodePlatformData):
- Shared/glib/InputMethodState.cpp:
(WebKit::InputMethodState::encode const):
(WebKit::InputMethodState::decode):
- Shared/glib/UserMessage.cpp:
(WebKit::UserMessage::encode const):
(WebKit::UserMessage::decode):
- Shared/mac/ColorSpaceData.mm:
(WebKit::ColorSpaceData::encode const):
(WebKit::ColorSpaceData::decode):
- Shared/mac/SecItemRequestData.cpp:
(WebKit::SecItemRequestData::encode const):
(WebKit::SecItemRequestData::decode):
- Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<WebCore::ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<WebCore::ResourceRequest>::decodePlatformData):
(IPC::ArgumentCoder<WebCore::CertificateInfo>::encode):
(IPC::ArgumentCoder<WebCore::CertificateInfo>::decode):
- Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<SoupNetworkProxySettings>::encode):
(IPC::ArgumentCoder<SoupNetworkProxySettings>::decode):
- WebProcess/GPU/media/RemoteMediaPlayerState.h:
(WebKit::RemoteMediaPlayerState::encode const):
(WebKit::RemoteMediaPlayerState::decode):
- WebProcess/Network/NetworkProcessConnectionInfo.h:
(WebKit::NetworkProcessConnectionInfo::decode):
- WebProcess/Plugins/Plugin.cpp:
(WebKit::Plugin::Parameters::encode const):
(WebKit::Plugin::Parameters::decode):
- WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm:
(WebKit::PlatformCAAnimationRemote::KeyframeValue::encode const):
(WebKit::PlatformCAAnimationRemote::KeyframeValue::decode):
(WebKit::PlatformCAAnimationRemote::Properties::encode const):
(WebKit::PlatformCAAnimationRemote::Properties::decode):
- 7:01 PM Changeset in webkit [262993] by
-
- 3 edits2 adds in trunk
[iPadOS] Focusing selects and color inputs should not bring up the software keyboard
https://bugs.webkit.org/show_bug.cgi?id=213149
<rdar://problem/64312450>
Reviewed by Darin Adler.
Source/WebKit:
After <trac.webkit.org/r261658>, we now opt into bringing up the software keyboard when focusing color inputs
and select elements. This is due to the changes in-_shouldShowAutomaticKeyboardUIIgnoringInputMode, which
were intended to make us returnNOfor date and time inputs, but also unintentionally makes us returnYES
on iPadOS.
This patch fixes the bug by returning
!WebKit::currentUserInterfaceIdiomIsPad()instead, and additionally
preserves the existing behavior of now showing a color picker for<input type="color" readonly>on iPhone.
Test: fast/forms/ios/ipad/select-should-not-bring-up-software-keyboard.html
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView becomeFirstResponderForWebView]):
(-[WKContentView resignFirstResponderForWebView]):
(-[WKContentView _shouldShowAutomaticKeyboardUIIgnoringInputMode]):
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
LayoutTests:
Add a new layout test.
- fast/forms/ios/ipad/select-should-not-bring-up-software-keyboard-expected.txt: Added.
- fast/forms/ios/ipad/select-should-not-bring-up-software-keyboard.html: Added.
- 6:15 PM Changeset in webkit [262992] by
-
- 3 edits1 add in trunk
[JSC] el(Greek) characters' upper-case conversion is locale-sensitive
https://bugs.webkit.org/show_bug.cgi?id=213155
<rdar://problem/55018467>
Reviewed by Darin Adler.
JSTests:
- stress/intl-el-case.js: Added.
(shouldBe):
Source/JavaScriptCore:
CLDR defines 4 locales which has language-sensitive case conversions. "az", "el", "lt", and "tr", where,
az = Azerbaijani
el = Greek
lt = Lithuanian
tr = Turkish
We can ensure it easily like this.
- Download CLDR data
ls common/transforms/*Upper.xml
common/transforms/az-Upper.xml
common/transforms/el-Upper.xml
common/transforms/lt-Upper.xml
common/transforms/tr-Upper.xml
And ECMA-402 String.prototype.{toLocaleLowerCase,toLocaleUpperCase} requires these locales are listed as
availableLocales.
- Let availableLocales be a List with language tags that includes the languages for which the Unicode Character Database contains language sensitive case mappings. Implementations may add additional language tags if they support case mapping for additional locales.
https://tc39.es/ecma402/#sup-string.prototype.tolocalelowercase
This patch adds "el" to our maintained availableLocales list. Previously we only had "az", "lt", and "tr".
- runtime/StringPrototype.cpp:
(JSC::toLocaleCase):
(JSC::stringProtoFuncToLocaleUpperCase):
- 5:22 PM Changeset in webkit [262991] by
-
- 17 edits1 delete in trunk
Tests expecting a crash should use a signal handler in the JSC CLI process
https://bugs.webkit.org/show_bug.cgi?id=212479
Reviewed by Yusuke Suzuki.
JSTests:
- stress/ensure-crash.js:
- stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior-bad-transition-debug.js:
- stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior-bad-transition.js:
- stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior-debug.js: Removed.
- stress/incorrect-put-could-generate-invalid-ic-but-still-not-causing-bad-behavior.js:
- stress/incorrect-put-could-generate-invalid-ic-involving-dictionary-flatten-debug.js:
Source/JavaScriptCore:
Have the -s option use WTF::Signals and make sure it adds breakpoint catching
as well.
- jsc.cpp:
(printUsageStatement):
(CommandLine::parseArguments):
- tools/SigillCrashAnalyzer.cpp:
(JSC::installCrashHandler):
Source/WTF:
Add signals for floating point exceptions and breakpoints. There's a
note for breakpoints that explains how using them in the same process
as lldb will cause badness. Fortunately, the only place I plan on using
the breakpoint handler is to check for tests where crashing is expected.
- wtf/threads/Signals.cpp:
(WTF::fromMachException):
(WTF::toMachMask):
- wtf/threads/Signals.h:
(WTF::toSystemSignal):
(WTF::fromSystemSignal):
Tools:
Crashing tests should now exit with status zero.
- Scripts/run-jsc-stress-tests:
- Scripts/webkitruby/jsc-stress-test-writer-default.rb:
- Scripts/webkitruby/jsc-stress-test-writer-playstation.rb:
- Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
- 5:06 PM Changeset in webkit [262990] by
-
- 5 edits in branches/safari-609-branch
Cherry-pick r262978. rdar://problem/64315997
Stop allowing pages served over HTTPS with "Cache-Control: no-store" into the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=213147
<rdar://problem/64249683>
Reviewed by Geoffrey Garen.
Source/WebCore:
Stop allowing pages served over HTTPS with "Cache-Control: no-store" into the back/forward cache.
This is a revert of r250437 due to push back from Web developers.
No new tests, updated existing tests.
- history/BackForwardCache.cpp: (WebCore::canCacheFrame):
LayoutTests:
Update layout test coverage.
- http/tests/navigation/https-in-page-cache-expected.txt:
- http/tests/navigation/resources/https-in-page-cache-1.php:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:06 PM Changeset in webkit [262989] by
-
- 5 edits1 add in branches/safari-609-branch
Cherry-pick r262707. rdar://problem/64226888
File URLs with hostnames are misleading
https://bugs.webkit.org/show_bug.cgi?id=212739
<rdar://problem/63754917>
Reviewed by Alex Christensen.
Source/WebCore:
Showing a file URL like file://example.org/test is misleading to users.
To prevent this, we just do a redirection to the same file URL with an empty host.
Remove the port at the same time.
Covered by added API test.
- loader/DocumentLoader.cpp: (WebCore::DocumentLoader::willSendRequest):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/open-window-with-file-url-with-host.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm: (TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262707 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:06 PM Changeset in webkit [262988] by
-
- 2 edits in branches/safari-609-branch/Source/WebKit
Cherry-pick r262508. rdar://problem/62977672
[iOS] Hide the PiP button in fullscreen mode if PiP is disabled in preferences
https://bugs.webkit.org/show_bug.cgi?id=212699
<rdar://problem/60391437>
Reviewed by Eric Carlson.
In r260474, we hid the PiP button in fullscreen when PiP was unsupported on the
current device; we must also hide the PiP button when clients have disabled PiP
via preferences.
- UIProcess/ios/fullscreen/WKFullScreenViewController.mm: (-[WKFullScreenViewController videoControlsManagerDidChange]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:55 PM Changeset in webkit [262987] by
-
- 4 edits in trunk/LayoutTests
Re-write accessibility/form-control-value-settable.html so that it can pass in both isolated tree mode on and off.
https://bugs.webkit.org/show_bug.cgi?id=213150
Reviewed by Chris Fleizach.
In isolated tree mode, it is necessary to setTimeout after setting the
focus so that the isolated tree can be updated.
- accessibility/form-control-value-settable.html:
- platform/gtk/accessibility/form-control-value-settable-expected.txt:
- platform/mac/accessibility/form-control-value-settable-expected.txt:
- 4:45 PM Changeset in webkit [262986] by
-
- 8 edits in branches/safari-609-branch/Source
Versioning.
WebKit-609.3.4
- 4:32 PM Changeset in webkit [262985] by
-
- 12 edits in trunk
Make API tests tolerant of our relatively new use of WebPageProxy::preconnectTo
https://bugs.webkit.org/show_bug.cgi?id=213144
Reviewed by Geofferey Garen.
Source/WebKit:
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(WebKit::NetworkSessionCocoa::taskServerConnectionSucceeded):
(WebKit::NetworkSessionCocoa::taskReceivedBytes): Deleted.
Fix our logic that remembers successful client certificate connections.
If a task completes with no error (like a preconnect task does), consider that a successful connection.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::preconnectTo):
Remove the check to not preconnect to loopback addresses.
This was making our tests different than the real internet and prevented me from landing a perfectly good test
in https://bugs.webkit.org/show_bug.cgi?id=213109
Tools:
Most changes are straightforward moving to HTTPServer, which is more tolerant of different numbers of connections except these two:
The ResourceLoadDelegate.Challenge API test was checking the output of _WKResourceLoadDelegate.didReceiveChallenge
by using a server trust challenge. Now that preconnecting happens, the server trust evaluation would happen with a
PreconnectTask, not the main resource load. The WKNavigationDelegate still gets the challenge and there is no problem
here, but in order to continue to test _WKResourceLoadDelegate.didReceiveChallenge I use a basic authentication challenge
instead of a server trust evaluation.
The WebKit.FastServerTrust API test now has two failed attempts (one from the preconnect attempt, one from the main resource load attempt),
but only when _strictTrustEvaluate is not available.
- TestWebKitAPI/TCPServer.cpp:
(TestWebKitAPI::TCPServer::TCPServer):
- TestWebKitAPI/TCPServer.h:
- TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TEST):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- TestWebKitAPI/cocoa/HTTPServer.h:
- TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::respondWithChallengeThenOK):
- 3:38 PM Changeset in webkit [262984] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Preferences are not being observed if the process pool is being created after activation
https://bugs.webkit.org/show_bug.cgi?id=213145
Reviewed by Brent Fulgham.
If the app is creating the Web process pool after being activated, preferences will not be observed until the app is being backgrounded
and then foregrounded again, since the preference observer is initialized when handling the app activation notification.
No new tests, since an API test would make sense in this case, but API tests aren't run on iOS.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- 3:22 PM Changeset in webkit [262983] by
-
- 8 edits in branches/safari-610.1.15.51-branch/Source
Versioning 610.1.15.51.4.
- 3:17 PM Changeset in webkit [262982] by
-
- 1 copy in tags/Safari-610.1.15.51.3
Tag Safari-610.1.15.51.3.
- 3:16 PM Changeset in webkit [262981] by
-
- 8 edits in branches/safari-610.1.15.51-branch/Source
Versioning.
- 3:15 PM Changeset in webkit [262980] by
-
- 1 copy in tags/Safari-610.1.15.50.4
Tag Safari-610.1.15.50.4.
- 3:13 PM Changeset in webkit [262979] by
-
- 7 edits in trunk
AsyncGenerator should await "return" completions
https://bugs.webkit.org/show_bug.cgi?id=212774
Reviewed by Ross Kirsling.
JSTests:
With this change, async generator stress tests now pass in Chrome and Firefox (tested manually).
- stress/async-iteration-yield-star-interface.js:
- stress/async-iteration-yield-star.js:
- test262/expectations.yaml: Mark 8 test cases as passing.
Source/JavaScriptCore:
This patch fixes 2 spec discrepancies, observable with async generators if the
value of "return" completion is a Promise, aligning JSC with V8 and SpiderMonkey.
- builtins/AsyncGeneratorPrototype.js:
(onFulfilled):
This change implements step 8 of AsyncGeneratorYield [1], that is executed after
step 15 of AsyncGeneratorResumeNext [2] (implemented as @doAsyncGeneratorBodyCall).
We are safe to rely on AsyncGeneratorState being "suspendedYield" (set in
step 6 of AsyncGeneratorYield [1]) instead of adding extra field to AsyncGenerator:
AsyncGeneratorResumeNext [2] does not overwrite "suspendedYield" state.
This change fixes most of test262 cases.
[1]: https://tc39.es/ecma262/#sec-asyncgeneratoryield
[2]: https://tc39.es/ecma262/#sec-asyncgeneratorresumenext
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitDelegateYield):
This change implements step 7.c.iii.1 of yield* runtime semantics [3], that is
observable only if Value has userland "then" getter. Awaited result is discarded.
This change fixes async-generator/yield-star-return-then-getter-ticks.js test262 case.
[3]: https://tc39.es/ecma262/#sec-generator-function-definitions-runtime-semantics-evaluation
- 3:05 PM Changeset in webkit [262978] by
-
- 5 edits in trunk
Stop allowing pages served over HTTPS with "Cache-Control: no-store" into the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=213147
<rdar://problem/64249683>
Reviewed by Geoffrey Garen.
Source/WebCore:
Stop allowing pages served over HTTPS with "Cache-Control: no-store" into the back/forward cache.
This is a revert of r250437 due to push back from Web developers.
No new tests, updated existing tests.
- history/BackForwardCache.cpp:
(WebCore::canCacheFrame):
LayoutTests:
Update layout test coverage.
- http/tests/navigation/https-in-page-cache-expected.txt:
- http/tests/navigation/resources/https-in-page-cache-1.php:
- 2:58 PM Changeset in webkit [262977] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, reverting r262904.
This commit broke a test on Mac wk1 Debug.
Reverted changeset:
"[Cocoa] Build callOnMainThread on WTF::RunLoop rather than on
a timer"
https://bugs.webkit.org/show_bug.cgi?id=213063
https://trac.webkit.org/changeset/262904
- 2:03 PM Changeset in webkit [262976] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ Mac wk1 Debug ] media/remoteplayback-target-availability.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=213146
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 2:02 PM Changeset in webkit [262975] by
-
- 4 edits in trunk/Tools
[buildbot] [GTK][WPE] Move WebDriver test to own bot
https://bugs.webkit.org/show_bug.cgi?id=212527
Reviewed by Carlos Alberto Lopez Perez.
Move 'webdriver-test' step from GTK Release and GTK Debug test bots
to separated bots.
For bots that require a Wayland display (WPE and GTK Wayland),
'webdriver-test' step is run on the corresponding general test bot,
since it's not possible at the moment to run tests that require a
Wayland display in a bot set as a container.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- BuildSlaveSupport/build.webkit.org-config/factories.py:
(TestFactory.init):
(TestWebDriverFactory):
(TestWebDriverFactory.init):
- BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
- 1:56 PM Changeset in webkit [262974] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, address Darin's feedback on r262890.
- runtime/IntlObject.cpp:
(JSC::addScriptlessLocaleIfNeeded):
Use != instead of < for clarity.
- 1:52 PM Changeset in webkit [262973] by
-
- 8 edits in trunk
Build is broken with EVENT_LOOP_TYPE=GLib
https://bugs.webkit.org/show_bug.cgi?id=212987
Reviewed by Konstantin Tokarev.
.:
- Source/cmake/OptionsJSCOnly.cmake: Add gio-unix as a required component of the GLib
package, as it is needed for the remote inspector support with EVENT_LOOP_TYPE=GLib.
Source/JavaScriptCore:
- PlatformJSCOnly.cmake: Add sources needed to support the remote inspector to
JavaScriptCore_SOURCES.
Source/WTF:
- wtf/CurrentTime.cpp: Make sure that <time.h> is included to get clock_gettime() and
friends defined when USE_GLIB is disabled.
- wtf/PlatformJSCOnly.cmake: Use FileSystemGLib instead of FileSystemPOSIX when
EVENT_LOOP_TYPE=GLib is set, add missing sources needed when ENABLE_REMOTE_INSPECTOR
is set.
- wtf/glib/RunLoopSourcePriority.h: Use the same list of priorities for WPE and JSCOnly.
- 1:36 PM Changeset in webkit [262972] by
-
- 5 edits in trunk/Source/WebCore
Stop to use ActiveDOMObject::setPendingActivity() for Modules/fetch
https://bugs.webkit.org/show_bug.cgi?id=213037
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-06-12
Reviewed by Youenn Fablet.
By ActiveDOMObject's comments,
these methods should be replaced with using makePendingActivity().
JSFetchRequest/JSFetchResponse(as derived class ofJSDOMWrapper) hold
FetchRequest/FetchResponse, and they haveFetchBodyOwner
as a base class and keep alive it. We can replace
setPendingActivity()calling fromFetchBodyOwner.
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::loadBlob):
(WebCore::FetchBodyOwner::finishBlobLoading):
(WebCore::FetchBodyOwner::virtualHasPendingActivity const):
- Modules/fetch/FetchBodyOwner.h:
- Modules/fetch/FetchBodySource.cpp:
(WebCore::FetchBodySource::setActive):
(WebCore::FetchBodySource::setInactive):
- Modules/fetch/FetchBodySource.h:
- 12:47 PM Changeset in webkit [262971] by
-
- 18 edits in trunk
[Curl] Implement functions to use ResourceLoadStatistics.
https://bugs.webkit.org/show_bug.cgi?id=207692
Patch by Takashi Komori <Takashi.Komori@sony.com> on 2020-06-12
Reviewed by Don Olmstead.
Implement functions which are required to implement ResourceLoadStatistics for Curl port.
Source/WebCore:
Tests: http/tests/resourceLoadStatistics/
- CMakeLists.txt:
- platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::openDatabase):
(WebCore::CookieJarDB::setCookie):
(WebCore::CookieJarDB::allDomains):
(WebCore::CookieJarDB::deleteCookiesForHostname):
- platform/network/curl/CookieJarDB.h:
- platform/network/curl/NetworkStorageSessionCurl.cpp:
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::setCookies):
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
(WebCore::NetworkStorageSession::getHostnamesWithCookies):
Source/WebKit:
In NetworkDataTaskCurl.cpp we check if we should block cookies and block if needed.
Tests: http/tests/resourceLoadStatistics/
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::create):
- NetworkProcess/curl/NetworkDataTaskCurl.cpp:
(WebKit::NetworkDataTaskCurl::NetworkDataTaskCurl):
(WebKit::NetworkDataTaskCurl::createCurlRequest):
(WebKit::NetworkDataTaskCurl::willPerformHTTPRedirection):
(WebKit::NetworkDataTaskCurl::blockCookies):
(WebKit::NetworkDataTaskCurl::unblockCookies):
(WebKit::NetworkDataTaskCurl::shouldBlockCookies):
(WebKit::NetworkDataTaskCurl::isThirdPartyRequest):
- NetworkProcess/curl/NetworkDataTaskCurl.h:
- NetworkProcess/curl/NetworkSessionCurl.cpp:
(WebKit::NetworkSessionCurl::NetworkSessionCurl):
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreGetAllStorageAccessEntries):
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::parameters):
Tools:
Tests: http/tests/resourceLoadStatistics/
- WebKitTestRunner/TestController.cpp:
(WTR::GetAllStorageAccessEntriesCallbackContext::GetAllStorageAccessEntriesCallbackContext):
(WTR::getAllStorageAccessEntriesCallback):
(WTR::TestController::getAllStorageAccessEntries):
LayoutTests:
Tests: http/tests/resourceLoadStatistics/
- platform/wincairo-wk1/TestExpectations:
- platform/wincairo/TestExpectations:
- 12:38 PM Changeset in webkit [262970] by
-
- 1 copy in tags/Safari-609.3.3
Tag Safari-609.3.3.
- 12:36 PM Changeset in webkit [262969] by
-
- 1 delete in tags/Safari-609.3.3
Delete tag.
- 12:31 PM Changeset in webkit [262968] by
-
- 1 copy in tags/Safari-609.3.3
Tag Safari-609.3.3.
- 12:25 PM Changeset in webkit [262967] by
-
- 2 edits in branches/safari-609-branch/Tools
Cherry-pick r261243. rdar://problem/61953702
REGRESSION (r260278): TestWebKitAPI.Fullscreen.Delegate is timing out on macOS bots
https://bugs.webkit.org/show_bug.cgi?id=210676
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKitCocoa/FullscreenAlert.mm: (TestWebKitAPI::TEST): Skip the test to get the bots to green.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:24 PM Changeset in webkit [262966] by
-
- 5 edits in trunk/Source/WebCore
In isolated tree mode 2, AXIsolatedObject::setChildrenIDs should be called only on secondary thread.
https://bugs.webkit.org/show_bug.cgi?id=213124
Reviewed by Chris Fleizach.
Covered by existing tests.
- AXIsolatedTree::createSubtree was calling AXIsolatedObject::setChildrenIDs
which should be called only on the secondary thread. Now it is queueing
the children update under lock.
- The unsigned int range for object IDs was being overrun for large
number of objects like in the case of the sample page in <rdar://problem/59331146>.
Increased the size of AXID to size_t.
- Better handle the case of invalid object IDs, although this needs
more work, since we should never encounter this case.
- accessibility/AccessibilityObjectInterface.h: AXID are now size_t instead of unsigned ints.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::AXIsolatedObject):
(WebCore::AXIsolatedObject::setChildrenIDs): Inlined in header.
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::createSubtree):
- 12:14 PM Changeset in webkit [262965] by
-
- 1 delete in tags/Safari-609.3.3
Delete tag.
- 12:13 PM Changeset in webkit [262964] by
-
- 1 copy in tags/Safari-609.3.3
Tag Safari-609.3.3.
- 11:53 AM Changeset in webkit [262963] by
-
- 3 edits in trunk/LayoutTests
[ Mojave wk2 Release ] js/dom/unhandled-promise-rejection-console-no-report.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=212851
Reviewed by Darin Adler.
This test is wrong since both onunhandledrejection and setTimeout are driven by macro-tasks.
There is no ordering between them so they have race condition, and this race condition makes this
the test flaky. We should fix the test. This patch removes the dependency to setTimeout.
- js/dom/unhandled-promise-rejection-console-no-report-expected.txt:
- js/dom/unhandled-promise-rejection-console-no-report.html:
- 11:40 AM Changeset in webkit [262962] by
-
- 5 edits in trunk/Source/WebCore
FileInputType should use WeakPtr for FileListCreator lambdas
https://bugs.webkit.org/show_bug.cgi?id=213130
<rdar://problem/64276591>
Reviewed by David Kilzer.
FileInputType::filesChosen was passing a completion handler to FileListCreator::create that
captured |this|. If the FileListCreator instance still existed when |this| was destroyed,
FileInputType::~FileInputType would clear the captured |this| by calling
FileListCreator::clear. This can be simplified by having the FileListCreator completion
handler capture a WeakPtr to |this|.
Also, when FileInputType::allowsDirectories is false, m_fileListCreator would not be
properly cleared after creating the file list. The FileListCreator completion handler would
set m_fileListCreator to nullptr, but would be executed *before* FileListCreator::create
returned and set m_fileListCreator to the newly-created FileListCreator object. Fixed this
by having FileListCreator::create execute the completion handler immediately and return
nullptr in cases where a FileListCreator does not need to be created for directory
resolution.
Covered by existing tests.
- html/FileInputType.cpp:
(WebCore::FileInputType::~FileInputType):
(WebCore::FileInputType::filesChosen):
- html/FileInputType.h:
- html/FileListCreator.cpp:
(WebCore::createFileList):
(WebCore::FileListCreator::create):
(WebCore::FileListCreator::FileListCreator):
(WebCore::FileListCreator::createFileList):
- html/FileListCreator.h:
(WebCore::FileListCreator::create): Deleted.
- 11:24 AM Changeset in webkit [262961] by
-
- 3 edits in trunk/LayoutTests
Double tap to zoom out doesn't work after upgrading to iOS 13
https://bugs.webkit.org/show_bug.cgi?id=205158
<rdar://problem/205158>
Unreviewed. Make the test that was previously added into a test that can be run on iPad instead
of having to be skipped.
- fast/events/ios/fast-click-double-tap-to-zoom-in-on-text-and-then-again-to-zoom-out.html:
- platform/ipad/TestExpectations:
- 11:22 AM Changeset in webkit [262960] by
-
- 3 edits2 adds in trunk
REGRESSION (r262618): Very slow typing in a github issue
https://bugs.webkit.org/show_bug.cgi?id=213137
<rdar://problem/64214117>
Reviewed by Darin Adler.
Source/WebCore:
Test: fast/media/media-query-keyframes-resolution-count.html
If a stylesheet had multiple media queries and one of them forced static resolution
(by containing @keyframes rule for example) we would end up reseting the style multiple
times and forcing unneeded style resolutions.
- style/RuleSet.cpp:
(WebCore::Style::RuleSet::evaluteDynamicMediaQueryRules):
We can't bail out from the loop. Even though the result is known we still need to loop to
save the evaluation result for all media queries.
LayoutTests:
- fast/media/media-query-keyframes-resolution-count-expected.txt: Added.
- fast/media/media-query-keyframes-resolution-count.html: Added.
- 11:03 AM Changeset in webkit [262959] by
-
- 4 edits2 adds in trunk
Double tap to zoom out doesn't work after upgrading to iOS 13
https://bugs.webkit.org/show_bug.cgi?id=205158
<rdar://problem/205158>
Reviewed by Wenson Hsieh.
Source/WebKit:
Test: fast/events/ios/fast-click-double-tap-to-zoom-in-on-text-and-then-again-to-zoom-out.html
In order to determine whether a significant zoom to happen, we should use the current page scale
factor and not the initial page scale factor.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _handleSmartMagnificationInformationForPotentialTap:renderRect:fitEntireRect:viewportMinimumScale:viewportMaximumScale:nodeIsRootLevel:]):
LayoutTests:
Add a test that double taps to zoom in and then double taps to zoom out. This test would fail to zoom
out prior to this source change. This test is skipped on iPad since desktop-class browsing mode has
heuristics that would prevent the second double-tap to zoom out.
- fast/events/ios/fast-click-double-tap-to-zoom-in-on-text-and-then-again-to-zoom-out-expected.txt: Added.
- fast/events/ios/fast-click-double-tap-to-zoom-in-on-text-and-then-again-to-zoom-out.html: Added.
- platform/ipad/TestExpectations:
- 10:40 AM Changeset in webkit [262958] by
-
- 6 edits in trunk/Tools
Support building test runners for watchOS and tvOS
https://bugs.webkit.org/show_bug.cgi?id=213128
<rdar://problem/64298006>
Reviewed by Tim Horton.
- DumpRenderTree/mac/Configurations/Base.xcconfig: Link against framework stubs.
- DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Apply iOS rules to all embedded sdks.
- WebKitTestRunner/Configurations/Base.xcconfig: Link against framework stubs.
- WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: Apply iOS rules to all embedded sdks.
- WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig: Use watchOS entitlements for tvOS.
- 10:39 AM Changeset in webkit [262957] by
-
- 7 edits in trunk/Tools
TestWebKitAPI: Build for watchOS and tvOS
https://bugs.webkit.org/show_bug.cgi?id=213127
<rdar://problem/64297979>
Reviewed by Tim Horton.
- TestWebKitAPI/Configurations/Base.xcconfig: Link against framework stubs.
- TestWebKitAPI/Configurations/InjectedBundle.xcconfig: Apply iOS rules to all embedded sdks.
- TestWebKitAPI/Configurations/TestWTF.xcconfig: Ditto.
- TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Link against framework stubs.
- TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Apply iOS rules to all embedded sdks.
- TestWebKitAPI/config.h: WatchOS uses SSL.
- 10:29 AM Changeset in webkit [262956] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: modify initial content localized string for Inspector Bootstrap Script
https://bugs.webkit.org/show_bug.cgi?id=213134
Reviewed by Timothy Hatcher.
- UserInterface/Controllers/NetworkManager.js:
(WI.NetworkManager.prototype.async createBootstrapScript):
- Localizations/en.lproj/localizedStrings.js:
- 9:30 AM Changeset in webkit [262955] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: (r262397): [ Mac wk2 ] inspector/canvas/create-context-webgpu.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=213123
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 9:20 AM Changeset in webkit [262954] by
-
- 4 edits in trunk/LayoutTests
[GTK][WPE] Remove some duplicated entries and add missing bug info
Unreviewed test gardening
Unified the unsuported tests entries for GTK and WPE and added some
entries for the skipped top level tests.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 9:14 AM Changeset in webkit [262953] by
-
- 23 edits1 delete in trunk
LayoutTests/imported/w3c:
Change FileReader.error to DOMException from obsoleted FileError
https://bugs.webkit.org/show_bug.cgi?id=213117
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-06-12
Reviewed by Chris Dumez.
- web-platform-tests/FileAPI/historical.https-expected.txt: FileError should not be exposed.
Source/WebCore:
FileReader.error should be DOMException now
https://bugs.webkit.org/show_bug.cgi?id=213117
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-06-12
Reviewed by Chris Dumez.
By the [lastest spec](https://w3c.github.io/FileAPI/),
FileReader.errorshould returnDOMException
and this remove obsoletedFileErrorfrom exposed interfaces.
Internally, our codebase still depends on
fileapi/FileError.h
in everywhere. I'll plan to create a patch to refactor them.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- WebCore.order:
- WebCore.xcodeproj/project.pbxproj:
- fileapi/FileError.idl: Removed.
- fileapi/FileReader.cpp:
(WebCore::FileReader::abort):
(WebCore::FileReader::didFail):
- fileapi/FileReader.h:
- fileapi/FileReader.idl:
- fileapi/FileReaderSync.cpp:
(WebCore::FileReaderSync::errorCodeToException):
- fileapi/FileReaderSync.h:
LayoutTests:
Change FileReader.error to DOMException from obsoleted FileError
https://bugs.webkit.org/show_bug.cgi?id=213117
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-06-12
Reviewed by Chris Dumez.
By the [lastest spec](https://w3c.github.io/FileAPI/),
FileReader.errorshould returnDOMException
and this change removeFileErrorfrom exposed interfaces.
- fast/files/file-reader-abort-expected.txt:
- fast/files/file-reader-abort-using-open-panel-expected.txt:
- fast/files/read-blob-async-expected.txt:
- fast/files/read-file-async-expected.txt:
- fast/files/workers/worker-read-blob-async-expected.txt:
- fast/files/workers/worker-read-file-async-expected.txt:
Update to
DOMExceptionerror code fromFileErrorerror code. - platform/mac-wk1/imported/w3c/web-platform-tests/FileAPI/historical.https-expected.txt: FileError should not be exposed.
- 9:09 AM Changeset in webkit [262952] by
-
- 3 edits2 deletes in trunk/Tools
Unreviewed, reverting r262942.
https://bugs.webkit.org/show_bug.cgi?id=213132
Broke gst-libav due to dav1d ABI bump
Reverted changeset:
"[Flatpak SDK] Add libavif"
https://bugs.webkit.org/show_bug.cgi?id=212964
https://trac.webkit.org/changeset/262942
- 8:55 AM Changeset in webkit [262951] by
-
- 6 edits2 adds in trunk
[LFC][TFC] Add support for min/max-width
https://bugs.webkit.org/show_bug.cgi?id=213111
Reviewed by Antti Koivisto.
Source/WebCore:
Apply min/max-width to constrain the available width for the table content.
Test: fast/layoutformattingcontext/table-min-max-width-simple.html
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::computedWidthAndMargin):
- layout/blockformatting/BlockFormattingContext.h:
- layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:
(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):
LayoutTests:
- fast/layoutformattingcontext/table-min-max-width-simple-expected.html: Added.
- fast/layoutformattingcontext/table-min-max-width-simple.html: Added.
- 8:48 AM Changeset in webkit [262950] by
-
- 3 edits in trunk/Source/WebKit
Add WKUserScript initializer SPI with alternative names
https://bugs.webkit.org/show_bug.cgi?id=213096
Patch by Alex Christensen <achristensen@webkit.org> on 2020-06-12
Reviewed by Youenn Fablet.
And deprecate the existing ones so we can remove them soon.
- UIProcess/API/Cocoa/WKUserScript.mm:
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:includeMatchPatternStrings:excludeMatchPatternStrings:associatedURL:contentWorld:deferRunningUntilNotification:]):
- UIProcess/API/Cocoa/WKUserScriptPrivate.h:
- 8:45 AM Changeset in webkit [262949] by
-
- 1 edit1 add in trunk/JSTests
[JSC] Add sampling-profiler code-origin lookup test
https://bugs.webkit.org/show_bug.cgi?id=213108
<rdar://problem/52044072>
Reviewed by Saam Barati.
This is fixed by r262920. This patch just adds a test additionally.
We are keeping CallSiteIndex valid until corresponding JIT stub is destroyed.
This fixes SamplingProfiler too since SamplingProfiler also collects CallSiteIndex and gets corresponding CodeOrigin.
Since SamplingProfiler does this CallSiteIndex => CodeOrigin before running GC finalizer, validity of CallSiteIndex
should be kept correctly.
- stress/sampling-profiler-code-origin.js: Added.
(let.oThrow.get f):
(foo):
(return.get f):
(f):
- 8:43 AM Changeset in webkit [262948] by
-
- 2 edits in trunk/WebDriverTests
[WebDriver][WPE] Add remaining WPE failures to expectations.
Unreviewed test gardening.
- TestExpectations.json:
- 8:19 AM Changeset in webkit [262947] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed. Fix GTK4 build
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSynthesizeKeyEvent):
- 7:40 AM Changeset in webkit [262946] by
-
- 46 edits2 adds in trunk
Relative font size values (em) within CSS animations compound
https://bugs.webkit.org/show_bug.cgi?id=194749
<rdar://problem/48171898>
Reviewed by Antoine Quint.
Source/WebCore:
The em unit should be relative to the font size of the parent style when resolving 'font-size' property.
We weren't passing the parent style when resolving keyframes.
Test case by Scott Kellum.
Test: animations/keyframe-em-unit.html
- style/StyleResolver.cpp:
(WebCore::Style::Resolver::styleForKeyframe):
- style/StyleResolver.h:
(WebCore::Style::Resolver::overrideDocumentElementStyle const):
(WebCore::Style::Resolver::setOverrideDocumentElementStyle):
(WebCore::Style::Resolver::setParentElementStyleForKeyframes):
Add a way to pass the parent element style directly to the style resolver.
This should really be passed via the animation system like other context but that requires
lots of refactoring.
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
Pass it.
LayoutTests:
- animations/keyframe-em-unit-expected.html: Added.
- animations/keyframe-em-unit.html: Added.
- 7:28 AM Changeset in webkit [262945] by
-
- 15 edits in trunk
Document.currentScript does not work for SVGScriptElements
https://bugs.webkit.org/show_bug.cgi?id=213104
Reviewed by Yusuke Suzuki.
LayoutTests/imported/w3c:
- web-platform-tests/html/dom/documents/dom-tree-accessors/Document.currentScript-expected.txt:
Update test results after making currentScript work with SVGScriptElements.
- web-platform-tests/content-security-policy/nonce-hiding/svgscript-nonces-hidden-meta.tentative.sub-expected.txt:
- web-platform-tests/content-security-policy/nonce-hiding/svgscript-nonces-hidden.tentative-expected.txt:
Update results. Not passing, but getting further.
Source/WebCore:
Updates results for existing tests.
- WebCore.xcodeproj/project.pbxproj:
Add CurrentScriptIncrementer.h to the Xcode project as it was missing.
- dom/CurrentScriptIncrementer.h:
(WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer):
(WebCore::CurrentScriptIncrementer::~CurrentScriptIncrementer):
Re-work using ScriptElement, removing the HTMLScriptElement checks. Also changes
scriptType check to explicitly check that against classic scripts, as they are
the only supported type, and if any types other than modules are added in the
future, we would not want this to change behavior.
- dom/Document.cpp:
(WebCore::Document::pushCurrentScript):
- dom/Document.h:
(WebCore::Document::currentScript const):
Use an Element, rather than an HTMLScriptElement for currentScript/currentScriptStack
so that either an HTMLScriptElement or an SVGScriptElement can be stored. Using a
ScriptElement would be possible, but would complicate the implementation unnecessarily
by requiring currentScript to have an additional checks before extracting the Element.
Variant<RefPtr<HTMLScriptElement>, RefPtr<SVGScriptElement>> could also have been used
but also would unnecessarily complicated the interface and caused more memory to be used.
- dom/Document.idl:
Update interface to use Element rather HTMLScriptElement with a comment explaining why we
are not using HTMLOrSVGScriptElement but retaining the same observable behavior.
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::executeClassicScript):
(WebCore::ScriptElement::executeModuleScript):
Pass *this directly to CurrentScriptIncrementer to simplify implementation.
Source/WebKit:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp:
(webkit_dom_document_get_current_script):
Update to account for change in Document::currentScript() now returning an
Element* that can be either an HTMLScriptElement or an SVGScriptElement. To
keep API compatibility, only return non-null for HTMLScriptElements.
Source/WebKitLegacy/mac:
- DOM/DOMDocument.mm:
(-[DOMDocument currentScript]):
Update to account for change in Document::currentScript() now returning an
Element* that can be either an HTMLScriptElement or an SVGScriptElement. To
keep API compatibility, only return non-null for HTMLScriptElements.
- 6:21 AM Changeset in webkit [262944] by
-
- 2 edits in trunk/Tools
Unreviewed. Fix GTK WebDriver tests after r262938
Ensure a valid title for backforward items in MiniBrowser, using the URL when the title is empty.
- MiniBrowser/gtk/BrowserWindow.c:
(browserWindowCreateBackForwardMenu):
- 2:54 AM Changeset in webkit [262943] by
-
- 2 edits in trunk/Tools
[Flatpak SDK] Update GTK4 to 3.98.5
Rubber-stamped by Carlos Alberto Lopez Perez.
- buildstream/elements/sdk/gtk.bst:
- 2:24 AM Changeset in webkit [262942] by
-
- 3 edits2 adds in trunk/Tools
[Flatpak SDK] Add libavif
https://bugs.webkit.org/show_bug.cgi?id=212964
Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-12
Reviewed by Carlos Alberto Lopez Perez.
- buildstream/elements/freedesktop-sdk.bst:
- buildstream/elements/sdk-platform.bst:
- buildstream/elements/sdk/libavif.bst: Added.
- buildstream/patches/fdo/0001-dav1d-Bump-to-0.7.0.patch: Added.
- 2:22 AM Changeset in webkit [262941] by
-
- 3 edits1 add in trunk/Tools
[Flatpak SDK] Add libkate
https://bugs.webkit.org/show_bug.cgi?id=212865
Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-12
Reviewed by Carlos Alberto Lopez Perez.
The GStreamer kate decoder is required for some media/track tests being re-enabled in bug
120665.
- buildstream/elements/sdk-platform.bst:
- buildstream/elements/sdk/gst-plugins-bad.bst:
- buildstream/elements/sdk/libkate.bst: Added.
- 1:49 AM Changeset in webkit [262940] by
-
- 2 edits1 add in trunk/Source/WebKit
[GTK] Add an internal API to run javascript without forced user gestures
https://bugs.webkit.org/show_bug.cgi?id=212969
Reviewed by Carlos Garcia Campos.
To be used by tests in a follow-up commit.
- UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewRunJavaScriptWithParams): Factor out the glue to run
JavaScript in the page.
(webkitWebViewRunJavascriptWithoutForcedUserGestures): Add a new
internal API for use by tests.
(webkit_web_view_run_javascript): Modified to use factored out
glue.
- UIProcess/API/glib/WebKitWebViewInternal.h: Added. Place to keep
API test-specific internal APIs.
- 1:42 AM Changeset in webkit [262939] by
-
- 10 edits1 move1 add1 delete in trunk
[GTK4] Get MiniBrowser ready for GTK4
https://bugs.webkit.org/show_bug.cgi?id=210276
Reviewed by Adrian Perez de Castro.
.:
Bump GTK4 required version.
- Source/cmake/OptionsGTK.cmake:
Tools:
Port MiniBrowser to GTK4. BrowserSearchBar has been renamed as BrowserSearchBox, because in GTK GtkSearchBar is
final class, so we derive from GtkBox and to be used as contents of a GtkSearchBar.
- MiniBrowser/gtk/BrowserCellRendererVariant.c:
(browserCellRendererVariantCellRendererSnapshot):
(browser_cell_renderer_variant_class_init):
- MiniBrowser/gtk/BrowserCellRendererVariant.h:
- MiniBrowser/gtk/BrowserSearchBar.c: Removed.
- MiniBrowser/gtk/BrowserSearchBox.c: Added.
(setFailedStyleForEntry):
(doSearch):
(searchNext):
(searchPrevious):
(searchEntryMenuIconPressedCallback):
(searchEntryClearIconReleasedCallback):
(searchEntryChangedCallback):
(searchEntryActivatedCallback):
(searchPreviousButtonCallback):
(searchNextButtonCallback):
(searchMenuCheckButtonToggledCallback):
(findControllerFailedToFindTextCallback):
(findControllerFoundTextCallback):
(browserSearchBoxFinalize):
(browserSearchBoxDispose):
(browserSearchBoxSizeAllocate):
(browser_search_box_class_init):
(browser_search_box_new):
(browser_search_box_get_entry):
- MiniBrowser/gtk/BrowserSearchBox.h: Renamed from Tools/MiniBrowser/gtk/BrowserSearchBar.h.
- MiniBrowser/gtk/BrowserSettingsDialog.c:
(browser_settings_dialog_init):
(browser_settings_dialog_new):
- MiniBrowser/gtk/BrowserSettingsDialog.h:
- MiniBrowser/gtk/BrowserTab.c:
(loadChanged):
(createInfoBarQuestionMessage):
(tlsErrorsDialogResponse):
(loadFailedWithTLSerrors):
(permissionRequestDialogResponse):
(decidePermissionRequest):
(colorChooserRequestFinished):
(runColorChooserCallback):
(tabCloseClicked):
(browserTabConstructed):
(browserTabIsSearchBarOpen):
(browser_tab_start_search):
(browser_tab_stop_search):
(browser_tab_enter_fullscreen):
(browser_tab_leave_fullscreen):
- MiniBrowser/gtk/BrowserWindow.c:
(settingsCallback):
(resetEntryProgress):
(webViewLoadProgressChanged):
(browserWindowCreateBackForwardMenu):
(browserWindowUpdateNavigationMenu):
(navigationButtonPressed):
(navigationButtonPressCallback):
(scrollEventCallback):
(webViewIsLoadingChanged):
(searchCallback):
(insertImageDialogResponse):
(insertImageCommandCallback):
(insertLinkDialogResponse):
(insertLinkCommandCallback):
(typingAttributesChanged):
(browserWindowSaveSession):
(browserWindowFinalize):
(browserWindowDispose):
(addToolbarButton):
(browserWindowSwitchTab):
(browserWindowTabAddedOrRemoved):
(browserWindowBuildPopoverMenu):
(browserWindowCloseRequest):
(browserWindowDeleteEvent):
(browser_window_class_init):
(browser_window_append_view):
(browser_window_set_background_color):
- MiniBrowser/gtk/CMakeLists.txt:
- 1:28 AM Changeset in webkit [262938] by
-
- 2 edits in trunk/Tools
[GTK] MiniBrowser: stop using GtkToolbar
https://bugs.webkit.org/show_bug.cgi?id=212898
Reviewed by Adrian Perez de Castro.
GtkToolbar iss no longer available in GTK4, use a GtkBox with buttons instead. Also use symbolic icons and move
some of the actions to a gear menu.
- MiniBrowser/gtk/BrowserWindow.c:
(browserWindowHistoryItemActivated):
(browserWindowCreateBackForwardMenu):
(browserWindowUpdateNavigationMenu):
(navigationButtonPressCallback):
(browserWindowCanZoomDefault):
(browserWindowUpdateZoomActions):
(webViewIsLoadingChanged):
(addToolbarButton):
(browserWindowBuildPopoverMenu):
(resetStatusText): Deleted.
(browserWindowHistoryItemSelected): Deleted.
(browserWindowSetupEditorToolbarItem): Deleted.
- 1:25 AM Changeset in webkit [262937] by
-
- 4 edits in trunk/Tools
[GTK] MiniBrowser: stop using GtkToolbar for the search bar
https://bugs.webkit.org/show_bug.cgi?id=212817
Reviewed by Adrian Perez de Castro.
Use a GtkSearchBar instead, because GtkToolbar is no longer available in GTK4. Also use a GtkPopover for the
options menu instead of the GtkMenu.
- MiniBrowser/gtk/BrowserSearchBar.c:
(setFailedStyleForEntry):
(doSearch):
(searchEntryMenuIconPressedCallback):
(searchEntryChangedCallback):
(searchMenuCheckButtonToggledCallback):
(browserSearchBarFinalize):
(browser_search_bar_new):
(browser_search_bar_open):
(browser_search_bar_close):
(browser_search_bar_is_open):
(searchCloseButtonClickedCallback): Deleted.
(searchEntryClearIconReleasedCallback): Deleted.
- MiniBrowser/gtk/BrowserSearchBar.h:
- MiniBrowser/gtk/BrowserTab.c:
(browser_tab_start_search):
(browser_tab_stop_search):
- 1:19 AM Changeset in webkit [262936] by
-
- 9 edits in trunk
[GTK4] Make WebDriver work
https://bugs.webkit.org/show_bug.cgi?id=212316
Reviewed by Adrian Perez de Castro.
Source/WebCore:
Add helper gtk definitions to avoid ifdefs and implement currentScreenMonitor() for GTK4.
- platform/gtk/GtkVersioning.h:
(gtk_window_move):
(gtk_window_minimize):
(gtk_window_unminimize):
- platform/gtk/PlatformScreenGtk.cpp:
(WebCore::currentScreenMonitor):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
(WebCore::getCurrentScreenMonitor): Deleted.
Source/WebKit:
Fix UIClient::setWindowFrame to wait for surface size-changed signal after resizing the window and implement
maximize, minimize and restore windows for GTK4.
- UIProcess/API/glib/WebKitUIClient.cpp:
- UIProcess/API/gtk/WebKitWebViewGtk.cpp:
(surfaceStateChangedCallback):
(webkitWebViewMonitorWindowState):
(webkitWebViewMaximizeWindow):
(webkitWebViewMinimizeWindow):
(webkitWebViewRestoreWindow):
Tools:
Stop connecting to WebKitWebView::close signal twice for newaly created windows.
- MiniBrowser/gtk/BrowserWindow.c:
(webViewCreate):
- 12:01 AM Changeset in webkit [262935] by
-
- 4 edits in trunk/Source/WebKitLegacy
Add dependencies for Migrate Headers and Generate Export Files build phases
https://bugs.webkit.org/show_bug.cgi?id=213072
<rdar://problem/64249345>
Reviewed by Tim Horton.
These build phases have incomplete specifications for the files they
consume and produce, which can lead to incorrect builds. Address this
by:
- Adding the WebCore/PrivateHeaders directory (which contains the headers being migrated) as input to the Migrate Headers build phase
- Touching a timestamp file when re-exporting any headers in the Migrate Headers build phase
- Adding the timestamp file as an output of the Migrate Headers build phase
- Adding the timestamp file as an input of the Generate Export Files build phase
- Adding other files that Generate Export Files consumes to the list of input files
In this way, if any exported headers are changed, both Migrate Headers
and Generate Export Files will be run.
Source/WebKitLegacy:
- WebKitLegacy.xcodeproj/project.pbxproj:
Source/WebKitLegacy/mac:
- MigrateHeaders.make: