Timeline



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):

Jun 7, 2018:

11:02 PM Changeset in webkit [232617] by Dewei Zhu
  • 2 edits in trunk/Websites/perf.webkit.org

Related task may not have a metric or platform.
https://bugs.webkit.org/show_bug.cgi?id=186426

Reviewed by Ryosuke Niwa.

Related task in the related task list can be a custom analysis task which
may not have platform or metric.

  • public/v3/pages/analysis-task-page.js: Added null checks for platform and metric.

(AnalysisTaskPage.prototype._renderRelatedTasks):

10:14 PM Changeset in webkit [232616] by Fujii Hironori
  • 6 edits
    1 copy in trunk/Tools

[Win][MiniBrowser] Add a new BrowserWindow interface to abstract WK1 and WK2 BrowserWindow
https://bugs.webkit.org/show_bug.cgi?id=186421

Reviewed by Ryosuke Niwa.

This is the core patch to make MiniBrowser to support WK1 and WK2
windows (Bug 184770).

I will rename MiniBrowser class to WK1BrowserWindow in a follow-up
patch (Bug 184770 Comment 12).

  • MiniBrowser/win/BrowserWindow.h: Added.
  • MiniBrowser/win/MainWindow.cpp:

(MainWindow::WndProc):

  • MiniBrowser/win/MainWindow.h:

(MainWindow::browserWindow const):

  • MiniBrowser/win/MiniBrowser.cpp:

(MiniBrowser::create):
(MiniBrowser::navigateForwardOrBackward): Removed the unsed first argument hWnd.
(MiniBrowser::navigateToHistory): Ditto.

  • MiniBrowser/win/MiniBrowser.h: Inherit BrowserWindow interface.

Make all other methods private and make delegates classes friends.

  • MiniBrowser/win/PrintWebUIDelegate.cpp:

(PrintWebUIDelegate::createWebViewWithRequest):

9:55 PM Changeset in webkit [232615] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

Add base class to get WeakPtrFactory member and avoid some boilerplate code
https://bugs.webkit.org/show_bug.cgi?id=186407
<rdar://problem/40922716>

Unreviewed WinCairo build fix

MediaPlayerPrivateMediaFoundation.cpp(1726): error C2039: 'makeWeakPtr': is not a member of 'WebCore::MediaPlayerPrivateMediaFoundation'

No new tests (No behavior change).

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::processInputNotify):

9:40 PM Changeset in webkit [232614] by Dewei Zhu
  • 6 edits in trunk/Websites/perf.webkit.org

Fix browser test failed assertions and a bug in 'common-component-base'
https://bugs.webkit.org/show_bug.cgi?id=186423

Reviewed by Ryosuke Niwa.

Fixed serveral assertion failures in browser tests.
Fixed a bug in common-component-base that null/undefined as attribute value is not allowed.

  • browser-tests/chart-revision-range-tests.js: Should not import 'lazily-evaluated-function.js' twice.
  • browser-tests/chart-status-evaluator-tests.js: Should not import 'lazily-evaluated-function.js' twice.
  • browser-tests/component-base-tests.js: Added a unit test for element attributes being null or undefined.
  • browser-tests/index.html: Make mocked data from makeSampleCluster also contains commit_order.
  • public/shared/common-component-base.js: Make it allow to take null as attribute value.

(CommonComponentBase.createElement):

8:56 PM Changeset in webkit [232613] by Chris Dumez
  • 157 edits in trunk/Source

Add base class to get WeakPtrFactory member and avoid some boilerplate code
https://bugs.webkit.org/show_bug.cgi?id=186407

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

Add CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in
order to avoid some boilerplate code in every class needing a WeakPtrFactory.
This also gets rid of old-style createWeakPtr() methods in favor of the newer
makeWeakPtr().

  • wasm/WasmInstance.h:
  • wasm/WasmMemory.cpp:

(JSC::Wasm::Memory::registerInstance):

Source/WebCore:

Add CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in
order to avoid some boilerplate code in every class needing a WeakPtrFactory.
This also gets rid of old-style createWeakPtr() methods in favor of the newer
makeWeakPtr().

  • Modules/credentialmanagement/CredentialsMessenger.h:
  • Modules/credentialmanagement/NavigatorCredentials.cpp:

(WebCore::NavigatorCredentials::credentials):

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::doSupportedConfigurationStep):
(WebCore::CDM::getConsentStatus):

  • Modules/encryptedmedia/CDM.h:
  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::generateRequest):
(WebCore::MediaKeySession::load):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::close):
(WebCore::MediaKeySession::remove):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::createSession):

  • Modules/encryptedmedia/MediaKeys.h:
  • Modules/gamepad/GamepadManager.cpp:

(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::makeGamepadVisible):

  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::MediaDevices):

  • Modules/mediastream/MediaDevices.h:
  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::applyConstraints):

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/webauthn/cocoa/LocalAuthenticator.h:
  • Modules/webauthn/cocoa/LocalAuthenticator.mm:

(WebCore::LocalAuthenticator::makeCredential):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilitySVGRoot.cpp:

(WebCore::AccessibilitySVGRoot::setParent):

  • crypto/SubtleCrypto.cpp:

(WebCore::SubtleCrypto::encrypt):
(WebCore::SubtleCrypto::decrypt):
(WebCore::SubtleCrypto::sign):
(WebCore::SubtleCrypto::verify):
(WebCore::SubtleCrypto::digest):
(WebCore::SubtleCrypto::generateKey):
(WebCore::SubtleCrypto::deriveKey):
(WebCore::SubtleCrypto::deriveBits):
(WebCore::SubtleCrypto::importKey):
(WebCore::SubtleCrypto::exportKey):
(WebCore::SubtleCrypto::wrapKey):
(WebCore::SubtleCrypto::unwrapKey):

  • crypto/SubtleCrypto.h:
  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::CSSFontFace):
(WebCore::CSSFontFace::wrapper):
(WebCore::CSSFontFace::setWrapper):

  • css/DeprecatedCSSOMValue.h:
  • css/FontFace.cpp:
  • css/FontFace.h:
  • css/MediaQueryEvaluator.cpp:

(WebCore::MediaQueryEvaluator::MediaQueryEvaluator):

  • css/StyleSheetContents.h:
  • css/parser/CSSDeferredParser.cpp:

(WebCore::CSSDeferredParser::CSSDeferredParser):

  • dom/DataTransferItemList.cpp:

(WebCore::DataTransferItemList::add):
(WebCore::DataTransferItemList::ensureItems const):
(WebCore::DataTransferItemList::didSetStringData):

  • dom/DataTransferItemList.h:
  • dom/Document.cpp:

(WebCore::Document::postTask):
(WebCore::Document::hasStorageAccess):
(WebCore::Document::requestStorageAccess):

  • dom/Document.h:

(WebCore::Document::setContextDocument):

  • dom/MessagePort.h:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::setPictureElement):

  • html/HTMLInputElement.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader):

  • html/HTMLMediaElement.h:
  • html/HTMLPictureElement.h:
  • html/parser/HTMLResourcePreloader.h:
  • layout/layouttree/LayoutBox.h:

(WebCore::Layout::Box::style const):

  • loader/FormState.h:
  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::preconnectIfNeeded):

  • loader/LinkLoader.h:
  • loader/LinkPreloadResourceClients.cpp:

(WebCore::LinkPreloadResourceClient::LinkPreloadResourceClient):

  • loader/MediaResourceLoader.cpp:

(WebCore::MediaResourceLoader::MediaResourceLoader):

  • loader/MediaResourceLoader.h:
  • page/DOMWindow.h:
  • page/EventHandler.cpp:

(WebCore::widgetForElement):
(WebCore::EventHandler::updateLastScrollbarUnderMouse):

  • platform/GenericTaskQueue.cpp:

(WebCore::TaskDispatcher<Timer>::postTask):

  • platform/GenericTaskQueue.h:

(WebCore::GenericTaskQueue::enqueueTask):
(WebCore::GenericTaskQueue::cancelAllTasks):

  • platform/ScrollView.h:
  • platform/ScrollableArea.h:
  • platform/Scrollbar.h:
  • platform/Widget.cpp:

(WebCore::Widget::setParent):

  • platform/Widget.h:
  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::decodeAudioForBusCreation):

  • platform/audio/mac/AudioHardwareListenerMac.cpp:

(WebCore::AudioHardwareListenerMac::AudioHardwareListenerMac):

  • platform/audio/mac/AudioHardwareListenerMac.h:
  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::CDMInstanceClearKey::requestLicense):
(WebCore::CDMInstanceClearKey::updateLicense):
(WebCore::CDMInstanceClearKey::loadSession):
(WebCore::CDMInstanceClearKey::closeSession):
(WebCore::CDMInstanceClearKey::removeSessionData):

  • platform/encryptedmedia/clearkey/CDMClearKey.h:
  • platform/graphics/FontCascade.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
(WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:

(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequest):

  • platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:

(WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):

  • platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability):
(WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createSession):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::requestNotificationWhenReadyForVideoData):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::scheduleDeferredTask):

  • platform/graphics/cv/TextureCacheCV.h:
  • platform/graphics/cv/TextureCacheCV.mm:

(WebCore::TextureCacheCV::textureFromImage):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
(WebCore::MediaPlayerPrivateGStreamerBase::initializationDataEncountered):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink):

  • platform/graphics/mac/DisplayRefreshMonitorMac.cpp:

(WebCore::DisplayRefreshMonitorMac::displayLinkFired):

  • platform/graphics/mac/DisplayRefreshMonitorMac.h:
  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::setMaskLayer):
(WebCore::TextureMapperLayer::setReplicaLayer):

  • platform/graphics/texmap/TextureMapperLayer.h:
  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource):
(WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::processInputNotify):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
  • platform/ios/RemoteCommandListenerIOS.h:
  • platform/ios/RemoteCommandListenerIOS.mm:

(WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS):

  • platform/mac/RemoteCommandListenerMac.h:
  • platform/mac/RemoteCommandListenerMac.mm:

(WebCore::RemoteCommandListenerMac::RemoteCommandListenerMac):

  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::scheduleDeferredTask):

  • platform/mediastream/MediaStreamPrivate.h:
  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::scheduleDeferredTask):

  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h:
  • platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:

(WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream):

  • platform/vr/VRPlatformDisplay.h:
  • platform/vr/openvr/VRPlatformManagerOpenVR.cpp:

(WebCore::VRPlatformManagerOpenVR::getVRDisplays):

  • rendering/FloatingObjects.h:

(WebCore::FloatingObject::setOriginatingLine):

  • rendering/RenderObject.h:
  • rendering/RootInlineBox.cpp:
  • rendering/RootInlineBox.h:
  • svg/SVGPathElement.h:
  • svg/SVGPathSegWithContext.h:

(WebCore::SVGPathSegWithContext::SVGPathSegWithContext):
(WebCore::SVGPathSegWithContext::setContextAndRole):

  • svg/SVGTransformList.h:
  • svg/properties/SVGAnimatedListPropertyTearOff.h:

(WebCore::SVGAnimatedListPropertyTearOff::baseVal):
(WebCore::SVGAnimatedListPropertyTearOff::animVal):

  • svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
  • svg/properties/SVGAnimatedPropertyTearOff.h:
  • svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
  • svg/properties/SVGListProperty.h:

(WebCore::SVGListProperty::initializeValuesAndWrappers):
(WebCore::SVGListProperty::getItemValuesAndWrappers):
(WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
(WebCore::SVGListProperty::replaceItemValuesAndWrappers):
(WebCore::SVGListProperty::appendItemValuesAndWrappers):

  • svg/properties/SVGMatrixTearOff.h:
  • svg/properties/SVGPropertyTearOff.h:
  • testing/MockCDMFactory.cpp:

(WebCore::MockCDMFactory::createCDM):
(WebCore::MockCDM::createInstance):

  • testing/MockCDMFactory.h:
  • workers/service/ExtendableEvent.h:
  • workers/service/FetchEvent.cpp:

(WebCore::FetchEvent::respondWith):

  • workers/service/server/SWServer.h:
  • xml/DOMParser.cpp:

(WebCore::DOMParser::DOMParser):

Source/WebCore/PAL:

186407_CanMakeWeakPtr

  • pal/system/mac/SystemSleepListenerMac.h:
  • pal/system/mac/SystemSleepListenerMac.mm:

(PAL::SystemSleepListenerMac::SystemSleepListenerMac):

Source/WebKit:

Add CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in
order to avoid some boilerplate code in every class needing a WeakPtrFactory.
This also gets rid of old-style createWeakPtr() methods in favor of the newer
makeWeakPtr().

  • NetworkProcess/NetworkLoadChecker.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::canAuthenticateAgainstProtectionSpace):

  • NetworkProcess/PreconnectTask.h:
  • NetworkProcess/cache/CacheStorageEngine.h:
  • Shared/Authentication/AuthenticationManager.h:
  • UIProcess/API/APIAttachment.cpp:

(API::Attachment::Attachment):

  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:

(WebKit::WebPaymentCoordinatorProxy::canMakePaymentsWithActiveCard):
(WebKit::WebPaymentCoordinatorProxy::openPaymentSetup):

  • UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
  • UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:

(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):

  • UIProcess/ApplicationStateTracker.h:
  • UIProcess/ApplicationStateTracker.mm:

(WebKit::ApplicationStateTracker::ApplicationStateTracker):

  • UIProcess/Cocoa/ViewGestureController.cpp:

(WebKit::ViewGestureController::setAlternateBackForwardListSourcePage):

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::updateWindowAndViewFrames):
(WebKit::WebViewImpl::setTopContentInset):
(WebKit::WebViewImpl::viewDidMoveToWindow):
(WebKit::WebViewImpl::prepareForMoveToWindow):
(WebKit::WebViewImpl::validateUserInterfaceItem):
(WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded):
(WebKit::WebViewImpl::interpretKeyEvent):
(WebKit::WebViewImpl::firstRectForCharacterRange):
(WebKit::WebViewImpl::performKeyEquivalent):
(WebKit::WebViewImpl::keyUp):
(WebKit::WebViewImpl::keyDown):

  • UIProcess/CredentialManagement/WebCredentialsMessengerProxy.cpp:

(WebKit::WebCredentialsMessengerProxy::makeCredential):
(WebKit::WebCredentialsMessengerProxy::getAssertion):

  • UIProcess/CredentialManagement/WebCredentialsMessengerProxy.h:
  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::setOriginatingPage):

  • UIProcess/Launcher/ProcessLauncher.h:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/ProcessAssertion.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • UIProcess/gtk/WaylandCompositor.cpp:

(WebKit::WaylandCompositor::Surface::attachBuffer):

  • UIProcess/gtk/WaylandCompositor.h:
  • UIProcess/ios/ProcessAssertionIOS.mm:

(WebKit::ProcessAssertion::ProcessAssertion):

  • UIProcess/mac/DisplayLink.cpp:

(WebKit::DisplayLink::displayLinkCallback):

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm:

(WebKit::RemoteLayerTreeDisplayRefreshMonitor::RemoteLayerTreeDisplayRefreshMonitor):

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:

Source/WebKitLegacy/mac:

Add CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in
order to avoid some boilerplate code in every class needing a WeakPtrFactory.
This also gets rid of old-style createWeakPtr() methods in favor of the newer
makeWeakPtr().

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::requestCandidatesForSelection):

Source/WTF:

Add CanMakeWeakPtr base class to get WeakPtrFactory member and its getter, in
order to avoid some boilerplate code in every class needing a WeakPtrFactory.
This also gets rid of old-style createWeakPtr() methods in favor of the newer
makeWeakPtr().

  • wtf/WeakPtr.h:

(WTF::CanMakeWeakPtr::weakPtrFactory const):
(WTF::CanMakeWeakPtr::weakPtrFactory):

8:44 PM Changeset in webkit [232612] by Dewei Zhu
  • 29 edits
    6 adds in trunk/Websites/perf.webkit.org

Added sending notification feature when test group finishes.
https://bugs.webkit.org/show_bug.cgi?id=184340

Reviewed by Ryosuke Niwa.

Added 'testgroup_needs_notification' filed to 'analysis_test_group' table to indicate whether a test group
has a pending notification.
Added 'testgroup_notification_sent_at' to record the last notification sent time.
SQL queries to update existing database are:

'ALTER TABLE analysis_test_groups ADD COLUMN testgroup_needs_notification boolean NOT NULL DEFAULT FALSE;'
'ALTER TABLE analysis_test_groups ADD COLUMN testgroup_notification_sent_at timestamp DEFAULT NULL;'

Updated 'run-analysis' script to be able to send notification when test group finishes.
Added 'Notify on completion' checkbox while creating/retrying/bisecting a test group.

  • browser-tests/test-group-form-tests.js: Updated existing tests and added a new test.
  • browser-tests/test-group-result-page-tests.js: Added unit tests for TestGroupResultPage.
  • init-database.sql: Added 'testgroup_needs_notification' filed to 'analysis_test_group' table.
  • public/api/test-groups.php: Added '/api/test-groups/ready-for-notification' API to 'test-group' to show all

test groups that need to send notification. Only the ones with 'completed', 'failed' or 'cancelled' status and its
'testgroup_needs_notification' is true will be returned by this API.

  • public/include/build-requests-fetcher.php: Added 'fetch_requests_for_groups' to return test groups with given ids.
  • public/include/commit-sets-helpers.php: Updated the logic to support setting 'testgroup_needs_notification'

while create an analysis_test_groups.

  • public/privileged-api/create-analysis-task.php: Updated the logic to support setting 'testgroup_needs_notification'.
  • public/privileged-api/create-test-group.php: Updated the logic to support setting 'testgroup_needs_notification'.
  • public/privileged-api/update-test-group.php: Updated the logic to support updating 'testgroup_needs_notification'.

Extended this API to allow authentication both from CSRF token and slave.

  • public/v3/components/custom-configuration-test-group-form.js:

(CustomConfigurationTestGroupForm.prototype.startTesting): Pass 'notifyOnCompletion' information which represents
'testgroup_needs_notification' from API perspective.

  • public/v3/components/customizable-test-group-form.js:

(CustomizableTestGroupForm.prototype.startTesting): Pass 'notifyOnCompletion' information which represents
'testgroup_needs_notification' from API perspective.
(CustomizableTestGroupForm.cssTemplate): Added space between 'Notify on completion' checkbox and test group iteration selection list.

  • public/v3/components/test-group-form.js:

(TestGroupForm): Added '_notifyOnCompletion' instance variable.
(TestGroupForm.prototype.didConstructShadowTree): Added 'onchange' event for notify on completion checkbox.
(TestGroupForm.prototype.startTesting): Pass 'notifyOnCompletion' information which represents
'testgroup_needs_notification' from API perspective.
(TestGroupForm.cssTemplate): Added space between 'Notify on completion' checkbox and test group iteration selection list.

  • public/v3/models/analysis-results.js: Export 'AnalysisResults'.

(AnalysisResults.fetch): Update API path to use absolute url.
(AnalysisResults):

  • public/v3/models/analysis-task.js:

(AnalysisTask.async.create): Extend this function to take notifyOnCompletion as argument which will be used as
'needsNotification' to send to server.
(AnalysisTask):

  • public/v3/models/test-group.js:

(TestGroup): Added '_needsNotification' field.
(TestGroup.prototype.updateSingleton): Added logic to update '_needsNotification' field.
(TestGroup.prototype.needsNotification): Returns '_needsNotification' field.
(TestGroup.prototype.author): Returns author information.
(TestGroup.prototype.async.didSendNotification): API that updates 'testgroup_needs_notification' to true.
(TestGroup.prototype.async.fetchTask): API to fetch the task when it has not been fetched.
(TestGroup.createWithTask): Updated this function to accept 'notifyOnCompletion' which will be used as
'needsNotification' to send to server.
(TestGroup.createWithCustomConfiguration): Updated this function to accept 'notifyOnCompletion' which will be used as
'needsNotification' to send to server.
(TestGroup.createAndRefetchTestGroups): Updated this function to accept 'notifyOnCompletion' which will be used as
'needsNotification' to send to server.
(TestGroup.fetchAllWithNotificationReady): New function that invokes '/api/test-groups/ready-for-notification'.

  • public/v3/pages/analysis-task-page.js: Update logic to 'notifyOnCompletion' around

(AnalysisTaskChartPane.prototype.didConstructShadowTree):
(AnalysisTaskResultsPane.prototype.didConstructShadowTree):
(AnalysisTaskTestGroupPane.prototype.didConstructShadowTree):
(AnalysisTaskPage.prototype.didConstructShadowTree):
(AnalysisTaskPage.prototype._retryCurrentTestGroup):
(AnalysisTaskPage.prototype.async._bisectCurrentTestGroup):
(AnalysisTaskPage.prototype._createTestGroupAfterVerifyingCommitSetList.set const):
(AnalysisTaskPage.prototype._createTestGroupAfterVerifyingCommitSetList):
(AnalysisTaskPage.prototype._createCustomTestGroup):

  • public/v3/pages/chart-pane.js: Added 'Notify on completion' checkbox.

(ChartPane.prototype.didConstructShadowTree):
(ChartPane.prototype.async._analyzeRange):

  • public/v3/pages/create-analysis-task-page.js: Adapted API change.

(CreateAnalysisTaskPage.prototype._createAnalysisTaskWithGroup):

  • server-tests/api-test-groups.js: Added tests for '/api/test-groups/ready-for-notification'.
  • server-tests/privileged-api-create-analysis-task-tests.js: Updated tests to adapt this change.

Added new tests.

  • server-tests/privileged-api-create-test-group-tests.js: Added new tests.
  • server-tests/privileged-api-update-test-group-tests.js: Added unit test for 'update-test-group' API.
  • server-tests/resources/mock-data.js: addMockData should set 'testgroup_needs_notification' to be true.
  • server-tests/tools-sync-buildbot-integration-tests.js: Updated tests to adapt this change.

(async.createTestGroupWihPatch):
(createTestGroupWihOwnedCommit):

  • tools/js/analysis-results-notifier.js: Added notifier to send notification for completed test groups.

(AnalysisResultsNotifier):
(AnalysisResultsNotifier.prototype.async.sendNotificationsForTestGroups):
(AnalysisResultsNotifier.prototype._sendNotification): Invoke remote API to send notification.
(AnalysisResultsNotifier.prototype._constructMessageByRules):
(AnalysisResultsNotifier._matchesRule):
(AnalysisResultsNotifier._applyUpdate):
(AnalysisResultsNotifier.async._messageForTestGroup): Build html as message body for a test group.
(AnalysisResultsNotifier._URLForAnalysisTask): Returns URL for an analysis task.
(AnalysisResultsNotifier._instantiateNotificationTemplate):

  • tools/js/test-group-result-page.js: Added 'TestGroupResultPage' and 'BarGraph' to show test group result.

(TestGroupResultPage):
(TestGroupResultPage.prototype.async.setTestGroup):
(TestGroupResultPage._urlForAnalysisTask):
(TestGroupResultPage.prototype._URLForAnalysisTask):
(TestGroupResultPage.prototype.constructTables):
(TestGroupResultPage.prototype._constructTableForMetric):
(TestGroupResultPage.):
(TestGroupResultPage.prototype.get pageContent):
(TestGroupResultPage.prototype.get styleTemplate):
(BarGraph):
(BarGraph.prototype.setWidth):
(BarGraph.prototype._constructBarGraph):
(BarGraph.prototype.get pageContent):
(BarGraph.prototype.get styleTemplate):

  • tools/js/measurement-set-analyzer.js: Adapted 'AnalysisTask.create' change.

(MeasurementSetAnalyzer.prototype.async._analyzeMeasurementSet):
(MeasurementSetAnalyzer):

  • tools/js/v3-models.js:
  • tools/run-analysis.js: Added the logic that sends notification for completed test groups.

(main):
(async.analysisLoop):

  • unit-tests/analysis-task-tests.js:
  • unit-tests/analysis-results-notifier-tests.js: Added a unit test for 'AnalysisResultsNotifier' and 'NotificationService'.
  • unit-tests/measurement-set-analyzer-tests.js: Updated unit tests per this change.
  • unit-tests/test-groups-tests.js: Added unit tests for 'TestGroup.needsNotification'.
  • unit-tests/resources/mock-remote-api.js: Only set 'privilegedAPI' when it exits.
8:44 PM Changeset in webkit [232611] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

Don’t install process-webcontent-entitlements.sh into the built XPC services.

  • WebKit.xcodeproj/project.pbxproj:
8:08 PM Changeset in webkit [232610] by Chris Dumez
  • 6 edits in trunk

PopStateEvent should not be cancelable by default
https://bugs.webkit.org/show_bug.cgi?id=186420

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Resync web-platform-tests after:
https://github.com/web-platform-tests/wpt/pull/11355

  • web-platform-tests/html/browsers/browsing-the-web/history-traversal/hashchange_event-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/history-traversal/hashchange_event.html:
  • web-platform-tests/html/browsers/browsing-the-web/history-traversal/popstate_event.html:

Source/WebCore:

PopStateEvent should not be cancelable by default:

All other browsers agree with the specification.

No new tests, updated existing tests.

  • dom/PopStateEvent.cpp:

(WebCore::PopStateEvent::PopStateEvent):

7:19 PM Changeset in webkit [232609] by Fujii Hironori
  • 5 edits in trunk/Tools

[Win][MiniBrowser] MiniBrowser::updateDeviceScaleFactor should be a MainWindow's method
https://bugs.webkit.org/show_bug.cgi?id=186387

Reviewed by Ryosuke Niwa.

MiniBrowser::updateDeviceScaleFactor does nothing for MiniBrowser.
It should be a MainWindow's method.

  • MiniBrowser/win/MainWindow.cpp:

