Timeline
May 9, 2020:
- 8:44 PM Changeset in webkit [261454] by
-
- 2 edits in trunk/Source/WebKit
Attempt #2 to fix internal iOS build
- UIProcess/ios/WKMouseGestureRecognizer.mm:
- Use ALLOW_DEPRECATED_IMPLEMENTATIONS_{BEGIN,END}.
- 8:36 PM Changeset in webkit [261453] by
-
- 2 edits in trunk
Remove duplicate ChangeLog entries committed by accident.
- 8:08 PM Changeset in webkit [261452] by
-
- 3 edits in trunk/Source/WebKit
Attemp to fix internal iOS build
- Platform/spi/ios/UIKitSPI.h:
- Define @class UIHoverEvent using header if available, else fall back to local class definition.
- Define methods separately from class definition.
- UIProcess/ios/WKMouseGestureRecognizer.mm:
(-[WKMouseGestureRecognizer setView:]):
- Use new method if it is available.
- 8:08 PM Changeset in webkit [261451] by
-
- 2 edits in trunk
XML external entity resources should only be loaded from XML MIME types
<https://webkit.org/b/211488>
<rdar://problem/62869515>
Reviewed by Darin Adler.
Source/WebCore:
Tests: dom/xhtml/level3/core/entitygetinputencoding03.xhtml
dom/xhtml/level3/core/entitygetinputencoding04.xhtml
dom/xhtml/level3/core/entitygetxmlencoding02.xhtml
dom/xhtml/level3/core/entitygetxmlencoding03.xhtml
dom/xhtml/level3/core/entitygetxmlencoding04.xhtml
dom/xhtml/level3/core/entitygetxmlversion03.xhtml
dom/xhtml/level3/core/entitygetxmlversion04.xhtml
dom/xhtml/level3/core/nodegetbaseuri16.xhtml
dom/xhtml/level3/core/nodegetbaseuri19.xhtml
dom/xhtml/level3/core/nodegetbaseuri20.xhtml
fast/parser/external-entities-in-xslt.xml
fast/xsl/dtd-in-source-document.xml
fast/xsl/xslt-second-level-import.xml
http/tests/security/contentTypeOptions/nosniff-xml-external-entity.xhtml
http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
- html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::href const):
- Add comment about keeping code in sync with openFunc() in XMLDocumentParserLibxml2.cpp.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseMIMEType const):
- Add comment about keeping code in sync with externalEntityMimeTypeAllowed() in XMLDocumentParserLibxml2.cpp.
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::externalEntityMimeTypeAllowed):
- Rename from externalEntityMimeTypeAllowedByNosniff().
- Change to only allow XML MIME types regardless of nosniff option.
- Add fallback path to determine MIME type for file:/// URLs to make layout tests work properly. Logic taken from XMLHttpRequest::responseMIMEType(). Not sure if there was a good place to share it.
(WebCore::openFunc):
- Fix relative URLs by providing the document's URL as a base. Also provide an encoding if needed. Logic taken from HTMLBaseElement::href(). (Not sure if there was a good place to share it.) This was required to fix loading of external entity resources in the dom/xhtml/level3/core tests, which hadn't been loading these resources for a while. Ultimately this didn't matter--except for new error messages being printed in test results--because the tests fail due to missing DOM features for XHTML documents).
- Change the fix for Bug 21963 into an empty URL check since setting FetchOptions.mode to Mode::SameOrigin prevents a redirect from loading a resource outside the document's origin. The previous check worked, but the relaxed check in externalEntityMimeTypeAllowed() caused the XML MIME type warning to be output on redirects to non-same-origin URLs. I didn't see a way to check for a cross-origin loading error.
- Add a console message for a cross-origin load failing.
- Update for function rename.
- Remove double negative from console message for an invalid MIME type.
(WebCore::externalEntityMimeTypeAllowedByNosniff):
- Rename to externalEntityMimeTypeAllowed().
LayoutTests:
To fix these layout tests, the following changes were made:
- Rename *.ent files to *.ent.xml so that an XML MIME type would be given to the resources when loading from a file:/// URL.
- Similarly, rename *.dtd files to *.dtd.xml.
- Update tests to refer to new entity/dtd file names.
- There are more *.dtd and *.ent files that weren't renamed. I will fix those in a follow-up patch. They weren't needed to fix any tests, so may be unused.
- dom/xhtml/level3/core/entitygetinputencoding03.xhtml:
- dom/xhtml/level3/core/entitygetinputencoding04.xhtml:
- dom/xhtml/level3/core/entitygetxmlencoding02.xhtml:
- dom/xhtml/level3/core/entitygetxmlencoding03.xhtml:
- dom/xhtml/level3/core/entitygetxmlencoding04.xhtml:
- dom/xhtml/level3/core/entitygetxmlversion03.xhtml:
- dom/xhtml/level3/core/entitygetxmlversion04.xhtml:
- dom/xhtml/level3/core/resources/external_foo.ent.xml: Rename from LayoutTests/dom/xhtml/level3/core/external_foo.ent.xml.
- dom/xhtml/level3/core/resources/external_foobr.ent.xml: Rename from LayoutTests/dom/xhtml/level3/core/external_foobr.ent.xml.
- dom/xhtml/level3/core/resources/external_widget.ent.xml: Rename from LayoutTests/dom/xhtml/level3/core/external_widget.ent.xml.
- dom/xhtml/level3/core/nodegetbaseuri16.xhtml:
- dom/xhtml/level3/core/nodegetbaseuri19.xhtml:
- dom/xhtml/level3/core/nodegetbaseuri20.xhtml:
- fast/parser/external-entities.xml:
- fast/parser/resources/external-entities.dtd.xml: Rename from LayoutTests/fast/parser/resources/external-entities.dtd.
- fast/parser/resources/external-entities.xsl:
- fast/xsl/dtd-in-source-document.xml:
- fast/xsl/resources/dtd-in-source-document.dtd.xml: Rename from LayoutTests/fast/xsl/resources/dtd-in-source-document.dtd.
- fast/xsl/resources/xslt-second-level-import.xsl:
- fast/xsl/resources/xslt-second-level-import.xsl.dtd.xml: Rename from LayoutTests/fast/xsl/resources/xslt-second-level-import.xsl.dtd.
- http/tests/security/contentTypeOptions/nosniff-xml-external-entity-expected.txt:
- http/tests/security/contentTypeOptions/nosniff-xml-external-entity.xhtml:
- Add test cases without "X-Content-Type-Options: nosniff" header.
- http/tests/security/xss-DENIED-xsl-external-entity-redirect-expected.txt:
- Add newly expected console error messages about cross-origin resource load failures.
- 8:05 PM Changeset in webkit [261450] by
-
- 5 edits in trunk
[macOS] Search field on mayoclinic.org/forms/us-resident-appointment clips the submit button
https://bugs.webkit.org/show_bug.cgi?id=211673
<rdar://problem/62572501>
Reviewed by Tim Horton.
Source/WebCore:
Allow search fields to be style-able, but only if the CSS
bordervalue is non-default.
Note that there was a previous attempt to achieve something similar in r157443 by adding search fields to the
base class implementation ofRenderTheme::isControlStyled; however, this patch wasn't actually accompanied by
support for rendering native search fields with a non-default background, which meant that customizing just the
background of a search field would cause the entire search field to opt out of the native search field
appearance (a pill with rounded corners on macOS).
However, in the case where the border is customized on macOS, it is incorrect to use the default search field
appearance, since the search field cell just consists of a border; as such, there should be little compatibility
risk of a web page unexpectedly getting the fallback (non-native) appearance for a search field, due to having
custom border styles.
This also makes the behavior of search fields match that of text fields, textareas, and list boxes (multi-option
selects) on macOS, in terms of what is needed in order to bail out of native appearance rendering.
Rebaselined existing tests: fast/css/text-input-with-webkit-border-radius.html
fast/forms/search-styled.html
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::isControlStyled const): Add SearchFieldPart.
LayoutTests:
Rebaseline a couple of layout tests that contain search fields with custom CSS border styles.
- platform/mac/fast/css/text-input-with-webkit-border-radius-expected.txt:
- platform/mac/fast/forms/search-styled-expected.txt:
- 6:21 PM Changeset in webkit [261449] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, reverting r261389.
https://bugs.webkit.org/show_bug.cgi?id=211678
Introduced page loading regression. (Requested by perarne on
#webkit).
Reverted changeset:
"[iOS] Update message filtering rules in the WebContent
process' sandbox"
https://bugs.webkit.org/show_bug.cgi?id=211188
https://trac.webkit.org/changeset/261389
- 5:48 PM Changeset in webkit [261448] by
-
- 2 edits in trunk/Source/WTF
Delete some dead code in WorkQueueCocoa.cpp
https://bugs.webkit.org/show_bug.cgi?id=211676
Reviewed by Chris Dumez.
- wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::targetQueueForQOSClass): Deleted.
- 5:05 PM Changeset in webkit [261447] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r258493): CRASH running fast/mediastream/RTCPeerConnection tests
https://bugs.webkit.org/show_bug.cgi?id=211666
<rdar://problem/63055644>
Reviewed by Eric Carlson.
MockMediaStreamTrack advertises that it's a webrtc::VideoTrackInterface, but doesn't inherit from
that interface, leading to a crash when its pointer is cast to webrtc::VideoTrackInterface and a
virtual method called on the resulting pointer. Since it's only used in one place, and since there's
an existing mock webrtc::VideoTrackInterface object in that same file, remove MockMediaStreamTrack
and replace the one place it's used with MockLibWebRTCVideoTrack.
- testing/MockLibWebRTCPeerConnection.h:
(WebCore::MockMediaStreamTrack::state const): Deleted.
- 5:02 PM Changeset in webkit [261446] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] REGRESSION (r259139): webgl/2.0.0/conformance2/rendering/framebuffer-completeness-unaffected.html is failing
https://bugs.webkit.org/show_bug.cgi?id=209740
Patch by Kenneth Russell <kbr@chromium.org> on 2020-05-09
Reviewed by Darin Adler.
Reenable framebuffer-completeness-unaffected.html, which is now
passing after several other bug fixes.
- platform/mac/TestExpectations:
- 5:02 PM Changeset in webkit [261445] by
-
- 2 edits in trunk/LayoutTests
[ Mojave wk1 Release ] fast/canvas/webgl/texImage2D-mse-flipY-true.html is timing out.
https://bugs.webkit.org/show_bug.cgi?id=209837
Patch by Kenneth Russell <kbr@chromium.org> on 2020-05-09
Reviewed by Darin Adler.
Remove flaky timeout suppression for
texImage2D-mse-flipY-true.html, which has been passing reliably
for over a month.
- platform/mac-wk1/TestExpectations:
- 4:35 PM Changeset in webkit [261444] by
-
- 7 edits in trunk
[CMake] Use WEBKIT_EXECUTABLE in MallocBench
https://bugs.webkit.org/show_bug.cgi?id=211665
Reviewed by Yusuke Suzuki.
.:
Add the PerformanceTest subdirectory for all ports when in DEVELOPER_MODE.
- CMakeLists.txt:
PerformanceTests:
Cleanup MallocBench definitions using WEBKIT_EXECUTABLE. Notify developers
that MallocBench is unavailable only if bmalloc is being used but the platform
does not have the functionality required.
- CMakeLists.txt:
- MallocBench/MallocBench/CMakeLists.txt:
Source/bmalloc:
Only build mbmalloc if its possible to run MallocBench.
- CMakeLists.txt:
- 4:20 PM Changeset in webkit [261443] by
-
- 22 edits6 moves in trunk
XML external entity resources should only be loaded from XML MIME types
<https://webkit.org/b/211488>
<rdar://problem/62869515>
Reviewed by Darin Adler.
Source/WebCore:
Tests: dom/xhtml/level3/core/entitygetinputencoding03.xhtml
dom/xhtml/level3/core/entitygetinputencoding04.xhtml
dom/xhtml/level3/core/entitygetxmlencoding02.xhtml
dom/xhtml/level3/core/entitygetxmlencoding03.xhtml
dom/xhtml/level3/core/entitygetxmlencoding04.xhtml
dom/xhtml/level3/core/entitygetxmlversion03.xhtml
dom/xhtml/level3/core/entitygetxmlversion04.xhtml
dom/xhtml/level3/core/nodegetbaseuri16.xhtml
dom/xhtml/level3/core/nodegetbaseuri19.xhtml
dom/xhtml/level3/core/nodegetbaseuri20.xhtml
fast/parser/external-entities-in-xslt.xml
fast/xsl/dtd-in-source-document.xml
fast/xsl/xslt-second-level-import.xml
http/tests/security/contentTypeOptions/nosniff-xml-external-entity.xhtml
http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
- html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::href const):
- Add comment about keeping code in sync with openFunc() in XMLDocumentParserLibxml2.cpp.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseMIMEType const):
- Add comment about keeping code in sync with externalEntityMimeTypeAllowed() in XMLDocumentParserLibxml2.cpp.
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::externalEntityMimeTypeAllowed):
- Rename from externalEntityMimeTypeAllowedByNosniff().
- Change to only allow XML MIME types regardless of nosniff option.
- Add fallback path to determine MIME type for file:/// URLs to make layout tests work properly. Logic taken from XMLHttpRequest::responseMIMEType(). Not sure if there was a good place to share it.
(WebCore::openFunc):
- Fix relative URLs by providing the document's URL as a base. Also provide an encoding if needed. Logic taken from HTMLBaseElement::href(). (Not sure if there was a good place to share it.) This was required to fix loading of external entity resources in the dom/xhtml/level3/core tests, which hadn't been loading these resources for a while. Ultimately this didn't matter--except for new error messages being printed in test results--because the tests fail due to missing DOM features for XHTML documents).
- Change the fix for Bug 21963 into an empty URL check since setting FetchOptions.mode to Mode::SameOrigin prevents a redirect from loading a resource outside the document's origin. The previous check worked, but the relaxed check in externalEntityMimeTypeAllowed() caused the XML MIME type warning to be output on redirects to non-same-origin URLs. I didn't see a way to check for a cross-origin loading error.
- Add a console message for a cross-origin load failing.
- Update for function rename.
- Remove double negative from console message for an invalid MIME type.
(WebCore::externalEntityMimeTypeAllowedByNosniff):
- Rename to externalEntityMimeTypeAllowed().
LayoutTests:
To fix these layout tests, the following changes were made:
- Rename *.ent files to *.ent.xml so that an XML MIME type would be given to the resources when loading from a file:/// URL.
- Similarly, rename *.dtd files to *.dtd.xml.
- Update tests to refer to new entity/dtd file names.
- There are more *.dtd and *.ent files that weren't renamed. I will fix those in a follow-up patch. They weren't needed to fix any tests, so may be unused.
- dom/xhtml/level3/core/entitygetinputencoding03.xhtml:
- dom/xhtml/level3/core/entitygetinputencoding04.xhtml:
- dom/xhtml/level3/core/entitygetxmlencoding02.xhtml:
- dom/xhtml/level3/core/entitygetxmlencoding03.xhtml:
- dom/xhtml/level3/core/entitygetxmlencoding04.xhtml:
- dom/xhtml/level3/core/entitygetxmlversion03.xhtml:
- dom/xhtml/level3/core/entitygetxmlversion04.xhtml:
- dom/xhtml/level3/core/resources/external_foo.ent.xml: Rename from LayoutTests/dom/xhtml/level3/core/external_foo.ent.xml.
- dom/xhtml/level3/core/resources/external_foobr.ent.xml: Rename from LayoutTests/dom/xhtml/level3/core/external_foobr.ent.xml.
- dom/xhtml/level3/core/resources/external_widget.ent.xml: Rename from LayoutTests/dom/xhtml/level3/core/external_widget.ent.xml.
- dom/xhtml/level3/core/nodegetbaseuri16.xhtml:
- dom/xhtml/level3/core/nodegetbaseuri19.xhtml:
- dom/xhtml/level3/core/nodegetbaseuri20.xhtml:
- fast/parser/external-entities.xml:
- fast/parser/resources/external-entities.dtd.xml: Rename from LayoutTests/fast/parser/resources/external-entities.dtd.
- fast/parser/resources/external-entities.xsl:
- fast/xsl/dtd-in-source-document.xml:
- fast/xsl/resources/dtd-in-source-document.dtd.xml: Rename from LayoutTests/fast/xsl/resources/dtd-in-source-document.dtd.
- fast/xsl/resources/xslt-second-level-import.xsl:
- fast/xsl/resources/xslt-second-level-import.xsl.dtd.xml: Rename from LayoutTests/fast/xsl/resources/xslt-second-level-import.xsl.dtd.
- http/tests/security/contentTypeOptions/nosniff-xml-external-entity-expected.txt:
- http/tests/security/contentTypeOptions/nosniff-xml-external-entity.xhtml:
- Add test cases without "X-Content-Type-Options: nosniff" header.
- http/tests/security/xss-DENIED-xsl-external-entity-redirect-expected.txt:
- Add newly expected console error messages about cross-origin resource load failures.
- 4:10 PM Changeset in webkit [261442] by
-
- 10 edits1 copy2 moves in trunk/Source
Adapt LocalCurrentGraphicsContext for iOS
<https://webkit.org/b/211660>
Reviewed by Darin Adler.
Source/WebCore:
- PlatformMac.cmake:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- Update build files for:
- Rename of LocalCurrentGraphicsContext.mm to LocalCurrentGraphicsContextMac.mm.
- Move of LocalCurrentGraphicsContext.h from platform/mac to platform/cocoa.
- Addition of LocalCurrentGraphicsContextIOS.mm.
- platform/cocoa/LocalCurrentGraphicsContext.h: Renamed from Source/WebCore/platform/mac/LocalCurrentGraphicsContext.h.
- Make this work for iOS by using PLATFORM(COCOA) for the outer guard and USE(APPKIT) for the Mac-specific bits.
- Use RetainPtr<> for NSGraphicsContext to clean up code in LocalCurrentGraphicsContextMac.mm.
(WebCore::LocalCurrentGraphicsContext::cgContext):
- Inline from LocalCurrentGraphicsContextMac.mm.
- platform/ios/LocalCurrentGraphicsContextIOS.mm: Copied from Source/WebCore/platform/mac/LocalCurrentGraphicsContext.mm.
(WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
(WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext):
- Implement based on LocalCurrentGraphicsContextMac.mm. Use UIGraphics{GetCurrent,Pop,Push}Context() functions added to UIKitSoftLink.h.
- platform/mac/LocalCurrentGraphicsContextMac.mm: Renamed from Source/WebCore/platform/mac/LocalCurrentGraphicsContext.mm.
(WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
- Use m_savedGraphicsContext instead of graphicsContext in the body of the constructor.
- Remove set-to-nil/retain of m_savedNSGraphicsContext since that is handled by RetainPtr<> now.
(WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext):
- Remove release of m_savedNSGraphicsContext since that is handled by RetainPtr<> now.
(WebCore::LocalCurrentGraphicsContext::cgContext): Delete.
- Inline into header to share implementation with iOS.
Source/WebCore/PAL:
- pal/ios/UIKitSoftLink.h:
- pal/ios/UIKitSoftLink.mm:
- Add soft linking of UIGraphics{GetCurrent,Pop,Push}Context() functions.
Source/WebKit:
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::convertPlatformImageToBitmap):
- Use LocalCurrentGraphicsContext for both iOS and Mac code paths.
- WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
- Switch from PLATFORM(MAC) and PLATFORM(IOS_FAMIY) to USE(APPKIT) to separate platform code.
(WebKit::convertDragImageToBitmap):
(WebKit::convertImageToBitmap): Delete.
(WebKit::convertCGImageToBitmap): Delete.
- Combine Mac-specific convertImageToBitmap() and iOS-specific convertCGImageToBitmap() into a single method using DragImage type and special-casing one line of code.
(WebKit::WebDragClient::startDrag):
(WebKit::WebDragClient::didConcludeEditDrag):
- Combine iOS and Mac methods into a singe method.
- 3:40 PM Changeset in webkit [261441] by
-
- 11 edits in trunk/Source/JavaScriptCore
Fix build errors and warnings for non-unified JSCOnly
https://bugs.webkit.org/show_bug.cgi?id=211655
Reviewed by Darin Adler and Yusuke Suzuki.
- bytecode/BytecodeDumper.cpp:
(JSC::isConstantRegisterIndex): Deleted.
Remove unused function.
- llint/LLIntEntrypoint.cpp:
- llint/LLIntThunks.cpp:
- llint/LLIntThunks.h:
- runtime/AggregateErrorConstructor.cpp:
- runtime/AggregateErrorPrototype.cpp:
- wasm/js/WebAssemblyFunction.cpp:
Fix includes.
- tools/JSDollarVM.cpp:
Deal with "unused constant" warnings for needsDestruction.
- wasm/WasmLLIntPlan.cpp:
- wasm/WasmSignature.cpp:
Remove unused constants.
- 3:29 PM Changeset in webkit [261440] by
-
- 2 edits in trunk/Source/WTF
Add iterator checking to ListHashSet
https://bugs.webkit.org/show_bug.cgi?id=211669
Reviewed by Anders Carlsson.
HashSet and HashMap have iterator checking in debug builds.
Add similar checking to ListHashSet, controlled by the same
macro, CHECK_HASHTABLE_ITERATORS. Use WeakPtr to make the
implementation simple.
- wtf/ListHashSet.h: Make ListHashSet and ListHashSetNode derive
from CanMakeWeakPtr. Add m_weakSet and m_weakPosition members to
ListHashSetConstIterator, and assert their values at the appropriate
times so we will get a breakpoint or crash.
- 1:15 PM Changeset in webkit [261439] by
-
- 2 edits in trunk/Source/WebCore
Fix null-dereference in DocumentTimelinesController::updateAnimationsAndSendEvents
https://bugs.webkit.org/show_bug.cgi?id=211667
Reviewed by Antoine Quint.
- animation/DocumentTimelinesController.cpp:
(WebCore::DocumentTimelinesController::updateAnimationsAndSendEvents): Add null
check before removing animationsToRemove, which may already have been removed
since any arbitrary change could occur while animations are firing.
- 9:07 AM Changeset in webkit [261438] by
-
- 2 edits in trunk/Source/WebCore
Add missing null-check of page in ResourceLoader::loadDataURL
https://bugs.webkit.org/show_bug.cgi?id=211589
rdar://57213601
Reviewed by Anders Carlsson.
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::loadDataURL): Add null check before using page.
- 9:04 AM Changeset in webkit [261437] by
-
- 15 edits in trunk
Streamline MarkupAccumulator to improve efficiency a bit
https://bugs.webkit.org/show_bug.cgi?id=211656
Reviewed by Anders Carlsson.
Source/JavaScriptCore:
- b3/air/AirFixPartialRegisterStalls.h: Fix spelling of "explicitly".
Source/WebCore:
- editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendCharactersReplacingEntities): Corrected early
exit so it returns any time the length is 0. For some reason the code before
wouldn't do the early return when offset is non-zero, which is unnecessary.
(WebCore::MarkupAccumulator::appendString): Deleted.
(WebCore::MarkupAccumulator::appendStringView): Deleted.
(WebCore::MarkupAccumulator::appendEndTag): Use variadic append to cut down
on memory allocations.
(WebCore::MarkupAccumulator::totalLength): Deleted.
(WebCore::MarkupAccumulator::concatenateMarkup): Deleted.
(WebCore::MarkupAccumulator::takeMarkup): Added.
(WebCore::MarkupAccumulator::appendQuotedURLAttributeValue): Use variadic
append to cut down on memory allocations. Also use char instead of UChar so
the string building code doesn't have to do an 8/16 bit check.
(WebCore::shouldAddNamespaceElement): Prepend a literal, don't bother to
make a String just to append to another String. Also made this a
non-member function.
(WebCore::shouldAddNamespaceAttribute): Made this a non-member function.
(WebCore::MarkupAccumulator::appendNamespace): Fix hash table usage
to use add instead of get followed by set to avoid double hashing.
Use variadic append to cut down on memory allocation.
(WebCore::MarkupAccumulator::appendText): Tweaked style to make this a
one-line function.
(WebCore::appendComment): Deleted.
(WebCore::appendXMLDeclaration): Made this a non-member function.
Use variadic append to cut down on memory allocation.
(WebCore::appendDocumentType): Made this a non-member function.
Use variadic append to cut down on memory allocation.
(WebCore::MarkupAccumulator::appendCDATASection): Deleted.
(WebCore::MarkupAccumulator::appendNonElementNode): Moved the bodies of
appendComment, appendProcessingInstruction, and appendCDATASection in
here since they can all be one-line variadic append calls.
- editing/MarkupAccumulator.h:
(WebCore::MarkupAccumulator::length const): Changed the return type
of length to be unsigned since that's what StringBuilder returns.
Made isAllASCII call StringBuilder::isAllASCII. Replaced appendString
and appendStringView with variadic append. Removed many functions
that no longer need to be member functions. Made appendAttributeValue
a static member function. Made appendNamespace private. Made
m_serializationSyntax const.
- editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Use append
instead of appenString.
(WebCore::StyledMarkupAccumulator::isAllASCII const): Added. Before
the code would only check the StringBuilder, but we also need to
check m_reversedPrecedingMarkup.
(WebCore::StyledMarkupAccumulator::takeResults): Use CheckedUint32
since StringBuilder's reserveCapacity function takes unsigned, not
size_t. The old code, using totalLength, would just pass a size_t
and let it get chopped off, which didn't do any harm, but it seems
strange to compute a 64-bit value just to chop off the lower 32
bits. An alternative is to compute the 32-bit value and just let
it overflow. Use a modern for loop by defining a ReverseView
template rather than writing a confusing backwards loop. Use the
new takeMarkup instead of concatenateMarkup.
(WebCore::StyledMarkupAccumulator::appendText): Tweak coding
style a little bit.
(WebCore::StyledMarkupAccumulator::appendStartTag): Ditto.
(WebCore::StyledMarkupAccumulator::appendNodeToPreserveMSOList):
Use variadic append to cut down on memory allocations.
(WebCore::propertyMissingOrEqualToNone): Tweak coding style a bit.
(WebCore::serializePreservingVisualAppearanceInternal): Use
append instead of appendString.
(WebCore::shouldPreserveMSOLists): Take a StringView instead of a
String to eliminate unnecessary memory allocation in call to substring.
(WebCore::sanitizedMarkupForFragmentInDocument): Use makeString
instead of StringBuilder to cut down on memory allocation.
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::resetDefaultButton): Fix spelling error
in the word "explicitly".
- mathml/MathMLOperatorDictionary.cpp:
(WebCore::MathMLOperatorDictionary::search): Ditto.
- page/PageSerializer.cpp:
(WebCore::PageSerializer::SerializerMarkupAccumulator::SerializerMarkupAccumulator):
Use variadic append instead of appendString to cut down on
memory allocations.
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paint): Fix spelling error in the word
"explicitly".
Source/WTF:
- wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::isAllASCII const): Added.
- wtf/text/StringBuilder.h: Added isAllASCII.
Tools:
- TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::TEST): Fix spellling error in the word "explicitly".
- 9:02 AM Changeset in webkit [261436] by
-
- 5 edits in trunk/Source
Remove HAVE_UI_SCROLL_VIEW_INDICATOR_FLASHING_SPI
https://bugs.webkit.org/show_bug.cgi?id=211662
rdar://problem/63048713
Reviewed by Darin Adler.
Source/WebKit:
Remove this platform conditional and unconditionally use -[UIScrolView _flashScrollIndicatorsForAxes:
persistingPreviousFlashes:]. All supported platforms with UIScrollView have this SPI, and the conditional
was excluding Mac Catalyst, making WKKeyboardScrollViewAnimator send a message to its scroll view that
is no longer implemented.
- Platform/spi/ios/UIKitSPI.h:
Remove the declaration of the now unused -_flashScrollIndicatorsPersistingPreviousFlashes:.
- UIProcess/ios/WKKeyboardScrollingAnimator.mm:
(axesForDelta):
(-[WKKeyboardScrollViewAnimator scrollToContentOffset:animated:]):
Source/WTF:
- wtf/PlatformHave.h:
- 4:10 AM Changeset in webkit [261435] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening, update test expectations
https://bugs.webkit.org/show_bug.cgi?id=211664
Gardening of flaky failures and failures reintroduced after latest
patches reverted.
- platform/gtk/TestExpectations:
- 1:07 AM Changeset in webkit [261434] by
-
- 3 edits2 adds in trunk
Nullptr crash in LegacyWebArchive::createPropertyListRepresentation when copying selected range that contains surrogate characters
https://bugs.webkit.org/show_bug.cgi?id=211658
<rdar://problem/62844424>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Added check for null LegacyWebArchive in LegacyWebArchive::createFromSelection. Return nullptr when creation fails.
Test: webarchive/copy-surrogate-char-crash.html
- loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createFromSelection):
LayoutTests:
Added a regression test for the crash.
- webarchive/copy-surrogate-char-crash-expected.txt: Added.
- webarchive/copy-surrogate-char-crash.html: Added.
- 12:00 AM Changeset in webkit [261433] by
-
- 5 edits in trunk
Fix wpt shadow-dom/slots-fallback-in-document.html
https://bugs.webkit.org/show_bug.cgi?id=211640
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-05-09
Reviewed by Ryosuke Niwa.
By specs, HTMLSlotElement.assignedNodes() should not count children of
a slot in a document tree for flattened assigned nodes.
https://html.spec.whatwg.org/multipage/scripting.html#dom-slot-assignednodes
https://dom.spec.whatwg.org/#find-flattened-slotables
As sideeffect, this patch also fix wpt
shadow-dom/slots-outside-shadow-dom-expected.html
LayoutTests/imported/w3c:
- web-platform-tests/shadow-dom/slots-fallback-in-document-expected.txt:
- web-platform-tests/shadow-dom/slots-outside-shadow-dom-expected.txt:
Source/WebCore:
Test: web-platform-tests/shadow-dom/slots-fallback-in-document.html
web-platform-tests/shadow-dom/slots-outside-shadow-dom.html
- html/HTMLSlotElement.cpp:
(WebCore::flattenAssignedNodes):
May 8, 2020:
- 10:32 PM Changeset in webkit [261432] by
-
- 2 edits1 delete in trunk/LayoutTests
[GTK] Gardening, update expectations after revert of r261341 and r261392
https://bugs.webkit.org/show_bug.cgi?id=211661
Unreviewed gardening.
- platform/gtk/TestExpectations:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsic_sizes-expected.txt: Removed.
- 9:17 PM Changeset in webkit [261431] by
-
- 2 edits in trunk/Source/WebCore
Fix build error on PlatStation port after r261132
https://bugs.webkit.org/show_bug.cgi?id=211659
Unreviewed build fix after r261132.
- page/scrolling/ScrollingTreeGestureState.cpp:
- 6:43 PM Changeset in webkit [261430] by
-
- 4 edits in trunk
Array.prototype.concat fast path checks should not be observable
https://bugs.webkit.org/show_bug.cgi?id=211643
Reviewed by Ross Kirsling.
JSTests:
While test262 has complete coverage for @@isConcatSpreadable getters in prototype
chain, Proxy cases are covered by stress/array-concat-fast-spread-proxy.js and
stress/array-concat-spread-proxy.js.
- test262/expectations.yaml: Mark 2 test cases as passing.
Source/JavaScriptCore:
This change utilizes @tryGetByIdWithWellKnownSymbol intrinsic to make
off the spec Symbol.isConcatSpreadable lookups unobservable to userland code,
aligning JSC with V8 and SpiderMonkey.
Since @tryGetById uses PropertySlot::getPureResult(), which returns
null
for Proxy Get traps and JS getters (covered by stress/try-get-by-id.js),
we can safely compare its resultundefined. Also, this allows us to remove
@isProxyObject check as Proxy argument is never a fast path anyway.
This patch is neutral on microbenchmarks/concat-append-one.js.
- builtins/ArrayPrototype.js:
(concat):
- 6:21 PM Changeset in webkit [261429] by
-
- 7 edits35 deletes in trunk
Remove empty directories from from svn.webkit.org repository
<https://webkit.org/b/211644>
Reviewed by Darin Adler.
- 6:13 PM Changeset in webkit [261428] by
-
- 14 edits1 move in trunk
[WTF] Share Linux's MemoryPressureHandler among other Unix ports
https://bugs.webkit.org/show_bug.cgi?id=208955
Reviewed by Yusuke Suzuki.
Source/bmalloc:
Added FreeBSD implementation of memoryFootprint().
- bmalloc/AvailableMemory.cpp:
(bmalloc::memoryStatus):
- bmalloc/AvailableMemory.h:
(bmalloc::isUnderMemoryPressure):
- bmalloc/bmalloc.h:
Source/WTF:
Renamed MemoryPressureHandlerLinux to MemoryPressureHandlerUnix and added FreeBSD implementation
of memory status functions. Change PlayStation port to use it from generic implementation.
- wtf/MemoryPressureHandler.cpp:
(WTF::MemoryPressureHandler::MemoryPressureHandler):
- wtf/MemoryPressureHandler.h:
- wtf/PlatformGTK.cmake:
- wtf/PlatformJSCOnly.cmake:
- wtf/PlatformPlayStation.cmake:
- wtf/PlatformWPE.cmake:
- wtf/generic/MemoryFootprintGeneric.cpp:
(WTF::memoryFootprint):
- wtf/unix/MemoryPressureHandlerUnix.cpp: Renamed from Source\WTF\wtf\linux\MemoryPressureHandlerLinux.cpp.
(WTF::processMemoryUsage):
Tools:
Fix unneeded library dependency.
- TestWebKitAPI/CMakeLists.txt:
- 5:02 PM Changeset in webkit [261427] by
-
- 10 edits2 adds in trunk
Async overflow scroll: sometimes a <select> becomes non-scrollable
https://bugs.webkit.org/show_bug.cgi?id=211433
<rdar://problem/62338474>
Reviewed by Dean Jackson.
Source/WebCore:
Scrollable <select>s (RenderListBox) contribute to the non-fast scrollable region, so
wheel events inside them are propagated to the main thread. If the select is scrolled
to the end, the event will propagate to the enclosing scroller, then then FrameView::wheelEvent()
may send it back to the scrolling thread. If the scrolling thread is processing such an event
after the main thread, it should not perform any latching on the main thread.
Test: scrollingcoordinator/mac/latching/scrolling-select-should-not-latch-mainframe.html
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
(WebCore::ScrollingTree::handleWheelEvent):
- page/scrolling/ScrollingTree.h:
- page/scrolling/ScrollingTreeLatchingController.cpp:
(WebCore::ScrollingTreeLatchingController::receivedWheelEvent):
(WebCore::ScrollingTreeLatchingController::latchedNodeForEvent const):
(WebCore::ScrollingTreeLatchingController::nodeDidHandleEvent):
(WebCore::ScrollingTreeLatchingController::clearLatchedNode):
- page/scrolling/ScrollingTreeLatchingController.h:
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::handleWheelEventAfterMainThread):
- page/scrolling/ThreadedScrollingTree.h:
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::handleWheelEvent):
- platform/PlatformWheelEvent.cpp:
(WebCore::operator<<):
LayoutTests:
- scrollingcoordinator/mac/latching/scrolling-select-should-not-latch-mainframe-expected.txt: Added.
- scrollingcoordinator/mac/latching/scrolling-select-should-not-latch-mainframe.html: Added.
- 5:02 PM Changeset in webkit [261426] by
-
- 1 edit4 adds in trunk/LayoutTests
Overflow scrollers in iframes don't get mouseMovedInContentArea()
https://bugs.webkit.org/show_bug.cgi?id=211347
<rdar://problem/62784560>
Reviewed by Tim Horton.
Land some tests that were missing from r261382.
- fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered-expected.txt: Added.
- fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: Added.
- fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal-expected.txt: Added.
- fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: Added.
- 5:00 PM Changeset in webkit [261425] by
-
- 1 edit2 adds in trunk/LayoutTests
[LFC][TFC] The fixed logical width should be used as the max width for a cell
https://bugs.webkit.org/show_bug.cgi?id=211610
Unreviewed test gardening.
Add a baseline for Windows.
- platform/win/fast/layoutformattingcontext/table-simple-with-fixed-widht-and-inline-content-expected.txt: Added.
- 4:20 PM Changeset in webkit [261424] by
-
- 8 edits in trunk/Source
Remove now-unneeded HAVE(AVFOUNDATION_LOADER_DELEGATE)
https://bugs.webkit.org/show_bug.cgi?id=211646
Reviewed by Eric Carlson.
Source/WebCore:
- loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::requestResource): Remove check of
HAVE(AVFOUNDATION_LOADER_DELEGATE) in a place where it also checks PLATFORM(MAC).
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
Remove HAVE(AVFOUNDATION_LOADER_DELEGATE) in Cocoa-only code.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.
(WebCore::globalLoaderDelegateQueue): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::didStopLoadingRequest): Ditto.
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Ditto.
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: Ditto.
Source/WTF:
- wtf/PlatformHave.h: Don't set HAVE_AVFOUNDATION_LOADER_DELEGATE.
- 4:11 PM Changeset in webkit [261423] by
-
- 2 edits in trunk/Source/WebKit
Regression(r210945): No attachment when sharing to mail
https://bugs.webkit.org/show_bug.cgi?id=211651
<rdar://problem/63040170>
Reviewed by Tim Horton.
When failing to determine foreground state, the code before r210945 was assuming
'foreground', while the code in r210945 assume 'background'. This causes things
to not render properly when we fail to determine the foreground state.
This patch merely restores pre-r210945 behavior. I will investigate why we are
unable to determinate the host application PID for the MailCompositionService.
- UIProcess/ApplicationStateTracker.mm:
(WebKit::isApplicationForeground):
- 4:11 PM Changeset in webkit [261422] by
-
- 3 edits1 add in trunk
TextureMapper should skip clipping a content layer if it's not needed
https://bugs.webkit.org/show_bug.cgi?id=210787
Patch by Tomoki Imai <Tomoki Imai> on 2020-05-08
Reviewed by Don Olmstead.
Source/WebCore:
This patch follows up r260174.
We don't need to clip a content layer if the clipping rect contains the content rect.
This patch doesn't change the behavior but saves stencil indices.
- platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintSelf):
LayoutTests:
This patch follows up r260174 by updating the test expectation.
- platform/gtk/compositing/video/video-object-fit-expected.txt: Added.
- 3:56 PM Changeset in webkit [261421] by
-
- 5 edits in trunk/Tools
webkitpy: 'iPhone SE' should match 'iPhone SE 1st generation'
https://bugs.webkit.org/show_bug.cgi?id=211642
<rdar://problems/62986242>
Rubber-stamped by Aakash Jain.
- Scripts/webkitpy/xcode/device_type.py:
(DeviceType):
(DeviceType.standardized_hardware_type): Strip '1st generation' from models.
(DeviceType.eq): Use standardized hardware type.
(DeviceType.contains): Ditto.
(DeviceType.hash): Ditto.
- Scripts/webkitpy/xcode/device_type_unittest.py:
(DeviceTypeTest):
(DeviceTypeTest.test_generation_matching):
- Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._get_device_identifier_for_type): Handle case where the requests model does not
end with '(1st generation)', but the simctl model does.
- Scripts/webkitpy/xcode/simulated_device_unittest.py:
- 3:09 PM Changeset in webkit [261420] by
-
- 1 copy in tags/Safari-610.1.12
Tag Safari-610.1.12.
- 3:04 PM Changeset in webkit [261419] by
-
- 7 edits in branches/safari-610.1.12-branch
Revert r260642. rdar://problem/63037576
- 2:41 PM Changeset in webkit [261418] by
-
- 2 edits in trunk/Tools
TestWebKitAPI.WebKit.AllowsContentJavaScript fails on iPad simulator
https://bugs.webkit.org/show_bug.cgi?id=207874
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
Disable the test for iOS.
- 2:21 PM Changeset in webkit [261417] by
-
- 1 edit1 delete in trunk/PerformanceTests
Remove no-longer-used PerformanceTests/StitchMarker
https://bugs.webkit.org/show_bug.cgi?id=211639
Reviewed by Ryosuke Niwa.
Having this test around can be confusing since it contains old versions
of many WebKit source files, which will show up when searching the source
tree. And since we're not using it, we don't need to keep a copy of it
in the tip of tree in the repository.
- StitchMarker: Removed.
- 2:16 PM Changeset in webkit [261416] by
-
- 3 edits2 adds in trunk
[iOS] Text-style fonts aren't locale-specific
https://bugs.webkit.org/show_bug.cgi?id=211438
<rdar://problem/51654163>
Reviewed by Sam Weinig.
Source/WebCore:
Simply hook up the locale to the Core Text function.
It turns out that this patch actually has no behavior change,
because this locale is only used for font fallback, but WebKit
does its own font fallback and we already pass the locale into
CTFontCopyDefaultCascadeListForLanguages(). However, for
symmetry with CTFontCreateUIFontWithLanguage() it's a good idea
to just supply it anyway. Just in case.
Test: platform/ios/fast/text/lang-text-style.html
- platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:
(WebCore::SystemFontDatabaseCoreText::createTextStyleFont):
LayoutTests:
This test actually already passes. But it's a good idea to make
sure that it continues to pass in the future.
- platform/ios/fast/text/lang-text-style-expected-mismatch.html: Added.
- platform/ios/fast/text/lang-text-style.html: Added.
- 2:14 PM Changeset in webkit [261415] by
-
- 3 edits in trunk/Tools
check-webkit-style false positive for [readability/naming/protected] with method declaration
<https://webkit.org/b/210682>
Reviewed by Darin Adler.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration):
- Don't check for invalid protector name if the capitalized protected name is the same as the original protected name, indicating it's a type name.
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_names):
- Add test cases.
- 1:57 PM Changeset in webkit [261414] by
-
- 2 edits in trunk/Tools
Fix build on platforms without network framework.
https://bugs.webkit.org/show_bug.cgi?id=211603
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
Add HAVE(NETWORK_FRAMEWORK) around test that uses network framework.
- 1:48 PM Changeset in webkit [261413] by
-
- 106 edits in trunk
[WebGL2] Complete new texture upload entry points in WebGL2RenderingContext
https://bugs.webkit.org/show_bug.cgi?id=208875
Patch by Kenneth Russell <kbr@chromium.org> on 2020-05-08
Reviewed by Dean Jackson.
Source/WebCore:
Implement the remaining texture upload entry points - mainly for
3D textures - in WebGL2RenderingContext. Add support for uploading
from the pixel unpack buffer.
Refactor the WebGL 2.0 binding points into WebGL2RenderingContext,
where they had previously been in the base class. Refactor
validation code to override the base class where necessary.
Refactor getParameter into WebGLRenderingContextBase and override
it in WebGL2RenderingContext, eliminating duplicate code and
fixing bugs.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::~WebGL2RenderingContext):
(WebCore::WebGL2RenderingContext::getInt64Parameter):
(WebCore::WebGL2RenderingContext::validateBufferTarget):
(WebCore::WebGL2RenderingContext::validateBufferTargetCompatibility):
(WebCore::WebGL2RenderingContext::validateBufferDataTarget):
(WebCore::WebGL2RenderingContext::validateAndCacheBufferBinding):
(WebCore::WebGL2RenderingContext::validateTexImageBinding):
(WebCore::WebGL2RenderingContext::validateTexture3DBinding):
(WebCore::WebGL2RenderingContext::copyBufferSubData):
(WebCore::WebGL2RenderingContext::bindFramebuffer):
(WebCore::WebGL2RenderingContext::deleteFramebuffer):
(WebCore::WebGL2RenderingContext::getTexParameter):
(WebCore::WebGL2RenderingContext::texStorage2D):
(WebCore::WebGL2RenderingContext::texStorage3D):
(WebCore::WebGL2RenderingContext::texImage2D):
(WebCore::WebGL2RenderingContext::texImage3D):
(WebCore::WebGL2RenderingContext::texSubImage2D):
(WebCore::WebGL2RenderingContext::texSubImage3D):
(WebCore::WebGL2RenderingContext::bindBufferBase):
(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGL2RenderingContext::validateFramebufferTarget):
(WebCore::WebGL2RenderingContext::getFramebufferBinding):
(WebCore::WebGL2RenderingContext::getReadFramebufferBinding):
(WebCore::WebGL2RenderingContext::restoreCurrentFramebuffer):
(WebCore::WebGL2RenderingContext::getParameter):
(WebCore::WebGL2RenderingContext::uncacheDeletedBuffer):
(WebCore::WebGL2RenderingContext::validateFramebufferFuncParameters): Deleted.
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::setTarget):
- html/canvas/WebGLBuffer.h:
- html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
(WebCore::WebGLFramebuffer::attach):
(WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
(WebCore::WebGLFramebuffer::isBound const):
- html/canvas/WebGLFramebuffer.h:
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateFramebufferFuncParameters): Deleted.
(WebCore::WebGLRenderingContext::getParameter): Deleted.
- html/canvas/WebGLRenderingContext.h:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::~WebGLRenderingContextBase):
(WebCore::WebGLRenderingContextBase::validateBufferTarget):
(WebCore::WebGLRenderingContextBase::validateBufferDataTarget):
(WebCore::WebGLRenderingContextBase::validateAndCacheBufferBinding):
(WebCore::WebGLRenderingContextBase::bindBuffer):
(WebCore::WebGLRenderingContextBase::bindFramebuffer):
(WebCore::WebGLRenderingContextBase::bindTexture):
(WebCore::WebGLRenderingContextBase::checkFramebufferStatus):
(WebCore::WebGLRenderingContextBase::uncacheDeletedBuffer):
(WebCore::WebGLRenderingContextBase::deleteFramebuffer):
(WebCore::WebGLRenderingContextBase::deleteRenderbuffer):
(WebCore::WebGLRenderingContextBase::deleteTexture):
(WebCore::WebGLRenderingContextBase::framebufferRenderbuffer):
(WebCore::WebGLRenderingContextBase::framebufferTexture2D):
(WebCore::WebGLRenderingContextBase::getParameter):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::copyTexImage2D):
(WebCore::WebGLRenderingContextBase::texParameter):
(WebCore::WebGLRenderingContextBase::getBoundReadFramebufferColorFormat):
(WebCore::WebGLRenderingContextBase::getBoundReadFramebufferWidth):
(WebCore::WebGLRenderingContextBase::getBoundReadFramebufferHeight):
(WebCore::WebGLRenderingContextBase::validateFramebufferTarget):
(WebCore::WebGLRenderingContextBase::getFramebufferBinding):
(WebCore::WebGLRenderingContextBase::getReadFramebufferBinding):
(WebCore::WebGLRenderingContextBase::validateFramebufferFuncParameters):
(WebCore::WebGLRenderingContextBase::validateBufferDataParameters):
(WebCore::WebGLRenderingContextBase::setFramebuffer):
(WebCore::WebGLRenderingContextBase::restoreCurrentFramebuffer):
(WebCore::WebGLRenderingContextBase::getInt64Parameter): Deleted.
- html/canvas/WebGLRenderingContextBase.h:
LayoutTests:
All of the 3D texture tests in
webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/ and
webgl/2.0.0/conformance2/textures/image_data/ now pass, and
several others progress, including some which now pass completely.
Rebaseline all of these.
Skip webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/
temporarily to reduce the size of these rebaselines, as the
failures are likely caused by non-WebGL browser bugs. Filed Bug
211484 to track re-enabling them.
- TestExpectations:
- platform/mac/webgl/fingerprinting-strings-expected.txt:
- webgl/2.0.0/conformance/state/gl-enable-enum-test-expected.txt:
- webgl/2.0.0/conformance2/buffers/buffer-copying-contents-expected.txt:
- webgl/2.0.0/conformance2/buffers/buffer-copying-restrictions-expected.txt:
- webgl/2.0.0/conformance2/buffers/buffer-type-restrictions-expected.txt:
- webgl/2.0.0/conformance2/buffers/uniform-buffers-expected.txt:
- webgl/2.0.0/conformance2/misc/expando-loss-2-expected.txt:
- webgl/2.0.0/conformance2/misc/getextension-while-pbo-bound-stability-expected.txt:
- webgl/2.0.0/conformance2/misc/object-deletion-behaviour-2-expected.txt:
- webgl/2.0.0/conformance2/misc/views-with-offsets-expected.txt:
- webgl/2.0.0/conformance2/renderbuffers/framebuffer-texture-layer-expected.txt:
- webgl/2.0.0/conformance2/rendering/blitframebuffer-test-expected.txt:
- webgl/2.0.0/conformance2/rendering/canvas-resizing-with-pbo-bound-expected.txt:
- webgl/2.0.0/conformance2/rendering/out-of-bounds-index-buffers-after-copying-expected.txt:
- webgl/2.0.0/conformance2/state/gl-get-calls-expected.txt:
- webgl/2.0.0/conformance2/state/gl-getstring-expected.txt:
- webgl/2.0.0/conformance2/state/gl-object-get-calls-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r11f_g11f_b10f-rgb-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r11f_g11f_b10f-rgb-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r16f-red-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r16f-red-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r32f-red-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r8-red-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-r8ui-red_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rg16f-rg-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rg16f-rg-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rg32f-rg-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rg8-rg-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rg8ui-rg_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb16f-rgb-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb16f-rgb-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb32f-rgb-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb565-rgb-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb565-rgb-unsigned_short_5_6_5-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb5_a1-rgba-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb8-rgb-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb9_e5-rgb-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgb9_e5-rgb-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba16f-rgba-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba16f-rgba-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba32f-rgba-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba4-rgba-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba4-rgba-unsigned_short_4_4_4_4-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba8-rgba-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-srgb8-rgb-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-3d-srgb8_alpha8-rgba-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-r11f_g11f_b10f-rgb-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-r11f_g11f_b10f-rgb-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-r16f-red-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-r16f-red-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-r32f-red-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-r8-red-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-r8ui-red_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rg16f-rg-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rg16f-rg-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rg32f-rg-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rg8-rg-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rg8ui-rg_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb16f-rgb-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb16f-rgb-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb32f-rgb-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb565-rgb-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb565-rgb-unsigned_short_5_6_5-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb5_a1-rgba-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb5_a1-rgba-unsigned_short_5_5_5_1-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb8-rgb-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb9_e5-rgb-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgb9_e5-rgb-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba16f-rgba-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba16f-rgba-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba32f-rgba-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba4-rgba-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba4-rgba-unsigned_short_4_4_4_4-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba8-rgba-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-srgb8-rgb-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_data/tex-3d-srgb8_alpha8-rgba-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/misc/copy-texture-image-luma-format-expected.txt:
- webgl/2.0.0/conformance2/textures/misc/copy-texture-image-webgl-specific-expected.txt:
- webgl/2.0.0/conformance2/textures/misc/gl-get-tex-parameter-expected.txt:
- webgl/2.0.0/conformance2/textures/misc/tex-image-and-sub-image-with-array-buffer-view-sub-source-expected.txt:
- webgl/2.0.0/conformance2/textures/misc/tex-input-validation-expected.txt:
- webgl/2.0.0/conformance2/textures/misc/tex-mipmap-levels-expected.txt:
- webgl/2.0.0/conformance2/textures/misc/tex-new-formats-expected.txt:
- webgl/2.0.0/conformance2/textures/misc/tex-storage-2d-expected.txt:
- webgl/2.0.0/conformance2/textures/misc/tex-storage-and-subimage-3d-expected.txt:
- webgl/2.0.0/conformance2/textures/misc/tex-unpack-params-expected.txt:
- 1:46 PM Changeset in webkit [261412] by
-
- 18 edits2 adds in trunk
Implement web-share v2 for files
https://bugs.webkit.org/show_bug.cgi?id=209265
Reviewed by Andy Estes.
LayoutTests/imported/w3c:
Updated test expectations for new behavior.
- ios-wk2/imported/w3c/web-platform-tests/web-share/canShare-files.https-expected.txt :
- mac-wk2/imported/w3c/web-platform-tests/web-share/canShare-files.https-expected.txt :
Source/WebCore:
Modified existing tests for new behavior.
Added support for handling of files in share/canShare,
and implemented asynchronous reading of data from blobs on
disk into memory.
- WebCore.xcodeproj/project.pbxproj:
- page/Navigator.cpp:
(WebCore::Navigator::canShare):
(WebCore::Navigator::share):
(WebCore::Navigator::finishedLoad):
- page/Navigator.h:
- page/ReadShareDataAsync.cpp: Added.
(WebCore::ReadShareDataAsync::readInternal):
(WebCore::ReadShareDataAsync::ReadShareDataAsync):
(WebCore::ReadShareDataAsync::~ReadShareDataAsync):
(WebCore::ReadShareDataAsync::start):
(WebCore::ReadShareDataAsync::didFinishLoading):
(WebCore::ReadShareDataAsync::didReceiveData):
(WebCore::ReadShareDataAsync::didStartLoading):
(WebCore::ReadShareDataAsync::didFail):
- page/ReadShareDataAsync.hpp: Added.
- page/ShareData.h:
Source/WebKit:
Added support for passing file objects over IPC and
sharing of files to share sheet.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Vector<RawFile>>::encode):
(IPC::ArgumentCoder<Vector<RawFile>>::decode):
(IPC::ArgumentCoder<ShareDataWithParsedURL>::encode):
(IPC::ArgumentCoder<ShareDataWithParsedURL>::decode):
- Shared/WebCoreArgumentCoders.h:
- UIProcess/Cocoa/ShareableFileWrite.h: Added.
- UIProcess/Cocoa/ShareableFileWrite.mm: Added.
(+[WKShareableFileWrite getSharingDirectoryPath]):
(+[WKShareableFileWrite getFileDirectoryForSharing]):
(+[WKShareableFileWrite removeFileDirectoryForSharing]):
(+[WKShareableFileWrite setQuarantineInformationForFilePath:]):
(+[WKShareableFileWrite applyQuarantineSandboxAndDownloadFlagsToFileAtPath:]):
(+[WKShareableFileWrite createFilename:]):
(+[WKShareableFileWrite writeFileToShareableURL:data:]):
- UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet presentWithParameters:inRect:completionHandler:]):
(-[WKShareSheet _didCompleteWithSuccess:]):
- WebKit.xcodeproj/project.pbxproj:
LayoutTests:
Modified to no longer use url of image.
- fast/web-share/share-with-files.html:
- 1:43 PM Changeset in webkit [261411] by
-
- 3 edits in trunk/Source/WebKit
Revise sandbox to stop logging some commonly-used properties
https://bugs.webkit.org/show_bug.cgi?id=211636
<rdar://problem/63014244>
Reviewed by Per Arne Vollan.
Further living on and testing has shown a handful of sysctl entries that are in regular use, and do not need
to be logged or considered for removal. This patch has no change in behavior, just reduces logging.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
- 1:41 PM Changeset in webkit [261410] by
-
- 2 edits in trunk/LayoutTests
REGRESSION [ iOS ] fast/forms/validationMessage.html is flaky and timing out
https://bugs.webkit.org/show_bug.cgi?id=206630
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 1:27 PM Changeset in webkit [261409] by
-
- 14 edits2 deletes in trunk
Unreviewed, reverting r261341 and r261392.
Caused multiple regression test failures
Reverted changesets:
"Poster set after playback begins should be ignored"
https://bugs.webkit.org/show_bug.cgi?id=211464
https://trac.webkit.org/changeset/261341
"REGRESSION(r261341): imported/w3c/web-platform-
tests/html/semantics/embedded-content/the-video-
element/intrinsic_sizes.htm is failing"
https://bugs.webkit.org/show_bug.cgi?id=211612
https://trac.webkit.org/changeset/261392
- 1:20 PM Changeset in webkit [261408] by
-
- 18 edits2 deletes in trunk/Tools
Delete old ews client side code
https://bugs.webkit.org/show_bug.cgi?id=211638
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/common/checkout/changelog_unittest.py:
- Scripts/webkitpy/common/config/urls.py: Removed old ews server url.
- Scripts/webkitpy/common/net/statusserver.py: Removed.
- Scripts/webkitpy/common/net/statusserver_mock.py: Removed.
- Scripts/webkitpy/tool/bot/botinfo.py:
- Scripts/webkitpy/tool/bot/botinfo_unittest.py:
- Scripts/webkitpy/tool/bot/flakytestreporter.py:
- Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
- Scripts/webkitpy/tool/bot/queueengine.py:
- Scripts/webkitpy/tool/bot/queueengine_unittest.py:
- Scripts/webkitpy/tool/commands/earlywarningsystem.py:
- Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
- Scripts/webkitpy/tool/commands/perfalizer.py:
- Scripts/webkitpy/tool/commands/queues.py:
(AbstractQueue._log_from_script_error_for_upload): Deleted.
(AbstractQueue._update_status_for_script_error): Deleted.
(AbstractPatchQueue._update_status): Deleted.
(AbstractPatchQueue._release_work_item): Deleted.
(AbstractPatchQueue._did_pass): Deleted.
(AbstractPatchQueue._did_fail): Deleted.
- Scripts/webkitpy/tool/commands/queues_unittest.py:
(AbstractQueueTest._assert_run_webkit_patch):
(AbstractQueueTest.test_no_iteration_count):
(PatchProcessingQueueTest.test_upload_results_archive_for_patch):
(AbstractQueueTest._assert_log_message): Deleted.
(AbstractQueueTest.test_log_from_script_error_for_upload): Deleted.
(AbstractPatchQueueTest): Deleted.
(NeedsUpdateSequence): Deleted.
(NeedsUpdateSequence._run): Deleted.
(StyleQueueTest): Deleted.
(StyleQueueTest.test_style_queue_with_style_exception): Deleted.
- Scripts/webkitpy/tool/commands/queuestest.py:
(QueuesTest._default_begin_work_queue_logs):
(QueuesTest._default_begin_work_queue_stderr): Deleted.
- Scripts/webkitpy/tool/commands/sheriffbot.py:
- Scripts/webkitpy/tool/main.py:
- Scripts/webkitpy/tool/mocktool.py:
- 1:10 PM Changeset in webkit [261407] by
-
- 10 edits in trunk
Make WKWebViewConfiguration._alwaysRunsAtForegroundPriority an alias for _clientNavigationsRunAtForegroundPriority
https://bugs.webkit.org/show_bug.cgi?id=211632
Reviewed by Darin Adler.
Make WKWebViewConfiguration._alwaysRunsAtForegroundPriority an alias for _clientNavigationsRunAtForegroundPriority.
_alwaysRunsAtForegroundPriority is a frequent source of process assertion leaks that get blamed on WebKit. Clients
are using this in order to be able to do loads in background views so _clientNavigationsRunAtForegroundPriority
should suffice and is not leak prone since the process assertion is released after the navigation has completed.
- UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::copy const):
- UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::alwaysRunsAtForegroundPriority const): Deleted.
(API::PageConfiguration::setAlwaysRunsAtForegroundPriority): Deleted.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _alwaysRunsAtForegroundPriority]):
(-[WKWebViewConfiguration _setAlwaysRunsAtForegroundPriority:]):
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::updateThrottleState):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
- UIProcess/WebPageProxy.h:
- 1:08 PM Changeset in webkit [261406] by
-
- 1 edit2 adds in trunk/LayoutTests
Add a regression test for bug 211541
https://bugs.webkit.org/show_bug.cgi?id=211635
Reviewed by Geoffrey Garen.
- fast/box-shadow/box-shadow-huge-area-crash-expected.html: Added.
- fast/box-shadow/box-shadow-huge-area-crash.html: Added.
- 1:05 PM Changeset in webkit [261405] by
-
- 2 edits in trunk/Source/WebKit
Revert r260390
https://bugs.webkit.org/show_bug.cgi?id=210759
<rdar://problem/62608140>
r260390 was intended to stop hitting some assertions in ~PendingFrameLoad, but it seems to have caused a regression.
Reverting it and removing the invalid assertions.
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::~PendingFrameLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::~SpeculativeLoadManager):
- 12:59 PM Changeset in webkit [261404] by
-
- 2 edits in trunk/LayoutTests
media/video-zoom.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=211631
Reviewed by Eric Carlson.
Remove the 1.5s early timeout check here; with the additional 150ms per video element timeout elsewhere
in the test, this is short enough to cause flaky failures on busy bots.
- media/video-zoom.html:
- 12:45 PM Changeset in webkit [261403] by
-
- 2 edits in branches/safari-610.1.12-branch/Source/WebKit
Revert r260787. rdar://problem/63032130
- 12:39 PM Changeset in webkit [261402] by
-
- 4 edits in trunk
Limit HTTP referer to 4kb
https://bugs.webkit.org/show_bug.cgi?id=211603
<rdar://problem/56768823>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-08
Reviewed by Chris Dumez.
Source/WebCore:
Use the origin if it's longer, unless the origin is too long.
This matches the behavior of other browsers.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1557346
Tested by API tests.
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::setHTTPReferrer):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
- 12:11 PM Changeset in webkit [261401] by
-
- 2 edits in branches/safari-609-branch/Tools
Cherry-pick r260484. rdar://problem/62140724
Bindings-test should not depend on current working directory.
https://bugs.webkit.org/show_bug.cgi?id=210831
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/bindings/main.py: (BindingsTests.main):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260484 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:36 AM Changeset in webkit [261400] by
-
- 2 edits in trunk/Source/WebCore
SIGILL @ WebCore::Shape::createRasterShape -- DOS ASAN
https://bugs.webkit.org/show_bug.cgi?id=211539
Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-05-08
Reviewed by Simon Fraser.
Corrected the comment.
No new test needed.
- rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
- 10:57 AM Changeset in webkit [261399] by
-
- 4 edits in trunk
Fix urlsearchparams-delete.html
https://bugs.webkit.org/show_bug.cgi?id=211456
Patch by Rob Buis <rbuis@igalia.com> on 2020-05-08
Reviewed by Daniel Bates.
LayoutTests/imported/w3c:
Update improved test expectation.
- web-platform-tests/url/urlsearchparams-delete-expected.txt:
Source/WebCore:
Step 2 of URLSearchParams.delete algorithm [1] indicates
we should run the update steps, even if no name-value
pairs were removed.
Behavior matches Chrome and Firefox.
[1] https://url.spec.whatwg.org/#dom-urlsearchparams-delete
Test: web-platform-tests/url/urlsearchparams-delete.html
- html/URLSearchParams.cpp:
(WebCore::URLSearchParams::remove):
- 10:57 AM Changeset in webkit [261398] by
-
- 12 edits2 adds in trunk
[iOS] caret appears in the middle of a search field when field is focused on agoda.com
https://bugs.webkit.org/show_bug.cgi?id=211591
<rdar://problem/60605873>
Reviewed by Antoine Quint.
Source/WebCore:
See WebKit/ChangeLog for more details.
Test: editing/selection/ios/caret-rect-after-animating-focused-text-field.html
- animation/WebAnimation.cpp:
(WebCore::WebAnimation::finishNotificationSteps):
Add plumbing to call out to the WebKit client layer after an animation finishes running.
- dom/Node.h:
- editing/VisibleSelection.h:
WEBCORE_EXPORT a couple of methods.
- page/ChromeClient.h:
(WebCore::ChromeClient::animationDidFinishForElement):
Source/WebKit:
The main search field on the mobile version of this website begins offscreen, with a CSS transform that moves it
to the far right; tapping the button element that (visually) has a search-field-like appearance on the front
page programmatically focuses the real offscreen search field, and animates it onscreen by changing the CSS
transform attribute to remove the x-axis translation.
On iOS, the caret rect is computed and sent to the UI process via editor state updates; however, the editor
state is computed immediately after focusing the input field. As such, the caret rect at this moment is computed
in the middle of the animation, leaving it stuck in an unpredictable location.
To fix this, add plumbing to call into the WebKit client layer when an animation has ended. On iOS, if the
selection is visible (i.e. a ranged selection, or editable caret), then check to see whether the element that
has finished animating contains either endpoint of the selection. If so, then schedule a followup editor state
update to push updated selection information to the UI process.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::animationDidFinishForElement):
- WebProcess/WebCoreSupport/WebChromeClient.h:
Add a new client hook for when animations end.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::animationDidFinishForElement):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
Add logic to schedule a new editor state update if needed, after an animation ends that might affect either
the start or end of the selection.
(WebKit::WebPage::animationDidFinishForElement):
LayoutTests:
Add a new layout test to verify that the caret view eventually becomes visible when after a focused text field
containing the caret is animated.
- editing/selection/ios/caret-rect-after-animating-focused-text-field-expected.txt: Added.
- editing/selection/ios/caret-rect-after-animating-focused-text-field.html: Added.
- 10:56 AM Changeset in webkit [261397] by
-
- 2 edits in trunk/Tools
Allow run-safari to launch an iPad simulator
https://bugs.webkit.org/show_bug.cgi?id=211606
<rdar://problem/63002849>
Reviewed by Jon Lee.
Add an "--ipad-simulator" command line option to run-safari.
- Scripts/webkitdirs.pm:
(argumentsForConfiguration):
(determineXcodeSDK): Mark the device idiom depending on the command line argument.
(printHelpAndExitForRunAndDebugWebKitAppIfNeeded):
(findOrCreateSimulatorForIOSDevice): Create an iPad Pro simulator if requested.
- 10:53 AM Changeset in webkit [261396] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r260228): Linker warning about limitsNavigationsToAppBoundDomains property overriding instance methods from class
<https://webkit.org/b/211393>
Reviewed by Brent Fulgham.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration limitsNavigationsToAppBoundDomains]):
(-[WKWebViewConfiguration setLimitsNavigationsToAppBoundDomains:]):
- Move from WKPrivate category to main category to fix linker warnings.
- 10:35 AM Changeset in webkit [261395] by
-
- 11 edits2 adds in trunk
Preserve character set information when writing to the pasteboard when copying rich text
https://bugs.webkit.org/show_bug.cgi?id=211524
Reviewed by Darin Adler.
Source/WebCore:
This patch is a followup to r261247, which introduced a workaround for Cocoa platforms to automatically add a
meta charsetwhen writing HTML data to the platform pasteboard. When copying a rich text selection, we use a
different codepath when sanitizing DOM content - that is,serializePreservingVisualAppearance.
The previous change also introduced an enum,
AddMetaCharsetIfNeeded, to limit applying this workaround to only
when we're writing HTML to the clipboard. However, it should be harmless to include this when reading sanitized
HTML as well, so we can also simplify this code by removing theAddMetaCharsetIfNeededenum (and all of its
uses).
Test: CopyHTML.SanitizationPreservesCharacterSetInSelectedText
- Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
(WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):
- dom/DataTransfer.cpp:
(WebCore::DataTransfer::setDataFromItemList):
- editing/MarkupAccumulator.h:
(WebCore::MarkupAccumulator::isAllASCII const):
- editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::sanitizeMarkupWithArchive):
(WebCore::WebContentReader::readHTML):
(WebCore::WebContentMarkupReader::readHTML):
- editing/markup.cpp:
(WebCore::sanitizeMarkup):
(WebCore::serializePreservingVisualAppearanceInternal):
Move the
meta charsetworkaround from sanitizedMarkupForFragmentInDocument to
serializePreservingVisualAppearanceInternal, such that HTML data written to the pasteboard when copying rich
text can be used to load a web view, without losing the fact that the copied content was UTF-8 encoded.
(WebCore::sanitizedMarkupForFragmentInDocument):
- editing/markup.h:
Tools:
Add a new API test to verify that the HTML data written to the pasteboard when copying a rich text selection
can be converted into anNSAttributedStringthat contains correctly encoded non-Latin characters.
- TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
LayoutTests:
Rebaseline several layout tests.
- platform/ios/editing/pasteboard/onpaste-text-html-expected.txt:
- platform/mac/editing/pasteboard/onpaste-text-html-expected.txt: Added.
- platform/mac/fast/events/ondrop-text-html-expected.txt: Added.
- 10:33 AM Changeset in webkit [261394] by
-
- 5 edits in trunk
REGRESSION(r259209) Webview's pending URL is null after restoring session state
https://bugs.webkit.org/show_bug.cgi?id=211626
<rdar://problem/62992262>
Reviewed by Alex Christensen.
Source/WebKit:
The issue was that WebPageProxy::goToBackForwardItem() would behave differently whether
the page has a running process or not. In particular, when the page did not have a
running process, goToBackForwardItem() would return early and call launchProcessWithItem()
instead. Unlike goToBackForwardItem(), launchProcessWithItem() would fail to set the
pending API request.
To address the issue, I am getting rid of launchProcessWithItem() and merging its logic
into goToBackForwardItem() instead. Both methods shared a lot of code anyway and having
2 separate code paths that may diverge is error prone.
Change is covered by new API test.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::launchProcessWithItem): Deleted.
- UIProcess/WebPageProxy.h:
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
(TestWebKitAPI::TEST):
- 10:31 AM Changeset in webkit [261393] by
-
- 40 edits in trunk/Source/WTF
[clang-tidy] Run modernize-use-nullptr over WTF
https://bugs.webkit.org/show_bug.cgi?id=211628
Reviewed by Yusuke Suzuki.
Use the fix option in clang-tidy to ensure nullptr is being used across WTF.
- wtf/Assertions.cpp:
- wtf/BumpPointerAllocator.h:
(WTF::BumpPointerPool::BumpPointerPool):
(WTF::BumpPointerPool::create):
(WTF::BumpPointerAllocator::BumpPointerAllocator):
- wtf/DataLog.cpp:
(WTF::setDataFile):
- wtf/DateMath.cpp:
(WTF::parseES5DatePortion):
(WTF::parseES5TimePortion):
- wtf/FastMalloc.cpp:
(WTF::fastZeroedMalloc):
(WTF::fastStrDup):
(WTF::tryFastZeroedMalloc):
(WTF::isFastMallocEnabled):
(WTF::fastMallocGoodSize):
(WTF::fastAlignedMalloc):
(WTF::tryFastAlignedMalloc):
(WTF::fastAlignedFree):
(WTF::tryFastMalloc):
(WTF::fastMalloc):
(WTF::tryFastCalloc):
(WTF::fastCalloc):
(WTF::fastFree):
(WTF::fastRealloc):
(WTF::tryFastRealloc):
(WTF::releaseFastMallocFreeMemory):
(WTF::releaseFastMallocFreeMemoryForThisThread):
(WTF::fastMallocStatistics):
(WTF::fastMallocSize):
(WTF::fastCommitAlignedMemory):
(WTF::fastDecommitAlignedMemory):
(WTF::fastEnableMiniMode):
(WTF::fastDisableScavenger):
(WTF::fastMallocDumpMallocStats):
(WTF::AvoidRecordingScope::avoidRecordingCount):
(WTF::AvoidRecordingScope::AvoidRecordingScope):
(WTF::AvoidRecordingScope::~AvoidRecordingScope):
(WTF::MallocCallTracker::MallocSiteData::MallocSiteData):
(WTF::MallocCallTracker::singleton):
(WTF::MallocCallTracker::MallocCallTracker):
(WTF::MallocCallTracker::recordMalloc):
(WTF::MallocCallTracker::recordRealloc):
(WTF::MallocCallTracker::recordFree):
(WTF::MallocCallTracker::dumpStats):
- wtf/HashTable.h:
(WTF::KeyTraits>::inlineLookup):
(WTF::KeyTraits>::lookupForWriting):
(WTF::KeyTraits>::fullLookupForWriting):
(WTF::KeyTraits>::add):
- wtf/MetaAllocator.cpp:
(WTF::MetaAllocator::findAndRemoveFreeSpace):
- wtf/ParallelJobsGeneric.cpp:
- wtf/RandomDevice.cpp:
(WTF::RandomDevice::cryptographicallyRandomValues):
- wtf/RawPointer.h:
(WTF::RawPointer::RawPointer):
- wtf/RedBlackTree.h:
- wtf/SHA1.cpp:
(WTF::SHA1::hexDigest):
- wtf/SchedulePair.h:
(WTF::SchedulePair::SchedulePair):
- wtf/StackTrace.cpp:
(WTFGetBacktrace):
(WTF::StackTrace::dump const):
- wtf/StringExtras.h:
(strnstr):
- wtf/Variant.h:
- wtf/Vector.h:
(WTF::VectorBufferBase::deallocateBuffer):
(WTF::VectorBufferBase::releaseBuffer):
(WTF::VectorBufferBase::VectorBufferBase):
- wtf/cf/CFURLExtras.cpp:
(WTF::createCFURLFromBuffer):
(WTF::getURLBytes):
- wtf/cf/CFURLExtras.h:
- wtf/cf/FileSystemCF.cpp:
(WTF::FileSystem::pathAsURL):
- wtf/dtoa/double-conversion.cc:
- wtf/dtoa/utils.h:
(WTF::double_conversion::BufferReference::BufferReference):
- wtf/text/CString.cpp:
(WTF::CString::mutableData):
- wtf/text/CString.h:
- wtf/text/StringBuffer.h:
(WTF::StringBuffer::release):
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::createUninitializedInternal):
(WTF::StringImpl::reallocateInternal):
- wtf/text/StringImpl.h:
(WTF::StringImpl::constructInternal<LChar>):
(WTF::StringImpl::constructInternal<UChar>):
(WTF::StringImpl::characters<LChar> const):
(WTF::StringImpl::characters<UChar> const):
(WTF::find):
(WTF::reverseFindLineTerminator):
(WTF::reverseFind):
(WTF::equalIgnoringNullity):
(WTF::codePointCompare):
(WTF::isSpaceOrNewline):
(WTF::lengthOfNullTerminatedString):
(WTF::StringImplShape::StringImplShape):
(WTF::StringImpl::isolatedCopy const):
(WTF::StringImpl::isAllASCII const):
(WTF::StringImpl::isAllLatin1 const):
(WTF::isAllSpecialCharacters):
(WTF::isSpecialCharacter const):
(WTF::StringImpl::StringImpl):
(WTF::StringImpl::create8BitIfPossible):
(WTF::StringImpl::createSubstringSharingImpl):
(WTF::StringImpl::createFromLiteral):
(WTF::StringImpl::tryCreateUninitialized):
(WTF::StringImpl::adopt):
(WTF::StringImpl::cost const):
(WTF::StringImpl::costDuringGC):
(WTF::StringImpl::setIsAtom):
(WTF::StringImpl::setHash const):
(WTF::StringImpl::ref):
(WTF::StringImpl::deref):
(WTF::StringImpl::copyCharacters):
(WTF::StringImpl::at const):
(WTF::StringImpl::allocationSize):
(WTF::StringImpl::maxInternalLength):
(WTF::StringImpl::tailOffset):
(WTF::StringImpl::requiresCopy const):
(WTF::StringImpl::tailPointer const):
(WTF::StringImpl::tailPointer):
(WTF::StringImpl::substringBuffer const):
(WTF::StringImpl::substringBuffer):
(WTF::StringImpl::assertHashIsCorrect const):
(WTF::StringImpl::StaticStringImpl::StaticStringImpl):
(WTF::StringImpl::StaticStringImpl::operator StringImpl&):
(WTF::equalIgnoringASCIICase):
(WTF::startsWithLettersIgnoringASCIICase):
(WTF::equalLettersIgnoringASCIICase):
- wtf/text/TextBreakIterator.cpp:
(WTF::initializeIterator):
(WTF::setContextAwareTextForIterator):
(WTF::openLineBreakIterator):
- wtf/text/TextBreakIterator.h:
(WTF::LazyLineBreakIterator::get):
- wtf/text/WTFString.cpp:
(WTF::charactersToFloat):
- wtf/text/cf/StringImplCF.cpp:
(WTF::StringWrapperCFAllocator::allocate):
(WTF::StringWrapperCFAllocator::create):
(WTF::StringImpl::createCFString):
- wtf/text/icu/UTextProviderLatin1.cpp:
(WTF::uTextLatin1Clone):
(WTF::openLatin1ContextAwareUTextProvider):
- wtf/text/icu/UTextProviderUTF16.cpp:
(WTF::openUTF16ContextAwareUTextProvider):
- wtf/win/FileSystemWin.cpp:
(WTF::FileSystemImpl::makeAllDirectories):
(WTF::FileSystemImpl::storageDirectory):
(WTF::FileSystemImpl::openTemporaryFile):
(WTF::FileSystemImpl::openFile):
(WTF::FileSystemImpl::writeToFile):
(WTF::FileSystemImpl::readFromFile):
(WTF::FileSystemImpl::deleteNonEmptyDirectory):
- wtf/win/LanguageWin.cpp:
(WTF::localeInfo):
- wtf/win/MainThreadWin.cpp:
(WTF::initializeMainThreadPlatform):
- wtf/win/OSAllocatorWin.cpp:
(WTF::OSAllocator::reserveUncommitted):
(WTF::OSAllocator::reserveAndCommit):
- wtf/win/RunLoopWin.cpp:
(WTF::RunLoop::run):
(WTF::RunLoop::iterate):
(WTF::RunLoop::RunLoop):
(WTF::RunLoop::cycle):
(WTF::RunLoop::TimerBase::start):
- wtf/win/ThreadingWin.cpp:
(WTF::Thread::establishHandle):
- 10:30 AM Changeset in webkit [261392] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r261341): imported/w3c/web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsic_sizes.htm is failing
https://bugs.webkit.org/show_bug.cgi?id=211612
<rdar://problem/63024081>
Unreviewed test gardening.
- TestExpectations: Mark test as Flakey. A proper fix is tracked by https://bugs.webkit.org/show_bug.cgi?id=211630.
- 10:14 AM Changeset in webkit [261391] by
-
- 9 edits1 add in trunk/LayoutTests
Code pattern in GC tests in LayoutTests is broken
https://bugs.webkit.org/show_bug.cgi?id=211595
Reviewed by Saam Barati.
LayoutTests have several tests which attempt to ensure that document is not leaked. But they are broken since these tests are not correctly
handling conservative GC of JavaScriptCore. These tests are taking a following approach.
- Allocate *one* iframe doing something inside it.
- Remove iframe from the parent document to make it released.
- Repeatedly invoke GC and test whether (1)'s document gets collected.
This is not the right approach. Since JavaScriptCore has conservative GC, it is easily possible that (1)'s pointer value remains in some of
conservative roots: CPU registers, stack etc. And JavaScriptCore conservative GC scans it and keeps it alive. The above approach makes the
test super flaky and any unrelated changes in JavaScriptCore and C compiler can make this test failed.
This is not a problem in practice. Web pages are executing various kind of code and they clobber conservative roots. However, tests in
LayoutTests are too simple to keep it alive accidentally.
The right approach for conservative GC is the following.
- Allocate *many* iframes doing something inside them with loop. By creating iframes with loop, for every iteration, it is likely that the same CPU registers and stack locations are overwritten by the last created iframe reference. This dramatically reduces the possibility for GC to find these addresses in conservative roots.
- Remove iframes from the parent document to make them released.
- Repeatedly invoke GC and test whether *one of (1) iframes* gets collected at least. Theoretically this is still possible that completely unrelated integer value in conservative roots can point to the reference of (1). By allocating many iframes in (1) and testing one of them, we can reduce the possibility of this conflict.
This patch adds testDocumentIsNotLeaked helper function to enforce this pattern. And rewrite broken tests with this helper to make it less-flaky.
- highlight/highlight-world-leak.html:
- http/tests/IndexedDB/collect-IDB-objects.https.html:
- http/tests/media/clearkey/collect-webkit-media-session.html:
- http/tests/media/media-stream/collect-media-devices.https.html:
- http/tests/resources/gc.js: Added.
(window.gc.gcRec):
(window.gc.window.gc):
(nukeArray):
(async testDocumentIsNotLeaked):
- intersection-observer/no-document-leak.html:
- performance-api/performance-observer-no-document-leak.html:
- resources/gc.js:
(nukeArray):
(async testDocumentIsNotLeaked):
- webanimations/leak-document-with-web-animation.html:
- 10:13 AM Changeset in webkit [261390] by
-
- 6 edits in trunk
WKWebView.title should be safe browsing warning's title during a safe browsing warning
https://bugs.webkit.org/show_bug.cgi?id=211403
Patch by Alex Christensen <achristensen@webkit.org> on 2020-05-08
Reviewed by Tim Horton.
Source/WebKit:
Add a new property to PageLoadState, which allows the title to be set underneath it.
That way, once the safe browsing warning is closed, we can update the title to what it would've been,
including any changes that happened while the warning was open.
Covered by an API test. I also manually verified this fixes rdar://problem/56201982
- UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::commitChanges):
(WebKit::PageLoadState::reset):
(WebKit::PageLoadState::didCommitLoad):
(WebKit::PageLoadState::title const):
(WebKit::PageLoadState::setTitleFromSafeBrowsingWarning):
- UIProcess/PageLoadState.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(TEST):
- 9:55 AM Changeset in webkit [261389] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Update message filtering rules in the WebContent process' sandbox
https://bugs.webkit.org/show_bug.cgi?id=211188
Reviewed by Brent Fulgham.
Based on telemetry and local testing, update the message filtering rules in the WebContent process' sandbox on iOS.
Messages that have not been observed being in use should be denied.
No new tests, covered by existing tests.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 9:48 AM Changeset in webkit [261388] by
-
- 2 edits in trunk/Source/WebKit
Turn processDidBecomeUnresponsive logging into error logging
https://bugs.webkit.org/show_bug.cgi?id=211629
Reviewed by Youenn Fablet.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::processDidBecomeUnresponsive):
- 9:33 AM Changeset in webkit [261387] by
-
- 4 edits in trunk/Source
[Cocoa] Close connections to Launch Services after revoking extension
https://bugs.webkit.org/show_bug.cgi?id=211594
Reviewed by Brent Fulgham.
Source/WebCore/PAL:
Declare _LSDService class.
- pal/spi/cocoa/LaunchServicesSPI.h:
Source/WebKit:
In <https://trac.webkit.org/changeset/258915/webkit>, connections to the Launch Services database mapping
services were denied, by creating a temporary extension. After revoking this extension in the WebContent
process, it is important to close any open connections to Launch Services initiated by the mapping.
No new tests, covered by existing UTI/MIME type tests.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 9:23 AM Changeset in webkit [261386] by
-
- 2 edits in trunk/Source/WTF
Make callBufferProducingFunction safer to use by adding a compile-time assertion
https://bugs.webkit.org/show_bug.cgi?id=211599
Reviewed by Ross Kirsling.
- wtf/unicode/icu/ICUHelpers.h:
(WTF::CallBufferProducingFunction::argumentTuple): Add a static_assert that
checks these are just simple types, aside from the Vector for the buffer.
This would have caught the UpconvertedCharacters problem fixed earlier today.
- 9:17 AM Changeset in webkit [261385] by
-
- 3 edits in trunk/Source/WebCore
Fix for crashes in LayoutTests in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=211622
Reviewed by Chris Fleizach.
Several LayoutTests.
Return the root from the isolated tree when it is really ready.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::rootObject):
Some code cleanup.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::clickPoint):
- 9:16 AM WebKitEmacsTips edited by
- (diff)
- 9:03 AM WebKitEmacsTips created by
- 8:55 AM WebKitGTK edited by
- (diff)
- 8:39 AM Changeset in webkit [261384] by
-
- 20 edits in trunk/Source/WTF
WTF headers should compile independently
https://bugs.webkit.org/show_bug.cgi?id=211608
Reviewed by Yusuke Suzuki.
When a WTF header is included on its own within a source file it should compile.
These issues were found when working on a tooling build for running static
analysis over WTF. Forward declarations were used whenever possible otherwise
an include was used.
Additionally fix some errors found by Clang 10.
- wtf/AggregateLogger.h:
- wtf/CallbackAggregator.h:
- wtf/Dominators.h:
- wtf/HashIterators.h:
- wtf/IndexSparseSet.h:
- wtf/LoggingHashMap.h:
- wtf/LoggingHashTraits.h:
- wtf/RunLoopTimer.h:
- wtf/Stopwatch.h:
- wtf/Threading.h:
- wtf/cf/RunLoopTimerCF.cpp:
- wtf/persistence/PersistentCoder.h:
- wtf/text/LineBreakIteratorPoolICU.h:
- wtf/text/NullTextBreakIterator.h:
- wtf/text/StringOperators.h:
- wtf/text/StringToIntegerConversion.h:
- wtf/text/cf/TextBreakIteratorCF.h:
- wtf/text/icu/TextBreakIteratorICU.h:
- wtf/text/win/WCharStringExtras.h:
- 8:21 AM Changeset in webkit [261383] by
-
- 6 edits2 adds in trunk
[GTK][WPE] Create common glib expectation file
https://bugs.webkit.org/show_bug.cgi?id=211183
Reviewed by Carlos Garcia Campos.
Tools:
- Scripts/webkitpy/port/gtk.py:
(GtkPort._search_paths): Add glib to expectations search path
(GtkPort.test_expectations_file_position): Update test
- Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest.test_default_baseline_search_path): Update test
(GtkPortTest.test_port_specific_expectations_files): Update test and
make check-webkit-style happier
- Scripts/webkitpy/port/wpe.py:
(WPEPort._search_paths): Add glib to expectations search path
(WPEPort.test_expectations_file_position): Update test
- Scripts/webkitpy/port/wpe_unittest.py:
(WPEPortTest.test_default_baseline_search_path): Update test
(WPEPortTest.test_port_specific_expectations_files): Update test and
make check-webkit-style happier
LayoutTests:
- platform/glib/TestExpectations: Added.
- 8:02 AM Changeset in webkit [261382] by
-
- 13 edits in trunk
Overflow scrollers in iframes don't get mouseMovedInContentArea()
https://bugs.webkit.org/show_bug.cgi?id=211347
<rdar://problem/62784560>
Reviewed by Tim Horton.
Source/WebCore:
We never dispatched mouseMovedInContentArea() on ScrollableAreas in subframes, so overlay scrollbar
interactions there were broken. This is because the code ran from EventHandler::mouseMoved(), which
only runs for the main frame.
Instead, move the mouseMovedInContentArea() dispatch down into updateMouseEventTargetNode() which
is run for each subframe. notifyScrollableAreasOfMouseEvents() takes an event name so we only dispatch
for mouseMove events. There's some complexity here related to whether the old and new ScrollableArea
targets are nested; this code doesn't try to do the right thing with nesting, but does handle the mouse
moving between the scrollable main frame and an overflow region.
enclosingScrollableArea() is fixed to return the FrameView. enclosingScrollableLayer() is flawed, as noted
in the RenderLayer.h comment.
Tests: fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html
fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html
- page/EventHandler.cpp:
(WebCore::EventHandler::enclosingScrollableArea):
(WebCore::EventHandler::mouseMoved):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::pointerCaptureElementDidChange):
(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::notifyScrollableAreasOfMouseEvents):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::enclosingScrollableArea): Deleted.
(WebCore::EventHandler::notifyScrollableAreasOfMouseEnterExit): Deleted.
- page/EventHandler.h:
- page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::dispatchSyntheticMouseOut):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::debugDescription const):
- rendering/RenderLayer.h:
LayoutTests:
The ordering of callbacks in the scroll-animator tests changed, but in ways that don't materially
affect behavior. Two new real overlay scrollbar tests.
- fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered-expected.txt: Added.
- fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: Added.
- fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal-expected.txt: Added.
- fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: Added.
- fast/scrolling/scroll-animator-basic-events-expected.txt:
- fast/scrolling/scroll-animator-overlay-scrollbars-clicked-expected.txt:
- fast/scrolling/scroll-animator-overlay-scrollbars-hovered-expected.txt:
- fast/scrolling/scroll-animator-select-list-events-expected.txt:
- 7:24 AM Changeset in webkit [261381] by
-
- 2 edits in trunk/LayoutTests
Flaky Test: media/track/track-in-band-metadata-display-order.html
https://bugs.webkit.org/show_bug.cgi?id=206226
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 7:08 AM Changeset in webkit [261380] by
-
- 2 edits in trunk/LayoutTests
[ macOS wk2 ] http/tests/IndexedDB/collect-IDB-objects.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207571
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 7:02 AM Changeset in webkit [261379] by
-
- 2 edits in trunk/LayoutTests
[ iOS wk2 ] http/tests/cache-storage/cache-representation.https.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=207665
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 7:02 AM Changeset in webkit [261378] by
-
- 3 edits2 adds in trunk
[LFC][TFC] The fixed logical width should be used as the max width for a cell
https://bugs.webkit.org/show_bug.cgi?id=211610
Reviewed by Antti Koivisto.
Source/WebCore:
Test: fast/layoutformattingcontext/table-simple-with-fixed-widht-and-inline-content.html
- layout/tableformatting/TableFormattingContextGeometry.cpp:
(WebCore::Layout::TableFormattingContext::Geometry::intrinsicWidthConstraintsForCell):
LayoutTests:
- fast/layoutformattingcontext/table-simple-with-fixed-widht-and-inline-content-expected.txt: Added.
- fast/layoutformattingcontext/table-simple-with-fixed-widht-and-inline-content.html: Added.
- 6:51 AM Changeset in webkit [261377] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [ iOS wk2 ] fast/forms/input-text-scroll-left-on-blur.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=209812
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 6:46 AM Changeset in webkit [261376] by
-
- 2 edits in trunk/LayoutTests
[ Mojave wk1 Release ] platform/mac/media/media-source/videoplaybackquality-decompressionsession.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=209866
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 5:42 AM Changeset in webkit [261375] by
-
- 13 edits1 copy4 adds in trunk/Source
Handle remote audio capture IPC messages in a background thread
https://bugs.webkit.org/show_bug.cgi?id=211583
Reviewed by Eric Carlson.
Source/WebCore:
- platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp:
(WebCore::AudioMediaStreamTrackRendererCocoa::pushSamples):
Add assertion to check that we are not running on the main thread.
Source/WebKit:
We introduce RemoteCaptureSampleManager which is responsible to get remote capture sample IPC messages and treat them from a background thread.
It is currently used to handle audio capture IPC messages.
We move UserMediaCaptureManager::Source in its own file and rename it to RemoteRealtimeMediaSource.
Covered by existing tests.
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- PlatformMac.cmake:
- SourcesCocoa.txt:
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/cocoa/RemoteCaptureSampleManager.cpp: Added.
(WebKit::RemoteCaptureSampleManager::RemoteCaptureSampleManager):
(WebKit::RemoteCaptureSampleManager::~RemoteCaptureSampleManager):
(WebKit::RemoteCaptureSampleManager::setConnection):
(WebKit::RemoteCaptureSampleManager::addSource):
(WebKit::RemoteCaptureSampleManager::removeSource):
(WebKit::RemoteCaptureSampleManager::dispatchToThread):
(WebKit::RemoteCaptureSampleManager::storageChanged):
(WebKit::RemoteCaptureSampleManager::audioSamplesAvailable):
- WebProcess/cocoa/RemoteCaptureSampleManager.h: Added.
- WebProcess/cocoa/RemoteCaptureSampleManager.messages.in: Added.
- WebProcess/cocoa/RemoteRealtimeMediaSource.cpp: Added.
(WebKit::RemoteRealtimeMediaSource::RemoteRealtimeMediaSource):
(WebKit::RemoteRealtimeMediaSource::~RemoteRealtimeMediaSource):
(WebKit::RemoteRealtimeMediaSource::whenReady):
(WebKit::RemoteRealtimeMediaSource::didFail):
(WebKit::RemoteRealtimeMediaSource::setAsReady):
(WebKit::RemoteRealtimeMediaSource::clone):
(WebKit::RemoteRealtimeMediaSource::setCapabilities):
(WebKit::RemoteRealtimeMediaSource::setSettings):
(WebKit::RemoteRealtimeMediaSource::remoteAudioSamplesAvailable):
(WebKit::RemoteRealtimeMediaSource::remoteVideoSampleAvailable):
(WebKit::RemoteRealtimeMediaSource::connection):
(WebKit::RemoteRealtimeMediaSource::startProducingData):
(WebKit::RemoteRealtimeMediaSource::stopProducingData):
(WebKit::RemoteRealtimeMediaSource::setShouldApplyRotation):
(WebKit::RemoteRealtimeMediaSource::capabilities):
(WebKit::RemoteRealtimeMediaSource::applyConstraints):
(WebKit::RemoteRealtimeMediaSource::applyConstraintsSucceeded):
(WebKit::RemoteRealtimeMediaSource::applyConstraintsFailed):
(WebKit::RemoteRealtimeMediaSource::hasEnded):
(WebKit::RemoteRealtimeMediaSource::stopBeingObserved):
(WebKit::RemoteRealtimeMediaSource::requestToEnd):
- WebProcess/cocoa/RemoteRealtimeMediaSource.h: Added.
(WebKit::RemoteRealtimeMediaSource::identifier const):
(WebKit::RemoteRealtimeMediaSource::settings const):
(WebKit::RemoteRealtimeMediaSource::setShouldCaptureInGPUProcess):
(WebKit::RemoteRealtimeMediaSource::shouldCaptureInGPUProcess const):
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::createCaptureSource):
(WebKit::UserMediaCaptureManager::cloneSource):
(WebKit::UserMediaCaptureManager::cloneVideoSource):
(WebKit::UserMediaCaptureManager::AudioFactory::createAudioCaptureSource):
(WebKit::UserMediaCaptureManager::AudioFactory::setShouldCaptureInGPUProcess):
(WebKit::UserMediaCaptureManager::VideoFactory::createVideoCaptureSource):
(WebKit::UserMediaCaptureManager::DisplayFactory::createDisplayCaptureSource):
- WebProcess/cocoa/UserMediaCaptureManager.h:
- WebProcess/cocoa/UserMediaCaptureManager.messages.in:
- 4:55 AM WebKitGTK/2.28.x edited by
- (diff)
- 4:36 AM Changeset in webkit [261374] by
-
- 2 edits in trunk/Tools
Add myself as committer to contributors.json
Patch by Paulo Matos <Paulo Matos> on 2020-05-08
- Scripts/webkitpy/common/config/contributors.json:
- 3:54 AM Changeset in webkit [261373] by
-
- 20 edits in trunk
Video capture does not get unmuted in case of tab switch on iOS
https://bugs.webkit.org/show_bug.cgi?id=211509
Reviewed by Eric Carlson.
Source/WebCore:
Remove setInterrupted and related code.
Instead, directly use setMuted(true/false) of the source of capture tracks.
To ensure we validate that the active source is tied to a track of the document,
we add RealtimeSource::isSameAs which handles the case of a RealtimeVideoSource wrapping an AVVideoCaptureSource.
There might be multiple video tracks with each one its RealtimeVideoSource using the same AVVideoCaptureSource.
We mute the AVVideoCaptureSource directly to make sure all linked tracks will get muted/unmuted at the same time.
Tests to be fixed.
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::isSourceCapturingForDocument):
(WebCore::MediaStreamTrack::updateCaptureAccordingToMutedState):
- Modules/mediastream/MediaStreamTrack.h:
- dom/Document.cpp:
(WebCore::Document::visibilityStateChanged):
- platform/mediastream/RealtimeMediaSource.cpp:
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/RealtimeMediaSourceCenter.cpp:
- platform/mediastream/RealtimeMediaSourceCenter.h:
- platform/mediastream/RealtimeMediaSourceFactory.h:
- platform/mediastream/RealtimeVideoSource.h:
- platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm:
- platform/mediastream/mac/CoreAudioCaptureSource.h:
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
Source/WebKit:
Remove no longer needed code.
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::VideoFactory::setActiveSource):
- WebProcess/cocoa/UserMediaCaptureManager.h:
LayoutTests:
- platform/ios/TestExpectations:
Disable GPU process test since we are not able yet to mute/unmute handle multiple video tracks
with different sources as can be done if capture is done out of process.
- platform/ios/mediastream/video-muted-in-background-tab.html:
Update test to ensure the track is producing content.
- 3:23 AM Changeset in webkit [261372] by
-
- 2 edits in trunk/JSTests
Unreviewed, reverting r261010.
Test skipped for all ARM. no evidence of this affecting iOS
Reverted changeset:
"Skip on ARM and MIPS stress/array-buffer-view-watchpoint-can-
be-fired-in-really-add-in-dfg.js added after r260990"
https://bugs.webkit.org/show_bug.cgi?id=211304
https://trac.webkit.org/changeset/261010
- 1:52 AM WebKitGTK/2.28.x edited by
- (diff)
- 1:49 AM WebKitGTK/2.28.x edited by
- (diff)
- 1:47 AM Changeset in webkit [261371] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed. Fix GTK4 build after r261370
- UIProcess/API/gtk/WebKitScriptDialogGtk.cpp:
(webkitScriptDialogIsUserHandled):
- 1:21 AM Changeset in webkit [261370] by
-
- 6 edits in trunk/Source/WebKit
[WPE][WebDriver] Implement user prompt support
https://bugs.webkit.org/show_bug.cgi?id=207372
Reviewed by Carlos Garcia Campos.
Provide a default implementation for WebDriver dialog commands.
This implementation will mimic the expected browser behavior of
accepting/dismissing the dialogs, while not exposing any new API.
- UIProcess/API/glib/WebKitScriptDialogPrivate.h:
- Expose new private function to check whether the dialog is using a
default implementation or is handled by the user.
- UIProcess/API/glib/WebKitWebView.cpp:
- Avoid default WebDriver behavior if the dialog is user-handled.
(webkitWebViewSetCurrentScriptDialogUserInput):
(webkitWebViewAcceptCurrentScriptDialog):
(webkitWebViewDismissCurrentScriptDialog):
- UIProcess/API/gtk/WebKitScriptDialogGtk.cpp:
(webkitScriptDialogIsUserHandled):
- Return whether the dialog is user handled.
- UIProcess/API/wpe/WebKitScriptDialogWPE.cpp:
- Added basic behavior for the WebDriver dialog callbacks for WPE.
(webkitScriptDialogAccept):
(webkitScriptDialogDismiss):
(webkitScriptDialogSetUserInput):
(webkitScriptDialogIsUserHandled):
- UIProcess/API/wpe/WebKitWebViewWPE.cpp:
(webkitWebViewScriptDialog):
- Hold a dialog ref if the webview is controlled by automation and ends
up calling the default "script-dialog" event handler.
- 1:06 AM Changeset in webkit [261369] by
-
- 3 edits1 add in trunk/LayoutTests
[GTK][WPE] Gardening, update expectations and baselines after r261341
https://bugs.webkit.org/show_bug.cgi?id=211616
Unreviewed gardening.
- platform/gtk/TestExpectations:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsic_sizes-expected.txt: Added.
- platform/wpe/TestExpectations: