⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jun 9, 2018:

10:18 PM Changeset in webkit [232665] by mitz@apple.com
  • 64 edits in trunk

[Xcode] Clean up and modernize some build setting definitions
https://bugs.webkit.org/show_bug.cgi?id=186463

Reviewed by Sam Weinig.

Source/bmalloc:

  • Configurations/Base.xcconfig: Removed definition for macOS 10.11.
  • Configurations/DebugRelease.xcconfig: Ditto.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig: Removed definition for macOS 10.11. Simplified the definition of WK_PRIVATE_FRAMEWORK_STUBS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
  • Configurations/DebugRelease.xcconfig: Removed definition for macOS 10.11.
  • Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
  • Configurations/Version.xcconfig: Removed definition for macOS 10.11.
  • Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig: Removed definition for macOS 10.11.
  • Configurations/DebugRelease.xcconfig: Ditto.

Source/ThirdParty/libwebrtc:

  • Configurations/Base.xcconfig: Removed definition for macOS 10.11.
  • Configurations/DebugRelease.xcconfig: Ditto.
  • Configurations/Version.xcconfig: Removed definitions for macOS 10.10 and 10.11, and added definitions for later versions.
  • Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.
  • Configurations/opus.xcconfig: Simplified the definition of SSE4_FLAG now that macOS 10.12 is the earliest supported version.

Source/WebCore:

  • Configurations/Base.xcconfig: Removed definition for macOS 10.11.
  • Configurations/DebugRelease.xcconfig: Ditto.
  • Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
  • Configurations/Version.xcconfig: Removed definition for macOS 10.11.
  • Configurations/WebCore.xcconfig: Simplified the definition of WK_PRIVATE_FRAMEWORKS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
  • Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.

Source/WebCore/PAL:

  • Configurations/Base.xcconfig: Removed definition for macOS 10.11.
  • Configurations/DebugRelease.xcconfig: Ditto.
  • Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
  • Configurations/PAL.xcconfig: Removed WK_PRIVATE_FRAMEWORKS_DIR, because the private framework stubs aren’t used when linking PAL.
  • Configurations/Version.xcconfig: Removed definition for macOS 10.11.
  • Configurations/WebKitTargetConditionals.xcconfig: Ditto.

Source/WebInspectorUI:

  • Configurations/Base.xcconfig: Removed definition for macOS 10.11.
  • Configurations/DebugRelease.xcconfig: Ditto.
  • Configurations/Version.xcconfig: Ditto.

Source/WebKit:

  • Configurations/Base.xcconfig: Removed definition for macOS 10.11.
  • Configurations/BaseTarget.xcconfig: Simplified the definition of WK_PRIVATE_FRAMEWORKS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
  • Configurations/DebugRelease.xcconfig: Removed definition for macOS 10.11.
  • Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
  • Configurations/Version.xcconfig: Removed definition for macOS 10.11.
  • Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.

Source/WebKitLegacy/mac:

  • Configurations/Base.xcconfig: Removed definition for macOS 10.11.
  • Configurations/DebugRelease.xcconfig: Ditto.
  • Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
  • Configurations/Version.xcconfig: Removed definition for macOS 10.11.
  • Configurations/WebKitLegacy.xcconfig: Simplified the definition of WK_PRIVATE_FRAMEWORKS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
  • Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.

Source/WTF:

  • Configurations/Base.xcconfig: Removed definition for macOS 10.11.
  • Configurations/DebugRelease.xcconfig: Ditto.

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig: Removed definition for macOS 10.11. Simplified the definition of WK_PRIVATE_FRAMEWORK_STUBS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Removed definition for macOS 10.11.
  • MiniBrowser/Configurations/Base.xcconfig: Ditto.
  • MiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
  • TestWebKitAPI/Configurations/Base.xcconfig: Ditto.
  • TestWebKitAPI/Configurations/DebugRelease.xcconfig: Ditto.
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Simplified the definitions of ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest supported version.
  • TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.
  • WebKitTestRunner/Configurations/Base.xcconfig: Ditto. Also simplified the definition of WK_PRIVATE_FRAMEWORK_STUBS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig: Removed definition for macOS 10.11.
6:33 PM Changeset in webkit [232664] by mitz@apple.com
  • 14 edits in trunk

Added missing file references to the Configuration group.

Source/JavaScriptCore:

Source/ThirdParty/libwebrtc:

  • libwebrtc.xcodeproj/project.pbxproj:

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKitLegacy:

  • WebKitLegacy.xcodeproj/project.pbxproj:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
6:26 PM Changeset in webkit [232663] by Alan Bujtas
  • 4 edits
    2 adds in trunk

REGRESSION (r230480): Cannot adjust photo position on LinkedIn's profile page
https://bugs.webkit.org/show_bug.cgi?id=186464
<rdar://problem/40369448>

Reviewed by Simon Fraser.

Source/WebCore:

The optimization logic for skipping image layout when we only need overflow computation should check if the image actually needs
simplified layout only. The needsSimplifiedNormalFlowLayout() flag means that the overflow information needs to be updated but
it does not mean that overflow is the only property that we need to recompute.

Test: fast/images/positioned-image-when-transform-is-present.html

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::layout):

  • rendering/RenderObject.h:

(WebCore::RenderObject::needsSimplifiedNormalFlowLayoutOnly const):

LayoutTests:

  • fast/images/positioned-image-when-transform-is-present-expected.html: Added.
  • fast/images/positioned-image-when-transform-is-present.html: Added.
1:15 PM Changeset in webkit [232662] by rniwa@webkit.org
  • 7 edits in trunk

REGRESSION(macOS Mojave): move-by-word-visually-multi-line.html fails
https://bugs.webkit.org/show_bug.cgi?id=186454

Reviewed by Darin Adler.

Source/WebCore:

Like r232635, this patch fixes a selection test failure caused by the change in ICU's behavior in macOS Mojave,
which caused isWordTextBreak to return true in more cases.

In this particular failing test case, previousTextOrLineBreakBox and nextTextOrLineBreakBox were failing to find
an inline text box when it found an inline box for a BR, which was mentioned by an existing FIXME comment.
Consequently, visualWordPosition were erroneously detecting the end of a word followed by a blank line created by
a BR as a valid word boundary to move when the Windows editing behavior is enacted.

Addressed the FIXME comment by finding the next inline text box skipping all inline boxes for BRs. Renamed
misleadingly named previousBoxInDifferentBlock and nextBoxInDifferentBlock to previousBoxInDifferentLine and
nextBoxInDifferentLine respectively, and set them to true as they're really indicating whether line boxes
belong to a distinct line or not; whether an inline box belong to two (render) blocks or not is irrelevant.

Finally, this patch fixes a bug in visualWordPosition that it was failing to skip blank lines when a word break is
found as we traversed past a line break. In those cases, we must skip all line breaks before stopping.

Tests: editing/selection/move-by-word-visually-mac.html

editing/selection/move-by-word-visually-multi-line.htm

  • editing/VisibleUnits.cpp:

(WebCore::CachedLogicallyOrderedLeafBoxes::previousTextOrLineBreakBox):
(WebCore::CachedLogicallyOrderedLeafBoxes::nextTextOrLineBreakBox):
(WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves const):
(WebCore::logicallyPreviousBox):
(WebCore::logicallyNextBox):
(WebCore::wordBreakIteratorForMinOffsetBoundary):
(WebCore::wordBreakIteratorForMaxOffsetBoundary):
(WebCore::visualWordPosition):

LayoutTests:

Added a multi-line test case which causes a failure under Mac editing behavior. The test case is symmetric to ml_1.

  • editing/selection/move-by-word-visually-mac-expected.txt:
  • editing/selection/move-by-word-visually-mac.html:
  • editing/selection/move-by-word-visually-multi-line-expected.txt:
  • editing/selection/move-by-word-visually-multi-line.html:
12:35 PM Changeset in webkit [232661] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] MarginCollapse functions should be able to resolve non-fixed margin values
https://bugs.webkit.org/show_bug.cgi?id=186461

Reviewed by Antti Koivisto.

We need the containing block's computed width to resolve vertical and horizontal margins.

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

(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginTopFromFirstChild):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::nonCollapsedMarginTop):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::computedNonCollapsedMarginTop):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::computedNonCollapsedMarginBottom):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginTop):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBottom):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedMarginBottomFromLastChild):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::nonCollapsedMarginBottom):
(WebCore::Layout::collapsedMarginTopFromFirstChild): Deleted.
(WebCore::Layout::nonCollapsedMarginTop): Deleted.

9:27 AM Changeset in webkit [232660] by Darin Adler
  • 26 edits
    2 moves in trunk

[Cocoa] Remove all uses of NSAutoreleasePool as part of preparation for ARC
https://bugs.webkit.org/show_bug.cgi?id=186436

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • heap/Heap.cpp: Include FoundationSPI.h rather than directly including

objc-internal.h and explicitly declaring the alternative.

Source/WebCore:

  • bridge/objc/objc_class.mm: Use import instead of include.
  • bridge/objc/objc_instance.h: Replaced _pool member to hold an object with

m_autoreleasePool member to hold a token from objc_autoreleasePoolPush. Also
initialize all data members here in the class definition.

  • bridge/objc/objc_instance.mm:

(ObjcInstance::ObjcInstance): Moved most initialization to class definition.
(ObjcInstance::virtualBegin): Use objc_autoreleasePoolPush instead of
NSAutoreleasePool class.
(ObjcInstance::virtualEnd): Use objc_autoreleasePoolPop.

  • bridge/objc/objc_runtime.mm: Use import instead of include.
  • bridge/objc/objc_utility.mm: Ditto.
  • platform/audio/mac/AudioBusMac.mm:

(WebCore::AudioBus::loadPlatformResource): Use @autoreleasepool.

  • platform/ios/wak/WebCoreThread.mm: Re-sorted includes. Removed declaration of

autorelease pool SPI and use FoundationSPI.h instead.

  • platform/network/cocoa/ResourceResponseCocoa.mm:

(WebCore::ResourceResponse::platformLazyInit): Use @autoreleasepool.

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj: Removed FoundationSPI.h.
  • pal/PlatformMac.cmake: Ditto.
  • pal/spi/cocoa/FoundationSPI.h: Moved into WTF project.

Source/WebKitLegacy/mac:

  • Carbon/CarbonUtils.m: Updated include location of FoundationSPI.h.

(getNSAutoreleasePoolCount): Use objc_autoreleasePoolPush/Pop.
(WebInitForCarbon): Use objc_autoreleasePoolPush/Pop instead of NSAutoreleasePool object.
(PoolCleaner): Ditto.

  • History/WebHistory.mm:

(-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
Use @autoreleasepool instead of NSAutoreleasePool object. No need to do the "drain pool only
every 50 times"; the -[WebHistory loadFromURL] family of methods were once used by Safari, and
now hardly used if at all.

  • WebView/WebView.mm:

(-[WebView rectsForTextMatches]): Ditto.

Source/WTF:

  • WTF.xcodeproj/project.pbxproj: Added FoundationSPI.h.
  • wtf/AutodrainedPool.h: Streamlined header a bit, added some comments.
  • wtf/PlatformMac.cmake: Added FoundationSPI.h.
  • wtf/cocoa/AutodrainedPool.cpp: Moved here from AutodrainedPoolMac.mm.

(WTF::AutodrainedPool::AutodrainedPool): Use objc_autoreleasePoolPush/Pop instead of
the NSAutoreleasePool class.
(WTF::AutodrainedPool::~AutodrainedPool): Ditto.

  • wtf/spi/cocoa/FoundationSPI.h: Moved from Source/WebCore/PAL/pal/spi/cocoa/FoundationSPI.h. Changed both include and declarations so it's the objc_autoreleasePoolPush/Pop instead of the higher level NS functions that call them.

Tools:

  • TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsTest.mm:

(TestWebKitAPI::WebKit2CustomProtocolsTest_ProcessPoolDestroyedDuringLoading):
Use @autoreleasepool.

  • TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm:

(TestWebKitAPI::buildAndPerformTest): Ditto.

  • TestWebKitAPI/Tests/mac/StopLoadingFromDidFinishLoading.mm:

(TestWebKitAPI::WebKitLegacy_StopLoadingFromDidFinishLoading): Ditto.

Jun 8, 2018:

8:12 PM Changeset in webkit [232659] by Wenson Hsieh
  • 17 edits in trunk

[WebKit on watchOS] Upstream watchOS source additions to OpenSource (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=186442
<rdar://problem/40879364>

Reviewed by Tim Horton.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No change in behavior.

  • Configurations/FeatureDefines.xcconfig:
  • page/DisabledAdaptations.cpp:

(WebCore::extraZoomModeAdaptationName):

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView dismissQuickboardViewControllerAndRevealFocusedFormOverlayIfNecessary:]):
(-[WKContentView quickboard:textEntered:]):
(-[WKContentView quickboardInputCancelled:]):
(-[WKContentView viewController:inputContextViewHeightForSize:]):
(-[WKContentView allowsLanguageSelectionMenuForListViewController:]):
(-[WKContentView inputContextViewForViewController:]):
(-[WKContentView inputLabelTextForViewController:]):
(-[WKContentView initialValueForViewController:]):
(-[WKContentView shouldDisplayInputContextViewForListViewController:]):
(-[WKContentView numericInputModeForListViewController:]):
(-[WKContentView textContentTypeForListViewController:]):
(-[WKContentView textSuggestionsForListViewController:]):
(-[WKContentView listViewController:didSelectTextSuggestion:]):
(-[WKContentView allowsDictationInputForListViewController:]):

  • UIProcess/ios/WKScrollView.mm:

(-[WKScrollView initWithFrame:]):
(-[WKScrollView addGestureRecognizer:]):
(-[WKScrollView _configureDigitalCrownScrolling]):
(-[WKScrollView _puic_contentOffsetForCrownInputSequencerOffset:]):

  • UIProcess/ios/forms/WKFocusedFormControlView.h:
  • UIProcess/ios/forms/WKFocusedFormControlView.mm:

(pathWithRoundedRectInFrame):
(-[WKFocusedFormControlView initWithFrame:delegate:]):
(-[WKFocusedFormControlView handleWheelEvent:]):
(-[WKFocusedFormControlView show:]):
(-[WKFocusedFormControlView hide:]):
(-[WKFocusedFormControlView delegate]):
(-[WKFocusedFormControlView setDelegate:]):
(-[WKFocusedFormControlView dimmingMaskLayer]):
(-[WKFocusedFormControlView handleTap]):
(-[WKFocusedFormControlView _wheelChangedWithEvent:]):
(-[WKFocusedFormControlView didDismiss]):
(-[WKFocusedFormControlView didSubmit]):
(-[WKFocusedFormControlView layoutSubviews]):
(-[WKFocusedFormControlView setHighlightedFrame:]):
(-[WKFocusedFormControlView computeDimmingViewCutoutPath]):
(-[WKFocusedFormControlView disengageFocusedFormControlNavigation]):
(-[WKFocusedFormControlView engageFocusedFormControlNavigation]):
(-[WKFocusedFormControlView reloadData:]):
(-[WKFocusedFormControlView setMaskLayerPosition:animated:]):
(-[WKFocusedFormControlView setHighlightedFrame:animated:]):
(-[WKFocusedFormControlView submitActionName]):
(submitActionNameFontAttributes):
(-[WKFocusedFormControlView setSubmitActionName:]):
(-[WKFocusedFormControlView scrollViewForCrownInputSequencer]):
(-[WKFocusedFormControlView updateViewForCurrentCrownInputSequencerState]):
(-[WKFocusedFormControlView scrollOffsetForCrownInputOffset:]):
(-[WKFocusedFormControlView _crownInputSequencerTimerFired]):
(-[WKFocusedFormControlView cancelPendingCrownInputSequencerUpdate]):
(-[WKFocusedFormControlView scheduleCrownInputSequencerUpdate]):
(-[WKFocusedFormControlView crownInputSequencerOffsetDidChange:]):
(-[WKFocusedFormControlView crownInputSequencerDidBecomeIdle:willDecelerate:]):
(-[WKFocusedFormControlView crownInputSequencerIdleDidChange:]):
(-[WKFocusedFormControlView suggestions]):
(-[WKFocusedFormControlView setSuggestions:]):
(-[WKFocusedFormControlView handleWebViewCredentialsSaveForWebsiteURL:user:password:passwordIsAutoGenerated:]):
(-[WKFocusedFormControlView selectionWillChange:]):
(-[WKFocusedFormControlView selectionDidChange:]):
(-[WKFocusedFormControlView textWillChange:]):
(-[WKFocusedFormControlView textDidChange:]):

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
5:57 PM Changeset in webkit [232658] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

jumpTrueOrFalse only takes the fast path for boolean false on 64bit LLInt
https://bugs.webkit.org/show_bug.cgi?id=186446
<rdar://problem/40949995>

Patch by Tadeu Zagallo <Tadeu Zagallo> on 2018-06-08
Reviewed by Mark Lam.

On 64bit LLInt, jumpTrueOrFalse did a mask check to take the fast path for
boolean literals, but it would only work for false. Change it so that it
takes the fast path for true, false, null and undefined.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
5:17 PM Changeset in webkit [232657] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.20-branch/Source

Versioning.

5:16 PM Changeset in webkit [232656] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.20.2

Tag Safari-606.1.20.2.

5:13 PM Changeset in webkit [232655] by bshafiei@apple.com
  • 2 edits in branches/safari-606.1.20-branch/Source/WebCore

Cherry-pick r232649. rdar://problem/40880602

'setRenderPipelineState:' is unavailable: not available on iOS
https://bugs.webkit.org/show_bug.cgi?id=186449
<rdar://problem/40880602>

Reviewed by Simon Fraser.

Be more explicit about the protocol type to avoid
the compiler getting confused by a similar signature.

  • platform/graphics/cocoa/GPURenderCommandEncoderMetal.mm: (WebCore::GPURenderCommandEncoder::setRenderPipelineState):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232649 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5:03 PM Changeset in webkit [232654] by bshafiei@apple.com
  • 7 edits in branches/safari-605-branch/Source

Versioning.

4:53 PM Changeset in webkit [232653] by jonlee@apple.com
  • 3 edits
    2 moves in trunk/PerformanceTests

[MotionMark] Rename Suits test files
https://bugs.webkit.org/show_bug.cgi?id=186447

Reviewed by Said Abou-Hallawa.

  • MotionMark/resources/runner/tests.js:
  • MotionMark/tests/master/resources/suits.js: Renamed from PerformanceTests/MotionMark/tests/master/resources/svg-particles.js.
  • MotionMark/tests/master/suits.html: Renamed from PerformanceTests/MotionMark/tests/master/svg-particles.html.
  • MotionMark/tests/svg/suits.html:
4:50 PM Changeset in webkit [232652] by pvollan@apple.com
  • 5 edits in trunk/Source

Only display refresh monitors having requested display refresh callback should get notified on screen updates.
https://bugs.webkit.org/show_bug.cgi?id=186397
<rdar://problem/40897835>

Reviewed by Brent Fulgham.

Since all display refresh monitors in the WebContent process share a single UI process display link,
we should make sure that only the monitors having requested callback are getting notified on screen
updates. I have not been able to reproduce a case where a monitor is being notified without having
requested updates, but we should safeguard the code for future code changes.

Source/WebCore:

No new tests, since this is a safeguarding measure.

  • platform/graphics/DisplayRefreshMonitor.h:

(WebCore::DisplayRefreshMonitor::hasRequestedRefreshCallback const):

  • platform/graphics/DisplayRefreshMonitorManager.cpp:

(WebCore::DisplayRefreshMonitorManager::displayWasUpdated):

Source/WebKit:

  • WebProcess/WebPage/mac/DrawingAreaMac.cpp:
4:48 PM Changeset in webkit [232651] by bshafiei@apple.com
  • 1 copy in tags/Safari-605.3.7

Tag Safari-605.3.7.

4:30 PM Changeset in webkit [232650] by jer.noble@apple.com
  • 5 edits
    2 adds in trunk

REGRESSION: Cannot listen to audio on Google Translate with side switch set to "vibrate"
https://bugs.webkit.org/show_bug.cgi?id=186415
<rdar://problem/40584651>

Reviewed by Eric Carlson.

Source/WebCore:

Test: platform/mac/media/audio-session-category-audio-autoplay.html

Make sure that the PlatformMediaSession's state has already been set when calling updateSessionStates().

  • platform/audio/PlatformMediaSession.cpp:

(WebCore::PlatformMediaSession::setState):

  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):
(WebCore::PlatformMediaSessionManager::sessionStateChanged):

LayoutTests:

  • platform/mac/media/audio-session-category-audio-autoplay-expected.txt: Added.
  • platform/mac/media/audio-session-category-audio-autoplay.html: Added.
4:26 PM Changeset in webkit [232649] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

'setRenderPipelineState:' is unavailable: not available on iOS
https://bugs.webkit.org/show_bug.cgi?id=186449
<rdar://problem/40880602>

Reviewed by Simon Fraser.

Be more explicit about the protocol type to avoid
the compiler getting confused by a similar signature.

  • platform/graphics/cocoa/GPURenderCommandEncoderMetal.mm:

(WebCore::GPURenderCommandEncoder::setRenderPipelineState):

4:18 PM Changeset in webkit [232648] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.20-branch/Source

Versioning.

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

Fix iOS build.

  • platform/ios/QuickLookSoftLink.mm: Removed QLPreviousScheme, which I said I did in the

change log but looks like it didn't happen.

4:17 PM Changeset in webkit [232646] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.20.1

Tag Safari-606.1.20.1.

4:12 PM Changeset in webkit [232645] by jonlee@apple.com
  • 3 edits
    3 adds in trunk/PerformanceTests

Add sub-tests based on Suits
https://bugs.webkit.org/show_bug.cgi?id=186260

Reviewed by Said Abou-Hallawa.

Add a new developer Suits suite with sub-tests that isolate parts of each particle.
The sub-tests are:

  • Particles using only clip paths
  • Particles using only shapes
  • Particles that have no gradients
  • Particles that have no rotation
  • Particles that do not move around at all (but all of the physics calculations are still performed)
  • MotionMark/resources/debug-runner/tests.js:
  • MotionMark/tests/master/resources/svg-particles.js: Rename the stage, particle, and

benchmark to "Suits" from "SVG". Change SuitsParticle so that we guarantee 50% clip and
shape paths rather than relying on random chance. Wrap a check around creation of the
gradient element, and use a simple fill color when we aren't using a gradient.

  • MotionMark/tests/svg/suits.html: Added.
  • MotionMark/tests/svg/suits.js: Added.

Look for the query string and set the particle based on what is selected.

3:30 PM Changeset in webkit [232644] by Darin Adler
  • 4 edits in trunk/Source/ThirdParty/libwebrtc

[Cocoa] Minor ARC tidying of libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=186396

Reviewed by Dan Bernstein.

  • Configurations/Base.xcconfig: Set CLANG_ENABLE_OBJC_ARC here as we will eventually be

doing in all the various Base.xcconfig files as we make progress on conversion.

  • Configurations/libwebrtc.xcconfig: Removed override of CLANG_ENABLE_OBJC_ARC here and

also removed five other redundant settings that match Base.xcconfig.

  • libwebrtc.xcodeproj/project.pbxproj: Removed explicit -fobjc-arc that was set on

one particular source file, since that's already the default for the project.

3:29 PM Changeset in webkit [232643] by Darin Adler
  • 12 edits in trunk/Source/WebCore

[Cocoa] Make more of our soft linking ARC-compatible
https://bugs.webkit.org/show_bug.cgi?id=186437

Reviewed by Daniel Bates.

Source/WebCore:

  • editing/cocoa/DataDetection.mm:

(WebCore::removeResultLinksFromAnchor): Fix comment referring to unused constant DDURLScheme.

  • platform/cocoa/DataDetectorsCoreSoftLink.h: Removed unused DDURLScheme.
  • platform/cocoa/DataDetectorsCoreSoftLink.mm: Ditto.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

Use SOFT_LINK_CONSTANT_MAY_FAIL for NSString constants instead of using
SOFT_LINK_POINTER_OPTIONAL. Required moving iOS-specific items inside the
#if PLATFORM(IOS) section.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Use the
canLoad functions instead of checking for null to handle possibly-missing string constants.
(WebCore::metadataType): Ditto.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Removed unused

AVMediaTypeVideo, AVMediaTypeAudio, and AVMediaTypeText soft linking.

  • platform/ios/QuickLook.mm:

(WebCore::isQuickLookPreviewURL): Removed unneeded assertion.

  • platform/ios/QuickLookSoftLink.h: Removed unneeded QLPreviousScheme, which was used only

for an assertion, one we can do without.

  • platform/ios/QuickLookSoftLink.mm: Ditto.
  • platform/mediastream/mac/AVVideoCaptureSource.mm: Removed unused soft linking of

AVCaptureVideoPreviewLayer class and AVCaptureSessionPresetLow string constant. Use
SOFT_LINK_CONSTANT_MAY_FAIL for NSString constants instead of using
SOFT_LINK_POINTER_OPTIONAL.
(WebCore::AVVideoCaptureSource::initializeCapabilities): Use the canLoad functions
instead of checking for null to handle possibly-missing string constants.
(WebCore::sizeForPreset): Ditto.
(WebCore::AVVideoCaptureSource::bestSessionPresetForVideoDimensions const): Ditto.

Source/WebCore/PAL:

  • pal/spi/cocoa/DataDetectorsCoreSPI.h: Removed unused DDURLScheme.
3:11 PM Changeset in webkit [232642] by Jonathan Bedard
  • 4 edits in trunk/Source/WebCore/PAL

[Mojave] Enable build
https://bugs.webkit.org/show_bug.cgi?id=186401
<rdar://problem/39759031>

Reviewed by Dan Bernstein.

  • pal/spi/cg/CoreGraphicsSPI.h: Declare CGSShutdownServerConnections().
  • pal/spi/cocoa/QuartzCoreSPI.h: Declare [CAContext setAllowsCGSConnections] in Mojave + builds.
  • pal/spi/mac/DataDetectorsSPI.h: Declare DDResultGetCFTypeID in Mojave+ builds.
2:26 PM Changeset in webkit [232641] by commit-queue@webkit.org
  • 42 edits
    38 copies
    27 moves
    91 adds
    89 deletes in trunk/LayoutTests

Sync web-platform-tests repo to 197cdad
https://bugs.webkit.org/show_bug.cgi?id=186267

Patch by Brendan McLoughlin <brendan@bocoup.com> on 2018-06-08
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • resources/resource-files.json:
  • web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer.html:
  • web-platform-tests/2dcontext/imagebitmap/w3c-import.log:
  • web-platform-tests/FileAPI/BlobURL/support/file_test2.txt: Added.
  • web-platform-tests/FileAPI/BlobURL/support/w3c-import.log:
  • web-platform-tests/FileAPI/FileReader/support/file_test1.txt: Added.
  • web-platform-tests/FileAPI/FileReader/workers-expected.txt: Added.
  • web-platform-tests/FileAPI/FileReader/workers.html: Added.
  • web-platform-tests/FileAPI/blob/Blob-constructor-endings-expected.txt: Added.
  • web-platform-tests/FileAPI/blob/Blob-constructor-endings.html: Added.
  • web-platform-tests/FileAPI/blob/w3c-import.log:
  • web-platform-tests/FileAPI/file/File-constructor-endings-expected.txt: Added.
  • web-platform-tests/FileAPI/file/File-constructor-endings.html: Added.
  • web-platform-tests/FileAPI/file/send-file-form-expected.txt: Added.
  • web-platform-tests/FileAPI/file/send-file-form-iso-2022-jp.tentative-expected.txt: Added.
  • web-platform-tests/FileAPI/file/send-file-form-iso-2022-jp.tentative.html: Added.
  • web-platform-tests/FileAPI/file/send-file-form-utf-8-expected.txt: Added.
  • web-platform-tests/FileAPI/file/send-file-form-utf-8.html: Added.
  • web-platform-tests/FileAPI/file/send-file-form-windows-1252.tentative-expected.txt: Added.
  • web-platform-tests/FileAPI/file/send-file-form-windows-1252.tentative.html: Added.
  • web-platform-tests/FileAPI/file/send-file-form-x-user-defined.tentative-expected.txt: Added.
  • web-platform-tests/FileAPI/file/send-file-form-x-user-defined.tentative.html: Added.
  • web-platform-tests/FileAPI/file/send-file-form.html: Added.
  • web-platform-tests/FileAPI/historical.https-expected.txt:
  • web-platform-tests/FileAPI/historical.https.html:
  • web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads-expected.txt:
  • web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads.html:
  • web-platform-tests/FileAPI/reading-data-section/filereader_readAsBinaryString-expected.txt: Added.
  • web-platform-tests/FileAPI/reading-data-section/filereader_readAsBinaryString.html: Added.
  • web-platform-tests/FileAPI/reading-data-section/w3c-import.log:
  • web-platform-tests/FileAPI/support/send-file-form-helper.js: Added.

(const.formPostFileUploadTest):

  • web-platform-tests/FileAPI/support/w3c-import.log:
  • web-platform-tests/FileAPI/unicode-expected.txt: Added.
  • web-platform-tests/FileAPI/unicode.html: Added.
  • web-platform-tests/FileAPI/url/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/FileAPI/BlobURL/support/w3c-import.log.
  • web-platform-tests/FileAPI/url/url-in-tags-revoke.window.js: Added.

(async_test.t.frame.onload.t.step_func_done):
(async_test.t.frame.onload.t.step_func):
(async_test.t.add_completion_callback):
(async_test.t.win.onload.t.step_func_done):
(receive_message_on_channel):
(async_test.t.const.blob.new.Blob.window_contents_for_channel):
(async_test.t.e.onload.t.step_func_done):

  • web-platform-tests/FileAPI/url/url-in-tags.window.js:

(async_test.t.frame.contentWindow.onscroll.t.step_func_done):

  • web-platform-tests/FileAPI/url/url-reload.window.js: Added.

(blob_url_reload_test):

  • web-platform-tests/FileAPI/url/w3c-import.log:
  • web-platform-tests/FileAPI/w3c-import.log:
  • web-platform-tests/IndexedDB/bigint_value-expected.txt: Added.
  • web-platform-tests/IndexedDB/bigint_value.htm: Added.
  • web-platform-tests/IndexedDB/historical-expected.txt:
  • web-platform-tests/IndexedDB/historical.html:
  • web-platform-tests/IndexedDB/idbcursor-iterating-update-expected.txt: Added.
  • web-platform-tests/IndexedDB/idbcursor-iterating-update.htm: Added.
  • web-platform-tests/IndexedDB/interleaved-cursors-common.js: Added.

(objectKey):
(objectValue):
(writeCursorObjects):
(interleaveCursors):

  • web-platform-tests/IndexedDB/interleaved-cursors-large-expected.txt: Added.
  • web-platform-tests/IndexedDB/interleaved-cursors-large.html: Added.
  • web-platform-tests/IndexedDB/interleaved-cursors-small-expected.txt: Added.
  • web-platform-tests/IndexedDB/interleaved-cursors-small.html: Added.
  • web-platform-tests/IndexedDB/keypath-special-identifiers-expected.txt:
  • web-platform-tests/IndexedDB/keypath-special-identifiers.htm:
  • web-platform-tests/IndexedDB/keypath.htm:
  • web-platform-tests/IndexedDB/support.js:

(add_completion_callback):
(indexeddb_test):

  • web-platform-tests/IndexedDB/w3c-import.log:
  • web-platform-tests/IndexedDB/wasm-module-value-expected.txt: Added.
  • web-platform-tests/IndexedDB/wasm-module-value.html: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CTR.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-GCM.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any.worker-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_HMAC.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-OAEP.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker-expected.txt: Renamed from LayoutTests/platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.worker-expected.txt.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes.js:

(run_test):

  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CBC.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-CTR.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-GCM.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_AES-KW.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_HMAC.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.worker.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/generateKey/w3c-import.log:
  • web-platform-tests/WebIDL/ecmascript-binding/default-iterator-object-expected.txt: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/default-iterator-object.html: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object-expected.txt: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object.html: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any-expected.txt: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any.js: Added.

(test):
(test.regExp.Symbol.iterator):
(promise_test.async):

  • web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any.worker-expected.txt: Added.
  • web-platform-tests/WebIDL/ecmascript-binding/no-regexp-special-casing.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-CBC.https.worker.html.
  • web-platform-tests/WebIDL/ecmascript-binding/w3c-import.log:
  • web-platform-tests/background-fetch/interfaces.html:
  • web-platform-tests/background-fetch/interfaces.worker.js:

(promise_test.async):
(promise_test): Deleted.

  • web-platform-tests/beacon/OWNERS: Added.
  • web-platform-tests/beacon/beacon-common.sub.js:
  • web-platform-tests/beacon/beacon-cors.sub.window.js:

(runTests.self.buildId):
(runTests.self.buildBaseUrl):
(runTests.self.buildTargetUrl):
(runTests):

  • web-platform-tests/beacon/beacon-error.window.js:

(promise_test.async):

  • web-platform-tests/beacon/beacon-navigate-expected.txt:
  • web-platform-tests/beacon/headers/header-content-type.html:
  • web-platform-tests/beacon/resources/beacon.py:

(main):

  • web-platform-tests/beacon/w3c-import.log:

LayoutTests:

  • TestExpectations:
  • platform/ios/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-large-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-small-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.https.worker-expected.txt: Removed.
  • platform/mac/imported/w3c/web-platform-tests/beacon/headers/header-content-type-expected.txt:
2:08 PM Changeset in webkit [232640] by commit-queue@webkit.org
  • 19 edits
    5 adds in trunk/Source

[Datalist] Allow TextFieldInputType to show and hide suggestions
https://bugs.webkit.org/show_bug.cgi?id=186151

Patch by Aditya Keerthi <Aditya Keerthi> on 2018-06-08
Reviewed by Tim Horton.

Source/WebCore:

TextFieldInputTypes with a list attribute should be able to display suggestions as the user
interacts with the input field. In order to display suggestions for an input field with a list
attribute, we need provide certain information - including the items to suggest and the location
to present the suggestions. TextFieldInputType can now provide this information by conforming to
the DataListSuggestionsClient interface.

In this initial patch, the suggestions can be shown in two ways. The first is by clicking on the
input field. The other is by typing text in the field. In a later patch, we will add a third way
to display suggestions, using a button. These ways to activate the suggestions are enumerated in
DataListSuggestionInformation.

We hide the suggestions if there are no more to show, or if the input has blurred.

Tests to be added once work has been done in the UIProcess.

  • WebCore.xcodeproj/project.pbxproj:
  • html/DataListSuggestionInformation.h: Added. Contains the information necessary to display suggestions.
  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::~TextFieldInputType):
(WebCore::TextFieldInputType::handleClickEvent): Show suggestions when the element is clicked.
(WebCore::TextFieldInputType::handleKeydownEvent): Allow users to interact with the suggestions using the keyboard.
(WebCore::TextFieldInputType::elementDidBlur): Hide the suggestions.
(WebCore::TextFieldInputType::shouldRespectListAttribute):
(WebCore::TextFieldInputType::didSetValueByUserEdit): Update the suggestions if the text has changed.
(WebCore::TextFieldInputType::elementRectRelativeToRootView const): Provide the location where the suggestions should be shown.
(WebCore::TextFieldInputType::suggestions const): Provide the list of suggestions.
(WebCore::TextFieldInputType::didSelectDataListOption): Update the text once an suggestion has been selected.
(WebCore::TextFieldInputType::didCloseSuggestions):
(WebCore::TextFieldInputType::displaySuggestions):
(WebCore::TextFieldInputType::closeSuggestions):

  • html/TextFieldInputType.h:
  • loader/EmptyClients.cpp:

(WebCore::EmptyChromeClient::createDataListSuggestionPicker):

  • loader/EmptyClients.h:
  • page/Chrome.cpp:

(WebCore::Chrome::createDataListSuggestionPicker):

  • page/Chrome.h:
  • page/ChromeClient.h:
  • platform/DataListSuggestionPicker.h: Added.

(WebCore::DataListSuggestionPicker::close):
(WebCore::DataListSuggestionPicker::handleKeydownWithIdentifier):
(WebCore::DataListSuggestionPicker::displayWithActivationType):

  • platform/DataListSuggestionsClient.h: Added.

Source/WebKit:

Added WebDataListSuggestionPicker to send messages to the UIProcess in order to update the suggestions view.
This object is also responsible for forwarding messages from WebKit into the DataListSuggestionsClient, which
is the TextFieldInputType in this case. The client needs to know when the suggestions are hidden or if an
suggestion has been selected.

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createDataListSuggestionPicker): Responsible for creating WebDataListSuggestionPicker to send/receive messages.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/WebDataListSuggestionPicker.cpp: Added. Responsible for sending messages to UIProcess and updating the DataListSuggestionsClient.

(WebKit::WebDataListSuggestionPicker::WebDataListSuggestionPicker):
(WebKit::WebDataListSuggestionPicker::~WebDataListSuggestionPicker):
(WebKit::WebDataListSuggestionPicker::handleKeydownWithIdentifier):
(WebKit::WebDataListSuggestionPicker::didSelectOption):
(WebKit::WebDataListSuggestionPicker::didCloseSuggestions):
(WebKit::WebDataListSuggestionPicker::close):
(WebKit::WebDataListSuggestionPicker::displayWithActivationType):

  • WebProcess/WebCoreSupport/WebDataListSuggestionPicker.h: Added.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setActiveDataListSuggestionPicker):
(WebKit::WebPage::didSelectDataListOption): Called by UIProcess when option selected.
(WebKit::WebPage::didCloseSuggestions): Called by UIProcess if the suggestions view is closed.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::createDataListSuggestionPicker):

2:06 PM Changeset in webkit [232639] by Basuke Suzuki
  • 3 edits in trunk/Source/WebKit

[Win] Fix initial value of HANDLE to INVALID_HANDLE_VALUE
https://bugs.webkit.org/show_bug.cgi?id=186405

The handle was not initialized at all. Initialized with INVALID_HANDLE_VALUE.

Reviewed by Per Arne Vollan.

  • Platform/IPC/Attachment.h:
  • Platform/IPC/win/AttachmentWin.cpp:

(IPC::Attachment::decode):

1:59 PM Changeset in webkit [232638] by Chris Dumez
  • 3 edits in trunk/LayoutTests

http/tests/navigation/https-no-store-subframe-in-page-cache.html fails with PSON enabled
https://bugs.webkit.org/show_bug.cgi?id=186440

Reviewed by Geoffrey Garen.

Override the PageCache setting *after* the cross-origin navigation. It was previously
overriden before the navigation and thus would not persist with process swap on navigation
enabled.

  • http/tests/navigation/https-no-store-subframe-in-page-cache.html:
  • http/tests/navigation/resources/https-no-store-subframe-in-page-cache.html:
1:59 PM Changeset in webkit [232637] by Chris Dumez
  • 3 edits in trunk/LayoutTests

http/tests/cache/partitioned-cache.html fails with PSON enabled
https://bugs.webkit.org/show_bug.cgi?id=186438

Reviewed by Geoffrey Garen.

http/tests/cache/partitioned-cache.html was overriding a setting then navigating
cross-origin, expecting the setting override to persist. However, with process
swap on navigation enabled, the setting does not persist. To address the issue,
we override the setting again in the document we navigate to.

  • http/tests/cache/partitioned-cache-expected.txt:
  • http/tests/cache/resources/partitioned-cache-loader.html:
1:46 PM Changeset in webkit [232636] by BJ Burg
  • 9 edits in trunk/Source

[Cocoa] Web Automation: include browser name and version in listing for automation targets
https://bugs.webkit.org/show_bug.cgi?id=186204
<rdar://problem/36950423>

Reviewed by Darin Adler.

Source/JavaScriptCore:

Ask the client what the reported browser name and version should be, then
send this as part of the listing for an automation target.

  • inspector/remote/RemoteInspectorConstants.h:
  • inspector/remote/cocoa/RemoteInspectorCocoa.mm:

(Inspector::RemoteInspector::listingForAutomationTarget const):

Source/WebKit:

Add a new delegate method that allows the client to set the name and version
of the browser as returned in the 'browserName' and 'browserVersion' capabilities.
If the delegate methods are not implemented, try to get this information from
the main bundle.

In the RWI protocol, these fields are added to automation target listings.

  • UIProcess/API/Cocoa/_WKAutomationDelegate.h:
  • UIProcess/Cocoa/AutomationClient.h:
  • UIProcess/Cocoa/AutomationClient.mm:

(WebKit::AutomationClient::AutomationClient):
(WebKit::AutomationClient::browserName const):
(WebKit::AutomationClient::browserVersion const):

Source/WTF:

  • wtf/spi/cf/CFBundleSPI.h: Add needed infoDictionary key values.
1:36 PM Changeset in webkit [232635] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(macOS Mojave): move-by-word-visually-inline-block-positioned-element.html fails
https://bugs.webkit.org/show_bug.cgi?id=186424

Reviewed by Wenson Hsieh.

The test failure is ultimately caused by the change in ICU's behavior. With the CPU in the latest macOS Mojave,
ubrk_getRuleStatus returns 200 / UBRK_WORD_LETTER at the end of a buffer given to UBreakIterator. This caused
isWordTextBreak to return true instead of false in isLogicalStartOfWord at the end of the buffer.

This ICU behavior shouldn't have caused a problem in theory. However, WebKit had a bug in visualWordPosition which
caused UBreakIterator to not include the succeeding word when traversing words to the left (backwards in LTR text)
at the beginning of the last block element with exactly one line box after an non-statically positioned element.

In this case, visualWordPosition invokes wordBreakIteratorForMaxOffsetBoundary (because adjacentCharacterPosition
is now at the end of the last word in the non-statically positioned element) to setup UBreakIterator. Because
there are no line boxes left in the current line (in the last block element with exactly one line box),
logicallyNextBox enters the while loop and invoke nextRootInlineBoxCandidatePosition to find the next root line box.
However, the visible position given to this function is at the beginning of the first word in the block element.
As a result, nextRootInlineBoxCandidatePosition skips over this entire line and finds no line box after the one
we had in the non-statically positioned element.

Let us consider the following concrete example in which a position: static div is followed by another div, and each
div contains text nodes "hello" and "world" respectively:

  • div position: static (1)
    • "hello"
  • div (2)
    • "world"

Suppose we're at the offset 0 of "world", and trying to move to the left. In this case, adjacentCharacterPosition is
at offset 5 of "world". The next line box should be that of "world". However, because we invoke logicallyNextBox via
wordBreakIteratorForMaxOffsetBoundary with the visible position at offset 0 of "world", it skips this line and return
nullptr.

This patch addresses this test failure by fixing visualWordPosition by passing adjacentCharacterPosition (at offset 5
of "hello") as the visible position to find the next text box so that nextRootInlineBoxCandidatePosition invoked in
logicallyNextBox would not skip the line ("world") from which we started the traversal to find the next line box.

Tests: editing/selection/move-by-word-visually-inline-block-positioned-element.html

  • editing/VisibleUnits.cpp:

(WebCore::visualWordPosition):

11:45 AM Changeset in webkit [232634] by pvollan@apple.com
  • 9 edits in trunk/Source/WebKit

Run display links in the UI process when ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING) is true.
https://bugs.webkit.org/show_bug.cgi?id=186379

Reviewed by Brent Fulgham.

Replace MAC_OS_X_VERSION_MIN_REQUIRED >= 101400 with ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING).

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::dispatchActivityStateChange):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/DisplayLink.cpp:
  • UIProcess/mac/DisplayLink.h:
  • UIProcess/mac/WebPageProxyMac.mm:
  • WebProcess/WebPage/DrawingArea.cpp:
  • WebProcess/WebPage/mac/DrawingAreaMac.cpp:
11:37 AM Changeset in webkit [232633] by aboya@igalia.com
  • 2 edits in trunk/Tools

[GTK] Update to libva-2.1.0 in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=186434

Reviewed by Philippe Normand.

  • gstreamer/jhbuild.modules:
11:30 AM Changeset in webkit [232632] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

Send display link IPC message from display link thread.
https://bugs.webkit.org/show_bug.cgi?id=186429

Reviewed by Geoffrey Garen.

When the display link callback is firing on the display link thread in the UI process,
we schedule a function to be called on the main thread to send the IPC message to the
WebContent process. Since Connection::send is thread-safe, we can just send the message
from the display link thread, instead. This should be a small performance improvement.

  • UIProcess/mac/DisplayLink.cpp:

(WebKit::DisplayLink::DisplayLink):
(WebKit::DisplayLink::displayLinkCallback):

  • UIProcess/mac/DisplayLink.h:
11:29 AM Changeset in webkit [232631] by Kocsen Chung
  • 13 edits in branches/safari-606.1.20-branch

Cherry-pick r232585. rdar://problem/39117121

Remove unused debug mode conditions
https://bugs.webkit.org/show_bug.cgi?id=186358
<rdar://problem/39117121>

Reviewed by Zalan Bujtas.

Source/WebKit:

Remove some unused code paths related to ResourceLoadStatistics debug mode.

  • UIProcess/WebResourceLoadStatisticsStore.cpp: (WebKit::WebResourceLoadStatisticsStore::logUserInteraction): (WebKit::WebResourceLoadStatisticsStore::shouldPartitionCookies const):

LayoutTests:

Rebase test expectations after behavior change.

  • http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-expected.txt:
  • http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html:
  • http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt:
  • http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
  • http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt:
  • http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:
  • http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction-expected.txt:
  • http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html:
  • http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-recent-user-interaction-expected.txt
  • http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-recent-user-interaction.html

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232585 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:29 AM Changeset in webkit [232630] by Kocsen Chung
  • 2 edits in branches/safari-606.1.20-branch/Source/WebKit

Cherry-pick r232564. rdar://problem/39791647

Crash in lambda function WTF::Function<void ()>::CallableWrapper<WebKit::DisplayLink::displayLinkCallback
https://bugs.webkit.org/show_bug.cgi?id=186370
<rdar://problem/39791647>

Reviewed by Brent Fulgham.

When the display link is firing, the callback function is called on the display link thread, where a lambda function
is created to be executed on the main thread. The WebPageProxy object is captured as a RefPtr in the lambda. This
might crash when executing on the main thread, since the WebPageProxy object is possibly deleted then. Capturing
the WebPageProxy will not prevent the object from being deleted if the destruction of the WebPageProxy object already
has started on the main thread when the object is captured, which sometimes is the case. Instead, we can create a
weak pointer to the object, which will work as intended, even if the WebPageProxy object is in the process of being
deleted. This also matches the display link implementation used when the WebContent process has access to the
WindowServer. This is not a frequent crash. I have not been able to reproduce it.

  • UIProcess/mac/DisplayLink.cpp: (WebKit::DisplayLink::displayLinkCallback):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232564 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:23 AM Changeset in webkit [232629] by Dewei Zhu
  • 3 edits in trunk/Websites/perf.webkit.org

CommitSet range bisector should use commits occur in commit sets which specify the range as valid commits for commits without ordering.
https://bugs.webkit.org/show_bug.cgi?id=186062

Reviewed by Ryosuke Niwa.

For commits without ordering, we should use the commits occurs in the commit sets which specify the range as valid commits.
Commit sets in range should only contain those valid commits for corresponding repositories.

  • public/v3/commit-set-range-bisector.js: Updated logic to add check on commits without ordering.

(CommitSetRangeBisector.async.commitSetClosestToMiddleOfAllCommits):

  • unit-tests/commit-set-range-bisector-tests.js: Added a unit test for this case.
11:20 AM Changeset in webkit [232628] by Brent Fulgham
  • 6 edits
    3 adds in trunk/Source/WebCore

REGRESSION (r230930): Link drag image is very blurry
https://bugs.webkit.org/show_bug.cgi?id=186435
<rdar://problem/40797202>

Reviewed by Tim Horton.

Source/WebCore:

Tell NSImage the proper display scale factor it needs when performing a 'lockFocus' by passing
the correct scaling transform as an NSImageHintCTM.

I reviewed the other drag operations (selection, image, and attachment) and confirmed through
manual testing that these operations already properly scale the images. It appears that links
were the only place where we relied on NSImage to determine and use the relevant device scale
factor.

  • SourcesCocoa.txt: Add new WebKitNSImageExtras.mm file.
  • WebCore.xcodeproj/project.pbxproj: Update for new files.
  • platform/graphics/mac/WebKitNSImageExtras.h: Added.
  • platform/graphics/mac/WebKitNSImageExtras.mm: Added.

(-[NSImage _web_lockFocusWithTransform:]): Helper method that takes a device scale factor, creates the
relevant scaling NSAffineTransform and passes it to the internal NSImage 'lockFocusWithRect' as the
NSImageHintCTM hint.

  • platform/mac/DragImageMac.mm:

(WebCore::createDragImageForLink): Use the new helper function.

Source/WebCore/PAL:

Add the necessary NSImage SPI to our SPI headers.

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/mac/NSImageSPI.h: Added.
10:30 AM Changeset in webkit [232627] by Kocsen Chung
  • 7 edits in trunk/Source

Versioning.

10:23 AM Changeset in webkit [232626] by Darin Adler
  • 3 edits in trunk/Source/bmalloc

[Cocoa] Turn on ARC for the single Objective-C++ source file in bmalloc
https://bugs.webkit.org/show_bug.cgi?id=186398

Reviewed by Saam Barati.

  • Configurations/Base.xcconfig: Turn on ARC.
  • bmalloc/ProcessCheck.mm:

(bmalloc::gigacageEnabledForProcess): Removed the globals from this function,
since it's only called once. If it was called more than once, we could optimize
that with a single boolean global rather than two strings and two booleans.

10:17 AM Changeset in webkit [232625] by Kocsen Chung
  • 2 edits in branches/safari-606.1.20-branch/Source/WebKit

Cherry-pick r232601. rdar://problem/40907111

REGRESSION (r232544): Pages are blank after homing out and then resuming on iPad
https://bugs.webkit.org/show_bug.cgi?id=186408
<rdar://problem/40907111>

