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

Timeline



Aug 9, 2018:

10:13 PM Changeset in webkit [234751] by Basuke Suzuki
  • 3 edits in trunk/LayoutTests

[LayoutTests] Test case which committed on r175053 was wrong.
https://bugs.webkit.org/show_bug.cgi?id=188454

Reviewed by Fujii Hironori.

It was originally committed on https://bugs.webkit.org/show_bug.cgi?id=136938 and has kept unchanged,
but the test case uses non-existing redirect.php scripts which was removed a few months before than
this bug. Also result was compared to wrong values.

  • http/tests/xmlhttprequest/cross-origin-redirect-responseURL-expected.txt:
  • http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html:
9:53 PM Changeset in webkit [234750] by commit-queue@webkit.org
  • 4 edits in trunk/PerformanceTests

Add ability to ignore process prewarming for launch time benchmark
https://bugs.webkit.org/show_bug.cgi?id=188462

Patch by Ben Richards <benton_richards@apple.com> on 2018-08-09
Reviewed by Ryosuke Niwa.

Added a flag to the new tab benchmark that will open a blank tab before the tab to be measured in order to ignore process prewarming.

  • LaunchTime/launch_time.py:

(DefaultLaunchTimeHandler):
(DefaultLaunchTimeHandler.on_receive_stop_time): Deleted.
(DefaultLaunchTimeHandler.on_receive_stop_signal):
(DefaultLaunchTimeHandler.do_HEAD):
(DefaultLaunchTimeHandler.do_GET):
(DefaultLaunchTimeHandler.do_POST):
(LaunchTimeBenchmark):
(LaunchTimeBenchmark._standard_deviation): Fixed divide by zero bug when '-n' is set to 1
(LaunchTimeBenchmark.open_tab): Added option to open a blank tab
(LaunchTimeBenchmark.run):

  • LaunchTime/new_tab.py:

(NewTabBenchmark.initialize):
(NewTabBenchmark.run_iteration):
(NewTabBenchmark.will_parse_arguments):
(NewTabBenchmark.did_parse_arguments):
(NewTabBenchmark.ResponseHandler.Handler.get_test_page):
(NewTabBenchmark.ResponseHandler.Handler.on_receive_stop_time): Deleted.
(NewTabBenchmark.ResponseHandler.Handler.on_receive_stop_signal):
(NewTabBenchmark):

  • LaunchTime/startup.py:

(StartupBenchmark.ResponseHandler.Handler.get_test_page):
(StartupBenchmark.ResponseHandler.Handler.on_receive_stop_time): Deleted.
(StartupBenchmark.ResponseHandler.Handler.on_receive_stop_signal):
(StartupBenchmark):

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

[webkitpy][Win] LayoutTests: test names should be Unix style, separated by slash not backslash
https://bugs.webkit.org/show_bug.cgi?id=187973

Reviewed by Alex Christensen.

In LayoutTests, test names have been canonicalized in Unix style
since Bug 63597, for example 'fast/css/001.html'. But, Bug 179219,
Bug 179572, Bug 180660 and Bug 181814 have changed to use
os.path.seq instead of slash if Windows Python is used.

Revert parts of those changes. Change relative_test_filename to
return a slash sperated test name as well as chromium_win.py used
to do.

This change fixes all 41 test-webkitpy failures in WinCairo port.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationParser._parse_line): Do not convert a test name by using normpath.

  • Scripts/webkitpy/port/base.py:

(Port.normalize_test_name): Use TEST_PATH_SEPARATOR instead of os.path.sep.
(Port.relative_test_filename): Replace self.host.filesystem.sep with self.TEST_PATH_SEPARATOR.
(Port.abspath_for_test): Split test_name with TEST_PATH_SEPARATOR.

  • Scripts/webkitpy/port/driver.py:

(Driver): Use '/' instead of os.sep.

  • Scripts/webkitpy/port/win.py:

(WinCairoPort): Do not override TEST_PATH_SEPARATOR.

6:18 PM Changeset in webkit [234748] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WHLSL] Add individual test durations to output
https://bugs.webkit.org/show_bug.cgi?id=188448

Patch by Thomas Denney <tdenney@apple.com> on 2018-08-09
Reviewed by Myles C. Maxfield.

  • WebGPUShadingLanguageRI/Test.js: Add timing output.
5:28 PM Changeset in webkit [234747] by commit-queue@webkit.org
  • 23 edits
    5 adds in trunk

We should cache the compiled sandbox profile in a data vault
https://bugs.webkit.org/show_bug.cgi?id=184991

Patch by Ben Richards <benton_richards@apple.com> on 2018-08-09
Reviewed by Ryosuke Niwa.

Source/WebCore:

Added functionality to FileHandle so that it can lock a file while open.
Added a function to FileSystem to delete non empty directories.

  • platform/FileHandle.cpp:

(WebCore::FileHandle::FileHandle):
(WebCore::FileHandle::open):
(WebCore::FileHandle::close):

  • platform/FileHandle.h:
  • platform/FileSystem.h:
  • platform/cocoa/FileSystemCocoa.mm:

(WebCore::FileSystem::deleteNonEmptyDirectory):

Source/WebKit:

This patch changes a few things (note: data vaults and sandbox entitlements are only used in internal builds):
(1) Instead of compiling a sandbox every time a process is launched, processes now look for a cached sandbox

in a process specific data vault on macOS platforms. (ChildProcessMac.mm)

(2) If a valid cached sandbox is not found, a process will create the data vault (or ensure that it exists),

compile a sandbox, and cache it.

(3) In order to create process specific data vaults, each process now has their own <process name>-OSX-sandbox.entitlements

file which contains an entitlement with a process specific "storage class" which ensures that each process
can only ever access its own data vault. (See the article on confluence "Data Vaults and Restricted Files" for more info)

(4) The sandbox entitlements file for the Network, WebContent and Plugin services are loaded dynamically

through Scripts/<process name>-process-entitlements.sh which is triggered in a new build phase for each service.
The Storage process sandbox entitlements are loaded directly in Configurations/StorageService.xcconfig.
The reason that the sandbox entitlements are applied dynamically is so that these sandbox entitlements
are only applied when WK_USE_RESTRICTED_ENTITLEMENTS is YES. This means that open source builds will still work.

  • Configurations/Network-OSX-sandbox.entitlements: Added.
  • Configurations/Storage-OSX-sandbox.entitlements: Added.
  • Configurations/StorageService.xcconfig:
  • Configurations/WebContent-OSX-sandbox.entitlements: Added.
  • Configurations/WebKit.xcconfig:
  • NetworkProcess/NetworkProcess.h:
  • PluginProcess/PluginProcess.h:
  • Scripts/process-network-sandbox-entitlements.sh: Added.
  • Scripts/process-webcontent-sandbox-entitlements.sh: Added.
  • Shared/ChildProcess.h:
  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:

(WebKit::XPCServiceInitializer):

  • Shared/SandboxInitializationParameters.h:

(WebKit::SandboxInitializationParameters::setOverrideSandboxProfilePath):
(WebKit::SandboxInitializationParameters::overrideSandboxProfilePath const):
(WebKit::SandboxInitializationParameters::setSandboxProfile):
(WebKit::SandboxInitializationParameters::sandboxProfile const):
(): Deleted.

  • Shared/mac/ChildProcessMac.mm:

(WebKit::SandboxProfileDeleter::operator()):
(WebKit::SandboxParametersDeleter::operator()):
(WebKit::SandboxInfo::SandboxInfo):
(WebKit::fileContents):
(WebKit::processStorageClass):
(WebKit::setAndSerializeSandboxParameters):
(WebKit::sandboxDataVaultParentDirectory):
(WebKit::sandboxDirectory):
(WebKit::sandboxFilePath):
(WebKit::ensureSandboxCacheDirectory):
(WebKit::writeSandboxDataToCacheFile):
(WebKit::compileAndCacheSandboxProfile):
(WebKit::tryApplyCachedSandbox):
(WebKit::webKit2Bundle):
(WebKit::sandboxProfilePath):
(WebKit::compileAndApplySandboxSlowCase):
(WebKit::applySandbox):
(WebKit::initializeSandboxParameters):
(WebKit::ChildProcess::initializeSandbox):

  • Shared/mac/SandboxInitialiationParametersMac.mm:

(WebKit::SandboxInitializationParameters::SandboxInitializationParameters):

  • StorageProcess/StorageProcess.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebProcess.h:

Source/WTF:

Added trace points for sandbox initialization and exposed functions needed for sandbox caching

  • wtf/SystemTracing.h:
  • wtf/spi/darwin/SandboxSPI.h:

Tools:

Added trace points for sandbox initialization

  • Tracing/SystemTracePoints.plist:
5:20 PM Changeset in webkit [234746] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

Remove ElCapitan specific layout test expectations
https://bugs.webkit.org/show_bug.cgi?id=188457

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-08-09
Reviewed by Alex Christensen.

  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
5:18 PM Changeset in webkit [234745] by Basuke Suzuki
  • 2 edits
    4 adds in trunk/LayoutTests

[Curl] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=188456

Unreviewed test gardening.

Unskip http/xmlhttprequest.

  • platform/wincairo/TestExpectations:
  • platform/wincairo/http/tests/local/file-url-sent-as-referer-expected.png: Added.
  • platform/wincairo/http/tests/multipart/invalid-image-data-expected.png: Added.
  • platform/wincairo/http/tests/multipart/invalid-image-data-standalone-expected.png: Added.
  • platform/wincairo/http/tests/uri/css-href-expected.png: Added.
4:56 PM Changeset in webkit [234744] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

InputType should not interact with an HTMLInputElement is no longer associated with
https://bugs.webkit.org/show_bug.cgi?id=188410

Reviewed by Ryosuke Niwa.

Clear InputType::m_element when the InputType is no longer associated with the HTMLInputElement
because the element changed type. We were already dealing with the InputType no longer being
associated with an element because the element died by using a WeakPtr. However, it is conceptually
better (more correct) to also clear this pointer if the element is still alive but associated with
another InputType.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):

  • html/InputType.h:

(WebCore::InputType::detachFromElement):

4:49 PM Changeset in webkit [234743] by jer.noble@apple.com
  • 12 edits
    4 adds in trunk

Video playback is using more power
https://bugs.webkit.org/show_bug.cgi?id=188452
Source/WebCore:

<rdar://problem/42298937>

Reviewed by Eric Carlson.

Test: TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm

When the meaning of PlatformMediaSession::Video changed to "video-only", we failed to update
MediaSessionManagerCocoa::updateSessionState() to use the new PlatformMediaSession::VideoAudio
enum, so Video-only sessions were getting the higher audio buffer size (where it's not needed)
and Video-and-Audio sessions were getting the default value.

To enable testing, add a preferredAudioBufferSize property to Internals. Also, the getter for
AudioSession::preferredBufferSize was using the wrong CoreAudio property address, and was
always returning 0.

  • platform/audio/AudioSession.h:
  • platform/audio/cocoa/MediaSessionManagerCocoa.cpp:

(MediaSessionManagerCocoa::updateSessionState):

  • platform/audio/mac/AudioSessionMac.cpp:

(WebCore::AudioSession::preferredBufferSize const):

  • testing/Internals.cpp:

(WebCore::Internals::preferredAudioBufferSize const):

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

Source/WebKit:

Reviewed by Eric Carlson.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _setLowPowerVideoAudioBufferSizeEnabled:]):
(-[WKPreferences _lowPowerVideoAudioBufferSizeEnabled]):

Tools:

<rdar://problem/42298937>

Reviewed by Eric Carlson.

  • TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:

(PreferredAudioBufferSize::createView):
(PreferredAudioBufferSize::preferredAudioBufferSize const):
(TEST_F):

4:30 PM Changeset in webkit [234742] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION (r234330): 3 legacy-animation-engine/compositing tests are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=188357

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
4:07 PM Changeset in webkit [234741] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Fix URLSchemeHandler.SyncXHR API test after r234735.
https://bugs.webkit.org/show_bug.cgi?id=188358

  • UIProcess/WebURLSchemeTask.cpp:

(WebKit::WebURLSchemeTask::didReceiveData):
Return after appending data for synchronous loads. We used to send unused messages.

3:51 PM Changeset in webkit [234740] by Kocsen Chung
  • 4 edits in tags/Safari-607.1.2

Cherry-pick r234739. rdar://problem/43102553

REGRESSION(234640) Loading stalls in environments without SafariSafeBrowsing framework
https://bugs.webkit.org/show_bug.cgi?id=188453
<rdar://problem/43102553>

Source/WebKit:

Reviewed by Chris Dumez.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::beginSafeBrowsingCheck):

Tools:

Reviewed by Chris Dumez

  • TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (TEST): (+[NullLookupContext sharedLookupContext]): (TestWebKitAPI::TEST): Deleted.

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

3:37 PM Changeset in webkit [234739] by achristensen@apple.com
  • 4 edits in trunk

REGRESSION(234640) Loading stalls in environments without SafariSafeBrowsing framework
https://bugs.webkit.org/show_bug.cgi?id=188453
<rdar://problem/43102553>

Source/WebKit:

Reviewed by Chris Dumez.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::beginSafeBrowsingCheck):

Tools:

Reviewed by Chris Dumez

  • TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:

(TEST):
(+[NullLookupContext sharedLookupContext]):
(TestWebKitAPI::TEST): Deleted.

3:03 PM Changeset in webkit [234738] by Kocsen Chung
  • 7 edits in branches/safari-606.1.36.1-branch/Source

Versioning.

2:53 PM Changeset in webkit [234737] by Kocsen Chung
  • 1 copy in tags/Safari-606.1.36.1.3

Tag Safari-606.1.36.1.3.

2:47 PM Changeset in webkit [234736] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Dark Mode: SourceCodeTextEditor error/warning text widget is too light
https://bugs.webkit.org/show_bug.cgi?id=188126
<rdar://problem/42674963>

Reviewed by Matt Baker.

  • UserInterface/Views/DarkMode.css:

(@media (prefers-dark-interface)):
(.source-code.text-editor > .CodeMirror .issue-widget.warning,): Added.
(.source-code.text-editor > .CodeMirror .issue-widget.error,): Added.

2:43 PM Changeset in webkit [234735] by commit-queue@webkit.org
  • 5 edits in trunk

WKURLSchemeHandler crashes when sent errors with sync XHR
https://bugs.webkit.org/show_bug.cgi?id=188358

Patch by Alex Christensen <achristensen@webkit.org> on 2018-08-09
Reviewed by Chris Dumez.

Source/WebKit:

  • UIProcess/WebURLSchemeTask.cpp:

(WebKit::WebURLSchemeTask::didReceiveData):
(WebKit::WebURLSchemeTask::didComplete):

  • UIProcess/WebURLSchemeTask.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:

(-[SyncErrorScheme webView:startURLSchemeTask:]):
(-[SyncErrorScheme webView:stopURLSchemeTask:]):
(-[SyncErrorScheme webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):

1:43 PM Changeset in webkit [234734] by pvollan@apple.com
  • 2 edits in trunk/Tools

REGRESSION(r234652): fast/scrolling/rtl-scrollbars-animation-property.html is failing
https://bugs.webkit.org/show_bug.cgi?id=188397

Reviewed by Tim Horton.

After r234652, [NSScroller preferredScrollerStyle] is called in the UI process, and we need to set the same
user defaults related to scrollbars in the UI process as we do in the WebProcess.

  • WebKitTestRunner/mac/main.mm:

(setDefaultsToConsistentValuesForTesting):

1:13 PM Changeset in webkit [234733] by sbarati@apple.com
  • 9 edits in trunk/Source

memoryFootprint should return size_t not optional<size_t>
https://bugs.webkit.org/show_bug.cgi?id=188444

Reviewed by Simon Fraser.

Source/WebCore:

  • page/cocoa/ResourceUsageOverlayCocoa.mm:

(WebCore::ResourceUsageOverlay::platformDraw):

Source/WTF:

We're now going to return zero instead of returning nullopt on failure.
There was a lot of code dancing around memoryFootprint failing for no
good reason.

Users of this API were previously doing this on failure:

  • Treating it as zero (this was the most common user).
  • Crashing.
  • Bailing out early and not changing our memory pressure state. This change

has the effect that instead of not changing our memory pressure state on
failure, we will go back to thinking we're not under memory pressure. Since
we relied on this API not failing to do anything useful (like kill the process
or release memory), this won't change our behavior here in a meaningful way.

  • wtf/MemoryFootprint.h:
  • wtf/MemoryPressureHandler.cpp:

(WTF::MemoryPressureHandler::currentMemoryUsagePolicy):
(WTF::MemoryPressureHandler::shrinkOrDie):
(WTF::MemoryPressureHandler::measurementTimerFired):

  • wtf/cocoa/MemoryFootprintCocoa.cpp:

(WTF::memoryFootprint):

  • wtf/linux/MemoryFootprintLinux.cpp:

(WTF::memoryFootprint):

  • wtf/linux/MemoryPressureHandlerLinux.cpp:

(WTF::MemoryPressureHandler::ReliefLogger::platformMemoryUsage):

  • wtf/win/MemoryFootprintWin.cpp:

(WTF::memoryFootprint):

12:36 PM Changeset in webkit [234732] by ajuma@chromium.org
  • 7 edits in trunk

Update IDL for IntersectionObserverEntry and IntersectionObserverEntryInit
https://bugs.webkit.org/show_bug.cgi?id=188445

Reviewed by Simon Fraser.

Source/WebCore:

Update IntersectionObserverEntry by making rootBounds nullable, and adding an
isIntersecting attribute. Make the same changes to IntersectionObserverEntryInit,
and also add an intersectionRatio attribute.

Tested by intersection-observer/intersection-observer-entry-interface.html

  • page/IntersectionObserverEntry.cpp:

(WebCore::IntersectionObserverEntry::IntersectionObserverEntry):

  • page/IntersectionObserverEntry.h:

(WebCore::IntersectionObserverEntry::isIntersecting const):

  • page/IntersectionObserverEntry.idl:

LayoutTests:

  • intersection-observer/intersection-observer-entry-interface-expected.txt:
  • intersection-observer/intersection-observer-entry-interface.html:
12:02 PM Changeset in webkit [234731] by Wenson Hsieh
  • 4 edits
    3 moves
    1 add in trunk/Tools

[iOS WK2] Rename and refactor DataInteractionTests and DataInteractionSimulator
https://bugs.webkit.org/show_bug.cgi?id=188439

Reviewed by Andy Estes and Megan Gardner.

Refactor DataInteractionSimulator (currently used for drag and drop testing on iOS) so that it exists across
macOS and iOS, and rename it to DragAndDropSimulator. Additionally, rename DataInteractionTests to
DragAndDropTests.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: Renamed from Tools/TestWebKitAPI/Tests/ios/DataInteractionTests.mm.

(testIconImage):
(testZIPArchive):
(-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
(-[TestWKWebView editorContainsImageElement]):
(-[TestWKWebView editorValue]):
(makeCGRectValue):
(checkCGRectIsEqualToCGRectWithLogging):
(checkSelectionRectsWithLogging):
(checkRichTextTypePrecedesPlainTextType):
(checkFirstTypeIsPresentAndSecondTypeIsMissing):
(checkTypeIdentifierIsRegisteredAtIndex):
(checkEstimatedSize):
(checkSuggestedNameAndEstimatedSize):
(checkStringArraysAreEqual):
(checkDragCaretRectIsContainedInRect):
(checkJSONWithLogging):
(testIconImageData):
(runTestWithTemporaryTextFile):
(runTestWithTemporaryFolder):
(TestWebKitAPI::TEST):
(TestWebKitAPI::setUpTestWebViewForDataTransferItems):
(TestWebKitAPI::testDragAndDropOntoTargetElements):
(TestWebKitAPI::testIconImageData):

  • TestWebKitAPI/cocoa/DragAndDropSimulator.h: Renamed from Tools/TestWebKitAPI/ios/DataInteractionSimulator.h.
  • TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: Renamed from Tools/TestWebKitAPI/ios/DataInteractionSimulator.mm.

(-[WKWebView dropInteractionDelegate]):
(-[WKWebView dragInteractionDelegate]):
(-[WKWebView dropInteraction]):
(-[WKWebView dragInteraction]):
(-[MockDragDropSession initWithItems:location:window:allowMove:]):
(-[MockDragDropSession allowsMoveOperation]):
(-[MockDragDropSession isRestrictedToDraggingApplication]):
(-[MockDragDropSession hasItemsConformingToTypeIdentifiers:]):
(-[MockDragDropSession canLoadObjectsOfClass:]):
(-[MockDragDropSession canLoadObjectsOfClasses:]):
(-[MockDragDropSession items]):
(-[MockDragDropSession setItems:]):
(-[MockDragDropSession addItems:]):
(-[MockDragDropSession locationInView:]):
(-[MockDropSession initWithProviders:location:window:allowMove:]):
(-[MockDropSession isLocal]):
(-[MockDropSession progress]):
(-[MockDropSession setProgressIndicatorStyle:]):
(-[MockDropSession progressIndicatorStyle]):
(-[MockDropSession operationMask]):
(-[MockDropSession localDragSession]):
(-[MockDropSession hasItemsConformingToTypeIdentifier:]):
(-[MockDropSession canCreateItemsOfClass:]):
(-[MockDropSession loadObjectsOfClass:completion:]):
(-[MockDragSession initWithWindow:allowMove:]):
(-[MockDragSession localOperationMask]):
(-[MockDragSession externalOperationMask]):
(-[MockDragSession session]):
(-[MockDragSession localContext]):
(-[MockDragSession setLocalContext:]):
(dragAndDropEventNames):
(-[DragAndDropSimulatorApplication _cancelAllTouches]):
(-[DragAndDropSimulator initWithWebView:]):
(-[DragAndDropSimulator dealloc]):
(-[DragAndDropSimulator _resetSimulatedState]):
(-[DragAndDropSimulator observedEventNames]):
(-[DragAndDropSimulator simulateAllTouchesCanceled:]):
(-[DragAndDropSimulator runFrom:to:]):
(-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]):
(-[DragAndDropSimulator finalSelectionRects]):
(-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
(-[DragAndDropSimulator _enqueuePendingAdditionalItemRequestLocations]):
(-[DragAndDropSimulator _sendQueuedAdditionalItemRequest]):
(-[DragAndDropSimulator _advanceProgress]):
(-[DragAndDropSimulator _currentLocation]):
(-[DragAndDropSimulator _scheduleAdvanceProgress]):
(-[DragAndDropSimulator sourceItemProviders]):
(-[DragAndDropSimulator externalItemProviders]):
(-[DragAndDropSimulator setExternalItemProviders:]):
(-[DragAndDropSimulator phase]):
(-[DragAndDropSimulator liftPreviews]):
(-[DragAndDropSimulator lastKnownDragCaretRect]):
(-[DragAndDropSimulator waitForInputSession]):
(-[DragAndDropSimulator insertedAttachments]):
(-[DragAndDropSimulator removedAttachments]):
(-[DragAndDropSimulator endDataTransfer]):
(-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
(-[DragAndDropSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]):
(-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
(-[DragAndDropSimulator _webView:showCustomSheetForElement:]):
(-[DragAndDropSimulator _webView:willPerformDropWithSession:]):
(-[DragAndDropSimulator _webView:didInsertAttachment:]):
(-[DragAndDropSimulator _webView:didRemoveAttachment:]):
(-[DragAndDropSimulator _webView:focusShouldStartInputSession:]):
(-[DragAndDropSimulator _webView:didStartInputSession:]):

  • TestWebKitAPI/ios/UIKitSPI.h:
  • TestWebKitAPI/mac/DragAndDropSimulatorMac.mm: Added.

(-[DragAndDropSimulator initWithWebView:]):
(-[DragAndDropSimulator dealloc]):
(-[DragAndDropSimulator runFrom:to:]):
(-[DragAndDropSimulator insertedAttachments]):
(-[DragAndDropSimulator removedAttachments]):

11:48 AM Changeset in webkit [234730] by Chris Dumez
  • 10 edits in trunk

REGRESSION (r232083): WKWebView loses first-party cookies on iOS
https://bugs.webkit.org/show_bug.cgi?id=188443
<rdar://problem/42991584>

Patch by Sihui Liu <sihui_liu@apple.com> on 2018-08-09
Reviewed by Chris Dumez.

Source/WebKit:

Revert the change to set sharedCookieStorage for iOS as it is breaking Kayak.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcessCreationParameters.cpp:

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

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • Shared/WebProcessCreationParameters.cpp:

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

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

(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):

Tools:

Skip WebKit.WKHTTPCookieStoreWithoutProcessPool on iOS.

  • TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
11:18 AM Changeset in webkit [234729] by Kocsen Chung
  • 7 edits
    2 adds in branches/safari-606.1.36.1-branch

Cherry-pick r234718. rdar://problem/43102434

REGRESSION (r228260): Events handled by input method invoke default event handler
https://bugs.webkit.org/show_bug.cgi?id=188370

Reviewed by Wenson Hsieh.

Source/WebCore:

The bug was caused by the default event handler being invoked for the "virtual" keydown events
generated for input methods. Namely, when Japanese or Chinese input methods swallows TAB key,
WebKit should not invoke the default event handler and move the focus during input composition.

Fixed the bug by adding a new boolean on Event indicating whether the default event handler
should be invoked, and restoring the behavior prior to r228260 for these virtual keydown events.

Test: editing/input/press-tab-during-ime-composition.html

  • dom/Event.h: (WebCore::Event::isDefaultEventHandlerIgnored const): Added. (WebCore::Event::setIsDefaultEventHandlerIgnored): Added.
  • dom/EventDispatcher.cpp: (WebCore::EventDispatcher::dispatchEvent): Don't invoke the default event handler if isDefaultEventHandlerIgnored is set.
  • page/EventHandler.cpp: (WebCore::EventHandler::internalKeyEvent): Set isDefaultEventHandlerIgnored. This restores WebKit's behavior prior to r228260.

LayoutTests:

Added a regression test. Due to the lack of adequate support of textInputController in WebKitTestRunner,
the test is only enabled in WebKit1. The WTR fix is tracked by https://webkit.org/b/188428.

  • editing/input/press-tab-during-ime-composition-expected.txt: Added.
  • editing/input/press-tab-during-ime-composition.html: Added.
  • platform/ios/TestExpectations:
  • platform/wk2/TestExpectations:

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

11:02 AM Changeset in webkit [234728] by keith_miller@apple.com
  • 9 edits in trunk

Array.prototype.sort should call @toLength instead of ">>> 0"
https://bugs.webkit.org/show_bug.cgi?id=188430

Reviewed by Saam Barati.

JSTests:

  • test262/expectations.yaml:

Source/JavaScriptCore:

Also add a new function to $vm that will fetch a private
property. This can be useful for running builtin helper functions.

  • builtins/ArrayPrototype.js:

(sort):

  • tools/JSDollarVM.cpp:

(JSC::functionGetPrivateProperty):
(JSC::JSDollarVM::finishCreation):

LayoutTests:

Remove invalid conformance test expectations. Array.prototype.sort calls toLength, which
does not truncate integers.

  • sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.11_Array_prototype_sort/S15.4.4.11_A4_T1.html:
  • sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.11_Array_prototype_sort/S15.4.4.11_A4_T2.html:
  • sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.11_Array_prototype_sort/S15.4.4.11_A4_T3.html:
10:47 AM Changeset in webkit [234727] by Kocsen Chung
  • 2 edits in tags/Safari-607.1.2/Source/WebCore

Cherry-pick r234717. rdar://problem/43075662

Prevent collectScreenProperties from crashing Base System
https://bugs.webkit.org/show_bug.cgi?id=188429
<rdar://problem/43075662>

Patch by Justin Fan <Justin Fan> on 2018-08-08
Reviewed by Simon Fraser.

Adding some error-checking and early returns to further prevent calling CGLDescribeRenderer with invalid parameters.

Existing WebGL tests should cover; no expected change in behavior. Crash happened primarily on Base System.

  • platform/mac/PlatformScreenMac.mm: (WebCore::gpuIDForDisplayMask):

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

10:24 AM Changeset in webkit [234726] by Ross Kirsling
  • 2 edits in trunk/Tools

Unreviewed follow-up fix for r234720.

  • Scripts/webkitpy/bindings/main.py:

(BindingsTests.close_and_remove):
(BindingsTests.main):
Return to the original approach, since this seems to be the simplest cross-platform solution.

8:49 AM Changeset in webkit [234725] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

DisplayRefreshMonitorMac should hold a weak pointer to WebPage.
https://bugs.webkit.org/show_bug.cgi?id=186683

Reviewed by Brent Fulgham.

Instead of DisplayRefreshMonitorMac having a RefPtr to WebPage, it should have a weak pointer.
Having a RefPtr could in theory create reference cycles. This potential problem has not been
observed in practice, but it is safer to use a weak pointer.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/DrawingAreaMac.cpp:

(WebKit::DisplayRefreshMonitorMac::DisplayRefreshMonitorMac):
(WebKit::DisplayRefreshMonitorMac::~DisplayRefreshMonitorMac):
(WebKit::DisplayRefreshMonitorMac::requestRefreshCallback):

7:37 AM WebKitGTK/Gardening/Calendar/2018Logs edited by magomez@igalia.com
(diff)
7:01 AM Changeset in webkit [234724] by magomez@igalia.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK+ gardening after r234720.

  • platform/gtk/TestExpectations:
  • platform/gtk/http/tests/inspector/network/xhr-response-body-expected.txt:
6:36 AM Changeset in webkit [234723] by ajuma@chromium.org
  • 9 edits
    66 adds in trunk

Import WPTs for IntersectionObserver
https://bugs.webkit.org/show_bug.cgi?id=188416

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/intersection-observer/META.yml: Added.
  • web-platform-tests/intersection-observer/bounding-box-expected.txt: Added.
  • web-platform-tests/intersection-observer/bounding-box.html: Added.
  • web-platform-tests/intersection-observer/client-rect-expected.txt: Added.
  • web-platform-tests/intersection-observer/client-rect.html: Added.
  • web-platform-tests/intersection-observer/containing-block-expected.txt: Added.
  • web-platform-tests/intersection-observer/containing-block.html: Added.
  • web-platform-tests/intersection-observer/cross-origin-iframe-expected.txt: Added.
  • web-platform-tests/intersection-observer/cross-origin-iframe.html: Added.
  • web-platform-tests/intersection-observer/disconnect-expected.txt: Added.
  • web-platform-tests/intersection-observer/disconnect.html: Added.
  • web-platform-tests/intersection-observer/display-none-expected.txt: Added.
  • web-platform-tests/intersection-observer/display-none.html: Added.
  • web-platform-tests/intersection-observer/edge-inclusive-intersection-expected.txt: Added.
  • web-platform-tests/intersection-observer/edge-inclusive-intersection.html: Added.
  • web-platform-tests/intersection-observer/idlharness.window-expected.txt: Added.
  • web-platform-tests/intersection-observer/idlharness.window.html: Added.
  • web-platform-tests/intersection-observer/idlharness.window.js: Added.

(idl_array.self.observer.new.IntersectionObserver):

  • web-platform-tests/intersection-observer/iframe-no-root-expected.txt: Added.
  • web-platform-tests/intersection-observer/iframe-no-root.html: Added.
  • web-platform-tests/intersection-observer/inline-client-rect-expected.txt: Added.
  • web-platform-tests/intersection-observer/inline-client-rect.html: Added.
  • web-platform-tests/intersection-observer/isIntersecting-change-events-expected.txt: Added.
  • web-platform-tests/intersection-observer/isIntersecting-change-events.html: Added.
  • web-platform-tests/intersection-observer/multiple-targets-expected.txt: Added.
  • web-platform-tests/intersection-observer/multiple-targets.html: Added.
  • web-platform-tests/intersection-observer/multiple-thresholds-expected.txt: Added.
  • web-platform-tests/intersection-observer/multiple-thresholds.html: Added.
  • web-platform-tests/intersection-observer/observer-attributes-expected.txt: Added.
  • web-platform-tests/intersection-observer/observer-attributes.html: Added.
  • web-platform-tests/intersection-observer/observer-exceptions-expected.txt: Added.
  • web-platform-tests/intersection-observer/observer-exceptions.html: Added.
  • web-platform-tests/intersection-observer/observer-in-iframe.html: Added.
  • web-platform-tests/intersection-observer/observer-without-js-reference-expected.txt: Added.
  • web-platform-tests/intersection-observer/observer-without-js-reference.html: Added.
  • web-platform-tests/intersection-observer/remove-element-expected.txt: Added.
  • web-platform-tests/intersection-observer/remove-element.html: Added.
  • web-platform-tests/intersection-observer/resources/cross-origin-subframe.html: Added.
  • web-platform-tests/intersection-observer/resources/iframe-no-root-subframe.html: Added.
  • web-platform-tests/intersection-observer/resources/intersection-observer-test-utils.js: Added.

(waitForNotification):
(runTestCycle):
(contentBounds):
(borderBoxBounds):
(clientBounds):
(rectArea):
(checkRect):
(checkLastEntry):
(checkJsonEntry):
(checkJsonEntries):

  • web-platform-tests/intersection-observer/resources/observer-in-iframe-subframe.html: Added.
  • web-platform-tests/intersection-observer/resources/timestamp-subframe.html: Added.
  • web-platform-tests/intersection-observer/resources/w3c-import.log: Added.
  • web-platform-tests/intersection-observer/root-margin-expected.txt: Added.
  • web-platform-tests/intersection-observer/root-margin.html: Added.
  • web-platform-tests/intersection-observer/same-document-no-root-expected.txt: Added.
  • web-platform-tests/intersection-observer/same-document-no-root.html: Added.
  • web-platform-tests/intersection-observer/same-document-root-expected.txt: Added.
  • web-platform-tests/intersection-observer/same-document-root.html: Added.
  • web-platform-tests/intersection-observer/same-document-zero-size-target-expected.txt: Added.
  • web-platform-tests/intersection-observer/same-document-zero-size-target.html: Added.
  • web-platform-tests/intersection-observer/shadow-content-expected.txt: Added.
  • web-platform-tests/intersection-observer/shadow-content.html: Added.
  • web-platform-tests/intersection-observer/text-target-expected.txt: Added.
  • web-platform-tests/intersection-observer/text-target.html: Added.
  • web-platform-tests/intersection-observer/timestamp-expected.txt: Added.
  • web-platform-tests/intersection-observer/timestamp.html: Added.
  • web-platform-tests/intersection-observer/unclipped-root-expected.txt: Added.
  • web-platform-tests/intersection-observer/unclipped-root.html: Added.
  • web-platform-tests/intersection-observer/w3c-import.log: Added.
  • web-platform-tests/intersection-observer/zero-area-element-hidden-expected.txt: Added.
  • web-platform-tests/intersection-observer/zero-area-element-hidden.html: Added.
  • web-platform-tests/intersection-observer/zero-area-element-visible-expected.txt: Added.
  • web-platform-tests/intersection-observer/zero-area-element-visible.html: Added.

Source/WebKit:

Make IntersectionObserver an experimental feature, so that it is enabled in
WebKitTestRunner.

  • Shared/WebPreferences.yaml:

Source/WebKitLegacy/mac:

  • WebView/WebPreferencesPrivate.h:

Tools:

Enable IntersectionObserver in DumpRenderTree.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(enableExperimentalFeatures):
(setWebPreferencesForTestOptions):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

5:00 AM Changeset in webkit [234722] by zandobersek@gmail.com
  • 4 edits in trunk/LayoutTests

Unreviewed GTK+ and WPE gardening. Add a reftest failure expectation.
Update a WPT EME test baseline for the WPE port.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input.https-expected.txt:
4:50 AM Changeset in webkit [234721] by cturner@igalia.com
  • 3 edits in trunk/Source/WebCore

Fix copyright headers on new ISO parsing class
https://bugs.webkit.org/show_bug.cgi?id=188432

Unreviewed fix.

This was left off from a previous bug by mistake, retrospectively
adding the correct copyright headers.

No tests required.

  • platform/graphics/iso/ISOProtectionSystemSpecificHeaderBox.cpp:
  • platform/graphics/iso/ISOProtectionSystemSpecificHeaderBox.h:

Aug 8, 2018:

10:42 PM Changeset in webkit [234720] by Ross Kirsling
  • 4 edits in trunk

run-bindings-tests is not Win32-compatible
https://bugs.webkit.org/show_bug.cgi?id=188424

Reviewed by Fujii Hironori.

Source/WebCore:

  • bindings/scripts/preprocessor.pm:

(applyPreprocessor):
Ensure that we fall back to cl.exe if CC env var is not set on Windows.

Tools:

  • Scripts/webkitpy/bindings/main.py:

(BindingsTests.main):
Stop leaking file descriptors.
(See https://www.logilab.org/blogentry/17873 for details, though the solution here is even simpler.)

9:36 PM Changeset in webkit [234719] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Yet more crashes in MobileSafari under -[WKFormInputSession setSuggestions:]
https://bugs.webkit.org/show_bug.cgi?id=188427
<rdar://problem/43064672>

Reviewed by Wenson Hsieh.

Speculatively fix more crashes seen under setSuggestions.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKFormInputSession isValid]):
(-[WKFormInputSession setSuggestions:]):
(-[WKFormInputSession invalidate]):
Belt-and-suspenders fix: use WeakObjCPtr for WKFormInputSession's WKContentView reference.

(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]):
Invalidate the WKFormInputSession before replacing it; we theorize that
there is a path in which we get here without having previously called stopAssistingNode.
Most of the code is OK with this, but this leaves WKFormInputSession
with a raw reference to WKContentView which can later become stale.

9:32 PM Changeset in webkit [234718] by rniwa@webkit.org
  • 7 edits
    2 adds in trunk

REGRESSION (r228260): Events handled by input method invoke default event handler
https://bugs.webkit.org/show_bug.cgi?id=188370

Reviewed by Wenson Hsieh.

Source/WebCore:

The bug was caused by the default event handler being invoked for the "virtual" keydown events
generated for input methods. Namely, when Japanese or Chinese input methods swallows TAB key,
WebKit should not invoke the default event handler and move the focus during input composition.

Fixed the bug by adding a new boolean on Event indicating whether the default event handler
should be invoked, and restoring the behavior prior to r228260 for these virtual keydown events.

Test: editing/input/press-tab-during-ime-composition.html

  • dom/Event.h:

(WebCore::Event::isDefaultEventHandlerIgnored const): Added.
(WebCore::Event::setIsDefaultEventHandlerIgnored): Added.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent): Don't invoke the default event handler if
isDefaultEventHandlerIgnored is set.

  • page/EventHandler.cpp:

(WebCore::EventHandler::internalKeyEvent): Set isDefaultEventHandlerIgnored. This restores WebKit's
behavior prior to r228260.

LayoutTests:

Added a regression test. Due to the lack of adequate support of textInputController in WebKitTestRunner,
the test is only enabled in WebKit1. The WTR fix is tracked by https://webkit.org/b/188428.

  • editing/input/press-tab-during-ime-composition-expected.txt: Added.
  • editing/input/press-tab-during-ime-composition.html: Added.
  • platform/ios/TestExpectations:
  • platform/wk2/TestExpectations:
8:53 PM Changeset in webkit [234717] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Prevent collectScreenProperties from crashing Base System
https://bugs.webkit.org/show_bug.cgi?id=188429
<rdar://problem/43075662>

Patch by Justin Fan <Justin Fan> on 2018-08-08
Reviewed by Simon Fraser.

Adding some error-checking and early returns to further prevent calling CGLDescribeRenderer with invalid parameters.

Existing WebGL tests should cover; no expected change in behavior. Crash happened primarily on Base System.

  • platform/mac/PlatformScreenMac.mm:

(WebCore::gpuIDForDisplayMask):

8:13 PM Changeset in webkit [234716] by keith_miller@apple.com
  • 4 edits in trunk

Array.prototype.sort should throw TypeError if param is a not callable object
https://bugs.webkit.org/show_bug.cgi?id=188382

Reviewed by Saam Barati.

JSTests:

  • test262/expectations.yaml:

Source/JavaScriptCore:

Improve spec compatability by checking if the Array.prototype.sort comparator is a function
before doing anything else.

Also, refactor the various helper functions to use let instead of var.

  • builtins/ArrayPrototype.js:

(sort.stringComparator):
(sort.compactSparse):
(sort.compactSlow):
(sort.compact):
(sort.merge):
(sort.mergeSort):
(sort.bucketSort):
(sort.comparatorSort):
(sort.stringSort):
(sort):

6:12 PM Changeset in webkit [234715] by don.olmstead@sony.com
  • 4 edits in trunk/Source

[Curl] Surface additional NetworkLoadMetrics
https://bugs.webkit.org/show_bug.cgi?id=188391

Reviewed by Joseph Pecoraro.

Source/WebCore:

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::getNetworkLoadMetrics):

Source/WebKit:

  • NetworkProcess/curl/NetworkDataTaskCurl.cpp:

(WebKit::NetworkDataTaskCurl::curlDidReceiveResponse):

3:58 PM Changeset in webkit [234714] by commit-queue@webkit.org
  • 4 edits in trunk

Fix possible null dereference in WebBackForwardList::restoreFromState
https://bugs.webkit.org/show_bug.cgi?id=188418
<rdar://problem/42531726>

Patch by Alex Christensen <achristensen@webkit.org> on 2018-08-08
Reviewed by Chris Dumez.

Source/WebKit:

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::restoreFromState):
Null-check m_page like we do everywhere else in this file because it can be set to null when closing the page.

Tools:

  • TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:

(TestWebKitAPI::TEST):

3:42 PM Changeset in webkit [234713] by msaboff@apple.com
  • 8 edits
    2 adds in trunk/Source/JavaScriptCore

Yarr JIT should include annotations with dumpDisassembly=true
https://bugs.webkit.org/show_bug.cgi?id=188415

Reviewed by Yusuke Suzuki.

Created a YarrDisassembler class that handles annotations similar to the baseline JIT.
Given that the Yarr creates matching code bu going through the YarrPattern ops forward and
then the backtracking code through the YarrPattern ops in reverse order, the disassembler
needs to do the same think.

Restructured some of the logging code in YarrPattern to eliminate redundent code and factor
out simple methods for what was needed by the YarrDisassembler.

Here is abbreviated sample output after this change.

Generated JIT code for 8-bit regular expression /ab*c/:

Code at [0x469561c03720, 0x469561c03840):

0x469561c03720: push %rbp
0x469561c03721: mov %rsp, %rbp
...
0x469561c03762: sub $0x40, %rsp

Matching

0:OpBodyAlternativeBegin minimum size 2

0x469561c03766: add $0x2, %esi
0x469561c03769: cmp %edx, %esi
0x469561c0376b: ja 0x469561c037fa

1:OpTerm TypePatternCharacter 'a'

0x469561c03771: movzx -0x2(%rdi,%rsi), %eax
0x469561c03776: cmp $0x61, %eax
0x469561c03779: jnz 0x469561c037e9

2:OpTerm TypePatternCharacter 'b' {0,...} greedy

0x469561c0377f: xor %r9d, %r9d
0x469561c03782: cmp %edx, %esi
0x469561c03784: jz 0x469561c037a2
...
0x469561c0379d: jmp 0x469561c03782
0x469561c037a2: mov %r9, 0x8(%rsp)

3:OpTerm TypePatternCharacter 'c'

0x469561c037a7: movzx -0x1(%rdi,%rsi), %eax
0x469561c037ac: cmp $0x63, %eax
0x469561c037af: jnz 0x469561c037d1

4:OpBodyAlternativeEnd

0x469561c037b5: add $0x40, %rsp
...
0x469561c037cf: pop %rbp
0x469561c037d0: ret

Backtracking

4:OpBodyAlternativeEnd
3:OpTerm TypePatternCharacter 'c'
2:OpTerm TypePatternCharacter 'b' {0,...} greedy

0x469561c037d1: mov 0x8(%rsp), %r9
...
0x469561c037e4: jmp 0x469561c037a2

1:OpTerm TypePatternCharacter 'a'
0:OpBodyAlternativeBegin minimum size 2

0x469561c037e9: mov %rsi, %rax
...
0x469561c0382f: pop %rbp
0x469561c03830: ret

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • runtime/RegExp.cpp:

(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):

  • yarr/YarrDisassembler.cpp: Added.

(JSC::Yarr::YarrDisassembler::indentString):
(JSC::Yarr::YarrDisassembler::YarrDisassembler):
(JSC::Yarr::YarrDisassembler::~YarrDisassembler):
(JSC::Yarr::YarrDisassembler::dump):
(JSC::Yarr::YarrDisassembler::dumpHeader):
(JSC::Yarr::YarrDisassembler::dumpVectorForInstructions):
(JSC::Yarr::YarrDisassembler::dumpForInstructions):
(JSC::Yarr::YarrDisassembler::dumpDisassembly):

  • yarr/YarrDisassembler.h: Added.

(JSC::Yarr::YarrJITInfo::~YarrJITInfo):
(JSC::Yarr::YarrDisassembler::setStartOfCode):
(JSC::Yarr::YarrDisassembler::setForGenerate):
(JSC::Yarr::YarrDisassembler::setForBacktrack):
(JSC::Yarr::YarrDisassembler::setEndOfGenerate):
(JSC::Yarr::YarrDisassembler::setEndOfBacktrack):
(JSC::Yarr::YarrDisassembler::setEndOfCode):
(JSC::Yarr::YarrDisassembler::indentString):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::generate):
(JSC::Yarr::YarrGenerator::backtrack):
(JSC::Yarr::YarrGenerator::YarrGenerator):
(JSC::Yarr::YarrGenerator::compile):
(JSC::Yarr::jitCompile):

  • yarr/YarrJIT.h:
  • yarr/YarrPattern.cpp:

(JSC::Yarr::dumpCharacterClass):
(JSC::Yarr::PatternTerm::dump):
(JSC::Yarr::YarrPattern::dumpPatternString):
(JSC::Yarr::YarrPattern::dumpPattern):

  • yarr/YarrPattern.h:
3:18 PM Changeset in webkit [234712] by Basuke Suzuki
  • 6 edits in trunk/LayoutTests

[Curl] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=188420

Unreviewed test gardening.

Fix test result after r234607 landed. Part 1 for http/tests

  • platform/wincairo/TestExpectations:
  • platform/wincairo/http/tests/local/file-url-sent-as-referer-expected.txt:
  • platform/wincairo/http/tests/multipart/invalid-image-data-expected.txt:
  • platform/wincairo/http/tests/multipart/invalid-image-data-standalone-expected.txt:
  • platform/wincairo/http/tests/uri/css-href-expected.txt:
2:54 PM Changeset in webkit [234711] by Ross Kirsling
  • 2 edits in trunk/Tools

run-builtins-generator-tests does not correctly handle CRLFs from stderr
https://bugs.webkit.org/show_bug.cgi?id=188392

Reviewed by Fujii Hironori.

Background:
file.write converts LF to os.linesep, so if the input string contains CRLF, we end up writing CRCRLF to the file.

  • Scripts/webkitpy/common/system/executive.py:

(Executive.run_command):
Normalize CRLF to LF in decoded stdout/stderr data, so that we don't return consumers a platform-specific string.

1:54 PM Changeset in webkit [234710] by don.olmstead@sony.com
  • 2 edits in trunk/Source/WebCore

[Nicosia] Add the Nicosia-specific PlatformLayer type alias
https://bugs.webkit.org/show_bug.cgi?id=188405
<rdar://problem/43039520>

Unreviewed build fix.

  • platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp:
1:34 PM Changeset in webkit [234709] by Aditya Keerthi
  • 2 edits in trunk/Tools

Unreviewed, add myself to committers list.

  • Scripts/webkitpy/common/config/contributors.json:
12:33 PM Changeset in webkit [234708] by Kocsen Chung
  • 2 edits in tags/Safari-607.1.2/Tools

Revert r234321. rdar://problem/43057703

12:33 PM Changeset in webkit [234707] by Kocsen Chung
  • 2 edits in tags/Safari-607.1.2/Tools

Revert r234320. rdar://problem/43057703

12:33 PM Changeset in webkit [234706] by Kocsen Chung
  • 4 edits in tags/Safari-607.1.2/Source/WebKit

Revert r234314. rdar://problem/43057703

12:07 PM Changeset in webkit [234705] by commit-queue@webkit.org
  • 6 edits in trunk

Unreviewed, rolling out r234314, r234320, and r234321.
https://bugs.webkit.org/show_bug.cgi?id=188414

Caused email sign in issue (Requested by ryanhaddad on
#webkit).

Reverted changesets:

"Remove unused WKNavigationDelegatePrivate
decidePolicyForNavigationAction SPI"
https://bugs.webkit.org/show_bug.cgi?id=188077
https://trac.webkit.org/changeset/234314

"Fix API tests after r234314"
https://bugs.webkit.org/show_bug.cgi?id=188077
https://trac.webkit.org/changeset/234320

"Fix API tests after r234314"
https://bugs.webkit.org/show_bug.cgi?id=188077
https://trac.webkit.org/changeset/234321

12:06 PM Changeset in webkit [234704] by Simon Fraser
  • 10 edits
    1 add in trunk/Source

Add a WebKit2 logging channel for ActivityState
https://bugs.webkit.org/show_bug.cgi?id=188411

Reviewed by Tim Horton.
Source/WebCore:

Add logging for ActivityState changes and the entrypoints that affect ActivityState.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • page/ActivityState.cpp: Added.

(WebCore::activityStateFlagsToString):

  • page/ActivityState.h:

Source/WebKit:

Add logging for ActivityState changes and the entrypoints that affect ActivityState.

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

(WebKit::WebViewImpl::windowDidOrderOffScreen):
(WebKit::WebViewImpl::windowDidOrderOnScreen):
(WebKit::WebViewImpl::windowDidChangeOcclusionState):
(WebKit::WebViewImpl::viewDidMoveToWindow):
(WebKit::WebViewImpl::viewDidHide):
(WebKit::WebViewImpl::viewDidUnhide):
(WebKit::WebViewImpl::activeSpaceDidChange):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::activityStateDidChange):
(WebKit::WebPageProxy::dispatchActivityStateChange):

  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::isViewVisible):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setActivityState):

11:10 AM Changeset in webkit [234703] by eric.carlson@apple.com
  • 4 edits in trunk/Source/WebCore

Add LogArgument template for PlatformMediaSession::RemoteControlCommandType
https://bugs.webkit.org/show_bug.cgi?id=188314

Reviewed by Alex Christensen.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::didReceiveRemoteControlCommand): Don't coerce to int for logging.

  • platform/audio/PlatformMediaSession.cpp:

(WebCore::convertEnumerationToString): New.
(WebCore::PlatformMediaSession::didReceiveRemoteControlCommand): Log command.

  • platform/audio/PlatformMediaSession.h:

(WTF::LogArgument<WebCore::PlatformMediaSession::RemoteControlCommandType>::toString):

10:59 AM Changeset in webkit [234702] by Joseph Pecoraro
  • 7 edits in trunk

Web Inspector: XHR content sometimes shows as error even though load succeeded
https://bugs.webkit.org/show_bug.cgi?id=188385
<rdar://problem/42646160>

Source/WebCore:

Reviewed by Devin Rousso.

  • inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::didReceiveData):
Avoid a double hash lookup in the common case.
Allow synchronous XHR to have text data appended in the normal case.
Allow synchronous XHR to set base64 encoded data right here for non-text data.

  • inspector/NetworkResourcesData.h:

(WebCore::NetworkResourcesData::ResourceData::hasBufferedData const):
Getter to see if data is buffered or not for this resource.

  • inspector/NetworkResourcesData.cpp:

(WebCore::NetworkResourcesData::maybeAddResourceData):
Return the updated ResourceData to avoid clients having to do a lookup.

LayoutTests:

Reviewed by Devin Rousso.

  • http/tests/inspector/network/xhr-response-body-expected.txt:
  • http/tests/inspector/network/xhr-response-body.html:

Extend this test to include synchronous XHR for text and non-text resources.

10:59 AM Changeset in webkit [234701] by Kocsen Chung
  • 7 edits in branches/safari-606.1.36.0-branch/Source

Versioning.

10:57 AM Changeset in webkit [234700] by Kocsen Chung
  • 7 edits in branches/safari-606.1.36.1-branch/Source

Versioning.

10:43 AM Changeset in webkit [234699] by Kocsen Chung
  • 7 edits in branches/safari-606.1.36.2-branch/Source

Versioning.

10:29 AM Changeset in webkit [234698] by Kocsen Chung
  • 7 edits in trunk/Source

Versioning.

10:28 AM Changeset in webkit [234697] by Kocsen Chung
  • 7 edits in tags/Safari-607.1.2/Source

Versioning.

10:25 AM Changeset in webkit [234696] by Kocsen Chung
  • 1 copy in tags/Safari-607.1.2

Tag Safari-607.1.2.

9:43 AM Changeset in webkit [234695] by Truitt Savell
  • 3 edits in trunk/LayoutTests

Adjusting test expectations for imported/blink/fast/text/international-iteration-simple-text.html
https://bugs.webkit.org/show_bug.cgi?id=179853

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
9:30 AM Changeset in webkit [234694] by Ms2ger@igalia.com
  • 2 edits in trunk/LayoutTests

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

Unreviewed test gardening.

  • platform/gtk/TestExpectations: Remove expectations for now-passing tests.
9:20 AM Changeset in webkit [234693] by Jonathan Bedard
  • 2 edits in trunk/Source/WebKitLegacy/mac
8:54 AM Changeset in webkit [234692] by sihui_liu@apple.com
  • 2 edits in trunk/Source/WebCore

Assertion failed in Webcore::Process::setIdentifier()
https://bugs.webkit.org/show_bug.cgi?id=188404
<rdar://problem/43029137>

Reviewed by Chris Dumez.

App using both WebKit1 and WebKit may crash in WebKit initialization.

  • platform/Process.cpp:

(WebCore::Process::setIdentifier):

8:06 AM Changeset in webkit [234691] by Wenson Hsieh
  • 7 edits in trunk

[iOS] fast/events/ios/contenteditable-autocapitalize.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=188401
<rdar://problem/32542300>

Reviewed by Ryosuke Niwa.

Tools:

When run individually, fast/events/ios/contenteditable-autocapitalize.html passes consistently; however, when
run right after another layout test that finishes while the keyboard is shown, this test sometimes fails. This
is because each of the three steps of this test ends when UIScriptController's didHideKeyboardCallback is
invoked, and if the keyboard only begins to dismiss after the previous test completes, we have a race. When the
keyboard finishes dismissing after the UI script is evaluated, it will trigger UI script completion early and
skip over one of the steps in the layout test, resulting in a text diff failure.

To fix this, add a mechanism in WebKitTestRunner to wait until the keyboard is dismissed (with a short timeout)
as a part of resetting test controller state, before moving on to the next layout test.

  • WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
  • WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:

(-[TestRunnerWKWebView didStartFormControlInteraction]):
(-[TestRunnerWKWebView didEndFormControlInteraction]):

Use these hooks to keep track of whether the previous test is presenting any form input UI.

(-[TestRunnerWKWebView isInteractingWithFormControl]):

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::handleKeyboardWillHideNotification):
(WTR::handleKeyboardDidHideNotification):
(WTR::TestController::platformInitialize):
(WTR::TestController::platformDestroy):

Register during initialization (and unregister during teardown) for keyboard hiding notifications, to keep track
of when the keyboard dismissal animation ends.

(WTR::TestController::platformResetStateToConsistentValues):

Make a couple of tweaks here: (1) if form input UI is being shown, tell the web view to resign first responder,
which causes the field to lose focus. (2) If necessary, wait for the current keyboard dismissal animation to
finish. This includes any keyboard dismissal animations triggered as a result of step (1).

LayoutTests:

Minor tweaks to make this test a bit easier to follow. Use async-await for each step of the test, and pass in
the current autocapitalization type to runTestWithAutocapitalizeType rather than the next type. See Tools
ChangeLog for more details.

  • fast/events/ios/contenteditable-autocapitalize.html:
  • platform/ios/TestExpectations:

Remove the failing test expecation.

5:07 AM Changeset in webkit [234690] by ddkilzer@apple.com
  • 2 edits
    1 add in trunk/Source/ThirdParty/libwebrtc

[libwebrtc] SafeSetError() in peerconnection.cc contains use-after-move of webrtc::RTCError variable
<https://webkit.org/b/188337>
<rdar://problem/42882908>

Reviewed by Eric Carlson.

  • Source/webrtc/pc/peerconnection.cc:

(webrtc::SafeSetError): Make static since it's not used outside
this translation unit.
(webrtc::SafeSetError): Ditto. Change first argument to
webrtc::RTCError&& to prevent unnecessary copying of std::move()
argument. Fix bug by saving value of error.ok() before moving
to *error_out.

  • WebKit/0013-Fix-SafeSetError-use-after-move.patch: Add patch.
3:45 AM Changeset in webkit [234689] by cturner@igalia.com
  • 6 edits
    2 adds in trunk

Add CENC sanitization
https://bugs.webkit.org/show_bug.cgi?id=188376

Reviewed by Xabier Rodriguez-Calvar.

LayoutTests/imported/w3c:

  • web-platform-tests/encrypted-media/scripts/generate-request-disallowed-input.js:

(runTest): Fixed an incorrect test failure message, added more
invalid init data tests to check the new box parsing methods in
WebCore.

Source/WebCore:

This patch adds support for sanitizing the CENC initialization
data, to ensure there are no obviously bogus values in the
untrusted input from generateRequest, see
https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-generaterequest
for more details on sanitization.

Tested by imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input.https.html

  • Modules/encryptedmedia/InitDataRegistry.cpp: The diff looks a

bit wonky because I had to reorder extractKeyIDsCenc to come
before sanitizeCenc.
(WebCore::extractKeyIDsCenc): Added implementation, a nullopt
return value here indicates the parsing found an error in the box
values.
(WebCore::sanitizeCenc): Added implementation, if the box can be
parsed, return a copy of the buffer as before, otherwise an error
value.

  • Sources.txt: Add the new PSSH box type.
  • platform/graphics/iso/ISOProtectionSystemSpecificHeaderBox.cpp:

Added, parsing methods come from ISO/IEC 23001-7-2016 Section
8.1.1.
(WebCore::ISOProtectionSystemSpecificHeaderBox::parse): Ditto.

  • platform/graphics/iso/ISOProtectionSystemSpecificHeaderBox.h: Ditto.

(WebCore::ISOProtectionSystemSpecificHeaderBox::boxTypeName): Ditto.
(WebCore::ISOProtectionSystemSpecificHeaderBox::systemID const): Ditto.
(WebCore::ISOProtectionSystemSpecificHeaderBox::keyIDs const):
Ditto.
(WebCore::ISOProtectionSystemSpecificHeaderBox::data const): Ditto.

2:31 AM Changeset in webkit [234688] by zandobersek@gmail.com
  • 12 edits
    2 adds in trunk/Source/WebCore

[Nicosia] Add the Nicosia-specific PlatformLayer type alias
https://bugs.webkit.org/show_bug.cgi?id=188405

Reviewed by Carlos Garcia Campos.

Add a Nicosia-specific PlatformLayer type alias that points to the
Nicosia::PlatformLayer type. This is guarded by the USE(NICOSIA) macro,
which guards additional code in this patch but will be added to other
Nicosia-specific classes later.

To keep things buildable when USE(NICOSIA) is defined, additional
changes are made to classes that operate with platform layers.
Cairo-specific ImageBuffer implementation and the related
ImageBufferData class are modified to work with a Nicosia::ContentLayer
object. This object is using the TextureMapper-specific Impl class which
internally keeps a TextureMapperPlatformLayerProxy object. This way
we can reuse existing code that also works with an object of this type,
only difference is where the proxy object is kept. Main difference is in
the ImageBuffer::platformLayer() method, where pointer to the
Nicosia::ContentLayer object is returned when USE(NICOSIA) is enabled.

Similar approach is taked for the MediaPlayerPrivateGStreamerBase class.
When USE(NICOSIA) is enabled, a Nicosia::ContentLayer object is
constructed, and with the TextureMapper-specific Impl we again operate
on the TextureMapperPlatformLayerProxy object like before, so all of
the proxy-specific code is bundled into helper lambdas that operate on
the given proxy object. In the platformLayer() method, we again return
pointer to the Nicosia::ContentLayer object when USE(NICOSIA) is on.

For the GraphicsContext3D integration, we have to provide a separate
class that replicates most of the functionality currently present in the
TextureMapperGC3DPlatformLayer class. Main difference is that in the new
Nicosia::GC3DLayer class, a Nicosia::ContentLayer object is spawned with
the TextureMapper-specific Impl. The proxy object held by that Impl is
then again used to push new buffers into the rendering pipeline. As
before, pointer to the Nicosia::ContentLayer is returned in the
GraphicsContext3D::platformLayer() object.

Integration of the GraphicsContext3D class into Nicosia layering needs
further work in the future. Target should be providing a class that is
not specific to the TextureMapper layer. Additionally, when USE(NICOSIA)
is enabled, we remove the TextureMapperGC3DPlatformLayer class from
compilation since it depends on a PlatformLayer type alias to the
TextureMapperPlatformLayerProxyProvider class.

This patch also doesn't address the abundance of macros that this code
now uses. While USE(NICOSIA) is introduced, we have to work around
four additional macros in this code: USE(TEXTURE_MAPPER),
USE(TEXTURE_MAPPER_GL), USE(COORDINATED_GRAPHICS) and
USE(COORDINATED_GRAPHICS_THREADED). In a lot of places these are used
interchangeably, but they should be merged and simplified in use. I hope
to approach this once the USE(NICOSIA) functionality lands and is turned
on for ports that currently build with USE(COORDINATED_GRAPHICS).

  • platform/TextureMapper.cmake:
  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/PlatformLayer.h:
  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBufferData::ImageBufferData):
(WebCore::ImageBufferData::~ImageBufferData):
(WebCore::ImageBufferData::swapBuffersIfNeeded):
(WebCore::ImageBuffer::platformLayer const):

  • platform/graphics/cairo/ImageBufferDataCairo.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::platformLayer const):
(WebCore::MediaPlayerPrivateGStreamerBase::swapBuffersIfNeeded):
(WebCore::MediaPlayerPrivateGStreamerBase::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::flushCurrentBuffer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/nicosia/texmap/NicosiaGC3DLayer.cpp: Added.

(Nicosia::GC3DLayer::GC3DLayer):
(Nicosia::GC3DLayer::~GC3DLayer):
(Nicosia::GC3DLayer::makeContextCurrent):
(Nicosia::GC3DLayer::platformContext):
(Nicosia::GC3DLayer::swapBuffersIfNeeded):

  • platform/graphics/nicosia/texmap/NicosiaGC3DLayer.h: Added.

(Nicosia::GC3DLayer::contentLayer const):

  • platform/graphics/texmap/GraphicsContext3DTextureMapper.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::platformGraphicsContext3D):
(WebCore::GraphicsContext3D::platformLayer const):

  • platform/graphics/texmap/TextureMapperGC3DPlatformLayer.cpp:
  • platform/graphics/texmap/TextureMapperGC3DPlatformLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
(WebCore::CoordinatedGraphicsLayer::syncPlatformLayer):
(WebCore::CoordinatedGraphicsLayer::updatePlatformLayer):

2:14 AM Changeset in webkit [234687] by Manuel Rego Casasnovas
  • 24 edits
    8 adds in trunk

[css-grid] Update behavior of percentage row tracks and gutters
https://bugs.webkit.org/show_bug.cgi?id=188403

Reviewed by Sergio Villar Senin.

LayoutTests/imported/w3c:

Import tests from WPT related to this issue.

  • web-platform-tests/css/css-grid/alignment/grid-content-alignment-second-pass-001-expected.txt: Added.
  • web-platform-tests/css/css-grid/alignment/grid-content-alignment-second-pass-001.html: Added.
  • web-platform-tests/css/css-grid/alignment/grid-content-alignment-second-pass-002-expected.txt: Added.
  • web-platform-tests/css/css-grid/alignment/grid-content-alignment-second-pass-002.html: Added.
  • web-platform-tests/css/css-grid/alignment/w3c-import.log:
  • web-platform-tests/css/css-grid/grid-definition/grid-percentage-rows-indefinite-height-001-expected.txt: Added.
  • web-platform-tests/css/css-grid/grid-definition/grid-percentage-rows-indefinite-height-001.html: Added.
  • web-platform-tests/css/css-grid/grid-definition/grid-percentage-rows-indefinite-height-002-expected.txt: Added.
  • web-platform-tests/css/css-grid/grid-definition/grid-percentage-rows-indefinite-height-002.html: Added.
  • web-platform-tests/css/css-grid/grid-definition/w3c-import.log:
  • web-platform-tests/css/css-grid/grid-layout-properties.html: Update test to reflect the new behavior.

Source/WebCore:

The CSSWG decided to change how percentage row tracks and gutters
in a grid container with indefinite height are resolved.

The CSSWG issues are:

So far they were resolved as "auto", like it happens with
percentage heights in regular blocks. But now they're going to behave
similar to what happens in the columns axis, they would be ignored
to compute the intrinsic height.
This causes that we need to repeat the track sizing algorithm
when we have a grid container with indefinite height
that has some percentage rows using the intrinsic height
calculated on the first pass. Then the percentages will be resolved
against the intrinsic height.

Tests: imported/w3c/web-platform-tests/css/css-grid/alignment/grid-content-alignment-second-pass-001.html

imported/w3c/web-platform-tests/css/css-grid/alignment/grid-content-alignment-second-pass-002.html
imported/w3c/web-platform-tests/css/css-grid/grid-definition/grid-percentage-rows-indefinite-height-001.html
imported/w3c/web-platform-tests/css/css-grid/grid-definition/grid-percentage-rows-indefinite-height-002.html

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithm::gridTrackSize const):
(WebCore::GridTrackSizingAlgorithm::initializeTrackSizes):
(WebCore::GridTrackSizingAlgorithm::setup):
(WebCore::GridTrackSizingAlgorithm::reset):

  • rendering/GridTrackSizingAlgorithm.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::availableSpaceForGutters const):
(WebCore::RenderGrid::repeatTracksSizingIfNeeded):
(WebCore::RenderGrid::layoutBlock):

LayoutTests:

Update tests as needed according to the new behavior.

  • TestExpectations: Two grid gutters tests from WPT css-align suite are passing now.
  • fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
  • fast/css-grid-layout/grid-columns-rows-get-set.html:
  • fast/css-grid-layout/grid-gutters-as-percentage-expected.txt:
  • fast/css-grid-layout/grid-gutters-as-percentage.html:
  • fast/css-grid-layout/grid-track-sizing-with-percentages-and-orthogonal-flows-expected.txt:
  • fast/css-grid-layout/grid-track-sizing-with-percentages-and-orthogonal-flows.html:
  • fast/css-grid-layout/named-grid-line-get-set-expected.txt:
  • fast/css-grid-layout/named-grid-line-get-set.html:
  • fast/css-grid-layout/nested-grid-expected.html:
  • fast/css-grid-layout/percent-track-breadths-regarding-container-size.html:
  • fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
  • fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
Note: See TracTimeline for information about the timeline view.