(MainWindow::init): Call MainWindow::updateDeviceScaleFactor.
(MainWindow::resizeSubViews): Do not set a font every time window size is changed.
(MainWindow::WndProc): Call MainWindow::updateDeviceScaleFactor on WM_DPICHANGED.
(MainWindow::updateDeviceScaleFactor): Converted from
MiniBrowser::updateDeviceScaleFactor and
MiniBrowser::generateFontForScaleFactor. Set a URL bar's font if DPI is changed.

  • MiniBrowser/win/MainWindow.h:
  • MiniBrowser/win/MiniBrowser.cpp:

(MiniBrowser::init):
(MiniBrowser::generateFontForScaleFactor): Deleted.
(MiniBrowser::updateDeviceScaleFactor): Deleted.

  • MiniBrowser/win/MiniBrowser.h:

(MiniBrowser::deviceScaleFactor): Deleted.
(MiniBrowser::urlBarFont): Deleted.

6:03 PM Changeset in webkit [232608] by aestes@apple.com
  • 4 edits in trunk/Source/WebKit

[iOS] Inform the client when PDFKit's extension process crashes
https://bugs.webkit.org/show_bug.cgi?id=186418
<rdar://problem/40175864>

Reviewed by Tim Horton.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processDidTerminate):
(WebKit::WebPageProxy::dispatchProcessDidTerminate):

Separated the dispatching of delegate methods from the rest of the web
process-specific processDidTerminate logic.

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView web_setContentProviderData:suggestedFilename:]):

Minor style fix.

(-[WKPDFView pdfHostViewControllerExtensionProcessDidCrash:]):

Called WebPageProxy::dispatchProcessDidTerminate on the main thread.

4:23 PM Changeset in webkit [232607] by aestes@apple.com
  • 4 edits in trunk/Source/WebKit

[iOS] Unable to present the share sheet after saving a PDF to Files.app
https://bugs.webkit.org/show_bug.cgi?id=186413
<rdar://problem/39937488>

Reviewed by Tim Horton.

WKApplicationStateTrackingView (WKPDFView's superclass) keeps track of whether
it's in a window so that it can suspend and resume the web process accordingly.
However, in WKPDFView's case, PDFKit's host view is in the window instead of
WKPDFView itself when a PDF is being displayed (WKPDFView is only in a window as a
placeholder while the PDF loads). Since WKApplicationStateTrackingView doesn't
think its in a window, it suspends the web process, preventing messages necessary
to displaying the share sheet from being delivered.

Fix this by teaching WKApplicationStateTrackingView to consider the in-windowness
of the proper content view. For all cases other than WKPDFView, this is |self|.
For WKPDFView, it is the PDFHostViewController's root view if it exists, otherwise
it's |self|.

  • UIProcess/ios/WKApplicationStateTrackingView.h:
  • UIProcess/ios/WKApplicationStateTrackingView.mm:

(-[WKApplicationStateTrackingView willMoveToWindow:]):
(-[WKApplicationStateTrackingView didMoveToWindow]):
(-[WKApplicationStateTrackingView _contentView]):

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView _contentView]):
(-[WKPDFView web_contentView]):

4:20 PM Changeset in webkit [232606] by dino@apple.com
  • 2 edits in trunk/Source/WebKit

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]):

4:15 PM Changeset in webkit [232605] by Jonathan Bedard
  • 3 edits in trunk/Tools

[webkitpy] Treat svn versions as Version objects
https://bugs.webkit.org/show_bug.cgi?id=186403
<rdar://problem/40904860>

Reviewed by Dan Bernstein.

  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVN.svn_version): Return Version object instead of string.
(SVN._status_regexp): Convert version string to Version object.
(SVN.add_list): Ditto.

4:14 PM Changeset in webkit [232604] by commit-queue@webkit.org
  • 14 edits
    2 copies in trunk

Don't try to allocate JIT memory if we don't have the JIT entitlement
https://bugs.webkit.org/show_bug.cgi?id=182605
<rdar://problem/38271229>

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

Source/JavaScriptCore:

Check that the current process has the correct entitlements before
trying to allocate JIT memory to silence warnings.

  • jit/ExecutableAllocator.cpp:

(JSC::allowJIT): Helper that checks entitlements on iOS and returns true in other platforms
(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator): check allowJIT before trying to allocate

Source/WebKit:

Remove processHasEntitlement, which was moved into WTF and update all call sites.

  • Shared/mac/SandboxUtilities.h:
  • Shared/mac/SandboxUtilities.mm:

(WebKit::processHasEntitlement): Deleted.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _initializeWithConfiguration:]):

  • UIProcess/ApplicationStateTracker.mm:

(WebKit::applicationType):

  • UIProcess/ios/WKActionSheetAssistant.mm:

(applicationHasAppLinkEntitlements):

Source/WTF:

Move processHasEntitlement from Source/WebKit/Shared/mac/SandboxUtilities.h
into WTF so JavaScriptCore can also use it.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/PlatformMac.cmake:
  • wtf/cocoa/Entitlements.cpp:

(WTF::processHasEntitlement):

  • wtf/cocoa/Entitlements.h:
  • wtf/spi/cocoa/SecuritySPI.h:

Tools:

Add the Security framework to the TestWTF target, since it's required by the new function to check the entitlements.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3:07 PM Changeset in webkit [232603] by mark.lam@apple.com
  • 4 edits in trunk

Enhance run-jsc-stress-tests to allow a test to specify test specific options required for it to run.
https://bugs.webkit.org/show_bug.cgi?id=186409
<rdar://problem/40909007>

Reviewed by Saam Barati.

Tools:

This is needed because some tests are written with specific features in mind, and
we may not necessarily want to enable that option for all tests.

We can now specify something like this at the top of a test file:

@ requireOptions("--useIntlPluralRules=true")

... and ensure that that test will be run with the --useIntlPluralRules=true
option for all test configurations that run the test.

  • Scripts/run-jsc-stress-tests:

LayoutTests:

  • js/script-tests/intl-pluralrules.js:
3:06 PM Changeset in webkit [232602] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

TierUpCheckInjectionPhase systematically never puts the outer-most loop in an inner loop's vector of outer loops
https://bugs.webkit.org/show_bug.cgi?id=186386

Reviewed by Filip Pizlo.

This looks like an 8% speedup on Kraken's imaging-gaussian-blur subtest.

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):

3:03 PM Changeset in webkit [232601] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

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.

2:16 PM Changeset in webkit [232600] by Kocsen Chung
  • 17 edits
    1 delete in tags/Safari-606.1.20/Source/WebKit

Revert r232556. rdar://problem/38477288

2:05 PM Changeset in webkit [232599] by ddkilzer@apple.com
  • 4 edits in trunk/Source/bmalloc

bmalloc: Fix 'noreturn' warnings when compiling with -std=gnu++17
<https://webkit.org/b/186400>

Reviewed by Saam Barati.

Fixes the following warnings when compiling with gnu++17:

Source/bmalloc/bmalloc/Scavenger.cpp:363:1: error: function 'threadRunLoop' could be declared with attribute 'noreturn' [-Werror,-Wmissing-noreturn]
{

Source/bmalloc/bmalloc/Scavenger.cpp:358:1: error: function 'threadEntryPoint' could be declared with attribute 'noreturn' [-Werror,-Wmissing-noreturn]
{

  • bmalloc/BCompiler.h:

(BCOMPILER): Add support for the BCOMPILER() macro, then add
BCOMPILER(GCC_OR_CLANG). Taken from Source/WTF/wtf/Compiler.h.
(BNO_RETURN): Implement 'norerturn' support using the new
BCOMPILER() macros. Taken from Source/WTF/wtf/Compiler.h.

  • bmalloc/Scavenger.cpp:

(bmalloc::Scavenger::threadRunLoop): Remove the workaround that
tricked older compilers into thinking the while() loop wasn't
infinite.

  • bmalloc/Scavenger.h:

(bmalloc::Scavenger::threadEntryPoint): Add BNO_RETURN attribute.
(bmalloc::Scavenger::threadRunLoop): Ditto.

2:01 PM Changeset in webkit [232598] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

FunctionRareData::m_objectAllocationProfileWatchpoint is racy
https://bugs.webkit.org/show_bug.cgi?id=186237

Reviewed by Saam Barati.

We initialize it blind and let it go into auto-watch mode once the DFG adds a watchpoint, but
that means that we never notice that it fired if it fires between when the DFG decides to
watch it and when it actually adds the watchpoint.

Most watchpoints are initialized watched for this purpose. This one had a somewhat good
reason for being initialized blind: that's how we knew to ignore changes to the prototype
before the first allocation. However, that functionality also arose out of the fact that the
rare data is created lazily and usually won't exist until the first allocation.

The fix here is to make the watchpoint go into watched mode as soon as we initialize the
object allocation profile.

It's hard to repro this race, however it started causing spurious test failures for me after
bug 164904.

  • runtime/FunctionRareData.cpp:

(JSC::FunctionRareData::FunctionRareData):
(JSC::FunctionRareData::initializeObjectAllocationProfile):

1:45 PM Changeset in webkit [232597] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Remove a log that was left in by mistake.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::pruneLiveResourcesToSize):

12:51 PM Changeset in webkit [232596] by graouts@webkit.org
  • 7 edits in trunk/Source/WebCore

[ASan / StressGC] DumpRenderTree crashed in com.apple.WebCore: WebCore::EventTarget::ref + 16
https://bugs.webkit.org/show_bug.cgi?id=186207
<rdar://problem/40568747>

Reviewed by Dean Jackson.

Ensure that we clear the DOM event queue for declarative animations once an animation is cleared for
an element since the element can be deleted before events get dispatched asynchronouly for this animation.

We also only call AnimationTimeline::removeAnimationsForElement() from RenderTreeUpdater::tearDownRenderers()
in the case where we're tearing down the whole document as otherwise this would yield early clearing of the event
queue in the case where an element would get a "display: none" style.

  • animation/AnimationTimeline.cpp:

(WebCore::AnimationTimeline::removeAnimationsForElement):

  • animation/DeclarativeAnimation.cpp:

(WebCore::DeclarativeAnimation::~DeclarativeAnimation):
(WebCore::DeclarativeAnimation::prepareAnimationForRemoval):

  • animation/DeclarativeAnimation.h:
  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::prepareAnimationForRemoval):

  • animation/WebAnimation.h:
  • rendering/updating/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::tearDownRenderers):

12:48 PM Changeset in webkit [232595] by jiewen_tan@apple.com
  • 2 edits in trunk/Source/WebKit

Use the same overloaded addInputString in WKContentViewInteraction
https://bugs.webkit.org/show_bug.cgi?id=186376
<rdar://problem/18498360>

Reviewed by Brent Fulgham.

Different overloaded variants of [UIKeyboardImpl -addInputString] behaves differently. We should use the same
overloaded variant consistently: [UIKeyboardImpl -addInputString:withFlags:withInputManagerHint:].

Sadly, there is no test case for this change as:
1) UIScriptController has troubles simulating '\r' keyboard event, and
2) API test couldn't simulate proper UI keyboard events.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _interpretKeyEvent:isCharEvent:]):

12:19 PM Changeset in webkit [232594] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

REGRESSION(r224134) Client certificate challenges don't always appear
https://bugs.webkit.org/show_bug.cgi?id=186402
<rdar://problem/35967150>

Patch by Alex Christensen <achristensen@webkit.org> on 2018-06-07
Reviewed by Brian Weinstein.

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::completeAuthenticationChallenge):
Add an exception for all TLS-handshake-related challenges, not just server trust.

12:17 PM Changeset in webkit [232593] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r232544): [iOS] TestWebKitAPI.WebKit.OverrideLayoutSizeChangesDuringAnimatedResizeSucceed is failing
https://bugs.webkit.org/show_bug.cgi?id=186395
<rdar://problem/40902427>

Reviewed by Wenson Hsieh.

  • TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:

(TEST):
endAnimatedResize no longer synchronizes, so we have to wait for the next presentation update.

11:47 AM Changeset in webkit [232592] by bshafiei@apple.com
  • 7 edits in branches/safari-605-branch/Source

Versioning.

11:38 AM Changeset in webkit [232591] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

Release assert in Document::updateLayout() in WebPage::determinePrimarySnapshottedPlugIn()
https://bugs.webkit.org/show_bug.cgi?id=186383
<rdar://problem/40849498>

Reviewed by Jon Lee.

Source/WebKit:

The release assert was hit because the descendent elemenet iterator, which instantiates ScriptDisallowedScope,
was alive as determinePrimarySnapshottedPlugIn invoked Document::updateLayout. Avoid this by copying
the list of plugin image elements into a vector first.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::determinePrimarySnapshottedPlugIn): Fixed the release assert, and deployed Ref and RefPtr
to make this code safe.

LayoutTests:

Added a regression test.

  • plugins/snapshotting/determine-primary-snapshotted-plugin-crash-expected.txt: Added.
  • plugins/snapshotting/determine-primary-snapshotted-plugin-crash.html: Added.
11:36 AM Changeset in webkit [232590] by don.olmstead@sony.com
  • 12 edits in trunk/Source

[CoordGraphics] Fix compilation errors around USE(COORDINATED_GRAPHICS)
https://bugs.webkit.org/show_bug.cgi?id=186374

Reviewed by Žan Doberšek.

Source/WebCore:

No new tests. No change in behavior.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::reconcileScrollingState):
(WebCore::AsyncScrollingCoordinator::reconcileViewportConstrainedLayerPositions):

  • page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
  • page/scrolling/coordinatedgraphics/ScrollingTreeFixedNode.cpp:
  • page/scrolling/coordinatedgraphics/ScrollingTreeStickyNode.cpp:
  • platform/PlatformWheelEvent.h:
  • platform/graphics/nicosia/NicosiaPaintingEngineThreaded.cpp:
  • platform/graphics/nicosia/NicosiaPaintingEngineThreaded.h:
  • platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:
  • platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:

Source/WebKit:

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::sceneUpdateFinished):

11:31 AM Changeset in webkit [232589] by commit-queue@webkit.org
  • 20 edits
    24 adds in trunk

[GTK][WPE] Start implementing MediaStream API
https://bugs.webkit.org/show_bug.cgi?id=185787

Source/WebCore:

Patch by Thibault Saunier <tsaunier@igalia.com> and Alejandro G. Castro <alex@igalia.com> on 2018-06-07
Reviewed by Philippe Normand.

We are adding all the required classes to make the
MediaStream API work, that means our own RealtimeMediaSourceCenterLibWebRTC
for the platform, the GStreamerCaptureDeviceManager, the audio/video capturers
and their respective audio/video sources as well as a dedicated GStreamer Source
that adds support for using MediaStream stream inside playbin3.
We are using the GstDeviceMonitor to list devices on the devices.

Enable mediastream tests.

  • platform/GStreamer.cmake: Added the new files to the compilation.
  • platform/audio/AudioStreamDescription.h: Added new GStreamer type.
  • platform/audio/PlatformAudioData.h: Added new GStreamer type for

the GStreamerAudioData class.

  • platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::simpleBusMessageCallback): This function and the next
one help us to connect a monitoring callback to a pipeline for
debugging.
(WebCore::connectSimpleBusMessageCallback): Ditto.

  • platform/graphics/gstreamer/GStreamerCommon.h: Ditto
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::load): Make use of the loadFull() method.
(WebCore::MediaPlayerPrivateGStreamer::loadFull): Very similar to load()
but allows specifying what pipeline type to use (null to let the function determine
which one should be used). This is required as we force to always use playbin3 for the
mediastream source as it relies on the GstStream API.
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition const): Style fix.
(WebCore::MediaPlayerPrivateGStreamer::naturalSize const): Added, use MediaStream specific information if available.
(WebCore::MediaPlayerPrivateGStreamer::updateTracks): Some style fixes.
(WebCore::MediaPlayerPrivateGStreamer::handleMessage): Enhance dotfiles names.
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry): Minor formatting fix.
(WebCore::MediaPlayerPrivateGStreamer::sourceSetup): Set MediaStream on WebKitMediaStreamSource when setting it up.
(WebCore::MediaPlayerPrivateGStreamer::supportsType): Advertise that we support MediaStream if support is built.
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Make sure playbin3 is forced when loading a MediaStream.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Add a reference to the MediaStream object and declare loadFull and naturalSize override.
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::registerWebKitGStreamerElements): Register the new MediaStreamSrc element.

  • platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:

(WebCore::VideoTrackPrivateGStreamer::VideoTrackPrivateGStreamer): Make sure that MediaStream MAIN tracks are selected by default. We have no way to do it in MediaStreamSrc now as the GstStreamCollection is recreated by parsebin.

  • platform/mediastream/RealtimeMediaSource.h: Make CaptureFailed a virtual method as in our mocks we require need to make
  • platform/mediastream/RealtimeMediaSourceCenter.cpp:

(WebCore::RealtimeMediaSourceCenter::singleton): Remove the code
used for compilation for the platform when we do not have a
RealtimeMediaSourceCenterLibWebRTC. Now we return the proper class
for the platform.

  • platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp:

Added class representing the RealtimeMediaSource for the Audio
with GStreamer.

  • platform/mediastream/gstreamer/GStreamerAudioCaptureSource.h:

Ditto.

  • platform/mediastream/gstreamer/GStreamerAudioCapturer.cpp: Added

this class that represents the GStreamer pipeline that captures
audio from the system devices, it inherits from GStreamerCapturer.

  • platform/mediastream/gstreamer/GStreamerAudioCapturer.h: Dito.
  • platform/mediastream/gstreamer/GStreamerAudioData.h: Added this

class implementing PlatformAudioData for the GStreamer platform,
used to pass the samples information.

  • platform/mediastream/gstreamer/GStreamerAudioStreamDescription.h:

Added this class implementing AudioStreamDescription to export the
information about the audio stream to libwebrtc.

  • platform/mediastream/gstreamer/GStreamerCaptureDevice.h: Added

this base class for the audio and video capturing devices, it
implements general WebKit CaptureDevice class.

  • platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.cpp:

Added this class that implements the system monitor to get the
list of available devices in the system. It uses GstDeviceMonitor
to handle the operation. It uses two singleton device managers one
for audio and another one for video, as required by the
RealtimeMediaSourceCenter design.

  • platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.h: Ditto.
  • platform/mediastream/gstreamer/GStreamerCapturer.cpp: Added this

base class representing how GStreamer captures the media from the
input devices in the system. Two classes inherit from this one to
capture audio and video. It setups the GStreamer pipeline and adds
functions to control it.

  • platform/mediastream/gstreamer/GStreamerCapturer.h: Ditto.
  • platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp: Added.

Implements a subclass of GstBin as a source element that will contain several
GstAppSrc, basically one per MediaStreamTrackPrivate of the MediaStreamPrivate
passed in parameter. It adds Observers on the MediaStreamTracks and
pushes the data to the sources as required. The element implements the GstURIHandler
interface so it can be used in playbin. The MediaPlayerPrivateGStreamer is responsible
for passing the MediaStreamPrivate object to the source when required.
(WebCore::webkitMediaStreamSrcPadProbeCb): Event probe that fixes stream_start events (setting the ID etc)
and finally add src pads to the pipeline.

  • platform/mediastream/gstreamer/GStreamerMediaStreamSource.h: Ditto.
  • platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:

Added this RealtimeMediaSource representing the source of the
video data for the GStreamer platform. It handles the settings and
capabilities of the source and creates the capturer used to
control the operation of the stream.

  • platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h: Ditto.
  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp: Added

this class that inherits from the GStreamerCapturer and controls
the GStreamer pipelines of the video streams of the system.

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.h: Ditto.
  • platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.cpp: Added. Implementation of a Mock capturer for audio stream.

Subclasses GStreamerAudioCapturer and wraps a MockRealtimeAudioSource so that the behaviour is the same a MockRealtimeAudioSource
but still the GStreamer implementation code paths are tested.

  • platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.h: Ditto.
  • platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.cpp: Added. Implementation of a Mock capturer for video stream.

Subclasses GStreamerVideoCapturer and wraps a MockRealtimeVideoSource so that the behaviour is the same a MockRealtimeVideoSource
but still the GStreamer implementation code paths are tested.

  • platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.h: Ditto.
  • platform/mediastream/gstreamer/RealtimeMediaSourceCenterLibWebRTC.cpp:

Added this class that implements the key RealtimeMediaSourceCenter
functions to configure the base class for the platform, using the
other GStreamer classes.

  • platform/mock/MockRealtimeAudioSource.cpp: Do not build ::create if GStreamer implementation is built
  • platform/mock/MockRealtimeVideoSource.cpp: Do not build ::create if GStreamer implementation is built

Tools:

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-06-07
Reviewed by Philippe Normand.

  • Scripts/webkitpy/style/checker.py: Apply special formatting rules for new GObject subclasses.
  • gstreamer/jhbuild.modules: Added a patch for the gst-plugins-base.
  • gstreamer/patches/gst-plugins-base-0001-parsebin-Post-STREAM_COLLECTION-on-EVENT_STREAM_COLL.patch:

Added this fix to gst-plugings-base to fix the decodebin3. Merged as 89d0e9cc92a86aa0227ee87406737b6d31670aea

LayoutTests:

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-06-07
Reviewed by Philippe Normand.

  • platform/gtk/TestExpectations: Reactivate MediaStream tests and enable all tests

related to the mediaDevice.enumerateDevices and MediaStream (not RTCPeerConnection nor
webaudio).

11:25 AM Changeset in webkit [232588] by rniwa@webkit.org
  • 11 edits
    6 adds in trunk/Websites/perf.webkit.org

Add the basic support for writing components in node.js
https://bugs.webkit.org/show_bug.cgi?id=186299

Reviewed by Antti Koivisto.

Add the basic support for writing components in node.js for generating rich email notifications.

To do this, this patch introduces MarkupComponentBase and MarkupPage which implement similar API
to ComponentBase and Page classes of v3 UI code. This enables us to share code between frontend
and the backend in the future. Because there is no support for declarative custom elements or
shadow root in HTML, MarkupComponentBase uses a similar but distinct concept of "content" tree
to represent the "DOM" tree for a component. When generating the HTML, MarkupComponentBase and
MarkupPage collectively transforms stylesheets and flattens the tree into a single HTML. In order
to keep this flatteneing logic simple, MarkupComponentBase only supports a very small subset of
CSS selectors to select elements by their local names and class names.

Specifically, each class name and element name based selectors are replaced by a globally unique
class name based selector, and each element which matches the selector is applied of the same
globally unique class name. The transformation is applied when constructing the "content" tree
as well as calls to renderReplace.

Because much of v3 frontend code relies on DOM API, this patch also implements the simplest form
of a fake DOM API as MarkupNode, MarkupParentNode, MarkupElement, and MarkupText. In order to avoid
reimplementing HTML & CSS parsers, this patch introduces the concept of content and style templates
to ComponentBase which are JSON alternatives to HTML & CSS template strings which can be used in
both frontend & backend.

  • browser-tests/close-button-tests.js: Include CommonComponentBase.
  • browser-tests/commit-log-viewer-tests.js: Ditto.
  • browser-tests/component-base-tests.js: Ditto. Added a test cases for content & style templates.

(async.importComponentBase): Added.

  • browser-tests/editable-text-tests.js: Include CommonComponentBase.
  • browser-tests/index.html:
  • browser-tests/markup-page-tests.js: Added.
  • browser-tests/page-router-tests.js: Include CommonComponentBase.
  • browser-tests/page-tests.js: Ditto.
  • browser-tests/test-group-form-tests.js: Ditto.
  • public/shared/common-component-base.js: Added.

(CommonComponentBase): Extracted out of ComponentBase.
(CommonComponentBase.prototype.renderReplace): Added.
(CommonComponentBase.renderReplace): Moved from ComponentBase.
(CommonComponentBase.prototype._recursivelyUpgradeUnknownElements): Moved and renamed from
ComponentBase's _recursivelyReplaceUnknownElementsByComponents.
(CommonComponentBase.prototype._upgradeUnknownElement): Extracted out of the same function.
(CommonComponentBase._constructStylesheetFromTemplate): Added.
(CommonComponentBase._constructNodeTreeFromTemplate): Added.
(CommonComponentBase.prototype.createElement): Added.
(CommonComponentBase.createElement): Moved from ComponentBase.
(CommonComponentBase._addContentToElement): Moved from ComponentBase.
(CommonComponentBase.prototype.createLink): Added.
(CommonComponentBase.createLink): Moved from ComponentBase.
(CommonComponentBase._context): Added. Set to document in a browser and MarkupDocument in node.js.
(CommonComponentBase._isNode): Added. Set to a function which does instanceof Node/MarkupNode check.
(CommonComponentBase._baseClass): Added. Set to ComponentBase or MarkupComponentBase.

  • public/v3/components/base.js:

(ComponentBase):
(ComponentBase.prototype._ensureShadowTree): Added the support for the content and style templates.
Also avoid parsing the html template each time a component is instantiated by caching the result.

  • public/v3/index.html:
  • tools/js/markup-component.js: Added.

(MarkupDocument): Added. A fake Document.
(MarkupDocument.prototype.createContentRoot): A substitude for attachShadow.
(MarkupDocument.prototype.createElement):
(MarkupDocument.prototype.createTextNode):
(MarkupDocument.prototype._idForClone):
(MarkupDocument.prototype.reset):
(MarkupDocument.prototype.markup):
(MarkupDocument.prototype.escapeAttributeValue):
(MarkupDocument.prototype.escapeNodeData):
(MarkupNode): Added. A fake Node. Each node gets an unique ID.
(MarkupNode.prototype._markup):
(MarkupNode.prototype.clone): Implemented by the leave class.
(MarkupNode.prototype._cloneNodeData):
(MarkupNode.prototype.remove):
(MarkupParentNode): Added. An equivalent of ContainerNode in WebCore.
(MarkupParentNode.prototype.get childNodes):
(MarkupParentNode.prototype._cloneNodeData):
(MarkupParentNode.prototype.appendChild):
(MarkupParentNode.prototype.removeChild):
(MarkupParentNode.prototype.removeAllChildren):
(MarkupParentNode.prototype.replaceChild):
(MarkupContentRoot): Added. Used like a shadow tree.
(MarkupContentRoot.prototype._markup): Added.
(MarkupElement): Added. A fake Element. It also implements a subset of IDL attributes implemented by
subclasses such as HTMLInputElement for simplicity.
(MarkupElement.prototype.get id): Added.
(MarkupElement.prototype.get localName): Added.
(MarkupElement.prototype.clone): Added.
(MarkupElement.prototype.appendChild): Added.
(MarkupElement.prototype.addEventListener): Added.
(MarkupElement.prototype.setAttribute): Added.
(MarkupElement.prototype.getAttribute): Added.
(MarkupElement.prototype.get attributes): Added.
(MarkupElement.prototype.get textContent): Added.
(MarkupElement.prototype.set textContent): Added.
(MarkupElement.prototype._serializeStyle): Added.
(MarkupElement.prototype._markup): Added. Flattens the tree with content tree like copy & paste so
this can't be used to implement innerHTML.
(MarkupElement.prototype.get value): Added.
(MarkupElement.prototype.set value): Added.
(MarkupElement.prototype.get style): Added. Returns a fake writeonly CSSStyleDeclaration.
(MarkupElement.prototype.set style): Added.
(MarkupElement.get selfClosingNames): Added. A small list of self-closing tags for the HTML generation.
(MarkupText): Added.
(MarkupText.prototype.clone): Added.
(MarkupText.prototype._markup): Added.
(MarkupText.prototype.get data): Added.
(MarkupText.prototype.set data): Added.
(MarkupComponentBase): Added.
(MarkupComponentBase.prototype.element): Added. Like ComponentBase's element.
(MarkupComponentBase.prototype.content): Added. Like ComponentBase's content.
(MarkupComponentBase.prototype._findElementRecursivelyById): Added. A fake getElementById.
(MarkupComponentBase.prototype.render): Added. Like ComponentBase's render.
(MarkupComponentBase.prototype.runRenderLoop): Added. In ComponentBase, we use requestAnimationFrame.
In MarkupComponentBase, we keep rendering until the queue drains empty.
(MarkupComponentBase.prototype.renderReplace): Added. Like ComponentBase's renderReplace but applies
the transformation of classes to workaround the lack of shadow tree support in scriptless HTML.
(MarkupComponentBase.prototype._applyStyleOverrides): Added. Recursively applies the transformation.
(MarkupComponentBase.prototype._ensureContentTree): Added. Like ComponentBase's _ensureShadowTree.
(MarkupComponentBase.reset): Added.
(MarkupComponentBase._parseTemplates): Added. Parses the content & style templates, and generates the
transformed fake DOM tree and stylesheet text whereby selectors in each component is modified to be
unique across all components. The function to apply the necessary changes to an element is saved in
the global map of components, and later used in renderReplace via _applyStyleOverrides.
(MarkupComponentBase.defineElement): Added. Like ComponentBase's defineElement.
(MarkupComponentBase.prototype.createEventHandler): Added.
(MarkupComponentBase.createEventHandler): Added.
(MarkupPage): Added. The top-level component responsible for generating a DOCTYPE, head, and body.
(MarkupPage.prototype.pageTitle): Added.
(MarkupPage.prototype.content): Added. Overrides the one in MarkupComponentBase to return what would
be the content of the body element as opposed to the html element for the connivance of subclasses,
and to match the behavior of the frontend Page class.
(MarkupPage.prototype.render): Added.
(MarkupPage.prototype._updateComponentsStylesheet): Added. Concatenates the transformed stylesheet of
all components used.
(MarkupPage.get contentTemplate): Added.
(MarkupPage.prototype.generateMarkup): Added. Enqueues the page to render, spin the render loop, and
generates the HTML. We enqueue the page twice in order to invoke _updateComponentsStylesheet after
all subcomponent had finished rendering.

  • unit-tests/markup-component-base-tests.js: Added.
  • unit-tests/markup-element-tests.js: Added.

(.createElement): Added.

  • unit-tests/markup-page-tests.js: Added.
10:43 AM Changeset in webkit [232587] by commit-queue@webkit.org
  • 4 edits in trunk

Update web-platform-tests github location in webkitpy.w3c.test_importer
https://bugs.webkit.org/show_bug.cgi?id=186392

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

LayoutTests/imported/w3c:

  • resources/TestRepositories:

Tools:

  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.write_import_log):

10:24 AM Changeset in webkit [232586] by Kocsen Chung
  • 2 edits in tags/Safari-606.1.20/Source/WebCore

Cherry-pick r232563. rdar://problem/40439109

Display links are sometimes not notifying WebCore when fired.
https://bugs.webkit.org/show_bug.cgi?id=186367
<rdar://problem/40439109>

Reviewed by Brent Fulgham.

When the WebContent process is receiving an IPC message notifying about a screen update, all display refresh monitors
are notified by the manager in DisplayRefreshMonitorManager::displayWasUpdated(). The manager checks that the monitor
is scheduled before notifying. This is a problem, since the scheduled flag is always set to false in the
DisplayRefreshMonitor::displayDidRefresh() method, when the monitor is first notified about a screen update. This can
lead to display links running without notifying the monitors, causing extra CPU usage. It can also prevent them from
being deleted, since the monitors are not notified. Instead, we can check that the display refresh monitor is active
before notifying it. This matches the original display link implementation used when the WebContent process has
WindowServer access, where the monitors are always notified.

No new tests, since I have not been able to reproduce this in a test case yet.

  • platform/graphics/DisplayRefreshMonitorManager.cpp: (WebCore::DisplayRefreshMonitorManager::displayWasUpdated):

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

10:05 AM Changeset in webkit [232585] by Brent Fulgham
  • 13 edits in trunk

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
9:46 AM Changeset in webkit [232584] by Brent Fulgham
  • 4 edits
    4 adds in trunk

Handle Storage Access API calls in the absence of an attached frame
https://bugs.webkit.org/show_bug.cgi?id=186373
<rdar://problem/40028265>

Reviewed by Daniel Bates.

Source/WebCore:

Tests: http/tests/storageAccess/has-storage-access-crash.html

http/tests/storageAccess/request-storage-access-crash.html

The new frame-specific storage access checks were done without confirming a
frame was present, although the frame state was validated in other parts of
the same method.

This patch checks for a non-null frame before making frame-specific calls.

  • dom/Document.cpp:

(WebCore::Document::hasStorageAccess):
(WebCore::Document::requestStorageAccess):

LayoutTests:

  • http/tests/storageAccess/has-storage-access-crash-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-crash.html: Added.
  • http/tests/storageAccess/request-storage-access-crash-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-crash.html: Added.
  • platform/mac-wk2/TestExpectations: Add the two new tests for HighSierra+
9:24 AM Changeset in webkit [232583] by Jonathan Bedard
  • 4 edits
    1 add in trunk/Tools

webkitperl: Generalize .internal SDK suffix
https://bugs.webkit.org/show_bug.cgi?id=186352
<rdar://problem/40853947>

Reviewed by Alexey Proskuryakov.

  • Scripts/build-webkit:
  • Scripts/package-root:

(usage):

  • Scripts/webkitdirs.pm:

(parseAvailableXcodeSDKS): Parse 'xcodebuild -showsdks' output.
(availableXcodeSDKS): Generate a list of all available Xcode SDKs on this machine.
(determineXcodeSDK): Always prefer .internal SDKs if available.

  • Scripts/webkitperl/webkitdirs_unittest/availableXcodeSDKS.pl:
9:11 AM Changeset in webkit [232582] by Kocsen Chung
  • 84 edits in tags/Safari-606.1.20

Cherry-pick r232559. rdar://problem/39874167

Rename color-filter to -apple-color-filter and do not expose it to Web content
https://bugs.webkit.org/show_bug.cgi?id=186306
<rdar://problem/39874167>

Reviewed by Simon Fraser.

Source/WebCore:

Rename the color-filter CSS property to -apple-color-filter.

  • animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::checkForMatchingColorFilterFunctionLists):
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyinStyle):
  • css/CSSGradientValue.cpp: (WebCore::CSSGradientValue::image): (WebCore::CSSGradientValue::computeStops): (WebCore::CSSGradientValue::knownToBeOpaque const):
  • css/CSSProperties.json:
  • css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::parseSingleValue):
  • page/animation/CSSPropertyAnimation.cpp: (WebCore::blendFunc): (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::checkForMatchingColorFilterFunctionLists):
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::checkForMatchingColorFilterFunctionLists):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintMarkedTextForeground): (WebCore::InlineTextBox::paintMarkedTextDecoration):
  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::changeRequiresRepaint const): (WebCore::RenderStyle::visitedDependentColorWithColorFilter const): (WebCore::RenderStyle::colorByApplyingColorFilter const):
  • rendering/style/RenderStyle.h: (WebCore::RenderStyle::mutableAppleColorFilter): (WebCore::RenderStyle::appleColorFilter const): (WebCore::RenderStyle::hasAppleColorFilter const): (WebCore::RenderStyle::setAppleColorFilter): (WebCore::RenderStyle::initialAppleColorFilter): (WebCore::RenderStyle::mutableColorFilter): Deleted. (WebCore::RenderStyle::colorFilter const): Deleted. (WebCore::RenderStyle::hasColorFilter const): Deleted. (WebCore::RenderStyle::setColorFilter): Deleted. (WebCore::RenderStyle::initialColorFilter): Deleted.
  • rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): (WebCore::StyleRareInheritedData::hasColorFilters const):
  • rendering/style/StyleRareInheritedData.h:

Source/WebKit:

Change the ColorFilter setting to no longer be exposed as an experimental feature and ensure it's turned off by default.
To allow internal clients to use the -apple-color-filter property, we expose a new _colorFilterEnabled property as SPI
to WKWebViewConfigurationPrivate.

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetColorFilterEnabled): (WKPreferencesGetColorFilterEnabled):
  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]):
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _setAttachmentElementEnabled:]): (-[WKWebViewConfiguration _colorFilterEnabled]): (-[WKWebViewConfiguration _setColorFilterEnabled:]):
  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:

Tools:

Adding an option to turn support for the -apple-color-filter property on via an HTML comment.

  • DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions):
  • DumpRenderTree/TestOptions.h:
  • DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions):
  • WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): (WTR::updateTestOptionsFromTestHeader):
  • WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const):
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView):

LayoutTests:

Update tests for color-filter to test -apple-color-filter and explicitly turn the feature on since it's disabled by default.
We also update a test to not use the colorFilter accessor and setter on CSSStyleDeclaration because using an -apple- prefix
will no longer expose such a getter or setter, using getPropertyValue() and setProperty() instead.

  • animations/resources/animation-test-helpers.js: (getPropertyValue): (comparePropertyValue):
  • css3/color-filters/color-filter-animation-expected.txt:
  • css3/color-filters/color-filter-animation.html:
  • css3/color-filters/color-filter-backgrounds-borders-expected.html:
  • css3/color-filters/color-filter-backgrounds-borders.html:
  • css3/color-filters/color-filter-box-shadow-expected.html:
  • css3/color-filters/color-filter-box-shadow.html:
  • css3/color-filters/color-filter-brightness-expected.html:
  • css3/color-filters/color-filter-brightness.html:
  • css3/color-filters/color-filter-caret-color-expected.html:
  • css3/color-filters/color-filter-caret-color.html:
  • css3/color-filters/color-filter-color-property-expected.html:
  • css3/color-filters/color-filter-color-property-list-item-expected.html:
  • css3/color-filters/color-filter-color-property-list-item.html:
  • css3/color-filters/color-filter-color-property.html:
  • css3/color-filters/color-filter-color-text-decorations-expected.html:
  • css3/color-filters/color-filter-color-text-decorations.html:
  • css3/color-filters/color-filter-column-rule-expected.html:
  • css3/color-filters/color-filter-column-rule.html:
  • css3/color-filters/color-filter-contrast-expected.html:
  • css3/color-filters/color-filter-contrast.html:
  • css3/color-filters/color-filter-current-color-expected.html:
  • css3/color-filters/color-filter-current-color.html:
  • css3/color-filters/color-filter-filter-list-expected.html:
  • css3/color-filters/color-filter-filter-list.html:
  • css3/color-filters/color-filter-gradients-expected.html:
  • css3/color-filters/color-filter-gradients.html:
  • css3/color-filters/color-filter-grayscale-expected.html:
  • css3/color-filters/color-filter-grayscale.html:
  • css3/color-filters/color-filter-hue-rotate-expected.html:
  • css3/color-filters/color-filter-hue-rotate.html:
  • css3/color-filters/color-filter-inherits-expected.html:
  • css3/color-filters/color-filter-inherits.html:
  • css3/color-filters/color-filter-invert-expected.html:
  • css3/color-filters/color-filter-invert.html:
  • css3/color-filters/color-filter-opacity-expected.html:
  • css3/color-filters/color-filter-opacity.html:
  • css3/color-filters/color-filter-outline-expected.html:
  • css3/color-filters/color-filter-outline.html:
  • css3/color-filters/color-filter-parsing-expected.txt:
  • css3/color-filters/color-filter-parsing.html:
  • css3/color-filters/color-filter-saturate-expected.html:
  • css3/color-filters/color-filter-saturate.html:
  • css3/color-filters/color-filter-sepia-expected.html:
  • css3/color-filters/color-filter-sepia.html:
  • css3/color-filters/color-filter-text-decoration-shadow-expected.html:
  • css3/color-filters/color-filter-text-decoration-shadow.html:
  • css3/color-filters/color-filter-text-emphasis-expected.html:
  • css3/color-filters/color-filter-text-emphasis.html:
  • css3/color-filters/color-filter-text-shadow-expected.html:
  • css3/color-filters/color-filter-text-shadow.html:
  • css3/color-filters/color-filter-text-stroke-expected.html:
  • css3/color-filters/color-filter-text-stroke.html:
  • css3/color-filters/svg/color-filter-inline-svg-expected.html:
  • css3/color-filters/svg/color-filter-inline-svg.html:

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

8:39 AM Changeset in webkit [232581] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

[LFC] Merge height and vertical margin computation
https://bugs.webkit.org/show_bug.cgi?id=186394

Reviewed by Antti Koivisto.

To match the spec (and the width/horizontal margin computation). -currently with default values.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeFloatingHeightAndMargin const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHeight const):
(WebCore::Layout::FormattingContext::computeFloatingHeight const): Deleted.

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

(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::outOfFlowNonReplacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHeight): Deleted.
(WebCore::Layout::floatingNonReplacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeight): Deleted.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layout const):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin const):
(WebCore::Layout::BlockFormattingContext::computeInFlowHeightAndMargin const):
(WebCore::Layout::BlockFormattingContext::computeHeight const): Deleted.
(WebCore::Layout::BlockFormattingContext::computeInFlowHeight const): Deleted.

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

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeight): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeight): Deleted.

7:59 AM Changeset in webkit [232580] by Antti Koivisto
  • 4 edits in trunk

Don't start service worker fetch when there is substitute data
https://bugs.webkit.org/show_bug.cgi?id=186349
<rdar://problem/38881568>

Reviewed by Youenn Fablet.

Loading content via WKWebView.loadData may also end up starting a main resource service worker fetch.
This breaks DocumentWriter assumptions.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::tryLoadingRequestFromApplicationCache):
(WebCore::DocumentLoader::tryLoadingSubstituteData):

Factor substitute resource loading out from tryLoadingRequestFromApplicationCache.

(WebCore::DocumentLoader::startLoadingMainResource):

If we have substitute data already (typically from WKWebView.loadData), allow service worker registration
but load the main resource using the substitute data.

(WebCore::DocumentLoader::handleSubstituteDataLoadSoon): Deleted.

Merge to tryLoadingSubstituteData.

  • loader/DocumentLoader.h:
2:36 AM Changeset in webkit [232579] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GStreamer] Fix the way GstStreamCollection is handled
https://bugs.webkit.org/show_bug.cgi?id=184588

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-06-07
Reviewed by Philippe Normand.

The stream collection message replaces the collection of stream previously
advertised, this means that we should rebuild our set of Track from scratch
and not update previously exposed tracks.

In the end, this simplifies the code as we do not care about what
tracks existed previously, we just need to expose what GStreamer tells
us, deleting any previous state.

Handle the STREAM_COLLECTION message from the sync handler so that tracks
are updated before we mark the pipeline as READY for the live case (everything
happen synchronously with the call to the load() method in that case),
the update still always happens on the main thread.

No new tests is added as this is mostly refactoring, it is already tested and it
will fix MediaStream tests that are currently disabled as the support is being
implemented in #185787.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::clearTracks): Removes all tracks.
(WebCore::MediaPlayerPrivateGStreamer::updateTracks): Updates configured tracks from the new GstStreamColection track.
(WebCore::MediaPlayerPrivateGStreamer::handleMessage): Stop handling GST_STREAM_COLLECTION event.
(WebCore::MediaPlayerPrivateGStreamer::handleSyncMessage): Handle stream collection event synchronously.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Add handleSyncMessage
1:44 AM Changeset in webkit [232578] by sbarati@apple.com
  • 3 edits
    1 add in trunk

Make DFG to FTL OSR entry code more sane by removing bad RELEASE_ASSERTS and making it trigger compiles in outer loops before inner ones
https://bugs.webkit.org/show_bug.cgi?id=186218
<rdar://problem/38449540>

Reviewed by Filip Pizlo.

JSTests:

  • stress/dont-crash-ftl-osr-entry.js: Added.

Source/JavaScriptCore:

This patch makes tierUpCommon a tad bit more sane. There are a few things
that I did:

  • There were a few release asserts that were crashing. Those release asserts

were incorrect. They were making assumptions about how the code and data
structures were ordered that were wrong. This patch removes them. The code
was using the loop hierarchy vector to make assumptions about which loop we
were currently executing in, which is incorrect. The only information that
can be used about where we're currently executing is the bytecode index we're
at.

  • This makes it so that we go back to trying to compile outer loops before

inner loops. JF accidentally reverted this behavior that Ben implemented.
JF made it so that we just compiled the inner most loop. I make this
functionality work by first triggering a compile for the outer most loop
that the code is currently executing in and that can perform OSR entry.
However, some programs can get stuck in inner loops. The code works by
progressively asking inner loops to compile if program execution has not
yet reached an outer loop.

  • dfg/DFGOperations.cpp:
12:32 AM Changeset in webkit [232577] by Fujii Hironori
  • 16 edits in trunk/Tools

[Win][MiniBrowser] Support multiple windows properly
https://bugs.webkit.org/show_bug.cgi?id=186263

Reviewed by Ryosuke Niwa.

The current implementation of
PrintWebUIDelegate::createWebViewWithRequest is wrong. It is using
CreateProcess to open a new window, and doesn't return the new
instance of IWebView. As the result, for example, window.close
doesn't work as expected.

In this change, a new MainWindow is created and return the
IWebView in PrintWebUIDelegate::createWebViewWithRequest.

In addition to it, this change unifies the lifetime of MiniBrowser
and its delegates AccessibilityDelegate, PrintWebUIDelegate,
ResourceLoadDelegate and WebDownloadDelegate in order to keep
MiniBrowser alive as long as the delegates live. Because the
window of webview keeps references of such delegates and accesses
those after MiniBrowser destruction.

  • MiniBrowser/win/MainWindow.h: Added s_numInstances class member

to count the number of instance to close the application. Do not
use unique_ptr for m_browserWindow because it has ref count now.

  • MiniBrowser/win/MainWindow.cpp:

(MainWindow::MainWindow): Increment s_numInstances.
(MainWindow::~MainWindow): Decrement s_numInstances.
(MainWindow::create):
(MainWindow::init):
(MainWindow::WndProc): Rename thiz to thisWindow. Keep this
instance alive during this function by using RefPtr<MainWindow>.
Deref the MainWindow instance on WM_DESTROY. Quit the application
when the last MainWindow is closed.
(MainWindow::cachesDialogProc): Rename thiz to thisWindow.
(MainWindow::customUserAgentDialogProc): Ditto.

  • MiniBrowser/win/MiniBrowser.h: Added declarations AddRef and Release.
  • MiniBrowser/win/MiniBrowser.cpp:

(MiniBrowser::create):
(MiniBrowser::AddRef):
(MiniBrowser::Release):
(MiniBrowser::init): Passes this to the constructors of delegates.

  • MiniBrowser/win/AccessibilityDelegate.cpp:

(AccessibilityDelegate::AddRef): Delegate to MiniBrowser.
(AccessibilityDelegate::Release): Ditto.

  • MiniBrowser/win/AccessibilityDelegate.h: Removed m_refCount.

(AccessibilityDelegate::AccessibilityDelegate):

  • MiniBrowser/win/MiniBrowserWebHost.cpp:

(MiniBrowserWebHost::AddRef): Delegate to MiniBrowser.
(MiniBrowserWebHost::Release): Ditto.

  • MiniBrowser/win/MiniBrowserWebHost.h: Removed m_refCount.
  • MiniBrowser/win/PrintWebUIDelegate.cpp:

(PrintWebUIDelegate::createWebViewWithRequest): Create a new
MainWindow and return the IWebView.
(PrintWebUIDelegate::AddRef): Delegate to MiniBrowser.
(PrintWebUIDelegate::Release): Ditto.

  • MiniBrowser/win/PrintWebUIDelegate.h: Removed m_refCount.

(PrintWebUIDelegate::PrintWebUIDelegate):

  • MiniBrowser/win/ResourceLoadDelegate.cpp:

(ResourceLoadDelegate::AddRef): Delegate to MiniBrowser.
(ResourceLoadDelegate::Release): Ditto.

  • MiniBrowser/win/ResourceLoadDelegate.h: Removed m_refCount.
  • MiniBrowser/win/WebDownloadDelegate.cpp:

(WebDownloadDelegate::WebDownloadDelegate):
(WebDownloadDelegate::AddRef): Delegate to MiniBrowser.
(WebDownloadDelegate::Release): Ditto.

  • MiniBrowser/win/WebDownloadDelegate.h: Removed m_refCount.
12:05 AM Changeset in webkit [232576] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

REGRESSION (r232520): Crash under IPC::ArgumentCoder<WebCore::Credential>::encodePlatformData
https://bugs.webkit.org/show_bug.cgi?id=186385
<rdar://problem/40853796>

Reviewed by Daniel Bates.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<Credential>::encodePlatformData): Fixed an incorrect cast.

12:04 AM Changeset in webkit [232575] by Michael Catanzaro
  • 1 edit
    1 delete in trunk/Source/WebCore

Remove unused image encoders
https://bugs.webkit.org/show_bug.cgi?id=186365

Reviewed by Carlos Garcia Campos.

  • platform/image-encoders/JPEGImageEncoder.cpp: Removed.
  • platform/image-encoders/JPEGImageEncoder.h: Removed.
  • platform/image-encoders/PNGImageEncoder.cpp: Removed.
  • platform/image-encoders/PNGImageEncoder.h: Removed.

Jun 6, 2018:

11:25 PM Changeset in webkit [232574] by Fujii Hironori
  • 7 edits in trunk/Tools

[Win][MiniBrowser] Remove gMainWindow global variable
https://bugs.webkit.org/show_bug.cgi?id=186378

Reviewed by Ryosuke Niwa.

I'm going to support multiple MainWindow in Bug 186263. It should
not be assumed that MainWindow has only one instance. gMainWindow
is used only in DisplayAuthDialog.

  • MiniBrowser/win/Common.cpp:

(authDialogProc): Use DWLP_USER to store the dialog data.
(displayAuthDialog): Moved and renamed from
MainWindow::displayAuthDialog. Use DialogBoxParam instead of
DialogBox to pass a data pointer. Do not return S_OK if
DialogBoxParam returns -1. Take a HWND argument as the parent
window.
(DisplayAuthDialog): Deleted.

  • MiniBrowser/win/Common.h:
  • MiniBrowser/win/MainWindow.cpp:

(authDialogProc): Moved to Common.cpp.
(MainWindow::displayAuthDialog): Ditto.

  • MiniBrowser/win/MainWindow.h:
  • MiniBrowser/win/ResourceLoadDelegate.cpp:

(ResourceLoadDelegate::didReceiveAuthenticationChallenge):

  • MiniBrowser/win/WinMain.cpp:

(wWinMain): Added a local variable mainWindow instead of using
gMainWindow.

10:09 PM Changeset in webkit [232573] by mitz@apple.com
  • 4 edits in trunk

[Xcode] Opt out of the New Build System
https://bugs.webkit.org/show_bug.cgi?id=186380

Reviewed by Alexey Proskuryakov.

.:

  • WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: Use the Legacy Build System.

Tools:

  • Scripts/webkitdirs.pm:

(XcodeOptions): Have -UseNewBuildSystem=NO passed to xcodebuild.

9:21 PM Changeset in webkit [232572] by youenn@apple.com
  • 7 edits in trunk

HTTP Header values validation is too strict
https://bugs.webkit.org/show_bug.cgi?id=167112

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebased from WPT repository.

  • web-platform-tests/fetch/api/headers/header-values-normalize-exptected.txt: Added.
  • web-platform-tests/fetch/api/headers/header-values-expected.txt: Added.

Source/WebCore:

Moving header values and names from DOMString to ByteString as per spec.
Updating WebCore::isValidHTTPHeaderValue as per https://fetch.spec.whatwg.org/#terminology-headers.

Covered by rebased and updated tests.
Updated test is now also passing in other browsers.

  • platform/network/HTTPParsers.cpp:

(WebCore::isValidHTTPHeaderValue):

LayoutTests:

  • http/tests/xmlhttprequest/set-bad-headervalue.html:
9:03 PM Changeset in webkit [232571] by youenn@apple.com
  • 6 edits
    17 adds in trunk

Add Accept-Encoding: identity to Range requests
https://bugs.webkit.org/show_bug.cgi?id=186335
<rdar://problem/40837190>

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/fetch/range/general.any-expected.txt: Added.
  • web-platform-tests/fetch/range/general.any.html: Added.
  • web-platform-tests/fetch/range/general.any.js: Added.
  • web-platform-tests/fetch/range/general.any.worker-expected.txt: Added.
  • web-platform-tests/fetch/range/general.any.worker.html: Added.
  • web-platform-tests/fetch/range/general.window.js: Added.
  • web-platform-tests/fetch/range/resources/basic.html: Added.
  • web-platform-tests/fetch/range/resources/long-wav.py: Added.
  • web-platform-tests/fetch/range/resources/partial-script.py: Added.
  • web-platform-tests/fetch/range/resources/range-sw.js: Added.
  • web-platform-tests/fetch/range/resources/stash-take.py: Added.
  • web-platform-tests/fetch/range/resources/utils.js: Added.
  • web-platform-tests/fetch/range/resources/w3c-import.log: Added.
  • web-platform-tests/fetch/range/sw.https.window.js: Added.
  • web-platform-tests/fetch/range/w3c-import.log: Added.

Source/WebCore:

Tests: imported/w3c/web-platform-tests/fetch/range/general.any.html

imported/w3c/web-platform-tests/fetch/range/general.any.worker.html

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::updateHTTPRequestHeaders):

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::updateAcceptEncodingHeader):

  • loader/cache/CachedResourceRequest.h:
8:14 PM Changeset in webkit [232570] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview 58

Added a tag for Safari Technology Preview release 58.

8:08 PM Changeset in webkit [232569] by mitz@apple.com
  • 1 edit
    1 add in trunk

Check in a file created by the Xcode 10 beta.

  • WebKit.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: Added.
7:43 PM Changeset in webkit [232568] by guijemont@igalia.com
  • 2 edits in trunk/Source/JavaScriptCore

ArityFixup should adjust SP first on 32-bit platforms too
https://bugs.webkit.org/show_bug.cgi?id=186351

Reviewed by Yusuke Suzuki.

  • jit/ThunkGenerators.cpp:

(JSC::arityFixupGenerator):

7:28 PM Changeset in webkit [232567] by Yusuke Suzuki
  • 4 edits
    1 add in trunk

[DFG] Compare operations do not respect negative zeros
https://bugs.webkit.org/show_bug.cgi?id=183729

Reviewed by Saam Barati.

JSTests:

  • stress/comparison-ignore-negative-zero.js: Added.

(shouldBe):
(zero):
(negativeZero):
(object.valueOf):
(test):

Source/JavaScriptCore:

Compare operations do not respect negative zeros. So propagating this can
reduce the size of the produced code for negative zero case. This pattern
can be seen in Kraken stanford-crypto-aes.

This also causes an existing bug which converts CompareEq(Int32Only, NonIntAsdouble) to false.
However, NonIntAsdouble includes negative zero, which can be equal to Int32 positive zero.
This issue is covered by fold-based-on-int32-proof-mul-branch.js, and we fix this.

  • bytecode/SpeculatedType.cpp:

(JSC::leastUpperBoundOfStrictlyEquivalentSpeculations):
SpecNonIntAsDouble includes negative zero (-0.0), which can be equal to 0 and 0.0.
To emphasize this, we use SpecAnyIntAsDouble | SpecNonIntAsDouble directly instead of
SpecDoubleReal.

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::propagate):

5:57 PM Changeset in webkit [232566] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Layout Test imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=184060

Unreviewed test gardening.

Patch by David Fenton <david_fenton@apple.com> on 2018-06-06

  • platform/mac/TestExpectations:
5:45 PM Changeset in webkit [232565] by jonlee@apple.com
  • 2 edits in trunk/PerformanceTests

Allow the ramp controller to run tests that take less time than the initial ramp-up phase
https://bugs.webkit.org/show_bug.cgi?id=186257

Reviewed by Said Abou-Hallawa.

  • MotionMark/tests/resources/main.js: Extend the desired end timestamp when ramp-up occurs.

Previously the controller assumed that the duration of the test was always longer than the
time it took to figure out the order of magnitude of particles to render. When that range
is determined, the end timestamp is then extended. If the duration is too short, the controller
would throw an exception. The fix is to continue extending the timestamp every time the order of
magnitude tiers up.

In general testing with really short durations isn't practical, but sometimes it is
desired for debugging.

To avoid confusion of the private variables, I renamed Benchmark._startTimestamp to
Benchmark._benchmarkStartTimestamp, to disambiguate from Controller._startTimestamp.
Benchmark._startTimestamp is set once and never changed, after the initial 100ms warm-up.
Controller._startTimestamp is initialized to 0 (which means "not initialized"), and then after
the warm up is complete, set in Controller.start() to the same wall clock timestamp, and never
changed afterwards.

5:42 PM Changeset in webkit [232564] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

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):

5:37 PM Changeset in webkit [232563] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

Display links are sometimes not notifying WebCore when fired.
https://bugs.webkit.org/show_bug.cgi?id=186367
<rdar://problem/40439109>

Reviewed by Brent Fulgham.

When the WebContent process is receiving an IPC message notifying about a screen update, all display refresh monitors
are notified by the manager in DisplayRefreshMonitorManager::displayWasUpdated(). The manager checks that the monitor
is scheduled before notifying. This is a problem, since the scheduled flag is always set to false in the
DisplayRefreshMonitor::displayDidRefresh() method, when the monitor is first notified about a screen update. This can
lead to display links running without notifying the monitors, causing extra CPU usage. It can also prevent them from
being deleted, since the monitors are not notified. Instead, we can check that the display refresh monitor is active
before notifying it. This matches the original display link implementation used when the WebContent process has
WindowServer access, where the monitors are always notified.

No new tests, since I have not been able to reproduce this in a test case yet.

  • platform/graphics/DisplayRefreshMonitorManager.cpp:

(WebCore::DisplayRefreshMonitorManager::displayWasUpdated):

5:01 PM Changeset in webkit [232562] by sbarati@apple.com
  • 3 edits
    1 add in trunk

generateConditionsForInstanceOf needs to see if the object has a poly proto structure before assuming it has a constant prototype
https://bugs.webkit.org/show_bug.cgi?id=186363

Rubber-stamped by Filip Pizlo.

JSTests:

  • stress/instance-of-on-poly-proto-opc-should-not-crash.js: Added.

Source/JavaScriptCore:

The code was assuming that the object it was creating an OPC for always
had a non-poly-proto structure. However, this assumption was wrong. For
example, an object in the prototype chain could be poly proto. That type
of object graph would cause a crash in this code. This patch makes it so
that we fail to generate an ObjectPropertyConditionSet if we see a poly proto
object as we traverse the prototype chain.

  • bytecode/ObjectPropertyConditionSet.cpp:

(JSC::generateConditionsForInstanceOf):

4:46 PM Changeset in webkit [232561] by jonlee@apple.com
  • 7 edits in trunk/PerformanceTests

Remove unneeded data processing in MotionMark
https://bugs.webkit.org/show_bug.cgi?id=186256

Reviewed by Said Abou-Hallawa.

Remove calculation of average frame rate based on multiple samples at a given complexity.
It is not used in the calculation of the score, and is just extra work to do at the end
of a test.

  • MotionMark/developer.html: Remove options to show average data and regression based on

that data.

  • MotionMark/resources/debug-runner/graph.js: Remove data. Update the time graph that

shows the relationship between the break point in the regression against the complexity
graph.

  • MotionMark/resources/debug-runner/motionmark.css: Make the confidence intervals easier

to see.

  • MotionMark/resources/runner/motionmark.js: Simplify score calculation now that we are

only calculating regressions on the raw data. We were calculating it based on the averages,
but that was just for analysis, and not used in the actual score. Get rid of the
|complexitySamples| local variable.

  • MotionMark/resources/strings.js: Remove unneeded string constant.
  • MotionMark/tests/resources/main.js:

(processSamples): Refactor so that more of it can be shared between Controller and
RampController. It also avoids processing the raw samples (controllerSamples) twice for
the ramp controller.
(_processComplexitySamples): Remove logic to calculate averages based on complexity.
(_processMarks): Split this out from the old processSamples.
(_processControllerSamples): Split this out from the old processSamples.

4:38 PM Changeset in webkit [232560] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Layout Test http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction.html is flaky on macOS WK2 [ Release ]
https://bugs.webkit.org/show_bug.cgi?id=186362

Unreviewed test gardening.

Patch by David Fenton <david_fenton@apple.com> on 2018-06-06

  • platform/mac-wk2/TestExpectations:
3:27 PM Changeset in webkit [232559] by graouts@webkit.org
  • 84 edits in trunk

Rename color-filter to -apple-color-filter and do not expose it to Web content
https://bugs.webkit.org/show_bug.cgi?id=186306
<rdar://problem/39874167>

Reviewed by Simon Fraser.

Source/WebCore:

Rename the color-filter CSS property to -apple-color-filter.

  • animation/KeyframeEffectReadOnly.cpp:

(WebCore::KeyframeEffectReadOnly::checkForMatchingColorFilterFunctionLists):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyinStyle):

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::image):
(WebCore::CSSGradientValue::computeStops):
(WebCore::CSSGradientValue::knownToBeOpaque const):

  • css/CSSProperties.json:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseSingleValue):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • page/animation/ImplicitAnimation.cpp:

(WebCore::ImplicitAnimation::checkForMatchingColorFilterFunctionLists):

  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::checkForMatchingColorFilterFunctionLists):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintMarkedTextForeground):
(WebCore::InlineTextBox::paintMarkedTextDecoration):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresRepaint const):
(WebCore::RenderStyle::visitedDependentColorWithColorFilter const):
(WebCore::RenderStyle::colorByApplyingColorFilter const):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::mutableAppleColorFilter):
(WebCore::RenderStyle::appleColorFilter const):
(WebCore::RenderStyle::hasAppleColorFilter const):
(WebCore::RenderStyle::setAppleColorFilter):
(WebCore::RenderStyle::initialAppleColorFilter):
(WebCore::RenderStyle::mutableColorFilter): Deleted.
(WebCore::RenderStyle::colorFilter const): Deleted.
(WebCore::RenderStyle::hasColorFilter const): Deleted.
(WebCore::RenderStyle::setColorFilter): Deleted.
(WebCore::RenderStyle::initialColorFilter): Deleted.

  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):
(WebCore::StyleRareInheritedData::hasColorFilters const):

  • rendering/style/StyleRareInheritedData.h:

Source/WebKit:

Change the ColorFilter setting to no longer be exposed as an experimental feature and ensure it's turned off by default.
To allow internal clients to use the -apple-color-filter property, we expose a new _colorFilterEnabled property as SPI
to WKWebViewConfigurationPrivate.

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetColorFilterEnabled):
(WKPreferencesGetColorFilterEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _initializeWithConfiguration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _setAttachmentElementEnabled:]):
(-[WKWebViewConfiguration _colorFilterEnabled]):
(-[WKWebViewConfiguration _setColorFilterEnabled:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:

Tools:

Adding an option to turn support for the -apple-color-filter property on via an HTML comment.

  • DumpRenderTree/TestOptions.cpp:

(TestOptions::TestOptions):

  • DumpRenderTree/TestOptions.h:
  • DumpRenderTree/mac/DumpRenderTree.mm:

(setWebPreferencesForTestOptions):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):

  • WebKitTestRunner/TestOptions.h:

(WTR::TestOptions::hasSameInitializationOptions const):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::platformCreateWebView):

LayoutTests:

Update tests for color-filter to test -apple-color-filter and explicitly turn the feature on since it's disabled by default.
We also update a test to not use the colorFilter accessor and setter on CSSStyleDeclaration because using an -apple- prefix
will no longer expose such a getter or setter, using getPropertyValue() and setProperty() instead.

  • animations/resources/animation-test-helpers.js:

(getPropertyValue):
(comparePropertyValue):

  • css3/color-filters/color-filter-animation-expected.txt:
  • css3/color-filters/color-filter-animation.html:
  • css3/color-filters/color-filter-backgrounds-borders-expected.html:
  • css3/color-filters/color-filter-backgrounds-borders.html:
  • css3/color-filters/color-filter-box-shadow-expected.html:
  • css3/color-filters/color-filter-box-shadow.html:
  • css3/color-filters/color-filter-brightness-expected.html:
  • css3/color-filters/color-filter-brightness.html:
  • css3/color-filters/color-filter-caret-color-expected.html:
  • css3/color-filters/color-filter-caret-color.html:
  • css3/color-filters/color-filter-color-property-expected.html:
  • css3/color-filters/color-filter-color-property-list-item-expected.html:
  • css3/color-filters/color-filter-color-property-list-item.html:
  • css3/color-filters/color-filter-color-property.html:
  • css3/color-filters/color-filter-color-text-decorations-expected.html:
  • css3/color-filters/color-filter-color-text-decorations.html:
  • css3/color-filters/color-filter-column-rule-expected.html:
  • css3/color-filters/color-filter-column-rule.html:
  • css3/color-filters/color-filter-contrast-expected.html:
  • css3/color-filters/color-filter-contrast.html:
  • css3/color-filters/color-filter-current-color-expected.html:
  • css3/color-filters/color-filter-current-color.html:
  • css3/color-filters/color-filter-filter-list-expected.html:
  • css3/color-filters/color-filter-filter-list.html:
  • css3/color-filters/color-filter-gradients-expected.html:
  • css3/color-filters/color-filter-gradients.html:
  • css3/color-filters/color-filter-grayscale-expected.html:
  • css3/color-filters/color-filter-grayscale.html:
  • css3/color-filters/color-filter-hue-rotate-expected.html:
  • css3/color-filters/color-filter-hue-rotate.html:
  • css3/color-filters/color-filter-inherits-expected.html:
  • css3/color-filters/color-filter-inherits.html:
  • css3/color-filters/color-filter-invert-expected.html:
  • css3/color-filters/color-filter-invert.html:
  • css3/color-filters/color-filter-opacity-expected.html:
  • css3/color-filters/color-filter-opacity.html:
  • css3/color-filters/color-filter-outline-expected.html:
  • css3/color-filters/color-filter-outline.html:
  • css3/color-filters/color-filter-parsing-expected.txt:
  • css3/color-filters/color-filter-parsing.html:
  • css3/color-filters/color-filter-saturate-expected.html:
  • css3/color-filters/color-filter-saturate.html:
  • css3/color-filters/color-filter-sepia-expected.html:
  • css3/color-filters/color-filter-sepia.html:
  • css3/color-filters/color-filter-text-decoration-shadow-expected.html:
  • css3/color-filters/color-filter-text-decoration-shadow.html:
  • css3/color-filters/color-filter-text-emphasis-expected.html:
  • css3/color-filters/color-filter-text-emphasis.html:
  • css3/color-filters/color-filter-text-shadow-expected.html:
  • css3/color-filters/color-filter-text-shadow.html:
  • css3/color-filters/color-filter-text-stroke-expected.html:
  • css3/color-filters/color-filter-text-stroke.html:
  • css3/color-filters/svg/color-filter-inline-svg-expected.html:
  • css3/color-filters/svg/color-filter-inline-svg.html:
1:51 PM Changeset in webkit [232558] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[macOS WK2 Release] Layout Test media/video-trackmenu-selection.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=186055

Unreviewed test gardening.

Patch by David Fenton <david_fenton@apple.com> on 2018-06-06

  • platform/mac-wk2/TestExpectations:
1:37 PM Changeset in webkit [232557] by jer.noble@apple.com
  • 4 edits in trunk

REGRESSION (r231817?): Layout Test media/track/track-delete-during-setup.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=185889
<rdar://problem/40583180>

Reviewed by Eric Carlson.

Source/WebCore:

Explicitly update the network and ready states when detaching the AVPlayerItem
from the AVPlayer.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldBufferData):

LayoutTests:

Modify the track-delete-during-setup.html test to end on video element suspend in
addition to canplaythrough.

  • media/track/track-delete-during-setup.html:
1:13 PM Changeset in webkit [232556] by Kocsen Chung
  • 17 edits
    1 add in tags/Safari-606.1.20/Source/WebKit

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

1:13 PM Changeset in webkit [232555] by Kocsen Chung
  • 49 edits in tags/Safari-606.1.20/Source

Revert r232520. rdar://problem/40857773

1:13 PM Changeset in webkit [232554] by Kocsen Chung
  • 2 edits in tags/Safari-606.1.20/Source/WebKit

Cherry-pick r232548. rdar://problem/40838449

REGRESSION (r232301) - Unable to enter video fullscreen
https://bugs.webkit.org/show_bug.cgi?id=186357
<rdar://problem/40838449>

Reviewed by Jon Lee.

Only set up the standby fullscreen element if we are in element fullscreen.

  • WebProcess/FullScreen/WebFullScreenManager.cpp: (WebKit::WebFullScreenManager::videoControlsManagerDidChange):

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

1:13 PM Changeset in webkit [232553] by Kocsen Chung
  • 13 edits
    1 add in tags/Safari-606.1.20/Source

Revert r232528. rdar://problem/40858098

11:27 AM Changeset in webkit [232552] by Kocsen Chung
  • 1 copy in tags/Safari-606.1.20

Tag Safari-606.1.20.

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

Use the default label for snapshotted plug-ins if no mime-type is available
https://bugs.webkit.org/show_bug.cgi?id=186348

Patch by Antoine Quint <Antoine Quint> on 2018-06-06
Reviewed by Jon Lee.

In case the mime-type is not available, use the default labels otherwise we'd crash trying to look up the empty string in the HashMap.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::titleText):
(WebCore::subtitleText):

11:20 AM Changeset in webkit [232550] by Simon Fraser
  • 5 edits
    2 deletes in trunk/Source/WebCore/PAL

Logging macros are sensitive to pal/Logging.h vs Logging.h include order
https://bugs.webkit.org/show_bug.cgi?id=185893

Reviewed by Zalan Bujtas.

Remove unused functionality from pal/Logging code until we need it. Primarily this removes the
#define LOG_CHANNEL_PREFIX from pal/Logging.h, which caused include-order problems with unified sources.

Future work should move shared logging code up to WTF (or into PAL).

  • PAL.xcodeproj/project.pbxproj:
  • pal/CMakeLists.txt:
  • pal/LogInitialization.h: Removed.
  • pal/Logging.cpp:

(PAL::isLogChannelEnabled): Deleted.
(PAL::setLogChannelToAccumulate): Deleted.
(PAL::initializeLogChannelsIfNecessary): Deleted.

  • pal/Logging.h:
  • pal/cocoa/LoggingCocoa.mm: Removed.
11:07 AM Changeset in webkit [232549] by Brent Fulgham
  • 3 edits in trunk/Tools

Adjust compile and runtime flags to match shippable state of features (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=186319
<rdar://problem/40352045>

Unreviewed test fix.

TestWebKitAPI was timing out because 'color' input types are no longer support. I also discovered that the
ASSERT_STREQ macro returns on error, which causes tests to time out whenever a 'done = true' call (needed to
end the test) is done after ASSERT_STREQ, which might fail and return early, preventing the flag from being
set.

  • TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleNodeHandleIsTextField.mm:

(-[InjectedBundleNodeHandleIsTextField webProcessPlugIn:didCreateBrowserContextController:]): Make testing of
the 'color' input type conditional on the feature being part of the build.

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

(-[AutoFillDelegate _webView:didClickAutoFillButtonWithUserInfo:]): Set the 'done=true' state before performing
string equality assertions, since they do an early return and bypass the end state of the test.
(-[DidResignInputElementStrongPasswordAppearanceDelegate _webView:didResignInputElementStrongPasswordAppearanceWithUserInfo:]): Ditto.
(-[AutoFillAvailableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Ditto.
(-[InjectedBundleNodeHandleIsTextFieldDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Ditto.

11:02 AM Changeset in webkit [232548] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit

REGRESSION (r232301) - Unable to enter video fullscreen
https://bugs.webkit.org/show_bug.cgi?id=186357
<rdar://problem/40838449>

Reviewed by Jon Lee.

Only set up the standby fullscreen element if we are in element fullscreen.

  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::videoControlsManagerDidChange):

10:40 AM Changeset in webkit [232547] by jonlee@apple.com
  • 3 edits in trunk/PerformanceTests

Strip out more characters when creating permalinks
https://bugs.webkit.org/show_bug.cgi?id=186259

Reviewed by Said Abou-Hallawa.

Tests and suites may have names that make permalinks to the tests less readable when
shared. Expand the set of characters that are stripped out of the names.

  • MotionMark/resources/debug-runner/motionmark.js: Refactor to call

stripUnwantedCharactersForURL. For existing links, decode the suite and test names.

  • MotionMark/resources/extensions.js:

(Utilities.stripUnwantedCharactersForURL): Rename from stripNonASCIICharacters.
Remove any non-alphanumeric character.

9:42 AM Changeset in webkit [232546] by timothy@apple.com
  • 2 edits in trunk/Source/WebCore

Wrong NSVisualEffectMaterial used for exit full screen overlay in dark mode.

https://bugs.webkit.org/show_bug.cgi?id=186350
rdar://problem/39135535

Reviewed by Anders Carlsson.

  • platform/mac/WebCoreFullScreenPlaceholderView.mm:

(-[WebCoreFullScreenPlaceholderView initWithFrame:]):
Use the NSVisualEffectMaterialFullScreenUI on macOS 10.14 and don't
set an explicit NSAppearance.

9:36 AM Changeset in webkit [232545] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

attenuationFactor should be in range [0,1]
https://bugs.webkit.org/show_bug.cgi?id=186320
rdar://problem/40821456

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-06-06
Reviewed by Jer Noble.

If attenuationFactor is outside of this range it can cause false positives.

  • UIProcess/ios/fullscreen/FullscreenTouchSecheuristic.cpp:

(WebKit::FullscreenTouchSecheuristic::attenuationFactor):

9:32 AM Changeset in webkit [232544] by timothy_horton@apple.com
  • 17 edits
    1 add in trunk/Source/WebKit

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:
9:13 AM Changeset in webkit [232543] by jer.noble@apple.com
  • 4 edits
    2 adds in trunk

Regions outside of the fullscreen window are exposed during zoom operations
https://bugs.webkit.org/show_bug.cgi?id=186330
<rdar://problem/34698009>

Reviewed by Simon Fraser.

Source/WebCore:

Test: fullscreen/full-screen-layer-dump.html

Introduce the concept of "requiresBackgroundLayer" to RenderLayerBacking, for use by
RenderFullScreen. Previously, the backgroundLayer in RenderLayerBacking was only used
by the root renderer with fixed backgrounds. Give the RenderFullScreen a background layer
that's approximately 3x as tall and wide as the renderer itself, so nothing is exposed
during pinch operations.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::updateDrawsContent):
(WebCore::RenderLayerBacking::setRequiresBackgroundLayer):
(WebCore::RenderLayerBacking::updateBackgroundLayer):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor):
(WebCore::RenderLayerBacking::paintIntoLayer):

  • rendering/RenderLayerBacking.h:

LayoutTests:

  • fullscreen/full-screen-layer-dump-expected.txt: Added.
  • fullscreen/full-screen-layer-dump.html: Added.
9:10 AM Changeset in webkit [232542] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Set the AVAssetResourceLoaderRequest's contentType to AVStreamingKeyDeliveryContentKeyType in the case of a FPS key request.
https://bugs.webkit.org/show_bug.cgi?id=186328
<rdar://problem/40829228>

Reviewed by Eric Carlson.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::attemptToDecryptWithInstance):

8:52 AM Changeset in webkit [232541] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] Add margin computation for floating, replaced elements.
https://bugs.webkit.org/show_bug.cgi?id=186337

Reviewed by Antti Koivisto.

If 'margin-left' or 'margin-right' are computed as 'auto', their used value is '0'.

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

(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):

8:25 AM Changeset in webkit [232540] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC] Add margin computation for floating, no-replaced elements.
https://bugs.webkit.org/show_bug.cgi?id=186334

Reviewed by Antti Koivisto.

If 'margin-left', or 'margin-right' are computed as 'auto', their used value is '0'.

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):

7:50 AM Changeset in webkit [232539] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Use minimal coverage rect for tiled layers when under memory pressure
https://bugs.webkit.org/show_bug.cgi?id=186185
<rdar://problem/40713608>

Reviewed by Darin Adler.

We do this for the main content layer already.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::adjustTiledLayerVisibleRect):

4:18 AM Changeset in webkit [232538] by aboya@igalia.com
  • 4 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=186342

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
3:43 AM WebKitGTK/Gardening/Calendar edited by aboya@igalia.com
(diff)
1:20 AM Changeset in webkit [232537] by graouts@webkit.org
  • 5 edits in trunk

[Web Animations] Only expose CSSAnimation and CSSTransition if the WebAnimationsCSSIntegration runtime flag is enabled
https://bugs.webkit.org/show_bug.cgi?id=186305

Reviewed by Dean Jackson.

Source/WebCore:

  • animation/CSSAnimation.idl:
  • animation/CSSTransition.idl:

Websites/webkit.org:

Add a test for the WebAnimationsCSSIntegration runtime flag.

  • experimental-features.html:

Jun 5, 2018:

9:53 PM Changeset in webkit [232536] by Chris Dumez
  • 5 edits in trunk

Regression(r232082): Websites get loaded inside of Messages App chat transcript
https://bugs.webkit.org/show_bug.cgi?id=186331
<rdar://problem/40735446>

Reviewed by Darin Adler.

Source/WebKitLegacy/mac:

r232082 made it so that if the client implements decidePolicyForMIMEType / decidePolicyForNavigationAction
but does not call use / ignore on the listener, then we would do "use" by default.
The intention was to restore pre-AsyncPolicyDelegates behavior and unbreak Box.app. However,
the pre-AsyncPolicyDelegates behavior was only to "use" by default for decidePolicyForMIMEType,
not decidePolicyForNavigationAction. Doing "use" by default for decidePolicyForNavigationAction
is new behavior and it breaks Messages.app. This patch updates r232082 so that we now do call
"use" by default on the listener for decidePolicyForMIMEType and "ignore" by default for other
policy decisions. This should restore pre-AsyncPolicyDelegates behavior. This fixes Messages.app
and Box.app is still working properly.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebFrameLoaderClient::dispatchWillSubmitForm):
(WebFrameLoaderClient::setUpPolicyListener):
(-[WebFramePolicyListener initWithFrame:policyFunction:defaultPolicy:]):
(-[WebFramePolicyListener initWithFrame:policyFunction:defaultPolicy:appLinkURL:]):
(-[WebFramePolicyListener dealloc]):
(-[WebFramePolicyListener initWithFrame:policyFunction:]): Deleted.
(-[WebFramePolicyListener initWithFrame:policyFunction:appLinkURL:]): Deleted.

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/mac/NoPolicyDelegateResponse.mm:

(-[NoDecidePolicyForNavigationActionDecisionDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
(-[NoDecidePolicyForNavigationActionDecisionDelegate webView:didStartProvisionalLoadForFrame:]):
(TestWebKitAPI::TEST):
(-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Deleted.
(-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]): Deleted.
(-[NoPolicyDelegateDecisionDelegate webView:didFinishLoadForFrame:]): Deleted.

9:35 PM Changeset in webkit [232535] by pvollan@apple.com
  • 29 edits in trunk/Source

Move OpenGL display mask to screen data struct.
https://bugs.webkit.org/show_bug.cgi?id=186198
<rdar://problem/40724854>

Reviewed by Brent Fulgham.

Currently, the OpenGL display mask is a global in the WebContent process. This is not correct in all cases, since
it is possible to have two Web views in the same WebContent process, displayed on different displays. This can be
resolved by moving the OpenGL display mask to a new ScreenData struct, containing information specific to each
display. The display ID of the host window is used to find the OpenGL display mask when needed. This patch makes
the host window available when creating an IOSurface, in order to find the right OpenGL display mask. If no host
window is available, the OpenGL display mask of the main display is used.

Source/WebCore:

No new tests, since testing this requires two Web views in the same WebContent process, displayed on
two different monitors.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer const):

  • platform/PlatformScreen.h:
  • platform/ScreenProperties.h:

(WebCore::ScreenProperties::encode const):
(WebCore::ScreenProperties::decode):
(WebCore::ScreenData::encode const):
(WebCore::ScreenData::decode):

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/ImageBuffer.cpp:

(WebCore::ImageBuffer::create):

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::createCompatibleBuffer):
(WebCore::ImageBuffer::ImageBuffer):

  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::allowOfflineRenderers const):
(WebCore::GraphicsContext3D::setOpenGLDisplayMask): Deleted.
(WebCore::GraphicsContext3D::getOpenGLDisplayMask): Deleted.

  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::ensurePlatformContext):

  • platform/mac/PlatformScreenMac.mm:

(WebCore::screenProperties):
(WebCore::collectScreenProperties):
(WebCore::setScreenProperties):
(WebCore::screenData):
(WebCore::primaryOpenGLDisplayMask):
(WebCore::displayMaskForDisplay):
(WebCore::getScreenProperties):
(WebCore::screenIsMonochrome):
(WebCore::screenHasInvertedColors):
(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):
(WebCore::screenRectForDisplay):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
(WebCore::screenColorSpace):
(WebCore::screenSupportsExtendedColor):

Source/WebKit:

  • Shared/WebPageCreationParameters.cpp:

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

  • Shared/WebPageCreationParameters.h:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::windowScreenDidChange):
(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::screenPropertiesStateChanged):
(WebKit::displayReconfigurationCallBack):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_credentialsMessenger):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::openGLDisplayMaskChanged): Deleted.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::setScreenProperties):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

9:25 PM Changeset in webkit [232534] by jer.noble@apple.com
  • 5 edits in trunk

REGRESSION (231817): Videos permanently blank out after switching out of a tab and back in
https://bugs.webkit.org/show_bug.cgi?id=186326
<rdar://problem/40778157>

Reviewed by Eric Carlson.

Source/WebCore:

Check whether the element is visible in the viewport when the web view itself becomes visible, and if so, clear the m_elementIsHiddenUntilVisibleInViewport flag.

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::visibilityChanged):

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

LayoutTests:

  • media/video-buffering-allowed-expected.txt:
  • media/video-buffering-allowed.html:
9:23 PM Changeset in webkit [232533] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] Move inflow, replaced width and margin computation to a dedicated function.
https://bugs.webkit.org/show_bug.cgi?id=186327

Reviewed by Sam Weinig.

I was searching for the function inFlowReplacedWidthAndMargin() and there was none.

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

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

8:10 PM Changeset in webkit [232532] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] Add missing margins for inflow, non replaced block and replaced inline elements
https://bugs.webkit.org/show_bug.cgi?id=186332

Reviewed by Darin Adler.

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

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

6:46 PM Changeset in webkit [232531] by Keith Rollin
  • 13 edits in trunk/Source/WebKit

Remove tracksResourceLoadMilestones support
https://bugs.webkit.org/show_bug.cgi?id=186329
<rdar://problem/40829898>

Reviewed by Darin Adler.

Remove the mechanism for enabling/disabling the tracking of
resource-load milestones. This was initially added in order to enable
the tracking only for Safari. However, the decision has been made to
enable the tracking for all WebKit clients, so it's now enabled
unconditionally.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::startTrackingResourceLoad):
(WebKit::NetworkConnectionToWebProcess::stopTrackingResourceLoad):
(WebKit::NetworkConnectionToWebProcess::stopAllNetworkActivityTracking):
(WebKit::NetworkConnectionToWebProcess::stopAllNetworkActivityTrackingForPage):
(WebKit::networkActivityTrackingEnabled): Deleted.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::tracksResourceLoadMilestones const): Deleted.

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationTracksResourceLoadMilestones): Deleted.
(WKContextConfigurationSetTracksResourceLoadMilestones): Deleted.

  • UIProcess/API/C/WKContextConfigurationRef.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration tracksResourceLoadMilestones]): Deleted.
(-[_WKProcessPoolConfiguration setTracksResourceLoadMilestones:]): Deleted.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

6:44 PM Changeset in webkit [232530] by Wenson Hsieh
  • 14 edits
    4 adds in trunk

[macOS] Spelling errors in the middle of an inserted paragraph are not displayed
https://bugs.webkit.org/show_bug.cgi?id=185584
<rdar://problem/38676081>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Currently when typing, we only consider the range of adjacent words when determining where to place spelling
correction markers, even though we provide NSSpellChecker with the full context of the sentence (and get back
results encompassing the full range). In macOS Mojave, NSSpellChecker may now return spell checking results that
include correctly spelled words that are misused in the context of the sentence. This means that while typing a
sentence, a different part of the sentence may gain or lose spelling markers as a result.

To support this, WebKit needs to mark or unmark spelling corrections in the full range of the sentence whenever
a full word is typed (since the context of other words within the sentence may have changed, resulting in
different platform spellchecking results). In markMisspellingsAfterTypingToWord, we expand the spell checking
range past the adjacent words so that it encompasses the largest subrange of the full sentence that includes the
start of the typed word, and does not include any position that is under an element with spellcheck=false.

This guarantees that we don't erroneously place spelling document markers under elements where spellchecking is
disabled, while allowing for sentence retro corrections when spellchecking is enabled. However, this doesn't
handle the case where an element with spellchecking disabled lies between a sentence retro correction range and
the currently typed word. In the future, we could fix this by refactoring SpellCheckRequest to track a list of
non-contiguous spelling correction ranges — see the FIXME in markMisspellingsAfterTypingToWord for more detail.

Covered by 2 new layout tests, as well as an existing spell-checking test that should now be passing.

Tests: editing/spelling/retro-correction-spelling-markers.html

editing/spelling/spelling-markers-after-pasting-sentence.html

  • editing/Editor.cpp:

(WebCore::Editor::markMisspellingsAfterTypingToWord):

  • testing/Internals.h:
  • testing/Internals.idl:

Add an internal testing helper to determine whether retro sentence corrections are enabled.

LayoutTests:

Adds 2 new spellchecking tests, and refactors some existing tests.

  • editing/spelling/grammar-expected.txt:
  • editing/spelling/grammar.html:
  • editing/spelling/markers-expected.txt:
  • editing/spelling/markers.html:

Tweaked so that these tests pass regardless of whether sentence retro correction is enabled or disabled.

  • editing/spelling/retro-correction-spelling-markers-expected.txt: Added.
  • editing/spelling/retro-correction-spelling-markers.html: Added.

Tests that typing at the end of a sentence will mark other parts of the sentence as misspellings, if retro
sentence correction is enabled.

  • editing/spelling/spelling-changed-text-expected.txt:
  • editing/spelling/spelling-changed-text.html:

Tweaked to correctly wait for the marker range to become the expected value.

  • editing/spelling/spelling-markers-after-pasting-sentence-expected.txt: Added.
  • editing/spelling/spelling-markers-after-pasting-sentence.html: Added.

Tests that after pasting a sentence with misspelled words, those misspelled words will be marked as misspellings.

  • platform/ios/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
5:50 PM Changeset in webkit [232529] by Wenson Hsieh
  • 2 edits in trunk/Tools

DataInteractionTests ContentEditableToTextarea and ContentEditableToContentEditable are failing on recent iOS 12
https://bugs.webkit.org/show_bug.cgi?id=186325
<rdar://problem/40527850>

Reviewed by Tim Horton.

Tweak these API tests so that they're robust against changes to how NSAttributedStrings are serialized in item
providers ("public.rtf" vs. "com.apple.flat-rtfd"). Across all versions of iOS, just verify that either rich
text type is present in the list of dragged type identifiers, and that the rich text type is placed at a higher
fidelity than plain text.

  • TestWebKitAPI/Tests/ios/DataInteractionTests.mm:

(checkRichTextTypePrecedesPlainTextType):
(TestWebKitAPI::TEST):
(checkTypeIdentifierPrecedesOtherTypeIdentifier): Deleted.

5:18 PM Changeset in webkit [232528] by Darin Adler
  • 13 edits
    1 delete in trunk/Source

[Cocoa] Retire DispatchPtr, and add more move semantics and simpler #ifs to other smart pointers
https://bugs.webkit.org/show_bug.cgi?id=186324

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/FileMonitor.h: Use OSObjectPtr instead of DispatchPtr.
  • platform/cocoa/FileMonitorCocoa.mm:

(WebCore::FileMonitor::FileMonitor): Ditto.

Source/WebKit:

  • NetworkProcess/cache/NetworkCacheData.h: Use OSObjectPtr instead of

DispatchPtr and also use an rvalue reference in the constructor.

  • NetworkProcess/cache/NetworkCacheDataCocoa.mm:

(WebKit::NetworkCache::Data::Data): Use adoptOSObject, rvalue reference
and WTFMove.
(WebKit::NetworkCache::Data::empty): Use OSObjectPtr.
(WebKit::NetworkCache::Data::data const): Use adoptOSObject.
(WebKit::NetworkCache::Data::subrange const): Ditto.
(WebKit::NetworkCache::concatenate): Ditto.
(WebKit::NetworkCache::Data::adoptMap): Ditto. Also use WTFMove.

  • NetworkProcess/cache/NetworkCacheIOChannel.h: Use OSObjectPtr.
  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:

(WebKit::NetworkCache::IOChannel::IOChannel): Use adoptOSObject.
(WebKit::NetworkCache::IOChannel::read): Use OSObjectPtr.

Source/WTF:

  • WTF.xcodeproj/project.pbxproj: Removed DispatchPtr.h.
  • wtf/BlockPtr.h: Remove unneeded checks for OBJC. Added some use

of WTFMove.

  • wtf/CMakeLists.txt: Removed DispatchPtr.h.
  • wtf/DispatchPtr.h: Removed. We no longer need to support Mavericks.
  • wtf/OSObjectPtr.h: Remove unneeded checks for OBJC. Added some use

of WTFMove.

5:15 PM Changeset in webkit [232527] by Ryan Haddad
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix the macOS build with recent SDKs.

  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::Highlight::paintContents):

4:31 PM Changeset in webkit [232526] by Brent Fulgham
  • 21 edits
    16 adds in trunk

Adjust compile and runtime flags to match shippable state of features
https://bugs.webkit.org/show_bug.cgi?id=186319
<rdar://problem/40352045>

Reviewed by Maciej Stachowiak, Jon Lee, and others.

Source/JavaScriptCore:

This patch revises the compile time and runtime state for various features to match their
suitability for end-user releases.

  • Configurations/DebugRelease.xcconfig: Update to match WebKit definition of

WK_RELOCATABLE_FRAMEWORKS so that ENABLE(EXPERIMENTAL_FEATURES) is defined properly for
Cocoa builds.

  • Configurations/FeatureDefines.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR

or ENABLE_INPUT_TYPE_COLOR_POPOVER.

  • runtime/Options.h: Only enable INTL_NUMBER_FORMAT_TO_PARTS and INTL_PLURAL_RULES

at runtime for non-production builds.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR

or ENABLE_INPUT_TYPE_COLOR_POPOVER.

Source/WebCore/PAL:

  • Configurations/DebugRelease.xcconfig: Update to match WebKit definition of

WK_RELOCATABLE_FRAMEWORKS so that ENABLE(EXPERIMENTAL_FEATURES) is defined properly for
Cocoa builds.

  • Configurations/FeatureDefines.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR

or ENABLE_INPUT_TYPE_COLOR_POPOVER.

Source/WebKit:

Change the default state of various experimental features so that they are off by default in production
builds, since they are still under development.

Turn 'CacheAPIEnabled' and 'SubresourceIntegrityEnabled' on by default, since both features have been
shipping for a full cycle and have proven to be stable in production.

  • Configurations/FeatureDefines.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR

or ENABLE_INPUT_TYPE_COLOR_POPOVER.

  • Shared/WebPreferences.yaml:

Source/WebKitLegacy/mac:

  • Configurations/DebugRelease.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR

or ENABLE_INPUT_TYPE_COLOR_POPOVER.

  • Configurations/FeatureDefines.xcconfig: Update to match WebKit definition of

WK_RELOCATABLE_FRAMEWORKS so that ENABLE(EXPERIMENTAL_FEATURES) is defined properly for
Cocoa builds.

Tools:

This patch revises the compile time and runtime state for various features to match their
suitability for end-user releases.

  • TestWebKitAPI/Configurations/DebugRelease.xcconfig: Update to match WebKit definition of

WK_RELOCATABLE_FRAMEWORKS so that ENABLE(EXPERIMENTAL_FEATURES) is defined properly for
Cocoa builds.

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR

or ENABLE_INPUT_TYPE_COLOR_POPOVER.

LayoutTests:

  • platform/mac/TestExpectations:
  • platform/mac/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt: Added.
3:57 PM Changeset in webkit [232525] by commit-queue@webkit.org
  • 6 edits in trunk/JSTests

Temporarily Skip JSC stress test failures that are consistently occurring.
https://bugs.webkit.org/show_bug.cgi?id=186283

Unreviewed test gardening.

Patch by David Fenton <david_fenton@apple.com> on 2018-06-05

  • executableAllocationFuzz.yaml:
  • slowMicrobenchmarks/default-derived-constructor.js:
  • stress/put-direct-index-broken-2.js:
  • stress/splay-flash-access.js:
  • stress/spread-forward-call-varargs-stack-overflow.js:
3:41 PM Changeset in webkit [232524] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Tab picker is briefly visible when TabBar initially shown
https://bugs.webkit.org/show_bug.cgi?id=186317

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/TabBar.js:

(WI.TabBar): Picker should be initially hidden.

3:26 PM Changeset in webkit [232523] by timothy@apple.com
  • 12 edits in trunk/Source

Clean up LocalDefaultSystemAppearance and prefers-dark-interface media query

https://bugs.webkit.org/show_bug.cgi?id=186323
rdar://problem/38382252

Reviewed by Tim Horton.

Source/WebCore:

  • css/MediaFeatureNames.h:
  • css/MediaQueryEvaluator.cpp:

(WebCore::prefersDarkInterfaceEvaluate):
(WebCore::defaultAppearanceEvaluate): Deleted.

  • css/MediaQueryExpression.cpp:

(WebCore::featureWithValidIdent):
(WebCore::isFeatureValidWithoutValue):

  • platform/mac/LocalDefaultSystemAppearance.mm:

(WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance):

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _defaultAppearance]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _defaultAppearance]):

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::useDefaultAppearance):

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(-[WebView _defaultAppearance]):

3:09 PM Changeset in webkit [232522] by sihui_liu@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] TestWebKitAPI.WebKit.WKHTTPCookieStoreWithoutProcessPool fails because cookies aren't flushed to file
https://bugs.webkit.org/show_bug.cgi?id=186303
<rdar://problem/40468716>

Reviewed by Geoffrey Garen.

No matter there is an observer or not, cookies in UI process should always be flushed to
file when new process pool is created, such that cookies created via API can be synced to
network process.

  • UIProcess/API/APIHTTPCookieStore.cpp:

(API::HTTPCookieStore::HTTPCookieStore):
(API::HTTPCookieStore::registerObserver):
(API::HTTPCookieStore::cookieManagerDestroyed):
(API::HTTPCookieStore::registerForNewProcessPoolNotifications):

2:29 PM Changeset in webkit [232521] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

secheuristic should only use touch began and ended, not changed.
https://bugs.webkit.org/show_bug.cgi?id=186318
rdar://problem/39781486

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-06-05
Reviewed by Jer Noble.

Filter out change events so swiping gestures don't trigger the heuristic.

  • UIProcess/ios/fullscreen/WKFullScreenViewController.mm:

(-[WKFullScreenViewController _touchDetected:]):

1:58 PM Changeset in webkit [232520] by Darin Adler
  • 49 edits in trunk/Source

[Cocoa] More preparation for ARC, focusing on WebKit and smart pointers
https://bugs.webkit.org/show_bug.cgi?id=186314

Reviewed by Anders Carlsson.

Source/WebKit:

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa): Use bridge for cast.

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::overrideSystemProxies): Ditto.
(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): Ditto.

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::sendMessage): Ditto.
(IPC::readFromMachPort): Ditto.

  • Platform/mac/StringUtilities.mm:

(WebKit::formattedPhoneNumberString): Use bridge for cast and
CFBridgingRelease instead of an explicit autorelease.

  • Shared/API/Cocoa/_WKRemoteObjectInterface.mm:

(initializeMethods): Use auto instead of an explicit type so that we get
the correct type for the result of protocol_copyProtocolList.

  • Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:

(-[_WKRemoteObjectRegistry _sendInvocation:interface:]): Added a
bridging cast to void* because that's needed to call _Block_signature
under ARC and harmless outside ARC.

  • Shared/API/c/cf/WKStringCF.mm:

(WKStringCreateWithCFString): Use bridge for cast.

  • Shared/API/c/cf/WKURLCF.mm:

(WKURLCreateWithCFURL): Ditto.

  • Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm:

(WebKit::AuthenticationManager::initializeConnection): Ditto.

  • Shared/Cocoa/DataDetectionResult.mm:

(WebKit::DataDetectionResult::encode const): Ditto.
(WebKit::DataDetectionResult::decode): Ditto.

  • Shared/Cocoa/WKNSError.mm:

(-[WKNSError _web_createTarget]): Ditto.

  • Shared/Cocoa/WKNSURLExtras.mm:

(-[NSURL _web_originalDataAsWTFString]): Ditto.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:

(WebKit::XPCServiceInitializer): Removed balanced calls to both
adoptOSObject and xpc_retain and instead rely on the assignment
operator just added to OSObjectPtr.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceEventHandler): Use bridge for cast.

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer): Ditto.

  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::decode): Ditto.

  • Shared/mac/ArgumentCodersMac.mm:

(IPC::isSerializableValue): Ditto.
(IPC::encode): Ditto.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::encodeNSError): Ditto. Also use CFSTR("")" instead of @""
when we need a CFString.
(IPC::decodeNSError): Ditto.
(IPC::ArgumentCoder<ProtectionSpace>::encodePlatformData): Ditto.
(IPC::ArgumentCoder<ProtectionSpace>::decodePlatformData): Ditto.
(IPC::ArgumentCoder<Credential>::encodePlatformData): Ditto.
(IPC::ArgumentCoder<Credential>::decodePlatformData): Ditto.
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::encode): Ditto.
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::decode): Ditto.
(IPC::ArgumentCoder<MediaPlaybackTargetContext>::encodePlatformData): Ditto.
(IPC::ArgumentCoder<MediaPlaybackTargetContext>::decodePlatformData): Ditto.

  • Shared/mac/WebHitTestResultData.mm:

(WebKit::WebHitTestResultData::platformEncode const): Ditto.
(WebKit::WebHitTestResultData::platformDecode): Ditto.

  • UIProcess/API/C/mac/WKContextPrivateMac.mm:

(WKContextIsPlugInUpdateAvailable): Ditto.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController certificateChain]): Ditto.
(didStartProvisionalLoadForFrame): Ditto.
(didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
(didFailProvisionalLoadWithErrorForFrame): Ditto.
(didCommitLoadForFrame): Ditto.
(didFinishLoadForFrame): Ditto.
(didFailLoadWithErrorForFrame): Ditto.
(canAuthenticateAgainstProtectionSpaceInFrame): Ditto.
(didReceiveAuthenticationChallengeInFrame): Ditto.
(didStartProgress): Ditto.
(didChangeProgress): Ditto.
(didFinishProgress): Ditto.
(didChangeBackForwardList): Ditto.
(processDidCrash): Ditto.
(setUpPageLoaderClient): Ditto.
(setUpPagePolicyClient): Ditto.

  • UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:

(createWKArray): Ditto.
(-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]): Ditto.
(-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]): Ditto.

  • UIProcess/API/Cocoa/WKConnection.mm:

(didReceiveMessage): Ditto.
(didClose): Ditto.
(setUpClient): Ditto.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(didCreateConnection): Ditto.
(getInjectedBundleInitializationUserData): Ditto.
(setUpInjectedBundleClient): Ditto.
(-[WKProcessGroup _setAllowsSpecificHTTPSCertificate:forHost:]): Ditto.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _setAllowsSpecificHTTPSCertificate:forHost:]): Ditto.

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _setProxyConfiguration:]): Ditto.
(-[WKWebsiteDataStore _proxyConfiguration]): Ditto.

  • UIProcess/API/Cocoa/_WKThumbnailView.mm:

(-[_WKThumbnailView _didTakeSnapshot:]): Ditto.

  • UIProcess/API/Cocoa/_WKUserContentFilter.mm: Added a missing include.
  • UIProcess/Authentication/mac/WebCredentialMac.mm:

(WebKit::chain): Use bridge for cast.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):
Use CFBridgingRelease instead of adoptNS.
(WebKit::privateBrowsingSession): Use bridge for cast.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::provideDataForPasteboard): Use bridge for cast.

  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm:

(WebKit::PluginInfoStore::pluginPathsInDirectory): Ditto.

  • UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:

(WebKit::recursivelyMapIOSurfaceBackingStore): Ditto.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::beginSwipeGesture): Ditto.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController enterFullScreen:]): Ditto.

  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::showPopupMenu): Ditto.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:

(didCreatePage): Ditto.
(willDestroyPage): Ditto.
(setUpBundleClient): Ditto.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(didStartProvisionalLoadForFrame): Ditto.
(didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
(didFinishLoadForFrame): Ditto.
(globalObjectIsAvailableForFrame): Ditto.
(didRemoveFrameFromHierarchy): Ditto.
(didCommitLoadForFrame): Ditto.
(didFinishDocumentLoadForFrame): Ditto.
(didFailProvisionalLoadWithErrorForFrame): Ditto.
(didFailLoadWithErrorForFrame): Ditto.
(didSameDocumentNavigationForFrame): Ditto.
(didLayoutForFrame): Ditto.
(didReachLayoutMilestone): Ditto.
(didFirstVisuallyNonEmptyLayoutForFrame): Ditto.
(didHandleOnloadEventsForFrame): Ditto.
(userAgentForURL): Ditto.
(setUpPageLoaderClient): Ditto.
(willSendRequestForFrame): Ditto.
(didInitiateLoadForResource): Ditto.
(didFinishLoadForResource): Ditto.
(didFailLoadForResource): Ditto.
(setUpResourceLoadClient): Ditto.

  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::initialize): Ditto.

  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:

(WebKit::NetscapePlugin::popUpContextMenu): Ditto.

  • WebProcess/Plugins/PDF/PDFPlugin.h: Put functions that return NSData inside

an #ifdef OBJC and use bridge for cast.

  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::WebDragClient::declareAndWriteDragImage): Use bridge for cast.

  • WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm:

(WebKit::PlatformCALayerRemoteCustom::contents const): Added a bridging cast.
(WebKit::PlatformCALayerRemoteCustom::setContents): Use bridge for cast.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): Ditto.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::setTopOverhangImage): Ditto.
(WebKit::WebPage::setBottomOverhangImage): Ditto.

Source/WTF:

  • wtf/BlockPtr.h: Put Block_copy/release calls into #if since they are

not needed under ARC.

  • wtf/OSObjectPtr.h: Added constructor and assignment operator so we can

work with OS objects without adopting them.

12:13 PM Changeset in webkit [232519] by Darin Adler
  • 14 edits in trunk/Source

[Cocoa] Improve some soft linking compatibility with ARC
https://bugs.webkit.org/show_bug.cgi?id=186309

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/audio/ios/AudioSessionIOS.mm: Use SOFT_LINK_CONSTANT instead of SOFT_LINK_POINTER

for NSString constants.

  • platform/audio/ios/MediaSessionManagerIOS.mm: Ditto.
  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm: Ditto.
  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm: Ditto.
  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm: Ditto.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.

(WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState): Use bridge for
some bridging casts.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processCue): Ditto.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm: Use

SOFT_LINK_CONSTANT instead of SOFT_LINK_POINTER for NSString constants.

  • platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm: Ditto.
  • platform/mediastream/mac/AVCaptureDeviceManager.mm: Ditto.
  • platform/mediastream/mac/AVMediaCaptureSource.mm: Ditto.
  • platform/mediastream/mac/AVVideoCaptureSource.mm: Ditto.

Source/WTF:

  • wtf/cocoa/SoftLinking.h: Updated the SOFT_LINK_CONSTANT family of

macros to use a const type. This increases the chance that they will
work without triggering ARC compilation errors since it's easier to
get the type right for read-only access than for read/write.

12:07 PM Changeset in webkit [232518] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Text in "Add New Class" in auto-capitalizes
https://bugs.webkit.org/show_bug.cgi?id=186311

Reviewed by Matt Baker.

Disable spellcheck to prevent auto-capitalization.

  • UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:

(WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):

11:54 AM Changeset in webkit [232517] by sbarati@apple.com
  • 2 edits in trunk/Tools

run-testmem should have a dry run option and an option to parse the stdout of executing the dry run
https://bugs.webkit.org/show_bug.cgi?id=186293

Reviewed by Mark Lam.

This makes it easier to execute run-testmem on a device that doesn't have ruby
on it. run-testmem now has a --dry option that will output commands to execute
in bash. To run on a device that doesn't have ruby, just put its output into
a bash script, and copy the PerformanceTests/testmem directory onto that device,
and execute the bash script. Running that bash script will give you raw output.
Make a file with that output and pass it into run-testmem using the --parse option.
run-testmem will parse the raw output and compute the benchmark score.

  • Scripts/run-testmem:
11:50 AM Changeset in webkit [232516] by youenn@apple.com
  • 37 edits
    5 adds in trunk

ServiceWorker registration should store any script fetched through importScripts
https://bugs.webkit.org/show_bug.cgi?id=182444
<rdar://problem/37164835>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/registration-mime-types.https-expected.txt:

Source/WebCore:

Covered by added test http/wpt/service-workers/persistent-importScripts.html.

Update importScripts implementation to look for/update the resource map in case of service worker scope.
This resource map is stored persistently and sent when running the service worker.

Add support to persistent storage of this resource map.
This requires updating the schema database.
The schema version is bumped to 2 and we delete any data related to old registrations.

When updating the service worker, the resource map is currently flushed so that all scripts will be retrieved from the network.

Did some limited refactoring to put more loading handling in WorkerScriptLoader.

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::importScripts):

  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::script):

  • workers/WorkerScriptLoader.h:
  • workers/service/ServiceWorkerContextData.cpp:

(WebCore::ServiceWorkerContextData::isolatedCopy const):

  • workers/service/ServiceWorkerContextData.h:

(WebCore::ServiceWorkerContextData::ImportedScript::isolatedCopy const):
(WebCore::ServiceWorkerContextData::ImportedScript::encode const):
(WebCore::ServiceWorkerContextData::ImportedScript::decode):
(WebCore::ServiceWorkerContextData::encode const):
(WebCore::ServiceWorkerContextData::decode):

  • workers/service/ServiceWorkerGlobalScope.cpp:

(WebCore::ServiceWorkerGlobalScope::scriptResource const):
(WebCore::ServiceWorkerGlobalScope::setScriptResource):

  • workers/service/ServiceWorkerGlobalScope.h:
  • workers/service/context/SWContextManager.h:
  • workers/service/server/RegistrationDatabase.cpp:

(WebCore::v1RecordsTableSchema):
(WebCore::RegistrationDatabase::doPushChanges):
(WebCore::RegistrationDatabase::importRecords):

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::addRegistrationFromStore):
(WebCore::SWServer::updateWorker):
(WebCore::SWServer::installContextData):

  • workers/service/server/SWServer.h:
  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::scriptFetchFinished):

  • workers/service/server/SWServerToContextConnection.cpp:

(WebCore::SWServerToContextConnection::setScriptResource):

  • workers/service/server/SWServerToContextConnection.h:
  • workers/service/server/SWServerWorker.cpp:

(WebCore::SWServerWorker::SWServerWorker):
(WebCore::m_scriptResourceMap):
(WebCore::SWServerWorker::contextData const):
(WebCore::SWServerWorker::setScriptResource):

  • workers/service/server/SWServerWorker.h:

Source/WebKit:

Add C API to kill storage process.
In case a Storage Process is closed or crashed, ensure that all its related service worker processes also exit.

  • StorageProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
  • UIProcess/API/C/WKContext.cpp:

(WKContextTerminateStorageProcess):

  • UIProcess/API/C/WKContextPrivate.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::webToStorageProcessConnectionClosed):

  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::setScriptResource):

  • WebProcess/Storage/WebSWContextManagerConnection.h:

Source/WTF:

  • wtf/persistence/PersistentCoders.h:

Tools:

Add support to crash the storage process from Internals.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::terminateStorageProcess):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::terminateStorageProcess):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

LayoutTests:

  • http/wpt/service-workers/persistent-importScripts-expected.txt: Added.
  • http/wpt/service-workers/persistent-importScripts.html: Added.
  • http/wpt/service-workers/resources/persistent-importScripts-script.py: Added.
  • http/wpt/service-workers/resources/persistent-importScripts-worker.js: Added.
  • http/wpt/service-workers/resources/routines.js: Added.
11:14 AM Changeset in webkit [232515] by Brent Fulgham
  • 13 edits in trunk

Revise DEFAULT_EXPERIMENTAL_FEATURES_ENABLED to work properly on Apple builds
https://bugs.webkit.org/show_bug.cgi?id=186286
<rdar://problem/40782992>

Reviewed by Dan Bernstein.

Use the WK_RELOCATABLE_FRAMEWORKS flag (which is always defined for non-production builds)
to define ENABLE(EXPERIMENTAL_FEATURES) so that we do not need to manually
change this flag when preparing for a production release.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to determine

whether experimental features should be enabled, and use it to properly define the
feature flag.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to determine

whether experimental features should be enabled, and use it to properly define the
feature flag.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to determine

whether experimental features should be enabled, and use it to properly define the
feature flag.

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to determine whether

experimental features should be enabled, and use it to properly define the feature flag.

  • Shared/WebPreferencesDefaultValues.h:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to determine

whether experimental features should be enabled, and use it to properly define the
feature flag.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to

determine whether experimental features should be enabled, and use it to properly define
the feature flag.

11:06 AM Changeset in webkit [232514] by rmorisset@apple.com
  • 1 edit
    2 adds in trunk/Tools

Add a grammar (in antlr4 format) to the WSL spec.
https://bugs.webkit.org/show_bug.cgi?id=186310

Rubberstamped by Filip Pizlo

It is just the raw rules, without much comments and no typesetting.
Compiles to any of Java/JS/C++/etc.. with antlr4 (requires a JDK)

It does not exactly match the parser of the current js implementation of WSL, it:

  • Accepts negative literals
  • Reserves keywords fallthrough/auto
  • Refuses '_' as a valid identifier
  • Accepts several capitalizations for Null/True/False
  • Accepts variable declarations at the top-level
  • Correctly parses ternary expressions
  • Forbids empty extension list for protocols
  • Does not allow a space between 'and?' in type suffixes
  • Correctly parses nested generics
  • Accepts a 'fallthrough;' statement (for switches)
  • Refuses chained relational operator (e.g. x < y < z)
  • Generally a completely different structure for parsing effectful expressions, although it probably accepts about the same language
  • Currently only accepts literals and identifiers as constexpr (while the js parser accepts way too much, including '(x += 42)')

There are probably more differences that I missed. The js parser will probably have to be mostly rewritten to follow the spec more closely (and fix all the bugs).
I will try to see if it can be automatically derived from the antlr4 grammar.

  • WebGPUShadingLanguageRI/SpecWork/WSL.g4: Added.
10:25 AM Changeset in webkit [232513] by Darin Adler
  • 4 edits in trunk/Source/JavaScriptCore

[Cocoa] Update some JavaScriptCore code to be more ready for ARC
https://bugs.webkit.org/show_bug.cgi?id=186301

Reviewed by Anders Carlsson.

  • API/JSContext.mm:

(-[JSContext evaluateScript:withSourceURL:]): Use bridge for typecast.
(-[JSContext setName:]): Removed unnecessary call to copy, since the
JSStringCreateWithCFString function already reads the characters out
of the string and does not retain the string, so there is no need to
make an immutable copy. And used
bridge for typecast.

  • inspector/remote/cocoa/RemoteInspectorCocoa.mm:

(Inspector::RemoteInspector::receivedProxyApplicationSetupMessage):
Ditto.

  • inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:

(Inspector::RemoteInspectorXPCConnection::deserializeMessage):
Use CFBridgingRelease instead of autorelease for a CF dictionary that
we return as an NSDictionary.

9:28 AM Changeset in webkit [232512] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r232511.
https://bugs.webkit.org/show_bug.cgi?id=186304

  • platform/ios/WebItemProviderPasteboard.mm: Add missing include.
9:16 AM Changeset in webkit [232511] by Brent Fulgham
  • 8 edits in trunk/Source/WebCore

Fix the iOS build after r232496
https://bugs.webkit.org/show_bug.cgi?id=186304

Patch by Antoine Quint <Antoine Quint> on 2018-06-05
Reviewed by Brent Fulgham.

The changes in r232496 changed the InputType::element() signature from HTMLInputElement&
to HTMLInputElement* and some call sites did not expect that.

  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent):
(WebCore::BaseChooserOnlyDateAndTimeInputType::createShadowSubtree):
(WebCore::BaseChooserOnlyDateAndTimeInputType::updateInnerTextValue):
(WebCore::BaseChooserOnlyDateAndTimeInputType::didChooseValue):
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeydownEvent):
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeypressEvent):
(WebCore::BaseChooserOnlyDateAndTimeInputType::accessKeyAction):
(WebCore::BaseChooserOnlyDateAndTimeInputType::isMouseFocusable const):

  • html/BaseDateAndTimeInputType.cpp:

(WebCore::BaseDateAndTimeInputType::setValueAsDate const):
(WebCore::BaseDateAndTimeInputType::valueAsDouble const):
(WebCore::BaseDateAndTimeInputType::setValueAsDecimal const):
(WebCore::BaseDateAndTimeInputType::typeMismatch const):
(WebCore::BaseDateAndTimeInputType::serializeWithComponents const):
(WebCore::BaseDateAndTimeInputType::localizeValue const):
(WebCore::BaseDateAndTimeInputType::visibleValue const):
(WebCore::BaseDateAndTimeInputType::valueMissing const):
(WebCore::BaseDateAndTimeInputType::isKeyboardFocusable const):

  • html/DateInputType.cpp:

(WebCore::DateInputType::createStepRange const):

  • html/DateTimeLocalInputType.cpp:

(WebCore::DateTimeLocalInputType::createStepRange const):

  • html/MonthInputType.cpp:

(WebCore::MonthInputType::valueAsDate const):
(WebCore::MonthInputType::createStepRange const):

  • html/TimeInputType.cpp:

(WebCore::TimeInputType::createStepRange const):

  • html/WeekInputType.cpp:

(WebCore::WeekInputType::createStepRange const):

9:14 AM Changeset in webkit [232510] by Darin Adler
  • 27 edits in trunk/Source

Simplify and remove some unused video element code (helpful for ARC-compatibility)
https://bugs.webkit.org/show_bug.cgi?id=186258

Reviewed by Daniel Bates.

Source/WebCore:

My main mission was to remove the PlatformMedia struct, which had a union
of Objective-C object pointers in it, which doesn't work in ARC. However, I
found some other unused code to remove and simple mistakes to fix.

  • Modules/mediasource/VideoPlaybackQuality.cpp:

(WebCore::VideoPlaybackQuality::create): Use unsigned instead of unsigned long,
since IDL "unsigned long" really means unsigned.
(WebCore::VideoPlaybackQuality::VideoPlaybackQuality): Ditto.

  • Modules/mediasource/VideoPlaybackQuality.h: Updated for the above.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::platformMedia const): Deleted.

  • html/HTMLMediaElement.h: Updated for the above.
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::MediaPlayer): Moved initialization of many data members
to the class definition.
(WebCore::MediaPlayer::load): Use nullptr instead of 0.
(WebCore::MediaPlayer::platformMedia const): Deleted.
(WebCore::MediaPlayer::videoPlaybackQualityMetrics): Updated name of return type.
(WebCore::MediaPlayer::objCAVFoundationAVPlayer const): Added. Replaces
platformMedia for the one case where it was being used.

  • platform/graphics/MediaPlayer.h: Removed unneeded includes. Re-sorted things.

Updated for the above. Removed PlatformMedia struct and NoPlatformMedia constant.
Removed explicit constructor in MediaEngineSupportParameters. Renamed
PlatformVideoPlaybackQualityMetrics struct to VideoPlaybackQualityMetrics,
removed its constructor, and changed types from unsigned long to unsigned.
Un-nested #if statements. Removed some Chromium-specific comments.

  • platform/graphics/MediaPlayerPrivate.h: Removed unneeded includes and

forward declarations. Removed platformMedia. Updated return type for
videoPlaybackQualityMetrics. Added objCAVFoundationAVPlayer.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

Removed platformMedia.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::platformMedia const): Deleted.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:

Updated for the above.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:

Added override of objCAVFoundationAVPlayer. Removed platformMedia.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMedia const): Deleted.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:

Removed platformMedia. Updated return type for videoPlaybackQualityMetrics.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformMedia const): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::videoPlaybackQualityMetrics):
Updated return type, changed to use aggregate initialization instead of
calling a constructor, and added casts to unsigned.

  • platform/graphics/cocoa/WebCoreDecompressionSession.h: Switched from

unsigned long to unsigned for frame counts and from long to int for
quality of service tier.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::platformMedia): Deleted.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

Updated for the above.

  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:

Removed videoPlaybackQualityMetrics since it was overriding a derived function
without changing its behavior, and the type has changed.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::load): Pass two references.
(WebCore::MockMediaPlayerMediaSource::videoPlaybackQualityMetrics):
Updated return type.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h: Updated for the above.
  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::create): Return a Ref, take references.
(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate): Moved most data
member initialization into the class definition. Take references.
(WebCore::MockMediaSourcePrivate::~MockMediaSourcePrivate): Use a modern for loop.
(WebCore::MockMediaSourcePrivate::durationChanged): Update since m_player is a
reference.
(WebCore::MockMediaSourcePrivate::markEndOfStream): Ditto.
(WebCore::MockMediaSourcePrivate::readyState): Ditto.
(WebCore::MockMediaSourcePrivate::setReadyState): Ditto.
(WebCore::MockMediaSourcePrivate::waitForSeekCompleted): Ditto.
(WebCore::MockMediaSourcePrivate::seekCompleted): Ditto.
(WebCore::MockMediaSourcePrivate::removeSourceBuffer): Use Vector::removeFirst
instead of find/remove pairs.
(WebCore::MockMediaSourcePrivate::sourceBufferPrivateDidChangeActiveState): Ditto.
(WebCore::MockMediaSourcePrivate::seekToTime): Use modern for loop.
(WebCore::MockMediaSourcePrivate::videoPlaybackQualityMetrics): Updated return
type, changed to use aggregate initialization instead of calling a constructor.

  • platform/mock/mediasource/MockMediaSourcePrivate.h: Updated for the above.
  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::readyState): Updated since player is now
a reference.
(WebCore::MockSourceBufferPrivate::setReadyState): Ditto.

Source/WebKitLegacy/mac:

  • WebView/WebVideoFullscreenController.h: Removed some unneeded includes and

forward declarations. Removed methods that don't need to be public.

  • WebView/WebVideoFullscreenController.mm: Added additional includes. Removed

#if COMPILER(CLANG) since that's all we use on Mac. Moved fields into an
unnamed category in here and also replaced the HUDWindowControllerDelegate
with the unnamed category. Removed unused NSWindow category defining the
isOnActiveSpace, which is not called anywhere in this file at this time.
(-[WebVideoFullscreenController setupVideoOverlay:]): Deleted. Moved the code
into setVideoElement.
(-[WebVideoFullscreenController windowDidLoad]): Slightly rearranged the code
and removed unneeded typecast.
(-[WebVideoFullscreenController videoElement]): Updated to not rely on a
using statement at the top of the file.
(-[WebVideoFullscreenController setVideoElement:]): Added a comment about
the many side effects and special considerations that this method that sounds
like a setter has. Updated code to use the new
MediaPlayer::objCAVFoundationAVPlayer function instead of the old
HTMLVideoElement::platformMedia function. Also straightened out the logic a
bit and added some FIXME comments about small problems noticed but not fixed.
(-[WebVideoFullscreenController delegate]): Deleted. Was never called.
(-[WebVideoFullscreenController setDelegate:]): Deleted. Was never called.
(-[WebVideoFullscreenController windowDidExitFullscreen]): Removed unneeded
typecast. Removed call to updatePowerAssertions method.
(-[WebVideoFullscreenController windowDidEnterFullscreen]): Removed call to
updatePowerAssertions method.
(-[WebVideoFullscreenController updatePowerAssertions]): Deleted. This method
set _displaySleepEnabler to nullptr, but nothing was ever setting it to anything
else, so this was dead code that did nothing.
(-[WebVideoFullscreenController rateChanged:]): Removed call to
updatePowerAssertions method.

9:12 AM Changeset in webkit [232509] by Darin Adler
  • 6 edits in trunk/Source

[Cocoa] Improve smart pointer support for ARC (OSObjectPtr/DispatchPtr)
https://bugs.webkit.org/show_bug.cgi?id=186300

Reviewed by Daniel Bates.

Source/WebCore:

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

include of OSObjectPtr.h.

  • platform/ios/WebItemProviderPasteboard.mm: Ditto.

Source/WTF:

  • wtf/DispatchPtr.h: Don't call dispatch_retain or dispatch_release

since ARC will automatically do it for us in the same places we are
doing it here.

  • wtf/OSObjectPtr.h:

(WTF::retainOSObject): Don't call os_retain since ARC will do it.
(WTF::releaseOSObject): Don't call os_release since ARC will do it.

8:55 AM Changeset in webkit [232508] by jdiggs@igalia.com
  • 17 edits in trunk

AX: Implement support for new blockquote, caption, and paragraph ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=186274

Reviewed by Chris Fleizach.

Source/WebCore:

Add the three new ARIA roles to the internal rolemap so that they are treated in
the same fashion as their HTML element counterparts. Also ensure that an element
with an explicit caption role does not get pruned from the macOS accessibility tree.

No new tests. Instead add the roles to the existing role-exposure tests.

  • accessibility/AccessibilityObject.cpp:

(WebCore::initializeRoleMap):

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(createAccessibilityRoleMap):

LayoutTests:

Add the three ARIA roles to the existing role-exposure tests and update
expectations accordingly. Also update several additional GTK tests because
the mapping of these ARIA roles results in new object attributes appearing
for native HTML blockquote, paragraph, and caption elements.

  • accessibility/gtk/object-attributes-expected.txt:
  • accessibility/gtk/xml-roles-exposed-expected.txt:
  • accessibility/gtk/xml-roles-exposed.html:
  • accessibility/roles-computedRoleString-expected.txt:
  • accessibility/roles-computedRoleString.html:
  • accessibility/roles-exposed.html:
  • inspector/dom/hideHighlight-expected.txt:
  • platform/gtk/accessibility/roles-computedRoleString-expected.txt:
  • platform/gtk/accessibility/roles-exposed-expected.txt:
  • platform/gtk/accessibility/table-one-cell-expected.txt:
  • platform/mac/accessibility/roles-computedRoleString-expected.txt:
  • platform/mac/accessibility/roles-exposed-expected.txt:
7:05 AM Changeset in webkit [232507] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] Merge width and margin computation for block-level, replaced elements in normal flow
https://bugs.webkit.org/show_bug.cgi?id=186270

Reviewed by Sam Weinig.

https://www.w3.org/TR/CSS22/visudet.html#block-replaced-width
10.3.4 Block-level, replaced elements in normal flow

The used value of 'width' is determined as for inline replaced elements.
Then the rules for non-replaced block-level elements are applied to determine the margins.

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

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

2:18 AM Changeset in webkit [232506] by fred.wang@free.fr
  • 3 edits in trunk/Tools

import-w3c-tests should rely on <meta name="flags"> to detect CSS manual tests
https://bugs.webkit.org/show_bug.cgi?id=186261

Patch by Frederic Wang <fwang@igalia.com> on 2018-06-04
Reviewed by Youenn Fablet.

  • Scripts/webkitpy/w3c/test_parser.py:

(TestParser.is_wpt_manualtest): Add code to detect whether a file is a manual test
from its <meta name="flags"> tags. This is based on SourceFile::content_is_css_manual from
the WPT repository.

  • Scripts/webkitpy/w3c/test_parser_unittest.py: Add a test to verify whether files with

<meta name="flags"> are manual or non-manual according to CSS WG rules.

Jun 4, 2018:

11:44 PM Changeset in webkit [232505] by eocanha@igalia.com
  • 4 edits in trunk/Source/WebCore

[GStreamer][MSE] MediaPlayerPrivateGStreamerMSE.h includes and forward declares PlaybackPipeline
https://bugs.webkit.org/show_bug.cgi?id=186190

Reviewed by Xabier Rodriguez-Calvar.

This is just a compilation improvement.

  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
  • platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp:
10:38 PM Changeset in webkit [232504] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebDriver

[WPE] WebDriver: stop making mandatory to provide a browser path if wpe:browserOptions is present in capabilities
https://bugs.webkit.org/show_bug.cgi?id=186264

Reviewed by Žan Doberšek.

Everything should be optional. Do not consider invalid to not provide a browser binary when wpe:browserOptions
is present.

  • wpe/WebDriverServiceWPE.cpp:

(WebDriver::WebDriverService::platformParseCapabilities const):

9:40 PM Changeset in webkit [232503] by mitz@apple.com
  • 2 edits in trunk/Tools

Fixed building ImageDiff with the default build system in the Xcode 10 developer beta.

  • ImageDiff/cg/Configurations/Base.xcconfig: Use #include? to include HaveInternalSDK.xcconfig, since it may not be preent.
9:21 PM Changeset in webkit [232502] by mitz@apple.com
  • 2 edits in trunk/Tools

Fixed building with a shared build directory with XCBuild, which is the default build system
in the Xcode 10 developer beta.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Changed the reference to the built libWTF.a to be relative to the built products directory.
9:13 PM Changeset in webkit [232501] by Darin Adler
  • 52 edits in trunk/Source/WebCore

[Cocoa] Update more code to be more ARC-compatible to prepare for future ARC adoption
https://bugs.webkit.org/show_bug.cgi?id=186245

Reviewed by Daniel Bates.

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(convertToNSArray): Explicitly cast to WebAccessibilityObjectWrapperBase so we don't
make method calls on WebAccessibilityObjectWrapper, a forward-declared class.
(-[WebAccessibilityObjectWrapperBase convertPathToScreenSpace:]): Use CFAutorelease
for the CGPathRef return value instead of Objective-C autorelease. Another option
would be to use RetainPtr for the return type instead.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXObjectIsTextMarker): Use bridge for bridging typecast.
(AXObjectIsTextMarkerRange): Ditto.
(AXTextMarkerRange): Ditto.
(AXTextMarkerRangeStart): Ditto.
(AXTextMarkerRangeEnd): Ditto.
(isTextMarkerIgnored): Ditto.
(accessibilityObjectForTextMarker): Ditto.
(-[WebAccessibilityObjectWrapper characterOffsetForTextMarker:]): Ditto.
(-[WebAccessibilityObjectWrapper visiblePositionForTextMarker:]): Ditto.
(visiblePositionForStartOfTextMarkerRange): Ditto.
(visiblePositionForEndOfTextMarkerRange): Ditto.
(AXAttributeStringSetFont): Ditto. Also use @{} syntax to make NSDictionary
and @() to make NSNumber.
(AXAttributeStringSetColor): Use
bridge for bridging typecast, rearranging
code so that the typecasts are on function arguments, not local variables,
which makes lifetimes clearer.
(AXAttributeStringSetElement): Use bridge for bridging typecast.
(WebTransformCGPathToNSBezierPath):
(-[WebAccessibilityObjectWrapper bezierPathFromPath:]): Added a bridging
typecast when passing an NSBezierPath through as a void* context argument;
silent conversion to void* is not compatible with ARC.
(createAccessibilityRoleMap): Use
unsafe_unretained for a table of
NSString constants.

  • bindings/js/ScriptControllerMac.mm:

(WebCore::ScriptController::createScriptInstanceForWidget): Use bridge
for bridging typecast.

  • bridge/objc/objc_class.mm:

(JSC::Bindings::ObjcClass::classForIsA): Added bridging typecasts
to convert a Class into a CFTypeRef.
(JSC::Bindings::ObjcClass::methodNamed const): Use bridge for bridging
typecast.
(JSC::Bindings::ObjcClass::fieldNamed const): Ditto.

  • bridge/objc/objc_instance.mm:

(ObjcInstance::invokeObjcMethod): Ditto.

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcField::valueFromInstance const): Ditto.
(JSC::Bindings::ObjcField::setValueToInstance const): Ditto.

  • bridge/objc/objc_utility.mm:

(JSC::Bindings::convertObjcValueToValue): Ditto. Also add a missing const
to make it clearer to the compiler that the code is correct.

  • crypto/mac/SerializedCryptoKeyWrapMac.mm:

(WebCore::createAndStoreMasterKey): Ditto.
(WebCore::findMasterKey): Ditto.

  • editing/cocoa/DataDetection.mm:

(WebCore::detectItemAtPositionWithRange): Ditto.

  • editing/cocoa/EditorCocoa.mm:

(WebCore::Editor::fontAttributesForSelectionStart const): Ditto.

  • editing/cocoa/HTMLConverter.mm:

(_font): Ditto.
(fileWrapperForElement): Ditto.

  • fileapi/FileCocoa.mm:

(WebCore::File::shouldReplaceFile): Ditto.

  • loader/archive/cf/LegacyWebArchiveMac.mm:

(WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Ditto.

  • page/mac/TextIndicatorWindow.mm:

(-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]): Ditto.
(createContentCrossfadeAnimation): Ditto.

  • platform/cocoa/LocalizedStringsCocoa.mm:

(WebCore::localizedString): Ditto.

  • platform/cocoa/SharedBufferCocoa.mm:

(WebCore::SharedBuffer::create): Ditto.
(WebCore::SharedBuffer::append): Ditto.

  • platform/graphics/FontPlatformData.h:

(WebCore::toCTFont): Ditto.
(WebCore::toNSFont): Ditto.

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

(WebCore::assetTrackMeetsHardwareDecodeRequirements): Ditto.

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

(WebCore::ImageDecoderAVFObjC::storeSampleBuffer): Ditto.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateLastImage): Ditto.

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

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateCurrentFrameImage): Ditto.

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

(WebCore::MediaDescriptionAVFObjC::MediaDescriptionAVFObjC): Ditto.
(WebCore::bufferWasConsumedCallback): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Ditto.

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

(WebCore::VideoFullscreenLayerManagerObjC::updateVideoFullscreenInlineImage): Ditto.
(WebCore::VideoFullscreenLayerManagerObjC::setVideoFullscreenLayer): Ditto.

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

(PlatformCALayerCocoa::create): Ditto.
(PlatformCALayer::platformCALayer): Ditto.
(PlatformCALayerCocoa::superlayer const): Ditto.
(PlatformCALayerCocoa::contents const): Ditto.
(PlatformCALayerCocoa::setContents): Ditto.

  • platform/graphics/cocoa/IOSurface.h: Ditto.
  • platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:

(TextTrackRepresentationCocoa::update): Ditto.

  • platform/graphics/cocoa/WebCoreDecompressionSession.mm:

(WebCore::WebCoreDecompressionSession::ensureDecompressionSessionForSample): Ditto.
(WebCore::WebCoreDecompressionSession::resetQosTier): Ditto.

  • platform/graphics/cocoa/WebGLLayer.mm:

(-[WebGLLayer display]): Ditto.

  • platform/graphics/mac/ImageMac.mm:

(WebCore::BitmapImage::nsImage): Ditto.
(WebCore::BitmapImage::snapshotNSImage): Ditto.

  • platform/graphics/mac/WebLayer.mm:

(-[WebLayer drawInContext:]): Ditto.
(-[WebSimpleLayer setNeedsDisplay]): Ditto.
(-[WebSimpleLayer setNeedsDisplayInRect:]): Ditto.
(-[WebSimpleLayer display]): Ditto.
(-[WebSimpleLayer drawInContext:]): Ditto.

  • platform/mac/CursorMac.mm:

(WebCore::cursor): Mark pointer strong to match the globals it points to.

  • platform/mac/FileSystemMac.mm:

(WebCore::FileSystem::setMetadataURL): Use RetainPtr instead of autorelease.

  • platform/mac/PlatformPasteboardMac.mm:

(WebCore::PlatformPasteboard::bufferForType): Use bridge for bridging
typecast.

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(WebCore::speechSynthesisGetVoiceIdentifiers): Ditto.
(WebCore::speechSynthesisGetDefaultVoiceIdentifierForLocale): Ditto.

  • platform/mac/PluginBlacklist.h: Use RetainPtr instead of explicit retain

and release for NSDictionary and NSSet.

  • platform/mac/PluginBlacklist.mm:

(WebCore::PluginBlacklist::create): Use bridge for bridging typecast.
(WebCore::PluginBlacklist::~PluginBlacklist): Remove explicit CFRelease calls.
(WebCore::PluginBlacklist::PluginBlacklist): Add adoptNS calls and remove
explciit CFRetain/release pairs.

  • platform/mac/PublicSuffixMac.mm:

(WebCore::isPublicSuffix): Use bridge for bridging typecast.

  • platform/mac/RemoteCommandListenerMac.mm:

(WebCore::RemoteCommandListenerMac::RemoteCommandListenerMac): Ditto.

  • platform/mac/SerializedPlatformRepresentationMac.mm:

(WebCore::jsValueWithDictionaryInContext): Ditto.

  • platform/mac/URLMac.mm:

(WebCore::URL::URL): Ditto.
(WebCore::URL::createCFURL const): Ditto.

  • platform/mac/WebCoreNSURLExtras.mm:

(WebCore::collectRangesThatNeedMapping): Mark pointer strong to match the
local variable it eventually points to.
(WebCore::stringByTrimmingWhitespace): Use
bridge for bridging typecast.
(WebCore::URLByTruncatingOneCharacterBeforeComponent): Use
CFBridgingRelease instead of autorelease, reducing typecasts.
(WebCore::URLByRemovingComponentAndSubsequentCharacter): Ditto.
(WebCore::userVisibleString): Use bridge for bridging typecast.
(WebCore::isUserVisibleURL): Ditto.

  • platform/mac/WebGLBlacklist.mm:

(WebCore::WebGLBlacklist::create): Use bridge for bridging typecast.

  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::setPreset): Ditto.
(WebCore::AVVideoCaptureSource::setupCaptureSession): Ditto. Also use @()
instead of NSNumber.

  • platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:

(WebCore::MockRealtimeVideoSourceMac::CMSampleBufferFromPixelBuffer): Ditto.

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdatePlatformHTTPBody): Ditto.

  • platform/network/cocoa/ResourceResponseCocoa.mm: Use CFStringRef and

CFSTR for constant string array commonHeaderFields rather than using
NSString * and then relying on implicit bridging conversion.

  • platform/network/mac/CertificateInfoMac.mm:

(WebCore::CertificateInfo::dump const): Use bridge for bridging typecast.

  • platform/network/mac/FormDataStreamMac.mm:

(WebCore::createHTTPBodyNSInputStream): Ditto.
(WebCore::httpBodyFromStream): Ditto.

  • platform/network/mac/ResourceErrorMac.mm:

(WebCore::ResourceError::ResourceError): Ditto.
(WebCore::ResourceError::cfError const): Ditto.

  • rendering/RenderThemeMac.mm:

(-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):
Use CFSTR("") instead of @"" for a string that is passed to CFDIctionaryRef.
(WebCore::AttachmentLayout::layOutTitle): Use bridge for bridging typecast.
(WebCore::AttachmentLayout::layOutSubtitle): Ditto.

  • testing/cocoa/WebArchiveDumpSupport.mm:

(WebCoreTestSupport::createCFURLResponseFromResponseData): Use bridge for
bridging typecast.
(WebCoreTestSupport::supportedNonImageMIMETypes): Deleted.
(WebCoreTestSupport::convertWebResourceDataToString): Use the
MIMETypeRegistry::isSupportedNonImageMIMEType function directly instead of
building a CFArray out of MIMETypeRegistry::getSupportedNonImageMIMETypes
and using CFArrayContainsValue. This is both much more direct and much more
efficient as well.

9:12 PM Changeset in webkit [232500] by timothy@apple.com
  • 3 edits in trunk/Source/WebCore

[Win] REGRESSION(r232486) 'WebCore::RenderTheme::activeListBoxSelectionBackgroundColor': function does not take 0 arguments
https://bugs.webkit.org/show_bug.cgi?id=186296

Unreviewed build fix.

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::paint):

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor const):

9:11 PM Changeset in webkit [232499] by Chris Dumez
  • 33 edits
    11 copies
    11 adds
    2 deletes in trunk

Rename "Cross-Origin-Options" HTTP header to "Cross-Origin-Window-Policy"
https://bugs.webkit.org/show_bug.cgi?id=186287
<rdar://problem/40783352>

Reviewed by Youenn Fablet.

Source/WebCore:

Tests: http/wpt/cross-origin-window-policy/allow-postmessage-from-deny.html

http/wpt/cross-origin-window-policy/allow-postmessage.html
http/wpt/cross-origin-window-policy/cross-origin-window-policy-header.html
http/wpt/cross-origin-window-policy/navigation-from-opener-via-open-target.html
http/wpt/cross-origin-window-policy/navigation-from-subframe-via-anchor-target.html

  • bindings/js/JSDOMBindingSecurity.cpp:

(WebCore::BindingSecurity::shouldAllowAccessToDOMWindowGivenMinimumCrossOriginWindowPolicy):

  • bindings/js/JSDOMBindingSecurity.h:
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::effectiveCrossOriginWindowPolicyForAccess):
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::addCrossOriginWindowPropertyNames):
(WebCore::addScopedChildrenIndexes):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeGetterBodyDefinition):
(GetCrossOriginsOptionsFromExtendedAttributeValue):
(GenerateAttributeSetterBodyDefinition):
(GenerateOperationBodyDefinition):

  • bindings/scripts/IDLAttributes.json:
  • dom/Document.cpp:

(WebCore::Document::canNavigate):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::didBeginDocument):

  • page/AbstractDOMWindow.cpp:

(WebCore::AbstractDOMWindow::AbstractDOMWindow):

  • page/AbstractDOMWindow.h:

(WebCore::AbstractDOMWindow::crossOriginWindowPolicy):
(WebCore::AbstractDOMWindow::setCrossOriginWindowPolicy):

  • page/DOMWindow.idl:
  • page/Settings.yaml:
  • platform/network/HTTPHeaderNames.in:
  • platform/network/HTTPParsers.cpp:

(WebCore::parseCrossOriginWindowPolicyHeader):

  • platform/network/HTTPParsers.h:

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::frameBecameRemote):

Source/WebKitLegacy/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences crossOriginWindowPolicySupportEnabled]):
(-[WebPreferences setCrossOriginWindowPolicySupportEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKitLegacy/win:

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::crossOriginWindowPolicySupportEnabled):
(WebPreferences::setCrossOriginWindowPolicySupportEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(enableExperimentalFeatures):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(enableExperimentalFeatures):

LayoutTests:

  • http/wpt/cross-origin-options/allow-postmessage-expected.txt: Removed.
  • http/wpt/cross-origin-options/allow-postmessage-from-deny-expected.txt: Removed.
  • http/wpt/cross-origin-options/allow-postmessage-from-deny.html.headers: Removed.
  • http/wpt/cross-origin-options/cross-origin-options-header-expected.txt: Removed.
  • http/wpt/cross-origin-options/navigation-from-opener-via-open-target-expected.txt: Removed.
  • http/wpt/cross-origin-options/navigation-from-subframe-via-anchor-target-expected.txt: Removed.
  • http/wpt/cross-origin-options/resources/cross-origin-options-allow-postmessage-pong.html.headers: Removed.
  • http/wpt/cross-origin-window-policy/allow-postmessage-expected.txt: Added.
  • http/wpt/cross-origin-window-policy/allow-postmessage-from-deny-expected.txt: Added.
  • http/wpt/cross-origin-window-policy/allow-postmessage-from-deny.html: Renamed from LayoutTests/http/wpt/cross-origin-options/allow-postmessage-from-deny.html.
  • http/wpt/cross-origin-window-policy/allow-postmessage-from-deny.html.headers: Added.
  • http/wpt/cross-origin-window-policy/allow-postmessage.html: Renamed from LayoutTests/http/wpt/cross-origin-options/allow-postmessage.html.
  • http/wpt/cross-origin-window-policy/cross-origin-window-policy-header-expected.txt: Added.
  • http/wpt/cross-origin-window-policy/cross-origin-window-policy-header.html: Renamed from LayoutTests/http/wpt/cross-origin-options/cross-origin-options-header.html.
  • http/wpt/cross-origin-window-policy/navigation-from-opener-via-open-target-expected.txt: Added.
  • http/wpt/cross-origin-window-policy/navigation-from-opener-via-open-target.html: Renamed from LayoutTests/http/wpt/cross-origin-options/navigation-from-opener-via-open-target.html.
  • http/wpt/cross-origin-window-policy/navigation-from-subframe-via-anchor-target-expected.txt: Added.
  • http/wpt/cross-origin-window-policy/navigation-from-subframe-via-anchor-target.html: Renamed from LayoutTests/http/wpt/cross-origin-options/navigation-from-subframe-via-anchor-target.html.
  • http/wpt/cross-origin-window-policy/resources/cross-origin-window-policy-allow-postmessage-pong.html: Renamed from LayoutTests/http/wpt/cross-origin-options/resources/cross-origin-options-allow-postmessage-pong.html.
  • http/wpt/cross-origin-window-policy/resources/cross-origin-window-policy-allow-postmessage-pong.html.headers: Added.
  • http/wpt/cross-origin-window-policy/resources/destination.html: Renamed from LayoutTests/http/wpt/cross-origin-options/resources/destination.html.
  • http/wpt/cross-origin-window-policy/resources/navigate-parent-via-anchor.html: Renamed from LayoutTests/http/wpt/cross-origin-options/resources/navigate-parent-via-anchor.html.
  • http/wpt/cross-origin-window-policy/resources/navigation-from-subframe-frame.py: Renamed from LayoutTests/http/wpt/cross-origin-options/resources/navigation-from-subframe-frame.py.

(main):

  • http/wpt/cross-origin-window-policy/resources/serve-cross-origin-window-policy-header.py: Renamed from LayoutTests/http/wpt/cross-origin-options/resources/serve-cross-origin-options-header.py.

(main):

  • http/wpt/cross-origin-window-policy/resources/utils.js: Renamed from LayoutTests/http/wpt/cross-origin-options/resources/utils.js.
9:04 PM Changeset in webkit [232498] by dbates@webkit.org
  • 2 edits in trunk/Tools

Typo in MockBugzillaQueries.fetch_attachment_ids_from_review_queue()
https://bugs.webkit.org/show_bug.cgi?id=186290

Reviewed by Aakash Jain.

Although the usefulness of the code in MockBugzillaQueries.fetch_attachment_ids_from_review_queue() is
questionable we should fix a typo when calling this mocked function with argument since.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:

(MockBugzillaQueries.fetch_attachment_ids_from_review_queue):

7:52 PM Changeset in webkit [232497] by mitz@apple.com
  • 2 edits in trunk/Tools

Fixed building with the macOS Mojave seed SDK.

  • TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm:
7:31 PM Changeset in webkit [232496] by Brent Fulgham
  • 24 edits in trunk/Source/WebCore

REGRESSION(r231291): InputType should hold a WeakPtr to its HTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=186096
<rdar://problem/40651015>

Reviewed by Ryosuke Niwa.

Now that the InputType may be kept alive as part of in-flight form submissions, we
shouldn't assume that the referenced HTMLInputElement is still valid before using it.

The only time we should be lacking a referencing element is in cases where the InputType
is changing, either through a change in the HTMLInputElement's type attribute. In those
cases we should check for a valid HTMLInputElement. In other cases, we should ASSERT.

  • html/BaseButtonInputType.cpp:

(WebCore::BaseButtonInputType::createInputRenderer):
(WebCore::BaseButtonInputType::setValue):

  • html/BaseCheckableInputType.cpp:

(WebCore::BaseCheckableInputType::saveFormControlState const):
(WebCore::BaseCheckableInputType::restoreFormControlState):
(WebCore::BaseCheckableInputType::appendFormData const):
(WebCore::BaseCheckableInputType::handleKeydownEvent):
(WebCore::BaseCheckableInputType::accessKeyAction):
(WebCore::BaseCheckableInputType::setValue):

  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::attributeChanged): Add a nullptr check
here, since this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().

  • html/BaseClickableWithKeyInputType.cpp:

(WebCore::BaseClickableWithKeyInputType::handleKeydownEvent):
(WebCore::BaseClickableWithKeyInputType::handleKeypressEvent):
(WebCore::BaseClickableWithKeyInputType::accessKeyAction):

  • html/BaseDateAndTimeInputType.cpp:

(WebCore::BaseDateAndTimeInputType::attributeChanged): Add a nullptr check
here, since this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().

  • html/BaseTextInputType.cpp:

(WebCore::BaseTextInputType::patternMismatch const):

  • html/CheckboxInputType.cpp:

(WebCore::CheckboxInputType::valueMissing const):
(WebCore::CheckboxInputType::willDispatchClick):
(WebCore::CheckboxInputType::didDispatchClick):
(WebCore::CheckboxInputType::shouldAppearIndeterminate const):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::valueAsColor const):
(WebCore::ColorInputType::createShadowSubtree):
(WebCore::ColorInputType::handleDOMActivateEvent):
(WebCore::ColorInputType::didChooseColor):
(WebCore::ColorInputType::updateColorSwatch):
(WebCore::ColorInputType::shadowColorSwatch const):
(WebCore::ColorInputType::elementRectRelativeToRootView const):
(WebCore::ColorInputType::shouldShowSuggestions const):
(WebCore::ColorInputType::suggestions const):

  • html/EmailInputType.cpp:

(WebCore::EmailInputType::typeMismatchFor const):
(WebCore::EmailInputType::typeMismatch const):
(WebCore::EmailInputType::typeMismatchText const):
(WebCore::EmailInputType::sanitizeValue const):

  • html/FileInputType.cpp:

(WebCore::FileInputType::appendFormData const):
(WebCore::FileInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::FileInputType::valueMissing const):
(WebCore::FileInputType::valueMissingText const):
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::createInputRenderer):
(WebCore::FileInputType::setValue):
(WebCore::FileInputType::createShadowSubtree):
(WebCore::FileInputType::disabledAttributeChanged):
(WebCore::FileInputType::multipleAttributeChanged):
(WebCore::FileInputType::allowsDirectories const):
(WebCore::FileInputType::setFiles):
(WebCore::FileInputType::iconLoaded):
(WebCore::FileInputType::receiveDroppedFiles):
(WebCore::FileInputType::defaultToolTip const):

  • html/HTMLInputElement.h:

(WebCore::HTMLInputElement::weakPtrFactory const):

  • html/HiddenInputType.cpp:

(WebCore::HiddenInputType::saveFormControlState const):
(WebCore::HiddenInputType::restoreFormControlState):
(WebCore::HiddenInputType::setValue):
(WebCore::HiddenInputType::appendFormData const):

  • html/ImageInputType.cpp:

(WebCore::ImageInputType::appendFormData const):
(WebCore::ImageInputType::handleDOMActivateEvent):
(WebCore::ImageInputType::createInputRenderer):
(WebCore::ImageInputType::altAttributeChanged):
(WebCore::ImageInputType::srcAttributeChanged):
(WebCore::ImageInputType::attach):
(WebCore::ImageInputType::height const):
(WebCore::ImageInputType::width const):

  • html/InputType.cpp:

(WebCore::InputType::saveFormControlState const):
(WebCore::InputType::restoreFormControlState):
(WebCore::InputType::isFormDataAppendable const):
(WebCore::InputType::appendFormData const):
(WebCore::InputType::sizeShouldIncludeDecoration const):
(WebCore::InputType::validationMessage const):
(WebCore::InputType::createInputRenderer):
(WebCore::InputType::blur):
(WebCore::InputType::destroyShadowSubtree):
(WebCore::InputType::dispatchSimulatedClickIfActive const):
(WebCore::InputType::chrome const):
(WebCore::InputType::isKeyboardFocusable const):
(WebCore::InputType::isMouseFocusable const):
(WebCore::InputType::accessKeyAction):
(WebCore::InputType::setValue):
(WebCore::InputType::visibleValue const):
(WebCore::InputType::applyStep):
(WebCore::InputType::stepUpFromRenderer):

  • html/InputType.h:

(WebCore::InputType::InputType):
(WebCore::InputType::element const):

  • html/NumberInputType.cpp:

(WebCore::NumberInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::NumberInputType::setValue):
(WebCore::NumberInputType::valueAsDouble const):
(WebCore::NumberInputType::setValueAsDouble const):
(WebCore::NumberInputType::setValueAsDecimal const):
(WebCore::NumberInputType::typeMismatch const):
(WebCore::NumberInputType::createStepRange const):
(WebCore::NumberInputType::sizeShouldIncludeDecoration const):
(WebCore::NumberInputType::decorationWidth const):
(WebCore::NumberInputType::localizeValue const):
(WebCore::NumberInputType::visibleValue const):
(WebCore::NumberInputType::convertFromVisibleValue const):
(WebCore::NumberInputType::hasBadInput const):
(WebCore::NumberInputType::minOrMaxAttributeChanged):
(WebCore::NumberInputType::stepAttributeChanged):

  • html/RadioInputType.cpp:

(WebCore::RadioInputType::valueMissing const):
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::handleKeyupEvent):
(WebCore::RadioInputType::isKeyboardFocusable const):
(WebCore::RadioInputType::shouldSendChangeEventAfterCheckedChanged):
(WebCore::RadioInputType::willDispatchClick):
(WebCore::RadioInputType::didDispatchClick):
(WebCore::RadioInputType::matchesIndeterminatePseudoClass const):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::RangeInputType::valueAsDouble const):
(WebCore::RangeInputType::setValueAsDecimal const):
(WebCore::RangeInputType::createStepRange const):
(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::handleTouchEvent):
(WebCore::RangeInputType::handleKeydownEvent):
(WebCore::RangeInputType::createShadowSubtree):
(WebCore::RangeInputType::sliderTrackElement const):
(WebCore::RangeInputType::createInputRenderer):
(WebCore::RangeInputType::accessKeyAction):
(WebCore::RangeInputType::minOrMaxAttributeChanged):
(WebCore::RangeInputType::setValue):
(WebCore::RangeInputType::updateTickMarkValues):

  • html/ResetInputType.cpp:

(WebCore::ResetInputType::handleDOMActivateEvent):

  • html/SearchInputType.cpp:

(WebCore::SearchInputType::addSearchResult):
(WebCore::SearchInputType::maxResultsAttributeChanged):
(WebCore::SearchInputType::createInputRenderer):
(WebCore::SearchInputType::createShadowSubtree):
(WebCore::SearchInputType::handleKeydownEvent):
(WebCore::SearchInputType::startSearchEventTimer):
(WebCore::SearchInputType::searchEventTimerFired):
(WebCore::SearchInputType::searchEventsShouldBeDispatched const):
(WebCore::SearchInputType::didSetValueByUserEdit):
(WebCore::SearchInputType::sizeShouldIncludeDecoration const):

  • html/SubmitInputType.cpp:

(WebCore::SubmitInputType::appendFormData const):
(WebCore::SubmitInputType::handleDOMActivateEvent):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::TextFieldInputType::isKeyboardFocusable const):
(WebCore::TextFieldInputType::isMouseFocusable const):
(WebCore::TextFieldInputType::valueMissing const):
(WebCore::TextFieldInputType::setValue):
(WebCore::TextFieldInputType::handleKeydownEvent):
(WebCore::TextFieldInputType::handleKeydownEventForSpinButton):
(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::elementDidBlur):
(WebCore::TextFieldInputType::handleFocusEvent):
(WebCore::TextFieldInputType::handleBlurEvent):
(WebCore::TextFieldInputType::createInputRenderer):
(WebCore::TextFieldInputType::shouldHaveSpinButton const):
(WebCore::TextFieldInputType::shouldHaveCapsLockIndicator const):
(WebCore::TextFieldInputType::createShadowSubtree):
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
(WebCore::TextFieldInputType::updatePlaceholderText):
(WebCore::TextFieldInputType::appendFormData const):
(WebCore::TextFieldInputType::subtreeHasChanged):
(WebCore::TextFieldInputType::didSetValueByUserEdit):
(WebCore::TextFieldInputType::updateInnerTextValue):
(WebCore::TextFieldInputType::focusAndSelectSpinButtonOwner):
(WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents):
(WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents):
(WebCore::TextFieldInputType::shouldDrawCapsLockIndicator const):
(WebCore::TextFieldInputType::shouldDrawAutoFillButton const):
(WebCore::TextFieldInputType::autoFillButtonElementWasClicked):
(WebCore::TextFieldInputType::createContainer):
(WebCore::TextFieldInputType::createAutoFillButton):
(WebCore::TextFieldInputType::updateAutoFillButton):

  • html/URLInputType.cpp:

(WebCore::URLInputType::typeMismatch const):

7:29 PM Changeset in webkit [232495] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove missing files from JavaScriptCore Xcode project
https://bugs.webkit.org/show_bug.cgi?id=186297

Reviewed by Saam Barati.

7:17 PM Changeset in webkit [232494] by keith_miller@apple.com
  • 3 edits
    1 add in trunk

Add test for CoW conversions in the DFG/FTL
https://bugs.webkit.org/show_bug.cgi?id=186295

Reviewed by Saam Barati.

JSTests:

  • stress/arrayprofile-should-not-convert-get-by-val-cow.js: Added.

(assertEq):
(withArrayArgInt32):
(withArrayLiteralInt32):
(withArrayArgDouble):
(withArrayLiteralDouble):
(withArrayArgContiguous):
(withArrayLiteralContiguous):
(test):

Source/JavaScriptCore:

Add a function to $vm that returns a JSString containing the
dataLog dump of the indexingMode of an Object.

  • tools/JSDollarVM.cpp:

(JSC::functionIndexingMode):
(JSC::JSDollarVM::finishCreation):

6:45 PM Changeset in webkit [232493] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed iOS build fix with recent SDKs.

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

6:29 PM Changeset in webkit [232492] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

Restored code signing behavior when WK_USE_RESTRICTED_ENTITLEMENTS isn’t set.

  • Configurations/DebugRelease.xcconfig: Use ad-hoc code signing when WK_USE_RESTRICTED_ENTITLEMENTS isn’t set.
6:25 PM Changeset in webkit [232491] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

Removed a reference to a file that was deleted in r231190.

  • WebKit.xcodeproj/project.pbxproj: Removed the reference to WebProcessShim.xcconfig.
6:12 PM Changeset in webkit [232490] by sbarati@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Set the activeLength of all ScratchBuffers to zero when exiting the VM
https://bugs.webkit.org/show_bug.cgi?id=186284
<rdar://problem/40780738>

Reviewed by Keith Miller.

Simon recently found instances where we leak global objects from the
ScratchBuffer. Yusuke found that we forgot to set the active length
back to zero when doing catch OSR entry in the DFG/FTL. His solution
to this was adding a node that cleared the active length. This is
a good node to have, but it's not a complete solution: the DFG/FTL
could OSR exit before that node executes, which would cause us to leak
the data in it.

This patch makes it so that we set each scratch buffer's active length
to zero on VM exit. This helps prevent leaks for JS code that eventually
exits the VM (which is essentially all code on the web and all API users).

  • runtime/VM.cpp:

(JSC::VM::clearScratchBuffers):

  • runtime/VM.h:
  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::~VMEntryScope):

6:03 PM Changeset in webkit [232489] by mitz@apple.com
  • 3 edits in trunk/Source/WebCore/PAL

Made PAL build with the macOS Mojave SDK.

  • pal/cf/CoreMediaSoftLink.cpp:
  • pal/cf/CoreMediaSoftLink.h:
5:32 PM Changeset in webkit [232488] by rniwa@webkit.org
  • 1 edit
    2 moves in trunk/LayoutTests

Moved the corresponding expected results for the tests moved in r232430.

  • platform/ios/editing/selection/simple-line-layout-caret-is-gone-expected.txt: Moved from LayoutTests/platform/ios/editing/simple-line-layout-caret-is-gone-expected.txt.
  • platform/wincairo/editing/selection/simple-line-layout-caret-is-gone-expected.txt: Moved from LayoutTests/platform/wincairo/editing/simple-line-layout-caret-is-gone-expected.txt.
5:09 PM Changeset in webkit [232487] by dino@apple.com
  • 4 edits
    1 add in trunk

AR Badging on transparent thumbnail images makes the glyph look really dark
https://bugs.webkit.org/show_bug.cgi?id=186289
<rdar://problem/40627111>

Reviewed by Anders Carlsson.

Source/WebCore:

Clip out the shape for the drop shadow, so that it isn't visible if
there is transparent pixel data on top of it.

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintSystemPreviewBadge):

LayoutTests:

Update the test to exercise more background colors. Include the results for the AR badge.

  • system-preview/badge-expected.html: Added.
  • system-preview/badge.html:
4:38 PM Changeset in webkit [232486] by timothy@apple.com
  • 13 edits in trunk/Source/WebCore

Selection color is dark when using Safari in dark mode.

https://bugs.webkit.org/show_bug.cgi?id=186288
rdar://problem/38438625

Reviewed by Simon Fraser.

Pass StyleColor::Options to all of the selection color functions.
Removed supportsSelectionForegroundColors() from RenderThemeMac,
to get the default of true, since the forground colors in dark mode
can be different now. Use new semantic color methods on NSColor.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::selectionColor const):
(WebCore::RenderElement::selectionBackgroundColor const):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::activeSelectionBackgroundColor const):
(WebCore::RenderTheme::inactiveSelectionBackgroundColor const):
(WebCore::RenderTheme::activeSelectionForegroundColor const):
(WebCore::RenderTheme::inactiveSelectionForegroundColor const):
(WebCore::RenderTheme::activeListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::activeListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::platformActiveSelectionBackgroundColor const):
(WebCore::RenderTheme::platformActiveSelectionForegroundColor const):
(WebCore::RenderTheme::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderTheme::platformInactiveSelectionForegroundColor const):
(WebCore::RenderTheme::platformActiveListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::platformActiveListBoxSelectionForegroundColor const):
(WebCore::RenderTheme::platformInactiveListBoxSelectionBackgroundColor const):
(WebCore::RenderTheme::platformInactiveListBoxSelectionForegroundColor const):

  • rendering/RenderTheme.h:
  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor const):
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor const):
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor const):
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor const):

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

(WebCore::RenderThemeIOS::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeIOS::platformInactiveSelectionBackgroundColor const):

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

(WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformActiveSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformInactiveSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor const):

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::platformActiveSelectionBackgroundColor const):
(WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeWin::platformActiveSelectionForegroundColor const):
(WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor const):

  • rendering/RenderThemeWin.h:
4:28 PM Changeset in webkit [232485] by Kocsen Chung
  • 1 copy in tags/Safari-605.3.6

Tag Safari-605.3.6.

4:17 PM Changeset in webkit [232484] by Chris Dumez
  • 24 edits in trunk

Update Fetch code to provide more useful exception messages
https://bugs.webkit.org/show_bug.cgi?id=186156

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline tests that have different output.

  • web-platform-tests/fetch/api/headers/header-values-expected.txt:
  • web-platform-tests/fetch/api/headers/header-values-normalize-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-network-error.https-expected.txt:

Source/WebCore:

Provide more useful error messages in our Loading / Fetch code.

  • Modules/fetch/FetchBodyOwner.cpp:

(WebCore::FetchBodyOwner::arrayBuffer):
(WebCore::FetchBodyOwner::blob):
(WebCore::FetchBodyOwner::consumeOnceLoadingFinished):
(WebCore::FetchBodyOwner::formData):
(WebCore::FetchBodyOwner::json):
(WebCore::FetchBodyOwner::text):

  • Modules/fetch/FetchHeaders.cpp:

(WebCore::canWriteHeader):
(WebCore::FetchHeaders::get const):
(WebCore::FetchHeaders::has const):

  • Modules/fetch/FetchRequest.cpp:

(WebCore::FetchRequest::setBody):
(WebCore::FetchRequest::clone):

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::redirect):
(WebCore::FetchResponse::clone):

  • workers/service/context/ServiceWorkerFetch.cpp:

(WebCore::ServiceWorkerFetch::processResponse):
(WebCore::ServiceWorkerFetch::dispatchFetchEvent):

  • workers/service/context/ServiceWorkerFetch.h:

Source/WebKit:

Provide more useful error messages in our Loading / Fetch code.

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::didFailFetch):

  • StorageProcess/ServiceWorker/WebSWServerConnection.h:
  • StorageProcess/StorageProcess.cpp:

(WebKit::StorageProcess::didFailFetch):

  • StorageProcess/StorageProcess.h:
  • StorageProcess/StorageProcess.messages.in:
  • WebProcess/Storage/ServiceWorkerClientFetch.cpp:

(WebKit::ServiceWorkerClientFetch::didFail):
(WebKit::ServiceWorkerClientFetch::continueLoadingAfterCheckingResponse):

  • WebProcess/Storage/ServiceWorkerClientFetch.h:
  • WebProcess/Storage/ServiceWorkerClientFetch.messages.in:
  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:

(WebKit::WebServiceWorkerFetchTaskClient::didReceiveFormDataAndFinish):
(WebKit::WebServiceWorkerFetchTaskClient::didFail):

  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.h:

LayoutTests:

Rebaseline tests that have different output.

  • http/tests/workers/service/basic-fetch.https-expected.txt:
3:49 PM Changeset in webkit [232483] by ap@apple.com
  • 11 edits
    3 adds in trunk

Add Mojave support to WebKit tools
https://bugs.webkit.org/show_bug.cgi?id=186282

Reviewed by Daniel Bates.

Tools:

Nightly build support will be added separately.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

Added dashboard support.

  • BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
  • BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:

Trigger the right build queues on check-in.

  • Scripts/webkitpy/common/version_name_map.py:
  • Scripts/webkitpy/common/version_name_map_unittest.py:

The main version mapping class updated.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:
  • Scripts/webkitpy/port/mac_unittest.py:

Updated for more platforms in unit tests.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

Added the new platform to flakiness dashboard.

LayoutTests:

  • platform/mac-mojave: Added an empty directory to avoid breaking scripts.
2:51 PM Changeset in webkit [232482] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSLock should clear last exception when releasing the lock
https://bugs.webkit.org/show_bug.cgi?id=186277

Reviewed by Mark Lam.

If we don't clear the last exception we essentially leak the
object and everything referenced by it until another exception is
thrown.

  • runtime/JSLock.cpp:

(JSC::JSLock::willReleaseLock):

2:49 PM Changeset in webkit [232481] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Cannot copy a link address in Elements tab
https://bugs.webkit.org/show_bug.cgi?id=186281
<rdar://problem/39193355>

Reviewed by Brian Burg.

  • UserInterface/Views/ContextMenuUtilities.js:

(WI.appendContextMenuItemsForURL):

2:29 PM Changeset in webkit [232480] by dbates@webkit.org
  • 8 edits in trunk

Update Strong Password appearance
https://bugs.webkit.org/show_bug.cgi?id=186239
<rdar://problem/38183795>

Reviewed by Brent Fulgham.

Source/WebCore:

Fix up the gradient mask to start half-way through the visible text and size it to the
width of the visible text. Also change the color of the Strong Password label to 80% black.

We achieve sizing of the gradient to the width of the visible text by changing the CSS display
of the inner text element to be an inline-block and specifying "max-width: 100%" so that
its maximum width is less than or equal to the width of its containing block. Additionally,
only apply strong password-specific inner text element styles when the field is not disabled
or read-only and has a strong password appearance. Otherwise these styles, specifically the
display type, will adversely effect rendering of the text when the field is disabled or readonly.

  • css/html.css:

(input::-webkit-strong-password-auto-fill-button):

  • html/HTMLInputElement.cpp:

(WebCore::autoFillStrongPasswordMaskImage):
(WebCore::HTMLInputElement::createInnerTextStyle):

LayoutTests:

Update expected results as necessary for the change in appearance.

  • platform/ios/fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button-expected.txt:
  • platform/ios/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt:
  • platform/mac/fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button-expected.txt:
  • platform/mac/fast/forms/auto-fill-button/input-strong-password-auto-fill-button-expected.txt:
2:02 PM Changeset in webkit [232479] by Wenson Hsieh
  • 31 edits in trunk

[WebKit on watchOS] Remove all uses of the EXTRA_ZOOM_MODE compiler flag
https://bugs.webkit.org/show_bug.cgi?id=186279

Reviewed by Tim Horton.

Source/WebCore:

Replaces uses of ENABLE(EXTRA_ZOOM_MODE) with PLATFORM(WATCHOS). No change in behavior.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::compactMode const):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updatePlayState):

  • page/Page.cpp:

(WebCore::relevantViewRect):

  • page/SettingsBase.cpp:

(WebCore::SettingsBase::defaultMinimumZoomFontSize):
(WebCore::SettingsBase::defaultDownloadableBinaryFontsEnabled):

  • page/ViewportConfiguration.cpp:

(WebCore::platformDeviceWidthOverride):
(WebCore::shouldOverrideShrinkToFitArgument):
(WebCore::needsUpdateAfterChangingDisabledAdaptations):

  • platform/LocalizedStrings.cpp:
  • platform/LocalizedStrings.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring):
(-[WebMediaSessionHelper dealloc]):
(-[WebMediaSessionHelper hasWirelessTargetsAvailable]):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenMode):

  • platform/ios/PlaybackSessionInterfaceAVKit.mm:

(WebCore::PlaybackSessionInterfaceAVKit::seekableRangesChanged):

  • platform/ios/VideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerViewController initWithFullscreenInterface:]):
(-[WebAVPlayerViewController enterFullScreenAnimated:completionHandler:]):
(-[WebAVPlayerViewController exitFullScreenAnimated:completionHandler:]):
(-[WebAVPlayerViewController MY_NO_RETURN]):
(-[WebAVPlayerViewController isPictureInPicturePossible]):
(-[WebAVPlayerViewController isPictureInPictureActive]):
(-[WebAVPlayerViewController pictureInPictureActive]):
(-[WebAVPlayerViewController pictureInPictureWasStartedWhenEnteringBackground]):
(-[WebAVPlayerViewController showsPlaybackControls]):
(-[WebAVPlayerViewController setShowsPlaybackControls:]):
(-[WebAVPlayerViewController setAllowsPictureInPicturePlayback:]):
(-[WebAVPlayerViewController setDelegate:]):
(VideoFullscreenInterfaceAVKit::setupFullscreen):
(VideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason):
(VideoFullscreenInterfaceAVKit::doSetup):
(WebCore::supportsPictureInPicture):

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(VideoFullscreenControllerContext::willExitFullscreen):

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

Source/WebCore/PAL:

Replaces uses of ENABLE(EXTRA_ZOOM_MODE) with PLATFORM(WATCHOS).

  • pal/cf/CoreMediaSoftLink.h:
  • pal/spi/cocoa/AVKitSPI.h:

Source/WebKit:

Replaces uses of ENABLE(EXTRA_ZOOM_MODE) with PLATFORM(WATCHOS).

  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _zoomToFocusRect:selectionRect:insideFixed:fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):

  • UIProcess/WebProcessProxy.cpp:
  • UIProcess/WebProcessProxy.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _willStartScrollingOrZooming]):
(-[WKContentView _didEndScrollingOrZooming]):
(-[WKContentView _startAssistingKeyboard]):
(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]):
(-[WKContentView _stopAssistingNode]):
(-[WKContentView reloadContextViewForPresentedListViewController]):
(-[WKContentView _wheelChangedWithEvent:]):
(-[WKContentView _simulateTextEntered:]):
(-[WKContentView selectFormAccessoryPickerRow:]):
(-[WKContentView formInputLabel]):
(-[WKContentView setTimePickerValueToHour:minute:]):

  • UIProcess/ios/WKScrollView.mm:

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

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel platformSupportsPickerViewController]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformPrefersTextLegibilityBasedZoomScaling const):

Tools:

Replaces uses of ENABLE(EXTRA_ZOOM_MODE) with PLATFORM(WATCHOS).

  • TestWebKitAPI/Tests/ios/RenderingProgressTests.mm:
11:23 AM WebKitGTK/2.20.x edited by Michael Catanzaro
(diff)
11:23 AM WebKitGTK/2.20.x edited by Michael Catanzaro
(diff)
11:13 AM Changeset in webkit [232478] by Kocsen Chung
  • 14 edits in branches/safari-605-branch/Source

Apply patch. rdar://problem/40688638

11:10 AM Changeset in webkit [232477] by Kocsen Chung
  • 7 edits in branches/safari-605-branch/Source

Versioning.

10:56 AM Changeset in webkit [232476] by bshafiei@apple.com
  • 2 edits in tags/Safari-606.1.19.2/Source/WebKit

Cherry-pick r232414. rdar://problem/40727218

Unreviewed, build fix for r232276.

iOS sandbox profiles don't preprocess macros. Therefore, remove the whole
macro condition block.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:

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

10:56 AM Changeset in webkit [232475] by bshafiei@apple.com
  • 3 edits in tags/Safari-606.1.19.2/Source/WebKit

Cherry-pick r232303. rdar://problem/40727218

Unreviewed, a quick build fix for r232276.

Enabled SecItemShim again as it turns out to be useful for CFNetwork APIs that
query Keychains underneath us.

  • NetworkProcess/ios/NetworkProcessIOS.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcess):
  • NetworkProcess/mac/NetworkProcessMac.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcess):

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

10:56 AM Changeset in webkit [232474] by bshafiei@apple.com
  • 8 edits in tags/Safari-606.1.19.2/Source/WebKit

Cherry-pick r232276. rdar://problem/40727218

Tighten sandbox profiles for Networking Processes to restrict accesses to macOS/iOS Keychains
https://bugs.webkit.org/show_bug.cgi?id=162948
<rdar://problem/40558894>

Reviewed by Brent Fulgham.

The patch conditionally tighten sandbox profiles for Networking Processes to remove Keychain related
permissions and some security permisssions that are not needed. Also it conditionally remove the
Process Privilege for Networking Processes to access Credentials.

In addition, it remove process privilege assertions for SecItemShim as it is supposed to work in processes
that don't have privileges to access Keychains and delegate all operations to UI Process via IPC. Also,
the patch disables SecItemShim for Networking Process conditionally.

  • Configurations/Network-iOS.entitlements:
  • NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess):
  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
  • Shared/mac/SecItemShim.cpp: (WebKit::sendSecItemRequest): (WebKit::webSecItemCopyMatching): (WebKit::webSecItemAdd): (WebKit::webSecItemUpdate): (WebKit::webSecItemDelete): (WebKit::initializeSecItemShim):

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

10:44 AM Changeset in webkit [232473] by bshafiei@apple.com
  • 7 edits in tags/Safari-606.1.19.2/Source

Versioning.

10:35 AM Changeset in webkit [232472] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.19.2

New tag.

10:26 AM Changeset in webkit [232471] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Disable keyboard in fullscreen ios.
https://bugs.webkit.org/show_bug.cgi?id=186058

Patch by Jeremy Jones <jeremyj@apple.com> on 2018-06-04
Reviewed by Jer Noble.

Disallow keyboard in ios fullscreen. This will still allow select keys useful for playback.

  • UIProcess/WebFullScreenManagerProxy.cpp:

(WebKit::WebFullScreenManagerProxy::supportsFullScreen):

10:21 AM Changeset in webkit [232470] by youenn@apple.com
  • 9 edits in trunk

NetworkCORSPreflightChecker should set the preflight request User-Agent header
https://bugs.webkit.org/show_bug.cgi?id=186254
<rdar://problem/40293504>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/cors/cors-preflight.any-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-preflight.any.js:

(corsPreflight):

  • web-platform-tests/fetch/api/cors/cors-preflight.any.worker-expected.txt:
  • web-platform-tests/fetch/api/resources/preflight.py:

(main):

Source/WebKit:

Some servers misbehave if the User-Agent header is not set properly on preflight requests.
Set it to the same value as the request triggering the preflight.

  • NetworkProcess/NetworkCORSPreflightChecker.cpp:

(WebKit::NetworkCORSPreflightChecker::startPreflight):

  • NetworkProcess/NetworkCORSPreflightChecker.h:
  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::checkCORSRequestWithPreflight):

10:20 AM Changeset in webkit [232469] by youenn@apple.com
  • 7 edits in trunk/Source

[WK1] Add an option to restrict communication to localhost sockets
https://bugs.webkit.org/show_bug.cgi?id=186249

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Export new symbols used for WK1.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:

Source/WebCore:

Covered by existing tests.
Set explicitly webrtc socket IP address to 127.0.0.1 in testing mode.
For that purpose, we need WK1 to create a wrapper around a socket factory,
this wrapper being responsible of setting or not the IP address to 127.0.0.1.

  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::prepareSocketAddress):
(WebCore::BasicPacketSocketFactory::BasicPacketSocketFactory):
(WebCore::BasicPacketSocketFactory::setDisableNonLocalhostConnections):
(WebCore::BasicPacketSocketFactory::CreateClientTcpSocket):
(WebCore::LibWebRTCProvider::createPeerConnection):

  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:
9:35 AM Changeset in webkit [232468] by pvollan@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Rebaseline editing/style/apply-style-iframe-crash.html on Windows.

Unreviewed test gardening.

  • platform/win/editing/style/apply-style-iframe-crash-expected.txt: Added.
9:17 AM Changeset in webkit [232467] by jonlee@apple.com
  • 5 edits in trunk/PerformanceTests

Remove unnecessary MotionMark controllers
https://bugs.webkit.org/show_bug.cgi?id=186255

Reviewed by Said Abou-Hallawa.

Get rid of the ramp30 and the fixed-with-a-step controllers, which aren't used for testing
or debugging.

  • MotionMark/developer.html: Move the "ramp" option as first, since that is the default

controller for the benchmark.

  • MotionMark/resources/debug-runner/motionmark.js:
  • MotionMark/resources/runner/motionmark.js: Added missing copyright notice.
  • MotionMark/tests/resources/main.js:
7:58 AM Changeset in webkit [232466] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] Merge width and margin computation for block-level, non-replaced and inline,replaced element in normal flow
https://bugs.webkit.org/show_bug.cgi?id=186225

Reviewed by Antti Koivisto.

This patch merges the width and horizontal margin computation for
https://www.w3.org/TR/CSS22/visudet.html#inline-replaced-width and https://www.w3.org/TR/CSS22/visudet.html#blockwidth

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

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

7:43 AM Changeset in webkit [232465] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

[LFC] Merge width and horizontal margin computation
https://bugs.webkit.org/show_bug.cgi?id=186217

Reviewed by Antti Koivisto.

We could certainly compute width and maring separately, but to match each steps defined
at https://www.w3.org/TR/CSS22/visudet.html, we should just merge width and horizontal margin computations
(followed by height and vertical margins).
Use 0 computed marings for now.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeFloatingWidthAndMargin const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidthAndMargin const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHeight const):
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidth const): Deleted.
(WebCore::Layout::FormattingContext::computeFloatingWidth const): Deleted.

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

(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::computedPadding):
(WebCore::Layout::outOfFlowNonReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedWidth): Deleted.
(WebCore::Layout::floatingNonReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidth): Deleted.

  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::initializeRoot):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layout const):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin const):
(WebCore::Layout::BlockFormattingContext::computeInFlowWidthAndMargin const):
(WebCore::Layout::BlockFormattingContext::computeWidth const): Deleted.
(WebCore::Layout::BlockFormattingContext::computeInFlowWidth const): Deleted.
(WebCore::Layout::BlockFormattingContext::computeMargin const): Deleted.

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

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidth): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidth): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::computedMargin): Deleted.

  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::marginBox const):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::setHasValidVerticalMargin):
(WebCore::Display::Box::setHasValidHorizontalMargin):
(WebCore::Display::Box::invalidateMargin):
(WebCore::Display::Box::setHorizontalMargin):
(WebCore::Display::Box::setVerticalMargin):
(WebCore::Display::Box::marginTop const):
(WebCore::Display::Box::marginLeft const):
(WebCore::Display::Box::marginBottom const):
(WebCore::Display::Box::marginRight const):
(WebCore::Display::Box::Edges::Edges): Deleted.
(WebCore::Display::Box::setHasValidMargin): Deleted.
(WebCore::Display::Box::setMargin): Deleted.

3:19 AM Changeset in webkit [232464] by zandobersek@gmail.com
  • 3 edits
    5 adds in trunk/LayoutTests

Unreviewed WPE gardening.

Adding platform-specific baselines for three http/tests/cache/ tests.
Updating baseline for the security/block-test.html test.
Adding failure expectations for a few other failures, linking to existing bugs.

  • platform/wpe/TestExpectations:
  • platform/wpe/http/tests/cache: Added.
  • platform/wpe/http/tests/cache/disk-cache: Added.
  • platform/wpe/http/tests/cache/disk-cache/redirect-chain-limits-expected.txt: Added.
  • platform/wpe/http/tests/cache/iframe-304-crash-expected.txt: Added.
  • platform/wpe/http/tests/cache/network-error-during-revalidation-expected.txt: Added.
  • platform/wpe/security/block-test-expected.txt:
12:42 AM Changeset in webkit [232463] by Yusuke Suzuki
  • 4 edits
    1 delete in trunk/Source/JavaScriptCore

Get rid of UnconditionalFinalizers and WeakReferenceHarvesters
https://bugs.webkit.org/show_bug.cgi?id=180248

Reviewed by Sam Weinig.

As a final step, this patch removes ListableHandler from JSC.
Nobody uses UnconditionalFinalizers and WeakReferenceHarvesters now.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/Heap.h:
  • heap/ListableHandler.h: Removed.
12:28 AM Changeset in webkit [232462] by zandobersek@gmail.com
  • 10 edits
    18 adds in trunk/LayoutTests

Unreviewed WPE gardening.

Manage the W3C test failures by rebaselining what can be rebaselined, and adding
failing expectations for the rest of the failures. This mostly addresses the
new CSS Text tests that were imported lately, as well as changes in console logging.

  • platform/wpe/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/FileAPI/url/sandboxed-iframe-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/access-control-basic-cors-safelisted-request-headers-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/access-control-basic-get-fail-non-simple-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/access-control-basic-post-with-non-cors-safelisted-content-type-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-infinite-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-infinite-sync-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error-sync-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text/white-space: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-001-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-004-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-016-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-017-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapse-002-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.worker-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/request/request-keepalive-quota-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/security: Added.
  • platform/wpe/imported/w3c/web-platform-tests/fetch/security/embedded-credentials.tentative.sub-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
Note: See TracTimeline for information about the timeline view.