Reviewed by Wenson Hsieh.

  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _resizeWhileHidingContentWithUpdates:]): Clients who use _resizeWhileHidingContentWithUpdates don't call _endAnimatedResize; the former API is a one-shot. We can't wait for _endAnimatedResize to complete the animation (and don't need to, since the content is hidden), but instead should just finish it when the commit with the resized tiles arrives.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232601 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:16 AM Changeset in webkit [232624] by Kocsen Chung
  • 17 edits
    1 add in branches/safari-606.1.20-branch/Source/WebKit

Cherry-pick r232556. rdar://problem/38477288

Cherry-pick r232544. rdar://problem/38477288

Move animated resize into the layer tree transaction, and make it asynchronous
https://bugs.webkit.org/show_bug.cgi?id=186130
<rdar://problem/38477288>

Reviewed by Simon Fraser.

  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h: (WebKit::RemoteLayerTreeTransaction::setScrollPosition): (WebKit::RemoteLayerTreeTransaction::dynamicViewportSizeUpdateID const): (WebKit::RemoteLayerTreeTransaction::setDynamicViewportSizeUpdateID):
  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm: (WebKit::RemoteLayerTreeTransaction::encode const): (WebKit::RemoteLayerTreeTransaction::decode):
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::willCommitLayerTree): Add scrollPosition to the transaction on all platforms, not just Mac. Add the optional dynamicViewportSizeUpdateID to the transaction, representing the most recent dynamicViewportSizeUpdate that commit contains, if any.
  • Shared/ios/DynamicViewportSizeUpdate.h: Added a typedef for DynamicViewportSizeUpdateID, and move the mode enum here.
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::dynamicViewportUpdateChangedTarget): Deleted.
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetState):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::dynamicViewportSizeUpdate): (WebKit::WebPageProxy::didCommitLayerTree): (WebKit::WebPageProxy::synchronizeDynamicViewportUpdate): Deleted. (WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget): Deleted.
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::dynamicViewportSizeUpdate): (WebKit::WebPage::synchronizeDynamicViewportUpdate): Deleted. Remove dynamicViewportUpdateChangedTarget and synchronizeDynamicViewportUpdate. Move dynamicViewportSizeUpdateID maintenance into WKWebView.
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _processDidExit]): Remove _resizeAnimationTransformTransactionID. We now instead pack the resize ID inside the transaction, instead of separately sending back a transaction ID to wait for.

(-[WKWebView _didCommitLayerTreeDuringAnimatedResize:]):
(-[WKWebView _didCommitLayerTree:]):
Added, factored out of _didCommitLayerTree:.
If the transaction includes the result of the most recently-sent resize,
store the requisite adjustments required to counter the new scale and
scroll offset, update the resizeAnimationView, and, if endAnimatedResize
has already been called, call _didCompleteAnimatedResize to tear down
the animation view and put things back together.

Add some code so that if a commit arrives before the resize, we update
the scale of the resize animation view to keep the width fitting.

(activeMaximumUnobscuredSize):
(activeOrientation):
Move these because the code that depends on them moved.

(-[WKWebView _didCompleteAnimatedResize]):
Broken out of _endAnimatedResize. This can now be called from
either endAnimatedResize or _didCommitLayerTreeDuringAnimatedResize,
depending on which is called first.

(-[WKWebView _beginAnimatedResizeWithUpdates:]):
Don't create a new resize view if we still have one. Otherwise, we'll
get the view ordering all wrong when making the second one. This
didn't previously cause trouble, because we don't have a lot of
WKScrollView subviews, but it totally could.

Adopt _initialContentOffsetForScrollView just to make this code more clear.

(-[WKWebView _endAnimatedResize]):
(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:nextValidLayerTreeTransactionID:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232544 268f45cc-cd09-0410-ab3c-d52691b4dbfc

git-svn-id: https://svn.webkit.org/repository/webkit/tags/Safari-606.1.20@232556 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:16 AM Changeset in webkit [232623] by Kocsen Chung
  • 2 edits in branches/safari-606.1.20-branch/Source/WebKit

Cherry-pick r232606. rdar://problem/40226192

Match HI spec for thumbnail view sizing and location
https://bugs.webkit.org/show_bug.cgi?id=186412
<rdar://problem/40226192>

Reviewed by Tim Horton.

Use the computed obscured inset to position the QuickLook
view inside the WKSystemPreviewView.

  • UIProcess/ios/WKSystemPreviewView.mm: (-[WKSystemPreviewView web_setContentProviderData:suggestedFilename:]): (-[WKSystemPreviewView _layoutThumbnailView]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232606 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:14 AM Changeset in webkit [232622] by Kocsen Chung
  • 7 edits in branches/safari-606.1.20-branch/Source

Versioning.

9:51 AM Changeset in webkit [232621] by Kocsen Chung
  • 1 copy in branches/safari-606.1.20-branch

New branch.

9:35 AM Changeset in webkit [232620] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] Add vertical margin computation for inline, block-level, inline-block and floating replaced elements
https://bugs.webkit.org/show_bug.cgi?id=186432

Reviewed by Antti Koivisto.

  • layout/FormattingContext.h:
  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin): Use the computed non-auto values when margin is not auto.
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedHorizontalMarginValue):
(WebCore::Layout::FormattingContext::Geometry::computedNonCollapsedVerticalMarginValue):

8:27 AM WebKitGTK/2.20.x edited by Michael Catanzaro
(diff)
1:47 AM Changeset in webkit [232619] by Yusuke Suzuki
  • 11 edits
    3 adds in trunk

[WTF] Add WorkerPool
https://bugs.webkit.org/show_bug.cgi?id=174569

Reviewed by Carlos Garcia Campos.

Source/WebCore:

We start using WorkerPool for NicosiaPaintingEngineThreaded instead of glib thread pool.
This makes NicosiaPaintingEngineThreaded platform-independent and usable for WinCairo.

  • platform/graphics/nicosia/NicosiaPaintingEngineThreaded.cpp:

(Nicosia::PaintingEngineThreaded::PaintingEngineThreaded):
(Nicosia::PaintingEngineThreaded::~PaintingEngineThreaded):
(Nicosia::PaintingEngineThreaded::paint):
(Nicosia::s_threadFunc): Deleted.

  • platform/graphics/nicosia/NicosiaPaintingEngineThreaded.h:

Source/WTF:

This patch adds WorkerPool, which is a thread pool that consists of AutomaticThread.
Since it is based on AutomaticThread, this WorkerPool can take timeout: once timeout
passes without any tasks, threads in WorkerPool will be destroyed.

We add shouldSleep handler to AutomaticThread to make destruction of threads in WorkerPool moderate.
Without this, all threads are destroyed at once after timeout passes.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/AutomaticThread.cpp:

(WTF::AutomaticThread::AutomaticThread):
(WTF::AutomaticThread::start):

  • wtf/AutomaticThread.h:
  • wtf/CMakeLists.txt:
  • wtf/WorkerPool.cpp: Added.

(WTF::WorkerPool::WorkerPool):
(WTF::WorkerPool::~WorkerPool):
(WTF::WorkerPool::shouldSleep):
(WTF::WorkerPool::postTask):

  • wtf/WorkerPool.h: Added.

(WTF::WorkerPool::create):

Tools:

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/WorkerPool.cpp: Added.

(TestWebKitAPI::TEST):

12:59 AM Changeset in webkit [232618] by magomez@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK][WPE] Wrong result when calling ImageBufferCairo's getImageData()
https://bugs.webkit.org/show_bug.cgi?id=186384

Reviewed by Michael Catanzaro.

Fix calculations so the result is the expected one.

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::getImageData):

Note: See TracTimeline for information about the timeline view.