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

Timeline



Dec 5, 2018:

10:12 PM Changeset in webkit [238927] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit

REGRESSION(PSON): Process swapping code doesn't set DisplayID in WebContent process
https://bugs.webkit.org/show_bug.cgi?id=192290

Reviewed by Simon Fraser.

Fixed the bug by updating the DisplayID upon attaching to a WebContent process
after a process swap as well as after the previous WebContent process had crashed.

Unfortunately no new tests since WebKitTestRunner / DumpRenderTree should use 0 as DisplayID
as they have an off-screen NSWindow. The issue that this results in no fallback for
the animation timer is tracked by webkit.org/b/192448.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::didRelaunchProcess):

8:45 PM Changeset in webkit [238926] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari 12.0.2

Added a tag for Safari 12.0.2.

8:45 PM Changeset in webkit [238925] by mitz@apple.com
  • 8 copies
    1 add in releases/Apple/iOS 12.1.1

Added a tag for iOS 12.1.1.

8:45 PM Changeset in webkit [238924] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview 71

Added a tag for Safari Technology Preview release 71.

8:34 PM Changeset in webkit [238923] by mark.lam@apple.com
  • 3 edits
    1 add in trunk

speculationFromCell() should speculate non-Identifier strings as SpecString instead of SpecStringVar.
https://bugs.webkit.org/show_bug.cgi?id=192441
<rdar://problem/46480355>

Reviewed by Saam Barati.

JSTests:

  • stress/regress-192441.js: Added.

Source/JavaScriptCore:

This is because a regular String (non-Identifier) can be converted into an
Identifier. During DFG/FTL compilation, AbstractValue::checkConsistency() may
expect a value to be of type SpecStringVar, but the mutator thread may have
converted the string into an Identifier. This creates a race where
AbstractValue::checkConsistency() may fail because it sees a SpecStringIdent when
it expects the a SpecStringVar.

The fix is to speculate non-Identifier strings as type SpecString which allows it
to be SpecStringVar or SpecStringIndent.

  • bytecode/SpeculatedType.cpp:

(JSC::speculationFromCell):

7:46 PM Changeset in webkit [238922] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Remove a document entry from NetworkMDNSRegister::m_services when document goes away
https://bugs.webkit.org/show_bug.cgi?id=192429

Reviewed by Eric Carlson.

  • NetworkProcess/webrtc/NetworkMDNSRegister.cpp:

(WebKit::NetworkMDNSRegister::unregisterMDNSNames):
We should remove the entry to limit the size of the map.

7:09 PM Changeset in webkit [238921] by Wenson Hsieh
  • 11 edits
    4 moves in trunk/Tools

[Cocoa] Share ClassMethodSwizzler and InstanceMethodSwizzler between TestWebKitAPI and WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=192437

Reviewed by Tim Horton.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • TestRunnerShared/cocoa/ClassMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.h.
  • TestRunnerShared/cocoa/ClassMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.mm.

(ClassMethodSwizzler::ClassMethodSwizzler):
(ClassMethodSwizzler::~ClassMethodSwizzler):

  • TestRunnerShared/cocoa/InstanceMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.h.
  • TestRunnerShared/cocoa/InstanceMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.mm.

(InstanceMethodSwizzler::InstanceMethodSwizzler):
(InstanceMethodSwizzler::~InstanceMethodSwizzler):

Move these swizzling helper classes into TestRunnerShared.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/LocalStorageClear.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:

(safeBrowsingView):

  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDefaultNavigationDelegate.mm:
  • TestWebKitAPI/cocoa/TestWKWebView.mm:

(-[TestWKWebView initWithFrame:configuration:addToWindow:]):

Remove namespacing around ClassMethodSwizzler and InstanceMethodSwizzler in a few API tests.

  • TestWebKitAPI/mac/TestFontOptions.mm:
  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::ClassMethodSwizzler::ClassMethodSwizzler): Deleted.
(WTR::ClassMethodSwizzler::~ClassMethodSwizzler): Deleted.

Remove this duplicate implementation of ClassMethodSwizzler in WebKitTestRunner.

7:02 PM Changeset in webkit [238920] by aboya@igalia.com
  • 10 edits in trunk/LayoutTests

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

  • platform/gtk/TestExpectations:
  • platform/gtk/editing/deleting/delete-emoji-1-expected.txt:
  • platform/gtk/editing/deleting/delete-emoji-expected.txt:
  • platform/wpe/animations/lineheight-animation-expected.txt:
  • platform/wpe/animations/simultaneous-start-transform-expected.txt:
  • platform/wpe/animations/width-using-ems-expected.txt:
  • platform/wpe/legacy-animation-engine/animations/lineheight-animation-expected.txt:
  • platform/wpe/legacy-animation-engine/animations/simultaneous-start-transform-expected.txt:
  • platform/wpe/legacy-animation-engine/animations/width-using-ems-expected.txt:
6:28 PM Changeset in webkit [238919] by jiewen_tan@apple.com
  • 3 edits in trunk/Source/WebKit

[Mac] Layout Test http/wpt/webauthn/public-key-credential-create-success-hid.https.html and http/wpt/webauthn/public-key-credential-get-success-hid.https.html are flaky
https://bugs.webkit.org/show_bug.cgi?id=192061

Reviewed by Dewei Zhu.

Part 1.

Add some loggings to determine possible causes for the flakiness.

  • UIProcess/WebAuthentication/Cocoa/HidService.mm:

(WebKit::HidService::continueAddDeviceAfterGetInfo):

  • UIProcess/WebAuthentication/Mock/MockHidService.cpp:

(WebKit::MockHidService::platformStartDiscovery):

4:26 PM Changeset in webkit [238918] by Alan Coon
  • 2 edits in branches/safari-606-branch/Source/WebCore

Apply patch. rdar://problem/46085280

4:13 PM Changeset in webkit [238917] by youenn@apple.com
  • 4 edits in trunk/LayoutTests

REGRESSION: Layout Test http/tests/security/cross-origin-css-resource-timing.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=192408
<rdar://problem/46492201>

Reviewed by Ryosuke Niwa.

Some of the tests are loading the same subresource and check for resource timing.
We need to clear internal caches to have stable results.

  • http/tests/security/clean-origin-css-exposed-resource-timing.html:
  • http/tests/security/cross-origin-clean-css-resource-timing.html:
  • http/tests/security/cross-origin-css-resource-timing.html:
3:51 PM Changeset in webkit [238916] by Alan Coon
  • 16 edits
    1 copy
    7 adds in branches/safari-606-branch

Apply patch. rdar://problem/45997392

3:51 PM Changeset in webkit [238915] by Alan Coon
  • 2 edits in branches/safari-606-branch/Source/WebKit

Cherry-pick r238799. rdar://problem/46432866

[Cocoa] Check descriptor types in createMessageDecoder
https://bugs.webkit.org/show_bug.cgi?id=192302

Reviewed by Chris Dumez.

Not sure how to construct a test case for Connection, so not adding any
tests at this time.

  • Platform/IPC/mac/ConnectionMac.mm: (IPC::createMessageDecoder): Check descriptor types and return nullptr if they are incorrect. Retained the assertions to help with debugging. (IPC::Connection::receiveSourceEventHandler): Ignore the message if no decoder is created, which means the message is invalid.

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

3:50 PM Changeset in webkit [238914] by Matt Baker
  • 5 edits in trunk

Web Inspector: SelectionController should not extend the selection when allowsMultipleSelection is false
https://bugs.webkit.org/show_bug.cgi?id=192390
<rdar://problem/46473624>

Reviewed by Devin Rousso.

Source/WebInspectorUI:

  • UserInterface/Controllers/SelectionController.js:

(WI.SelectionController.prototype.selectItem):

LayoutTests:

  • inspector/table/table-selection-expected.txt:
  • inspector/table/table-selection.html:

Drive-by fix: removed allowsMultipleSelection check from test case
Table.SelectMultipleRows.ExtendSelection since it is tested in Table.AllowsMultipleSelection.

3:25 PM Changeset in webkit [238913] by don.olmstead@sony.com
  • 8 edits
    1 copy
    19 adds in trunk

[PlayStation] Enable WebCore
https://bugs.webkit.org/show_bug.cgi?id=192384

Reviewed by Brent Fulgham.

.:

Adds CMake options for building WebCore on PlayStation.

  • Source/cmake/FindLibPSL.cmake:
  • Source/cmake/FindNghttp2.cmake: Copied from Source/cmake/FindWPE.cmake.
  • Source/cmake/FindPixman.cmake: Added.
  • Source/cmake/FindWPE.cmake:
  • Source/cmake/OptionsPlayStation.cmake:

Source/WebCore:

Implements WebCore for the PlayStation platform.

  • PlatformPlayStation.cmake: Added.
  • loader/cache/CachedResourceLoader.cpp:
  • platform/generic/KeyedDecoderGeneric.cpp: Added.

(WebCore::KeyedDecoder::decoder):
(WebCore::KeyedDecoderGeneric::KeyedDecoderGeneric):
(WebCore::KeyedDecoderGeneric::~KeyedDecoderGeneric):
(WebCore::KeyedDecoderGeneric::decodeBytes):
(WebCore::KeyedDecoderGeneric::decodeBool):
(WebCore::KeyedDecoderGeneric::decodeUInt32):
(WebCore::KeyedDecoderGeneric::decodeUInt64):
(WebCore::KeyedDecoderGeneric::decodeInt32):
(WebCore::KeyedDecoderGeneric::decodeInt64):
(WebCore::KeyedDecoderGeneric::decodeFloat):
(WebCore::KeyedDecoderGeneric::decodeDouble):
(WebCore::KeyedDecoderGeneric::decodeString):
(WebCore::KeyedDecoderGeneric::beginObject):
(WebCore::KeyedDecoderGeneric::endObject):
(WebCore::KeyedDecoderGeneric::beginArray):
(WebCore::KeyedDecoderGeneric::beginArrayElement):
(WebCore::KeyedDecoderGeneric::endArrayElement):
(WebCore::KeyedDecoderGeneric::endArray):

  • platform/generic/KeyedDecoderGeneric.h: Added.
  • platform/generic/KeyedEncoderGeneric.cpp: Added.

(WebCore::KeyedEncoder::encoder):
(WebCore::KeyedEncoderGeneric::KeyedEncoderGeneric):
(WebCore::KeyedEncoderGeneric::~KeyedEncoderGeneric):
(WebCore::KeyedEncoderGeneric::encodeBytes):
(WebCore::KeyedEncoderGeneric::encodeBool):
(WebCore::KeyedEncoderGeneric::encodeUInt32):
(WebCore::KeyedEncoderGeneric::encodeUInt64):
(WebCore::KeyedEncoderGeneric::encodeInt32):
(WebCore::KeyedEncoderGeneric::encodeInt64):
(WebCore::KeyedEncoderGeneric::encodeFloat):
(WebCore::KeyedEncoderGeneric::encodeDouble):
(WebCore::KeyedEncoderGeneric::encodeString):
(WebCore::KeyedEncoderGeneric::beginObject):
(WebCore::KeyedEncoderGeneric::endObject):
(WebCore::KeyedEncoderGeneric::beginArray):
(WebCore::KeyedEncoderGeneric::beginArrayElement):
(WebCore::KeyedEncoderGeneric::endArrayElement):
(WebCore::KeyedEncoderGeneric::endArray):
(WebCore::KeyedEncoderGeneric::finishEncoding):

  • platform/generic/KeyedEncoderGeneric.h: Added.
  • platform/network/curl/NetworkStorageSessionCurl.cpp:

(WebCore::defaultCookieJarPath):

  • platform/network/playstation/CurlSSLHandlePlayStation.cpp: Added.

(WebCore::getCACertPathEnv):
(WebCore::CurlSSLHandle::platformInitialize):

  • platform/network/playstation/NetworkStateNotifierPlayStation.cpp: Added.

(WebCore::NetworkStateNotifier::updateStateWithoutNotifying):
(WebCore::NetworkStateNotifier::startObserving):

  • platform/playstation/EventLoopPlayStation.cpp: Added.

(WebCore::EventLoop::cycle):

  • platform/playstation/MIMETypeRegistryPlayStation.cpp: Added.

(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
(WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):

  • platform/playstation/PlatformScreenPlayStation.cpp: Added.

(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
(WebCore::screenHasInvertedColors):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
(WebCore::screenSupportsExtendedColor):

  • platform/playstation/ScrollbarThemePlayStation.cpp: Added.

(WebCore::ScrollbarTheme::nativeTheme):
(WebCore::ScrollbarThemePlayStation::scrollbarThickness):
(WebCore::ScrollbarThemePlayStation::hasButtons):
(WebCore::ScrollbarThemePlayStation::hasThumb):
(WebCore::ScrollbarThemePlayStation::backButtonRect):
(WebCore::ScrollbarThemePlayStation::forwardButtonRect):
(WebCore::ScrollbarThemePlayStation::trackRect):
(WebCore::ScrollbarThemePlayStation::paintTrackBackground):
(WebCore::ScrollbarThemePlayStation::paintThumb):

  • platform/playstation/ScrollbarThemePlayStation.h: Added.
  • platform/playstation/UserAgentPlayStation.cpp: Added.

(WebCore::standardUserAgent):
(WebCore::standardUserAgentForURL):

  • rendering/RenderThemePlayStation.cpp: Added.

(WebCore::RenderTheme::singleton):
(WebCore::RenderThemePlayStation::updateCachedSystemFontDescription const):

  • rendering/RenderThemePlayStation.h: Added.

Source/WebCore/PAL:

Implements PAL for the PlayStation platform.

  • pal/PlatformPlayStation.cmake: Added.
3:06 PM Changeset in webkit [238912] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

Null pointer crash in DocumentOrderedMap::getElementById via FormAssociatedElement::findAssociatedForm
https://bugs.webkit.org/show_bug.cgi?id=192392

Reviewed by Dean Jackson.

Source/WebCore:

The crash was caused by FormAssociatedElement::findAssociatedForm invoking DocumentOrderedMap::getElementById
and de-referencing nullptr Attribute* via IdTargetObserver before Element::attributeChanged had updated
ElementData::m_idForStyleResolution.

Fixed it by updating m_idForStyleResolution before invoking IdTargetObservers.

Test: fast/dom/remove-id-form-associated-elemet-id-observer-crash.html

  • dom/Element.cpp:

(WebCore::Element::attributeChanged): Fixed the bug.

LayoutTests:

Added a regression test.

  • fast/dom/remove-id-form-associated-elemet-id-observer-crash-expected.txt: Added.
  • fast/dom/remove-id-form-associated-elemet-id-observer-crash.html: Added.
2:44 PM Changeset in webkit [238911] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Simplify logic inside WebPageProxy::continueNavigationInNewProcess()
https://bugs.webkit.org/show_bug.cgi?id=192404

Reviewed by Alex Christensen.

Simplify get the item state from the current back/forward list item, instead of
relying on WebBackForwardList::filteredItemStates().

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::continueNavigationInNewProcess):

2:34 PM Changeset in webkit [238910] by Jonathan Bedard
  • 2 edits in trunk/Tools

webkitpy: Clean-up apple_additions
https://bugs.webkit.org/show_bug.cgi?id=192413
<rdar://problem/46493491>

Reviewed by Lucas Forschler.

After the addition of watchOS, some functions which were originally iOS specific were
generalized to include all devices.

  • Scripts/webkitpy/port/ios_device.py:

(IOSDevicePort._driver_class): Replace iOS specific call with generalized device call.
(IOSDevicePort.path_to_crash_logs): Ditto.
(IOSDevicePort.clean_up_test_run): Ditto.

2:32 PM Changeset in webkit [238909] by youenn@apple.com
  • 13 edits in trunk/Source

Enable the possibility to do video capture in UIProcess
https://bugs.webkit.org/show_bug.cgi?id=192394

Reviewed by Eric Carlson.

Source/WebCore:

Create IOSurface-backed sample buffers so that we can easily send them through IPC.
Manually tested.

  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::setSizeAndFrameRateWithPreset):

Source/WebKit:

Add two web preferences to toggle audio/video capture in UIProcess or WebProcess.
Add mechanism for video capture that was not implemented yet.

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.h:
  • Shared/WebProcessCreationParameters.cpp:

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

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetCaptureAudioInUIProcessEnabled):
(WKPreferencesGetCaptureAudioInUIProcessEnabled):
(WKPreferencesSetCaptureVideoInUIProcessEnabled):
(WKPreferencesGetCaptureVideoInUIProcessEnabled):

  • UIProcess/API/C/WKPreferencesRef.h:
  • UIProcess/WebPreferences.cpp:

(WebKit::WebPreferences::updateBoolValueForInternalDebugFeatureKey):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::createWebPage):

  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::initialize):

1:35 PM Changeset in webkit [238908] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Update ServiceWorkerContainer::getRegistration lambdas
https://bugs.webkit.org/show_bug.cgi?id=192376

Reviewed by Chris Dumez.

There is no need to pass 'this' in lambdas as the last lambda
takes a ScriptExecutionContext&.
No change of behavior.

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::getRegistration):
(WebCore::ServiceWorkerContainer::getRegistrations):

1:15 PM Changeset in webkit [238907] by youenn@apple.com
  • 7 edits in trunk/LayoutTests

[iOS] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189727
<rdar://problem/44584993>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Make the test more deterministic and output more test to ease debugging.

  • web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html:
  • web-platform-tests/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html:

LayoutTests:

1:02 PM Changeset in webkit [238906] by Jonathan Bedard
  • 3 edits in trunk/Tools

webkitpy: Ignore case when comparing device types
https://bugs.webkit.org/show_bug.cgi?id=192409
<rdar://problem/46491558>

Reviewed by Lucas Forschler.

This allows DeviceTypes constructed with lowercase strings to correctly compare
against DeviceTypes coming from the simulator runtime.

  • Scripts/webkitpy/xcode/device_type.py:

(DeviceType.eq):
(DeviceType.contains):

  • Scripts/webkitpy/xcode/device_type_unittest.py:

(DeviceTypeTest):
(DeviceTypeTest.test_comparsion_lower_case):

12:58 PM Changeset in webkit [238905] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Crash under WebCore::cachedDocumentWrapper()
https://bugs.webkit.org/show_bug.cgi?id=192421
<rdar://problem/37114163>

Reviewed by Alex Christensen.

Fix potential null defererence of the value returned by toJSDOMWindow(). For example,
if the window is frameless, it would return null.

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::cachedDocumentWrapper):

12:21 PM Changeset in webkit [238904] by eric.carlson@apple.com
  • 4 edits in trunk/Source/WebCore

[MediaStream] Cleanup up Mac screen capture class
https://bugs.webkit.org/show_bug.cgi?id=192379
<rdar://problem/46465458>

Reviewed by Youenn Fablet.

No new tests, tested manually.

  • platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp:

(WebCore::DisplayCaptureManagerCocoa::captureDevices): Initialize Screen devices first so
they are first in the list of devices.

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

(WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream): Cleanup. Always capture at the
native screen size to work around a bug.
(WebCore::ScreenDisplayCaptureSourceMac::settingsDidChange): Deleted.

11:30 AM Changeset in webkit [238903] by Jonathan Bedard
  • 13 edits in trunk/Tools

webkitpy: Sort tests by associated device type
https://bugs.webkit.org/show_bug.cgi?id=192161
<rdar://problem/46345392>

Reviewed by Lucas Forschler.

Sort tests by device type and make an effort to run each specified device type.
Do not run tests if their specified device is not available.

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

(PlatformInfo.is_watchos): Add watchos bits to platform info.
(PlatformInfo._determine_os_name): Ditto.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager.run): Assign each test a device type. Then, generate a list of
device types to sequentially iterate through. Note that a test will run
on the first device which matches.
(Manager._end_test_run): Handle the case where no devices are available and no
tests are run.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(_set_up_derived_options): Manage child processes in manager.

  • Scripts/webkitpy/port/base.py:

(Port):
(Port.default_child_processes): Accept additional arguments.
(Port.max_child_processes): Add upper limit for number of child processes.

  • Scripts/webkitpy/port/device_port.py:

(DevicePort):
(DevicePort._device_type_with_version): Adds version to the DeviceType.
(DevicePort.default_child_processes): Allows default_child_processes to be
attached to a device type.
(DevicePort.max_child_processes): Add upper limit to the maximum number of child processes.
(DevicePort.setup_test_run): Use _device_type_with_version.

  • Scripts/webkitpy/port/ios_device.py:

(IOSDevicePort):
(IOSDevicePort.default_child_processes): Deleted.

  • Scripts/webkitpy/port/ios_simulator.py:

(IOSSimulatorPort.default_child_processes): Deleted.
(IOSSimulatorPort.check_sys_deps): Deleted.

  • Scripts/webkitpy/port/mac.py:

(MacPort.default_child_processes): Accept additional arguments.

  • Scripts/webkitpy/port/test.py:
  • Scripts/webkitpy/port/watch_device.py:

(WatchDevicePort):
(WatchDevicePort.default_child_processes): Deleted.

  • Scripts/webkitpy/port/watch_simulator.py:

(WatchSimulatorPort.default_child_processes): Deleted.
(WatchSimulatorPort.check_sys_deps): Deleted.

  • Scripts/webkitpy/xcode/simulated_device.py:

(SimulatedDeviceManager):
(SimulatedDeviceManager.device_count_for_type): Count the number of devices
available for a specific device type.

11:21 AM Changeset in webkit [238902] by commit-queue@webkit.org
  • 17 edits
    9 deletes in trunk

Unreviewed, rolling out r238844, r238846, and r238874.
https://bugs.webkit.org/show_bug.cgi?id=192414

The layout tests added with this change are flaky. (Requested
by ryanhaddad on #webkit).

Reverted changesets:

"Implement non-timeslice mode encoding for MediaRecorder"
https://bugs.webkit.org/show_bug.cgi?id=192069
https://trac.webkit.org/changeset/238844

"Fix the build"
https://trac.webkit.org/changeset/238846

"Fix MediaRecorder flaky tests"
https://bugs.webkit.org/show_bug.cgi?id=192371
https://trac.webkit.org/changeset/238874

11:19 AM Changeset in webkit [238901] by Devin Rousso
  • 2 edits in trunk/Tools

Unreviewed, add myself to some watch lists.

  • Scripts/webkitpy/common/config/watchlist:
10:42 AM Changeset in webkit [238900] by achristensen@apple.com
  • 24 edits
    3 adds in trunk/Source/WebKit

Make WebsiteDataStoreConfiguration a proper API object
https://bugs.webkit.org/show_bug.cgi?id=192380

Reviewed by Youenn Fablet.

In the immediate future I'll need to add things to _WKWebsiteDataStoreConfiguration.
Instead of making ivars, setting them, copying them to a local object, make this a wrapper of an API::Object
like all our other ObjC API objects are.

  • Shared/API/APIObject.h:

(API::Object::wrapper const):
(API::Object::wrapper): Deleted.

  • Shared/Cocoa/APIObject.mm:

(API::Object::ref const):
(API::Object::deref const):
(API::Object::newObject):
(API::Object::ref): Deleted.
(API::Object::deref): Deleted.

  • Sources.txt:
  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/APIWebsiteDataStore.cpp:

(API::WebsiteDataStore::createLegacy):
(API::WebsiteDataStore::WebsiteDataStore):
(API::WebsiteDataStore::legacyDefaultDataStoreConfiguration):

  • UIProcess/API/APIWebsiteDataStore.h:
  • UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:

(API::WebsiteDataStore::defaultDataStoreConfiguration):

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _initWithConfiguration:]):

  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:

(-[_WKWebsiteDataStoreConfiguration _webStorageDirectory]):
(-[_WKWebsiteDataStoreConfiguration _setWebStorageDirectory:]):
(-[_WKWebsiteDataStoreConfiguration _indexedDBDatabaseDirectory]):
(-[_WKWebsiteDataStoreConfiguration _setIndexedDBDatabaseDirectory:]):
(-[_WKWebsiteDataStoreConfiguration _webSQLDatabaseDirectory]):
(-[_WKWebsiteDataStoreConfiguration _setWebSQLDatabaseDirectory:]):
(-[_WKWebsiteDataStoreConfiguration _cookieStorageFile]):
(-[_WKWebsiteDataStoreConfiguration _setCookieStorageFile:]):
(-[_WKWebsiteDataStoreConfiguration _resourceLoadStatisticsDirectory]):
(-[_WKWebsiteDataStoreConfiguration _setResourceLoadStatisticsDirectory:]):
(-[_WKWebsiteDataStoreConfiguration _cacheStorageDirectory]):
(-[_WKWebsiteDataStoreConfiguration _setCacheStorageDirectory:]):
(-[_WKWebsiteDataStoreConfiguration _serviceWorkerRegistrationDirectory]):
(-[_WKWebsiteDataStoreConfiguration _setServiceWorkerRegistrationDirectory:]):
(-[_WKWebsiteDataStoreConfiguration setSourceApplicationBundleIdentifier:]):
(-[_WKWebsiteDataStoreConfiguration sourceApplicationBundleIdentifier]):
(-[_WKWebsiteDataStoreConfiguration sourceApplicationSecondaryIdentifier]):
(-[_WKWebsiteDataStoreConfiguration setSourceApplicationSecondaryIdentifier:]):
(-[_WKWebsiteDataStoreConfiguration _apiObject]):

  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfigurationInternal.h: Added.
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::retrieveCacheStorageParameters):

  • UIProcess/WebProcessPool.cpp:

(WebKit::legacyWebsiteDataStoreConfiguration):
(WebKit::WebProcessPool::mayHaveRegisteredServiceWorkers):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::create):
(WebKit::WebsiteDataStore::WebsiteDataStore):
(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::parameters):
(WebKit::WebsiteDataStore::Configuration::Configuration): Deleted.

  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::cacheStoragePerOriginQuota const):
(WebKit::WebsiteDataStore::setCacheStoragePerOriginQuota):
(WebKit::WebsiteDataStore::cacheStorageDirectory const):
(WebKit::WebsiteDataStore::setCacheStorageDirectory):
(WebKit::WebsiteDataStore::serviceWorkerRegistrationDirectory const):
(WebKit::WebsiteDataStore::setServiceWorkerRegistrationDirectory):
(WebKit::WebsiteDataStore::resolvedApplicationCacheDirectory const):
(WebKit::WebsiteDataStore::resolvedMediaCacheDirectory const):
(WebKit::WebsiteDataStore::resolvedMediaKeysDirectory const):
(WebKit::WebsiteDataStore::resolvedDatabaseDirectory const):
(WebKit::WebsiteDataStore::resolvedJavaScriptConfigurationDirectory const):
(WebKit::WebsiteDataStore::resolvedCookieStorageFile const):
(WebKit::WebsiteDataStore::resolvedIndexedDatabaseDirectory const):
(WebKit::WebsiteDataStore::resolvedServiceWorkerRegistrationDirectory const):
(WebKit::WebsiteDataStore::resolvedResourceLoadStatisticsDirectory const):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp: Added.

(WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h: Added.

(WebKit::WebsiteDataStoreConfiguration::create):
(WebKit::WebsiteDataStoreConfiguration::cacheStoragePerOriginQuota):
(WebKit::WebsiteDataStoreConfiguration::setCacheStoragePerOriginQuota):
(WebKit::WebsiteDataStoreConfiguration::applicationCacheDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setApplicationCacheDirectory):
(WebKit::WebsiteDataStoreConfiguration::mediaCacheDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setMediaCacheDirectory):
(WebKit::WebsiteDataStoreConfiguration::mediaKeysStorageDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setMediaKeysStorageDirectory):
(WebKit::WebsiteDataStoreConfiguration::javaScriptConfigurationDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setJavaScriptConfigurationDirectory):
(WebKit::WebsiteDataStoreConfiguration::webStorageDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setWebStorageDirectory):
(WebKit::WebsiteDataStoreConfiguration::indexedDBDatabaseDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setIndexedDBDatabaseDirectory):
(WebKit::WebsiteDataStoreConfiguration::webSQLDatabaseDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setWebSQLDatabaseDirectory):
(WebKit::WebsiteDataStoreConfiguration::localStorageDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setLocalStorageDirectory):
(WebKit::WebsiteDataStoreConfiguration::cookieStorageFile const):
(WebKit::WebsiteDataStoreConfiguration::setCookieStorageFile):
(WebKit::WebsiteDataStoreConfiguration::resourceLoadStatisticsDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setResourceLoadStatisticsDirectory):
(WebKit::WebsiteDataStoreConfiguration::networkCacheDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setNetworkCacheDirectory):
(WebKit::WebsiteDataStoreConfiguration::cacheStorageDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setCacheStorageDirectory):
(WebKit::WebsiteDataStoreConfiguration::applicationCacheFlatFileSubdirectoryName const):
(WebKit::WebsiteDataStoreConfiguration::setApplicationCacheFlatFileSubdirectoryName):
(WebKit::WebsiteDataStoreConfiguration::serviceWorkerRegistrationDirectory const):
(WebKit::WebsiteDataStoreConfiguration::setServiceWorkerRegistrationDirectory):
(WebKit::WebsiteDataStoreConfiguration::sourceApplicationBundleIdentifier const):
(WebKit::WebsiteDataStoreConfiguration::setSourceApplicationBundleIdentifier):
(WebKit::WebsiteDataStoreConfiguration::sourceApplicationSecondaryIdentifier const):
(WebKit::WebsiteDataStoreConfiguration::setSourceApplicationSecondaryIdentifier):

  • WebKit.xcodeproj/project.pbxproj:
10:33 AM Changeset in webkit [238899] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test http/tests/misc/resource-timing-resolution.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=181957

Unreviewed test gardening.

  • platform/win/TestExpectations:
10:20 AM Changeset in webkit [238898] by Simon Fraser
  • 10 edits in trunk/Source/WebCore

Minor refactoring of the scrolling code
https://bugs.webkit.org/show_bug.cgi?id=192398

Patch by Frederic Wang <fwang@igalia.com> on 2018-12-05
Reviewed by Simon Fraser.

Based on an earlier patch by Simon Fraser.

This patch performs some minor refactoring of the scrolling code:

  • Rename ScrollingCoordinator::uniqueScrollLayerID() to uniqueScrollingNodeID() since it is really a node id.
  • Inline ScrollingStateTree::setRootStateNode() so we only need to forward declare ScrollingStateFrameScrollingNode in headers.
  • Pass argument to ScrollingStateTree::addNode() as a reference rather than a pointer.
  • Initialize ScrollingStateTree::m_changedProperties and ScrollingStateTree::m_parent in the header file.
  • Remove obsolete comment about ScrollingCoordinatorMac.

No new tests, behavior unchanged.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::uniqueScrollingNodeID):
(WebCore::ScrollingCoordinator::uniqueScrollLayerID): Deleted.

  • page/scrolling/ScrollingCoordinator.h:
  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::ScrollingStateNode):

  • page/scrolling/ScrollingStateNode.h:
  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::attachNode):
(WebCore::ScrollingStateTree::setRootStateNode):
(WebCore::ScrollingStateTree::addNode):

  • page/scrolling/ScrollingStateTree.h:

(WebCore::ScrollingStateTree::setRootStateNode): Deleted.

  • page/scrolling/ScrollingTree.cpp:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::attachScrollingNode):

10:14 AM Changeset in webkit [238897] by Alan Coon
  • 7 edits in tags/Safari-607.1.16.1/Source

Versioning.

10:12 AM Changeset in webkit [238896] by Alan Coon
  • 4 edits in tags/Safari-607.1.16.1/Source/WebKit

Cherry-pick r238818. rdar://problem/45928708

Swipe snapshot stays up too long swiping around on apple.com (waiting for first paint)
https://bugs.webkit.org/show_bug.cgi?id=192319
<rdar://problem/45928708>

Reviewed by Simon Fraser.

  • UIProcess/Cocoa/ViewGestureController.cpp: (WebKit::ViewGestureController::didStartProvisionalLoadForMainFrame):
  • UIProcess/Cocoa/ViewGestureController.h:
  • UIProcess/ios/ViewGestureControllerIOS.mm: (WebKit::ViewGestureController::endSwipeGesture): In r236966, I reverted slightly too much of r232416. We still need to defer requesting a presentation update callback until after the provisional load starts. Otherwise, we could get the callback while we're in the 'paused' state, and drop it on the floor. That would then mean that we time out instead of promptly removing the snapshot.

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

10:03 AM Changeset in webkit [238895] by Alan Coon
  • 1 copy in tags/Safari-607.1.16.1

New tag.

9:51 AM Changeset in webkit [238894] by Wenson Hsieh
  • 17 edits in trunk/Source

Turn WritingDirection into an enum class
https://bugs.webkit.org/show_bug.cgi?id=192401
Work towards <rdar://problem/42075638>

Reviewed by Dan Bernstein.

Change WritingDirection from an enum to an enum class. No change in behavior.

Source/WebCore:

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
(WebCore::ApplyStyleCommand::applyInlineStyle):

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::textDirection const):
(WebCore::EditingStyle::textDirectionForSelection):

  • editing/Editor.cpp:

(WebCore::Editor::setBaseWritingDirection):
(WebCore::Editor::baseWritingDirectionForSelectionStart const):

  • editing/EditorCommand.cpp:

(WebCore::stateTextWritingDirectionLeftToRight):
(WebCore::stateTextWritingDirectionNatural):
(WebCore::stateTextWritingDirectionRightToLeft):

  • editing/WritingDirection.h:

Additionally wrap this enum in namespace WebCore, and update the copyright year.

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::contextMenuItemSelected):

  • testing/Internals.cpp:

(WebCore::Internals::setBaseWritingDirection):

Source/WebKit:

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::setTextDirection):

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebFrameIOS.mm:

(-[WebFrame selectionBaseWritingDirection]):
(-[WebFrame setBaseWritingDirection:]):

Source/WebKitLegacy/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView toggleBaseWritingDirection:]):
(-[WebHTMLView changeBaseWritingDirection:]):
(-[WebHTMLView _changeBaseWritingDirectionTo:]):

Source/WebKitLegacy/win:

  • WebFrame.cpp:

(WebFrame::setTextDirection):

8:05 AM Changeset in webkit [238893] by commit-queue@webkit.org
  • 2 edits
    5 adds in trunk/LayoutTests/imported/w3c

Import css overscroll behavior WPT test
https://bugs.webkit.org/show_bug.cgi?id=192397

Patch by Frederic Wang <fwang@igalia.com> on 2018-12-05
Reviewed by Manuel Rego Casasnovas.

  • resources/import-expectations.json:
  • web-platform-tests/css/css-overscroll-behavior/META.yml: Added.
  • web-platform-tests/css/css-overscroll-behavior/inheritance-expected.txt: Added.
  • web-platform-tests/css/css-overscroll-behavior/inheritance.html: Added.
  • web-platform-tests/css/css-overscroll-behavior/w3c-import.log: Added.
6:56 AM Changeset in webkit [238892] by aboya@igalia.com
  • 13 edits
    5 adds in trunk

[MSE][GStreamer] Remove the AppendPipeline state machine
https://bugs.webkit.org/show_bug.cgi?id=192204

Reviewed by Xabier Rodriguez-Calvar.

LayoutTests/imported/w3c:

Added a test checking that initialization segments with invalid codec
identifiers are flagged as errors.

  • web-platform-tests/media-source/mediasource-invalid-codec-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-invalid-codec.html: Added.
  • web-platform-tests/media-source/mp4/invalid-codec.mp4: Added.
  • web-platform-tests/media-source/webm/invalid-codec.webm: Added.

Source/WebCore:

This patch tries to reduce the complexity of the AppendPipeline by
removing the appendState state machine and cleaning all the
conditional code around it that is not necessary anymore.

For the most part the behavior is the same, but some edge cases have
been improved in the process:

Demuxing errors now result in the append being flagged as
ParsingFailed and the error being propagated to the application. This
fixes media/media-source/media-source-error-crash.html (or at least
gets it up to date with cross platform expectations).

AbortableTaskQueue now allows the task handler to perform an abort
safely. This is used in the GstBus error message sync handler, since
it needs to ask the MainThread to raise a parse error, which will in
turn abort. An API test has been added for this new functionality.
Also, code has been added to the API tests to ensure the correct
destruction of the response object, especially in this case.

The code handling invalid track codecs has been made clearer by also
explicitly raising a parse error, but it should not expose behavior
differences for the application. A test has been added for this
behavior: web-platform-tests/media-source/mediasource-invalid-codec.html

The reporting of EOS events have been made more rigorous. EOS is only
expected after a demuxing error, otherwise it's a g_critical.

AppendPipeline::abort() has been renamed to
AppendPipeline::resetParserState() to honor the fact that it's not
only called when the user calls abort() and match better the names
used in the spec.

Test: imported/w3c/web-platform-tests/media-source/mediasource-invalid-codec.html

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

(WebCore::assertedElementSetState):
(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::~AppendPipeline):
(WebCore::AppendPipeline::handleErrorSyncMessage):
(WebCore::AppendPipeline::appsrcEndOfAppendCheckerProbe):
(WebCore::AppendPipeline::handleNeedContextSyncMessage):
(WebCore::AppendPipeline::appsinkCapsChanged):
(WebCore::AppendPipeline::handleEndOfAppend):
(WebCore::AppendPipeline::appsinkNewSample):
(WebCore::AppendPipeline::didReceiveInitializationSegment):
(WebCore::AppendPipeline::resetParserState):
(WebCore::AppendPipeline::pushNewBuffer):
(WebCore::AppendPipeline::handleAppsinkNewSampleFromStreamingThread):
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsinkFromStreamingThread):
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink):
(WebCore::AppendPipeline::disconnectDemuxerSrcPadFromAppsinkFromAnyThread):
(WebCore::AppendPipeline::dumpAppendState): Deleted.
(WebCore::AppendPipeline::demuxerNoMorePads): Deleted.
(WebCore::AppendPipeline::setAppendState): Deleted.
(WebCore::AppendPipeline::appsinkEOS): Deleted.
(WebCore::AppendPipeline::resetPipeline): Deleted.
(WebCore::AppendPipeline::abort): Deleted.

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

(WebCore::AppendPipeline::appendState): Deleted.

  • platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp:

(WebCore::MediaSourceClientGStreamerMSE::abort):
(WebCore::MediaSourceClientGStreamerMSE::resetParserState):

  • platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:

(WebCore::SourceBufferPrivateGStreamer::appendParsingFailed):

  • platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h:

Tools:

Updated AbortableTaskQueue tests:

Added test: AbortedBySyncTaskHandler.

Renamed test: AbortDuringSyncTask -> AbortBeforeSyncTaskRun (in
order to avoid confusion with the new test).

Added checks for the correct destruction of response objects.

  • TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:

(TestWebKitAPI::FancyResponse::FancyResponse):
(TestWebKitAPI::FancyResponse::~FancyResponse):
(TestWebKitAPI::TEST):

LayoutTests:

Removed timeout expectations for
media/media-source/media-source-error-crash.html

Added expectations for mediasource-invalid-codec.html for Mac, where
WebM is not supported.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
  • platform/mac/imported/w3c/web-platform-tests/media-source/mediasource-invalid-codec-expected.txt: Added.
3:10 AM Changeset in webkit [238891] by commit-queue@webkit.org
  • 9 edits
    1 delete in trunk

[Mac] HEAD requests changed to GET after 301, 302, and 303 redirections (http/tests/xmlhttprequest/head-redirection.html)
https://bugs.webkit.org/show_bug.cgi?id=114965

Patch by Rob Buis <rbuis@igalia.com> on 2018-12-05
Reviewed by Frédéric Wang.

LayoutTests/imported/w3c:

Update test expectations.

  • web-platform-tests/fetch/api/redirect/redirect-method-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-method-worker-expected.txt:

Source/WebCore:

HEAD requests should not be changed to GET after 303 redirects, see [1].
This was fixed earlier for GTK [2].

Behavior matches Firefox and Chrome.

[1] http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-21#section-7.4
[2] https://bugs.webkit.org/show_bug.cgi?id=110127

Tests: web-platform-tests/fetch/api/redirect/redirect-method.html

web-platform-tests/fetch/api/redirect/redirect-method-worker.html
http/tests/xmlhttprequest/head-redirection.html

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::willSendRequest):

Source/WebKit:

HEAD requests should not be changed to GET after 303 redirects, see [1].
This was fixed earlier for GTK [2].

Behavior matches Firefox and Chrome.

[1] http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-21#section-7.4
[2] https://bugs.webkit.org/show_bug.cgi?id=110127

Tests: web-platform-tests/fetch/api/redirect/redirect-method.html

web-platform-tests/fetch/api/redirect/redirect-method-worker.html
http/tests/xmlhttprequest/head-redirection.html

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):

LayoutTests:

Update these since we now expect to pass head-redirection.html here.

  • platform/ios/TestExpectations:
  • platform/mac/http/tests/xmlhttprequest/head-redirection-expected.txt: Removed.
1:26 AM Changeset in webkit [238890] by commit-queue@webkit.org
  • 5 edits in trunk

Align with Fetch on data: URLs
https://bugs.webkit.org/show_bug.cgi?id=182325

Patch by Rob Buis <rbuis@igalia.com> on 2018-12-05
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Update improved test expectations.

  • web-platform-tests/fetch/api/basic/scheme-data.any-expected.txt:
  • web-platform-tests/fetch/api/basic/scheme-data.any.worker-expected.txt:

Source/WebCore:

Do not accept data URLs that do not contain a comma
character, as specified in the relevant specs [1, 2].

Behavior matches Firefox and Chrome.

Test: web-platform-tests/fetch/api/basic/scheme-data.any.html

[1] https://tools.ietf.org/html/rfc2397
[2] https://fetch.spec.whatwg.org/#data-url-processor

  • platform/network/DataURLDecoder.cpp:

(WebCore::DataURLDecoder::parseMediaType):
(WebCore::DataURLDecoder::DecodeTask::DecodeTask):
(WebCore::DataURLDecoder::DecodeTask::process):
(WebCore::DataURLDecoder::createDecodeTask):
(WebCore::DataURLDecoder::decode):

12:26 AM Changeset in webkit [238889] by fred.wang@free.fr
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

Patch by Frederic Wang <fwang@igalia.com> on 2018-12-05

  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm: Add missing header.
12:17 AM Changeset in webkit [238888] by jfernandez@igalia.com
  • 6 edits in trunk

[css-grid] Crash on debug changing the style of a positioned element
https://bugs.webkit.org/show_bug.cgi?id=191473

Reviewed by Dean Jackson and Zalan Bujtas.

Source/WebCore:

When an box becomes {out-of,in}-flow, it may be re-parented and it may become a grid
item. In that case, we must mark the RenderGrid as dirty, so that the grid items
placement logic is executed again.

Test: fast/css-grid-layout/grid-crash-out-of-flow-positioned-element.html

  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::childFlowStateChangesAndAffectsParentBlock): Consider the case of a box's new parent being a grid container.

LayoutTests:

Regression test to ensure that the grid placement logic is executed
when a positioned item becomes a grid item.

  • fast/css-grid-layout/grid-crash-out-of-flow-positioned-element-expected.txt:
  • fast/css-grid-layout/grid-crash-out-of-flow-positioned-element.html:
  • TestExpectations: Remove a Skip entry, since the test doesn't crash anymore.

Dec 4, 2018:

10:52 PM Changeset in webkit [238887] by Fujii Hironori
  • 28 edits in trunk/Source/WebKit

Remove using namespace WebCore and WebKit under WebKit/Shared/API
https://bugs.webkit.org/show_bug.cgi?id=192352

Reviewed by Alex Christensen.

Removed using namespace statements, and use namespace prefix
instead.

  • Shared/API/APIURLRequest.cpp:
  • Shared/API/APIURLResponse.cpp:
  • Shared/API/c/WKArray.cpp:
  • Shared/API/c/WKCertificateInfo.cpp:
  • Shared/API/c/WKConnectionRef.cpp:
  • Shared/API/c/WKContextMenuItem.cpp:
  • Shared/API/c/WKData.cpp:
  • Shared/API/c/WKDictionary.cpp:
  • Shared/API/c/WKErrorRef.cpp:
  • Shared/API/c/WKGeometry.cpp:
  • Shared/API/c/WKImage.cpp:
  • Shared/API/c/WKMutableArray.cpp:
  • Shared/API/c/WKMutableDictionary.cpp:
  • Shared/API/c/WKNumber.cpp:
  • Shared/API/c/WKPluginInformation.cpp:
  • Shared/API/c/WKRenderLayer.cpp:
  • Shared/API/c/WKRenderObject.cpp:
  • Shared/API/c/WKSecurityOriginRef.cpp:
  • Shared/API/c/WKSerializedScriptValue.cpp:
  • Shared/API/c/WKString.cpp:
  • Shared/API/c/WKType.cpp:
  • Shared/API/c/WKURL.cpp:
  • Shared/API/c/WKURLRequest.cpp:
  • Shared/API/c/WKURLResponse.cpp:
  • Shared/API/c/WKUserContentURLPattern.cpp:
  • Shared/API/c/cairo/WKImageCairo.cpp:
  • Shared/API/c/curl/WKCertificateInfoCurl.cpp:
9:51 PM Changeset in webkit [238886] by achristensen@apple.com
  • 12 edits in trunk/Source/WebKit

Remove source application identifiers from NetworkProcessCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=192372

Reviewed by Brady Eidson.

The _WKWebProcessPoolConfiguration way of setting these was deprecated in http://trac.webkit.org/r235127
The replacement was adopted in <rdar://problem/46359330>
The transition process is done! Time to remove the old code.

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

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

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

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
(WebKit::globalSourceApplicationAuditTokenData): Deleted.
(WebKit::globalSourceApplicationBundleIdentifier): Deleted.
(WebKit::globalSourceApplicationSecondaryIdentifier): Deleted.
(WebKit::NetworkSessionCocoa::setSourceApplicationAuditTokenData): Deleted.
(WebKit::NetworkSessionCocoa::setSourceApplicationBundleIdentifier): Deleted.
(WebKit::NetworkSessionCocoa::setSourceApplicationSecondaryIdentifier): Deleted.

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration sourceApplicationBundleIdentifier]):
(-[_WKProcessPoolConfiguration setSourceApplicationBundleIdentifier:]):
(-[_WKProcessPoolConfiguration sourceApplicationSecondaryIdentifier]):
(-[_WKProcessPoolConfiguration setSourceApplicationSecondaryIdentifier:]):

  • UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:

(WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard):
(WebKit::toPKPaymentRequest):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::configuration):

7:58 PM Changeset in webkit [238885] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Always pass scrollingGeometry to update*ScrollingNode functions
https://bugs.webkit.org/show_bug.cgi?id=192358

Patch by Frederic Wang <fwang@igalia.com> on 2018-12-04
Reviewed by Simon Fraser.

Currently, the scrollingGeometry parameter of updateOverflowScrollingNode is always used
while the one of updateFrameScrollingNode is never used. Both of them are passed as possibly
null pointers. This commit makes things more consistent by making the parameter a reference
and explicitly setting the scrollingGeometry of updateFrameScrollingNode. This will help
other efforts (such as support for macOS/iOS asynchronous scrolling of overflow nodes /
subframes or for CSS overscroll-behavior) for which new data members have to be passed to the
scrolling nodes.

No new tests, no behavior changes.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::updateFrameScrollingNode):
(WebCore::ScrollingCoordinator::updateOverflowScrollingNode):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateScrollCoordinationForThisFrame):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

7:23 PM Changeset in webkit [238884] by mark.lam@apple.com
  • 3 edits
    1 add in trunk

DFG's StrengthReduction phase should not reduce Construct into DirectContruct when the executable does not have constructAbility.
https://bugs.webkit.org/show_bug.cgi?id=192386
<rdar://problem/46445516>

Reviewed by Saam Barati.

JSTests:

  • stress/regress-192386.js: Added.

Source/JavaScriptCore:

This violates an invariant documented by a RELEASE_ASSERT in operationLinkDirectCall().

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

6:18 PM Changeset in webkit [238883] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Attempt to de-flake this test by scrolling a bit more.

  • compositing/fixed-with-main-thread-scrolling.html:
5:37 PM Changeset in webkit [238882] by Nikita Vasilyev
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Add style editing debug mode
https://bugs.webkit.org/show_bug.cgi?id=192282
<rdar://problem/46399176>

Reviewed by Matt Baker.

Introduce a style editing debug mode to help to troubleshoot complex bugs in the style editor.

  • Log CSS changes;
  • Display red border for locked style declarations.
  • UserInterface/Base/Setting.js:
  • UserInterface/Models/CSSProperty.js:

(WI.CSSProperty.prototype._updateOwnerStyleText):

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createDebugSettingsView):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:

(.spreadsheet-style-declaration-editor.debug-style-locked::after):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateDebugLockStatus):

5:04 PM Changeset in webkit [238881] by BJ Burg
  • 91 edits
    20 copies
    75 adds in trunk/WebDriverTests

Unreviewed. Update W3C WebDriver imported tests.
<rdar://problem/46470254>

  • imported/w3c/importer.json:
  • imported/w3c/tools/webdriver/webdriver/client.py:
  • imported/w3c/tools/webdriver/webdriver/error.py:
  • imported/w3c/tools/wptrunner/docs/design.rst:
  • imported/w3c/tools/wptrunner/requirements.txt:
  • imported/w3c/tools/wptrunner/requirements_chrome.txt:
  • imported/w3c/tools/wptrunner/requirements_chrome_android.txt:
  • imported/w3c/tools/wptrunner/requirements_edge.txt:
  • imported/w3c/tools/wptrunner/requirements_firefox.txt:
  • imported/w3c/tools/wptrunner/requirements_ie.txt:
  • imported/w3c/tools/wptrunner/requirements_opera.txt:
  • imported/w3c/tools/wptrunner/requirements_safari.txt:
  • imported/w3c/tools/wptrunner/requirements_sauce.txt:
  • imported/w3c/tools/wptrunner/tox.ini:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/init.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/base.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/chrome.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/edge_webdriver.py: Added.
  • imported/w3c/tools/wptrunner/wptrunner/browsers/fennec.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/firefox.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/safari.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/sauce.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/servodriver.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/webkit.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/base.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executormarionette.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorservo.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorwebdriver.py: Copied from WebDriverTests/imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py.
  • imported/w3c/tools/wptrunner/wptrunner/executors/protocol.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/runner.js: Added.
  • imported/w3c/tools/wptrunner/wptrunner/executors/testharness_webdriver.js:
  • imported/w3c/tools/wptrunner/wptrunner/executors/testharness_webdriver_resume.js:
  • imported/w3c/tools/wptrunner/wptrunner/formatters.py:
  • imported/w3c/tools/wptrunner/wptrunner/manifestexpected.py:
  • imported/w3c/tools/wptrunner/wptrunner/stability.py:
  • imported/w3c/tools/wptrunner/wptrunner/testdriver-extra.js:
  • imported/w3c/tools/wptrunner/wptrunner/testloader.py:
  • imported/w3c/tools/wptrunner/wptrunner/testrunner.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/base.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_formatters.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_stability.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_testloader.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_update.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_wpttest.py:
  • imported/w3c/tools/wptrunner/wptrunner/update/tree.py:
  • imported/w3c/tools/wptrunner/wptrunner/update/update.py:
  • imported/w3c/tools/wptrunner/wptrunner/webdriver_server.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptcommandline.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptmanifest/parser.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_parser.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_serializer.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptrunner.py:
  • imported/w3c/tools/wptrunner/wptrunner/wpttest.py:
  • imported/w3c/webdriver/tests/add_cookie/add.py:
  • imported/w3c/webdriver/tests/add_cookie/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/back/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/conftest.py:
  • imported/w3c/webdriver/tests/delete_all_cookies/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/delete_session/delete.py:
  • imported/w3c/webdriver/tests/element_clear/clear.py:
  • imported/w3c/webdriver/tests/element_clear/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/element_click/center_point.py: Added.
  • imported/w3c/webdriver/tests/element_click/interactability.py:
  • imported/w3c/webdriver/tests/element_click/scroll_into_view.py:
  • imported/w3c/webdriver/tests/element_click/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/element_send_keys/file_upload.py:
  • imported/w3c/webdriver/tests/element_send_keys/interactability.py:
  • imported/w3c/webdriver/tests/element_send_keys/scroll_into_view.py:
  • imported/w3c/webdriver/tests/element_send_keys/send_keys.py:
  • imported/w3c/webdriver/tests/execute_async_script/execute_async.py:
  • imported/w3c/webdriver/tests/execute_script/execute.py:
  • imported/w3c/webdriver/tests/execute_script/promise.py: Added.
  • imported/w3c/webdriver/tests/find_element/find.py:
  • imported/w3c/webdriver/tests/find_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/find_element_from_element/find.py:
  • imported/w3c/webdriver/tests/find_element_from_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/fullscreen_window/user_prompts.py.
  • imported/w3c/webdriver/tests/find_elements/find.py:
  • imported/w3c/webdriver/tests/find_elements/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/find_elements_from_element/find.py:
  • imported/w3c/webdriver/tests/find_elements_from_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/fullscreen_window/user_prompts.py.
  • imported/w3c/webdriver/tests/fullscreen_window/fullscreen.py:
  • imported/w3c/webdriver/tests/fullscreen_window/stress.py: Added.
  • imported/w3c/webdriver/tests/fullscreen_window/user_prompts.py:
  • imported/w3c/webdriver/tests/get_active_element/get.py:
  • imported/w3c/webdriver/tests/get_active_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_current_url/get.py:
  • imported/w3c/webdriver/tests/get_element_attribute/init.py: Added.
  • imported/w3c/webdriver/tests/get_element_attribute/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_element_css_value/init.py: Added.
  • imported/w3c/webdriver/tests/get_element_css_value/get.py: Added.
  • imported/w3c/webdriver/tests/get_element_css_value/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_element_rect/init.py: Added.
  • imported/w3c/webdriver/tests/get_element_rect/get.py: Added.
  • imported/w3c/webdriver/tests/get_element_rect/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_element_text/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_named_cookie/get.py:
  • imported/w3c/webdriver/tests/get_named_cookie/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_page_source/init.py: Added.
  • imported/w3c/webdriver/tests/get_page_source/source.py: Added.
  • imported/w3c/webdriver/tests/get_page_source/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_title/get.py:
  • imported/w3c/webdriver/tests/get_window_handle/init.py: Added.
  • imported/w3c/webdriver/tests/get_window_handle/get.py: Added.
  • imported/w3c/webdriver/tests/get_window_handle/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/get_window_handles/init.py: Added.
  • imported/w3c/webdriver/tests/get_window_handles/get.py: Added.
  • imported/w3c/webdriver/tests/get_window_handles/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/is_element_enabled/init.py: Added.
  • imported/w3c/webdriver/tests/is_element_enabled/enabled.py: Added.
  • imported/w3c/webdriver/tests/is_element_enabled/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/maximize_window/maximize.py:
  • imported/w3c/webdriver/tests/maximize_window/stress.py: Added.
  • imported/w3c/webdriver/tests/minimize_window/minimize.py:
  • imported/w3c/webdriver/tests/minimize_window/stress.py: Added.
  • imported/w3c/webdriver/tests/minimize_window/user_prompts.py:
  • imported/w3c/webdriver/tests/navigate_to/navigate.py:
  • imported/w3c/webdriver/tests/navigate_to/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/new_session/invalid_capabilities.py:
  • imported/w3c/webdriver/tests/new_session/platform_name.py:
  • imported/w3c/webdriver/tests/new_session/response.py:
  • imported/w3c/webdriver/tests/new_session/support/create.py:
  • imported/w3c/webdriver/tests/perform_actions/init.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/conftest.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/key.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/key_events.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/key_modifiers.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/key_shortcuts.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/key_special_keys.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/none.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/pointer.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/pointer_contextmenu.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/pointer_dblclick.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/pointer_modifier_click.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/pointer_origin.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/pointer_pause_dblclick.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/sequence.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/support/init.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/support/keys.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/support/mouse.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/support/refine.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/support/test_actions_wdspec.html: Added.
  • imported/w3c/webdriver/tests/perform_actions/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/perform_actions/validity.py: Added.
  • imported/w3c/webdriver/tests/permissions/set.py: Added.
  • imported/w3c/webdriver/tests/release_actions/init.py: Added.
  • imported/w3c/webdriver/tests/release_actions/conftest.py: Added.
  • imported/w3c/webdriver/tests/release_actions/release.py: Added.
  • imported/w3c/webdriver/tests/release_actions/sequence.py: Added.
  • imported/w3c/webdriver/tests/release_actions/support/init.py: Added.
  • imported/w3c/webdriver/tests/release_actions/support/refine.py: Added.
  • imported/w3c/webdriver/tests/release_actions/support/test_actions_wdspec.html: Added.
  • imported/w3c/webdriver/tests/send_alert_text/send.py:
  • imported/w3c/webdriver/tests/set_timeouts/set.py:
  • imported/w3c/webdriver/tests/set_timeouts/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/set_window_rect/set.py:
  • imported/w3c/webdriver/tests/support/asserts.py:
  • imported/w3c/webdriver/tests/support/defaults.py: Added.
  • imported/w3c/webdriver/tests/support/fixtures.py:
  • imported/w3c/webdriver/tests/support/helpers.py: Added.
  • imported/w3c/webdriver/tests/support/http_request.py:
  • imported/w3c/webdriver/tests/support/image.py: Added.
  • imported/w3c/webdriver/tests/support/inline.py:
  • imported/w3c/webdriver/tests/support/sync.py: Added.
  • imported/w3c/webdriver/tests/switch_to_frame/switch.py:
  • imported/w3c/webdriver/tests/switch_to_window/switch.py:
  • imported/w3c/webdriver/tests/take_element_screenshot/init.py: Added.
  • imported/w3c/webdriver/tests/take_element_screenshot/screenshot.py: Added.
  • imported/w3c/webdriver/tests/take_element_screenshot/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/take_screenshot/init.py: Added.
  • imported/w3c/webdriver/tests/take_screenshot/screenshot.py: Added.
  • imported/w3c/webdriver/tests/take_screenshot/user_prompts.py: Added.
  • imported/w3c/importer.json:
  • imported/w3c/tools/webdriver/webdriver/client.py:
  • imported/w3c/tools/webdriver/webdriver/error.py:
  • imported/w3c/tools/wptrunner/docs/design.rst:
  • imported/w3c/tools/wptrunner/requirements.txt:
  • imported/w3c/tools/wptrunner/requirements_chrome.txt:
  • imported/w3c/tools/wptrunner/requirements_chrome_android.txt:
  • imported/w3c/tools/wptrunner/requirements_edge.txt:
  • imported/w3c/tools/wptrunner/requirements_firefox.txt:
  • imported/w3c/tools/wptrunner/requirements_ie.txt:
  • imported/w3c/tools/wptrunner/requirements_opera.txt:
  • imported/w3c/tools/wptrunner/requirements_safari.txt:
  • imported/w3c/tools/wptrunner/requirements_sauce.txt:
  • imported/w3c/tools/wptrunner/tox.ini:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/init.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/base.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/chrome.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/edge_webdriver.py: Added.
  • imported/w3c/tools/wptrunner/wptrunner/browsers/fennec.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/firefox.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/safari.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/sauce.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/servodriver.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/webkit.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/base.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executormarionette.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorservo.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorwebdriver.py: Copied from WebDriverTests/imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py.
  • imported/w3c/tools/wptrunner/wptrunner/executors/protocol.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/runner.js: Added.
  • imported/w3c/tools/wptrunner/wptrunner/executors/testharness_webdriver.js:
  • imported/w3c/tools/wptrunner/wptrunner/executors/testharness_webdriver_resume.js:
  • imported/w3c/tools/wptrunner/wptrunner/formatters.py:
  • imported/w3c/tools/wptrunner/wptrunner/manifestexpected.py:
  • imported/w3c/tools/wptrunner/wptrunner/stability.py:
  • imported/w3c/tools/wptrunner/wptrunner/testdriver-extra.js:
  • imported/w3c/tools/wptrunner/wptrunner/testloader.py:
  • imported/w3c/tools/wptrunner/wptrunner/testrunner.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/base.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_formatters.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_stability.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_testloader.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_update.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_wpttest.py:
  • imported/w3c/tools/wptrunner/wptrunner/update/tree.py:
  • imported/w3c/tools/wptrunner/wptrunner/update/update.py:
  • imported/w3c/tools/wptrunner/wptrunner/webdriver_server.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptcommandline.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptmanifest/parser.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_parser.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_serializer.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptrunner.py:
  • imported/w3c/tools/wptrunner/wptrunner/wpttest.py:
  • imported/w3c/webdriver/tests/add_cookie/add.py:
  • imported/w3c/webdriver/tests/add_cookie/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/back/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/conftest.py:
  • imported/w3c/webdriver/tests/delete_all_cookies/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/delete_session/delete.py:
  • imported/w3c/webdriver/tests/element_clear/clear.py:
  • imported/w3c/webdriver/tests/element_clear/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/element_click/center_point.py: Added.
  • imported/w3c/webdriver/tests/element_click/interactability.py:
  • imported/w3c/webdriver/tests/element_click/scroll_into_view.py:
  • imported/w3c/webdriver/tests/element_click/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/element_send_keys/file_upload.py:
  • imported/w3c/webdriver/tests/element_send_keys/interactability.py:
  • imported/w3c/webdriver/tests/element_send_keys/scroll_into_view.py:
  • imported/w3c/webdriver/tests/element_send_keys/send_keys.py:
  • imported/w3c/webdriver/tests/execute_async_script/execute_async.py:
  • imported/w3c/webdriver/tests/execute_script/execute.py:
  • imported/w3c/webdriver/tests/execute_script/promise.py: Added.
  • imported/w3c/webdriver/tests/find_element/find.py:
  • imported/w3c/webdriver/tests/find_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/find_element_from_element/find.py:
  • imported/w3c/webdriver/tests/find_element_from_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/fullscreen_window/user_prompts.py.
  • imported/w3c/webdriver/tests/find_elements/find.py:
  • imported/w3c/webdriver/tests/find_elements/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/find_elements_from_element/find.py:
  • imported/w3c/webdriver/tests/find_elements_from_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/fullscreen_window/user_prompts.py.
  • imported/w3c/webdriver/tests/fullscreen_window/fullscreen.py:
  • imported/w3c/webdriver/tests/fullscreen_window/stress.py: Added.
  • imported/w3c/webdriver/tests/fullscreen_window/user_prompts.py:
  • imported/w3c/webdriver/tests/get_active_element/get.py:
  • imported/w3c/webdriver/tests/get_active_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_current_url/get.py:
  • imported/w3c/webdriver/tests/get_element_attribute/init.py: Added.
  • imported/w3c/webdriver/tests/get_element_attribute/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_element_css_value/init.py: Added.
  • imported/w3c/webdriver/tests/get_element_css_value/get.py: Added.
  • imported/w3c/webdriver/tests/get_element_css_value/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_element_rect/init.py: Added.
  • imported/w3c/webdriver/tests/get_element_rect/get.py: Added.
  • imported/w3c/webdriver/tests/get_element_rect/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_element_text/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_named_cookie/get.py:
  • imported/w3c/webdriver/tests/get_named_cookie/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_page_source/init.py: Added.
  • imported/w3c/webdriver/tests/get_page_source/source.py: Added.
  • imported/w3c/webdriver/tests/get_page_source/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/get_title/get.py:
  • imported/w3c/webdriver/tests/get_window_handle/init.py: Added.
  • imported/w3c/webdriver/tests/get_window_handle/get.py: Added.
  • imported/w3c/webdriver/tests/get_window_handle/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/get_window_handles/init.py: Added.
  • imported/w3c/webdriver/tests/get_window_handles/get.py: Added.
  • imported/w3c/webdriver/tests/get_window_handles/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/is_element_enabled/init.py: Added.
  • imported/w3c/webdriver/tests/is_element_enabled/enabled.py: Added.
  • imported/w3c/webdriver/tests/is_element_enabled/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/maximize_window/maximize.py:
  • imported/w3c/webdriver/tests/maximize_window/stress.py: Added.
  • imported/w3c/webdriver/tests/minimize_window/minimize.py:
  • imported/w3c/webdriver/tests/minimize_window/stress.py: Added.
  • imported/w3c/webdriver/tests/minimize_window/user_prompts.py:
  • imported/w3c/webdriver/tests/navigate_to/navigate.py:
  • imported/w3c/webdriver/tests/navigate_to/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/new_session/invalid_capabilities.py:
  • imported/w3c/webdriver/tests/new_session/platform_name.py:
  • imported/w3c/webdriver/tests/new_session/response.py:
  • imported/w3c/webdriver/tests/new_session/support/create.py:
  • imported/w3c/webdriver/tests/perform_actions/init.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/conftest.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/key.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/key_events.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/key_modifiers.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/key_shortcuts.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/key_special_keys.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/none.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/pointer.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/pointer_contextmenu.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/pointer_dblclick.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/pointer_modifier_click.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/pointer_origin.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/pointer_pause_dblclick.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/sequence.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/support/init.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/support/keys.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/support/mouse.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/support/refine.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/support/test_actions_wdspec.html: Added.
  • imported/w3c/webdriver/tests/perform_actions/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
  • imported/w3c/webdriver/tests/perform_actions/validity.py: Added.
  • imported/w3c/webdriver/tests/permissions/set.py: Added.
  • imported/w3c/webdriver/tests/release_actions/init.py: Added.
  • imported/w3c/webdriver/tests/release_actions/conftest.py: Added.
  • imported/w3c/webdriver/tests/release_actions/release.py: Added.
  • imported/w3c/webdriver/tests/release_actions/sequence.py: Added.
  • imported/w3c/webdriver/tests/release_actions/support/init.py: Added.
  • imported/w3c/webdriver/tests/release_actions/support/refine.py: Added.
  • imported/w3c/webdriver/tests/release_actions/support/test_actions_wdspec.html: Added.
  • imported/w3c/webdriver/tests/send_alert_text/send.py:
  • imported/w3c/webdriver/tests/set_timeouts/set.py:
  • imported/w3c/webdriver/tests/set_timeouts/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/set_window_rect/set.py:
  • imported/w3c/webdriver/tests/support/asserts.py:
  • imported/w3c/webdriver/tests/support/defaults.py: Added.
  • imported/w3c/webdriver/tests/support/fixtures.py:
  • imported/w3c/webdriver/tests/support/helpers.py: Added.
  • imported/w3c/webdriver/tests/support/http_request.py:
  • imported/w3c/webdriver/tests/support/image.py: Added.
  • imported/w3c/webdriver/tests/support/inline.py:
  • imported/w3c/webdriver/tests/support/sync.py: Added.
  • imported/w3c/webdriver/tests/switch_to_frame/switch.py:
  • imported/w3c/webdriver/tests/switch_to_window/switch.py:
  • imported/w3c/webdriver/tests/take_element_screenshot/init.py: Added.
  • imported/w3c/webdriver/tests/take_element_screenshot/screenshot.py: Added.
  • imported/w3c/webdriver/tests/take_element_screenshot/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/take_screenshot/init.py: Added.
  • imported/w3c/webdriver/tests/take_screenshot/screenshot.py: Added.
  • imported/w3c/webdriver/tests/take_screenshot/user_prompts.py: Added.
4:30 PM Changeset in webkit [238880] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

Crash in HTMLCollection::updateNamedElementCache
https://bugs.webkit.org/show_bug.cgi?id=192347

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by CollectionIndexCache's nodeAt caching the length of 1
when there are no matching elements in the subtree when the index is non-zero.

A related bug was fixed in r182125 but we were not considering the possibility
that the index given to this function might be non-zero even when there were
no matching elements.

Test: fast/dom/options-collection-zero-length-crash.html

  • dom/CollectionIndexCache.h:

(WebCore::CollectionIndexCache<Collection, Iterator>::nodeAt):

LayoutTests:

Added a regression test. We can't simply call select.options.item
to catch this crash because the generated bidning code first call length()
to check if the index is within the valid range.

  • fast/dom/options-collection-zero-length-crash-expected.txt: Added.
  • fast/dom/options-collection-zero-length-crash.html: Added.
3:48 PM Changeset in webkit [238879] by Alan Coon
  • 4 edits in tags/Safari-607.1.16/Source/WebKit

Revert r238869. rdar://problem/45928708

3:48 PM Changeset in webkit [238878] by Alan Coon
  • 8 edits in tags/Safari-607.1.16/Source

Revert r238870. rdar://problem/46456681

3:01 PM Changeset in webkit [238877] by jiewen_tan@apple.com
  • 4 edits
    1 copy
    1 add in trunk

Don't report resource timing to parent frame for history items
https://bugs.webkit.org/show_bug.cgi?id=192273
<rdar://problem/45163764>

Reviewed by Youenn Fablet.

Source/WebCore:

We should not report history items to its parent frame as those are less
interested to its parent and might not be the first navigation in the iframes.

This change aligns the behavior when a cached document is not available for the
history item with the available case as we don't report resource timing for any
cached main document.

Test: http/tests/misc/resource-timing-navigation-in-restored-iframe-2.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadDifferentDocumentItem):

LayoutTests:

  • http/tests/misc/resource-timing-navigation-in-restored-iframe-2-expected.txt: Added.
  • http/tests/misc/resource-timing-navigation-in-restored-iframe-2.html: Copied from LayoutTests/http/tests/misc/resource-timing-navigation-in-restored-iframe.html.
  • http/tests/misc/resource-timing-navigation-in-restored-iframe.html:
2:58 PM Changeset in webkit [238876] by Simon Fraser
  • 4 edits
    2 adds in trunk

REGRESSION (r238090): position:fixed sidebar on https://www.w3.org/TR/SVG2/coords.html does not stay fixed
https://bugs.webkit.org/show_bug.cgi?id=192320
<rdar://problem/46429833>

Reviewed by Zalan Bujtas.
Source/WebCore:

Re-land r238840 with a more reliable test.

When we fall into slow scrolling mode (for example, because of background-attachment: fixed),
RenderLayerCompositor::updateCompositingLayers() needs to set the geometry dirty bit on layers
for viewport-constrained objects so we update them.

This is only necessary for page scrolling; for overflow scrolls, updateLayerPositions() already
does enough dirtying that fixed layers nested inside scrollers get updated.

Test: compositing/fixed-with-main-thread-scrolling.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateCompositingLayers):

LayoutTests:

  • compositing/fixed-with-main-thread-scrolling-expected.html: Added.
  • compositing/fixed-with-main-thread-scrolling.html: Added.
  • platform/ios/TestExpectations:
2:33 PM Changeset in webkit [238875] by youenn@apple.com
  • 2 edits in trunk/LayoutTests

[iOS] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189727
<rdar://problem/44584993>

Unreviewed.

  • platform/ios/TestExpectations: Update expectation to dump JS console lines in stderr.
1:40 PM Changeset in webkit [238874] by youenn@apple.com
  • 8 edits in trunk

Fix MediaRecorder flaky tests
https://bugs.webkit.org/show_bug.cgi?id=192371

Reviewed by Eric Carlson.

Source/WebCore:

No change of behavior.

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
Reset to use real MediaRecorder by default.

LayoutTests:

Updated tests to make them less flaky and more debuggable.

  • http/wpt/mediarecorder/MediaRecorder-AV-audio-only-dataavailable.html:
  • http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html:
  • http/wpt/mediarecorder/MediaRecorder-AV-video-only-dataavailable.html:
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
12:57 PM Changeset in webkit [238873] by youenn@apple.com
  • 3 edits in trunk/Source/WebKit

Calling getUserMedia in a link that was opened with target="_blank" does not work the second time
https://bugs.webkit.org/show_bug.cgi?id=188088
<rdar://problem/42681448>

Reviewed by Eric Carlson.

On closing a page, we need to make sure to consider that the capture is ended,
as otherwise WebPageProxy will not get noticed from WebPage, since WebPageProxy is no longer an IPC receiver.

  • UIProcess/UserMediaProcessManager.cpp:

(WebKit::UserMediaProcessManager::endedCaptureSession):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::close):

12:25 PM Changeset in webkit [238872] by Justin Michaud
  • 26 edits
    2 copies
    9 moves
    5 adds in trunk

CSS Painting API should allow image values in inputProperties
https://bugs.webkit.org/show_bug.cgi?id=192200

Reviewed by Dean Jackson.

Source/WebCore:

Adds new TypedOMCSSImageValue wrapper. We rename all the existing ones so that the naming is consistent (CSSImageValue is already a thing).
Finally, we let CanvasRenderingContext2DBase render these.

Tests: fast/css-custom-paint/arguments.html

fast/css-custom-paint/image.html

  • CMakeLists.txt:
  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/CallTracerTypes.h:
  • bindings/js/JSTypedOMCSSStyleValueCustom.cpp: Renamed from Source/WebCore/bindings/js/JSCSSStyleValueCustom.cpp.

(WebCore::toJSNewlyCreated):
(WebCore::toJS):

  • bindings/js/WebCoreBuiltinNames.h:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::customPropertyValue):

  • css/CSSCustomPropertyValue.cpp:

(WebCore::CSSCustomPropertyValue::equals const):
(WebCore::CSSCustomPropertyValue::customCSSText const):
(WebCore::CSSCustomPropertyValue::tokens const):

  • css/CSSCustomPropertyValue.h:
  • css/CSSPaintImageValue.cpp:

(WebCore::CSSPaintImageValue::image):

  • css/typedom/StylePropertyMapReadOnly.h:

(WebCore::StylePropertyMapReadOnly::create):
(WebCore::StylePropertyMapReadOnly::get const):
(WebCore::StylePropertyMapReadOnly::StylePropertyMapReadOnly):

  • css/typedom/StylePropertyMapReadOnly.idl:
  • css/typedom/TypedOMCSSImageValue.h: Copied from Source/WebCore/css/typedom/CSSUnitValue.h.
  • css/typedom/TypedOMCSSImageValue.idl: Copied from Source/WebCore/css/typedom/CSSStyleValue.idl.
  • css/typedom/TypedOMCSSNumericValue.h: Renamed from Source/WebCore/css/typedom/CSSNumericValue.h.
  • css/typedom/TypedOMCSSNumericValue.idl: Renamed from Source/WebCore/css/typedom/CSSNumericValue.idl.
  • css/typedom/TypedOMCSSStyleValue.h: Renamed from Source/WebCore/css/typedom/CSSStyleValue.h.

(WebCore::TypedOMCSSStyleValue::isImageValue):

  • css/typedom/TypedOMCSSStyleValue.idl: Renamed from Source/WebCore/css/typedom/CSSStyleValue.idl.
  • css/typedom/TypedOMCSSUnitValue.h: Renamed from Source/WebCore/css/typedom/CSSUnitValue.h.
  • css/typedom/TypedOMCSSUnitValue.idl: Renamed from Source/WebCore/css/typedom/CSSUnitValue.idl.
  • css/typedom/TypedOMCSSUnparsedValue.h: Renamed from Source/WebCore/css/typedom/CSSUnparsedValue.h.
  • css/typedom/TypedOMCSSUnparsedValue.idl: Renamed from Source/WebCore/css/typedom/CSSUnparsedValue.idl.
  • html/ImageBitmap.cpp:

(WebCore::ImageBitmap::createPromise):

  • html/ImageBitmap.h:
  • html/canvas/CanvasDrawImage.idl:
  • html/canvas/CanvasFillStrokeStyles.idl:
  • html/canvas/CanvasRenderingContext.cpp:

(WebCore::CanvasRenderingContext::checkOrigin):

  • html/canvas/CanvasRenderingContext.h:
  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::size):
(WebCore::CanvasRenderingContext2DBase::drawImage):
(WebCore::CanvasRenderingContext2DBase::createPattern):

  • html/canvas/CanvasRenderingContext2DBase.h:
  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::buildAction):

  • page/WindowOrWorkerGlobalScope.idl:
  • platform/graphics/CustomPaintImage.cpp:

(WebCore::CustomPaintImage::doCustomPaint):

LayoutTests:

  • fast/css-custom-paint/arguments-expected.html: Added.
  • fast/css-custom-paint/arguments.html: Added.
  • fast/css-custom-paint/image-expected.html: Added.
  • fast/css-custom-paint/image.html: Added.
  • fast/css-custom-paint/resources/test-image.png: Added.
12:07 PM Changeset in webkit [238871] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r238602): Elements: changing selection no longer highlights the selected node
https://bugs.webkit.org/show_bug.cgi?id=192354
<rdar://problem/46444438>

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/TreeOutline.js:

(WI.TreeOutline.prototype._treeKeyDown):
(WI.TreeOutline.prototype._handleMouseDown):

12:01 PM Changeset in webkit [238870] by Alan Coon
  • 8 edits in tags/Safari-607.1.16/Source

Cherry-pick r238867. rdar://problem/46456681

Regression(r238817) PSON Page Cache API tests are failing
https://bugs.webkit.org/show_bug.cgi?id=192348

Reviewed by Alex Christensen.

Source/WebCore:

  • page/MemoryRelease.cpp: (WebCore::releaseCriticalMemory): (WebCore::releaseMemory):
  • page/MemoryRelease.h:

Source/WebKit:

Before suspending a WebProcess on iOS, we normally fake a memory pressure signal
so that the suspended process uses as little memory as possible while suspended.
Among other things, this will clear the page cache. This is an issue in the case
of process-swap on navigation because we keep suspended web processes around to
keep Page Cache functional.

To address the issue, when a WebProcess is about to get suspended, we check if
the process has any suspended WebPage (WebPage used for PSON PageCache support)
and we bypass the PageCache clearing if it does.

Our API tests did not catch this before r238817 because the NavigationState's
assertion was preventing the old WebProcesses from suspending for 3 seconds,
which was enough for those tests to complete.

  • UIProcess/SuspendedPageProxy.cpp: (WebKit::SuspendedPageProxy::SuspendedPageProxy): (WebKit::SuspendedPageProxy::didFinishLoad):
  • UIProcess/SuspendedPageProxy.h: Take a background assertion until the suspension load is complete, to make sure the suspension load has a chance to complete before the process gets suspended.
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): (WebKit::WebProcess::hasPageRequiringPageCacheWhileSuspended const): (WebKit::WebProcess::actualPrepareToSuspend):
  • WebProcess/WebProcess.h:

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

12:00 PM Changeset in webkit [238869] by Alan Coon
  • 4 edits in tags/Safari-607.1.16/Source/WebKit

Cherry-pick r238818. rdar://problem/45928708

Swipe snapshot stays up too long swiping around on apple.com (waiting for first paint)
https://bugs.webkit.org/show_bug.cgi?id=192319
<rdar://problem/45928708>

Reviewed by Simon Fraser.

  • UIProcess/Cocoa/ViewGestureController.cpp: (WebKit::ViewGestureController::didStartProvisionalLoadForMainFrame):
  • UIProcess/Cocoa/ViewGestureController.h:
  • UIProcess/ios/ViewGestureControllerIOS.mm: (WebKit::ViewGestureController::endSwipeGesture): In r236966, I reverted slightly too much of r232416. We still need to defer requesting a presentation update callback until after the provisional load starts. Otherwise, we could get the callback while we're in the 'paused' state, and drop it on the floor. That would then mean that we time out instead of promptly removing the snapshot.

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

11:44 AM Changeset in webkit [238868] by Chris Dumez
  • 2 edits in trunk/Tools

ProcessSwap.UseSessionCookiesAfterProcessSwapInPrivateBrowsing API test is failing
https://bugs.webkit.org/show_bug.cgi?id=192362

Reviewed by Alex Christensen.

Set the cookie policy to Accept to make sure the cookies are saved.

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
11:44 AM Changeset in webkit [238867] by Chris Dumez
  • 8 edits in trunk/Source

Regression(r238817) PSON Page Cache API tests are failing
https://bugs.webkit.org/show_bug.cgi?id=192348

Reviewed by Alex Christensen.

Source/WebCore:

  • page/MemoryRelease.cpp:

(WebCore::releaseCriticalMemory):
(WebCore::releaseMemory):

  • page/MemoryRelease.h:

Source/WebKit:

Before suspending a WebProcess on iOS, we normally fake a memory pressure signal
so that the suspended process uses as little memory as possible while suspended.
Among other things, this will clear the page cache. This is an issue in the case
of process-swap on navigation because we keep suspended web processes around to
keep Page Cache functional.

To address the issue, when a WebProcess is about to get suspended, we check if
the process has any suspended WebPage (WebPage used for PSON PageCache support)
and we bypass the PageCache clearing if it does.

Our API tests did not catch this before r238817 because the NavigationState's
assertion was preventing the old WebProcesses from suspending for 3 seconds,
which was enough for those tests to complete.

  • UIProcess/SuspendedPageProxy.cpp:

(WebKit::SuspendedPageProxy::SuspendedPageProxy):
(WebKit::SuspendedPageProxy::didFinishLoad):

  • UIProcess/SuspendedPageProxy.h:

Take a background assertion until the suspension load is complete, to make sure
the suspension load has a chance to complete before the process gets suspended.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::hasPageRequiringPageCacheWhileSuspended const):
(WebKit::WebProcess::actualPrepareToSuspend):

  • WebProcess/WebProcess.h:
11:42 AM Changeset in webkit [238866] by Michael Catanzaro
  • 3 edits
    4 deletes in trunk/Tools

[WPE][GTK] Update GLib
https://bugs.webkit.org/show_bug.cgi?id=191222

Reviewed by Žan Doberšek.

When I try running API tests locally, they crash with:

GLib-GIO-WARNING : unknown schema extension 'd'

We need to update our old glib to support the 'd' value type, otherwise schemas that may
exist on the host using this type will cause instant crashes.

Also, switch the GLib build to use meson. This requires updating meson as well.

  • gtk/jhbuild.modules:
  • gtk/patches/glib-cast-function-type.patch: Removed.
  • gtk/patches/glib-gtester-do-not-consider-skipped-tests-as-failures.patch: Removed.
  • wpe/jhbuild.modules:
  • wpe/patches/glib-cast-function-type.patch: Removed.
  • wpe/patches/glib-revert-wakeup-changes.patch: Removed.
11:34 AM Changeset in webkit [238865] by aakash_jain@apple.com
  • 4 edits in trunk/Tools

[ews-app] Run BugzillaPatchFetcher periodically
https://bugs.webkit.org/show_bug.cgi?id=192241

Reviewed by Lucas Forschler.

  • BuildSlaveSupport/ews-app/ews/init.py:
  • BuildSlaveSupport/ews-app/ews/apps.py:

(EwsConfig.ready): This method is called by Django on startup.

  • BuildSlaveSupport/ews-app/ews/fetcher.py:

(FetchLoop): Class which invokes BugzillaPatchFetcher every 60s.

11:07 AM Changeset in webkit [238864] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r238330): Timeline auto-capture does not work after page transition
https://bugs.webkit.org/show_bug.cgi?id=192248
<rdar://problem/46390199>

Reviewed by Devin Rousso.

  • UserInterface/Base/Main.js:

(WI.transitionPageTarget):
Let the TimelineManager perform work on page transitions.

  • UserInterface/Controllers/TimelineManager.js:

(WI.TimelineManager.prototype.initializeTarget):
Initialize the autocapture state of the target.

(WI.TimelineManager.prototype.transitionPageTarget):
When transitioning pages perform a legacy (frontend based) timeline capture.

11:01 AM Changeset in webkit [238863] by Alan Coon
  • 3 edits in tags/Safari-607.1.16/Source/WebKit

Cherry-pick r238849. rdar://problem/46427844

Fix the watchOS build; stop unnecessarily linking CorePDF
https://bugs.webkit.org/show_bug.cgi?id=192356
<rdar://problem/46427844>

Reviewed by Wenson Hsieh.

  • Configurations/WebKit.xcconfig:
  • Platform/spi/ios/CorePDFSPI.h:

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

11:00 AM Changeset in webkit [238862] by Jonathan Bedard
  • 3 edits in trunk/Tools

webkitpy: Support unicode in MeteredStream
https://bugs.webkit.org/show_bug.cgi?id=192260

Reviewed by Aakash Jain.

It's possible that the test runner returns unicode characters to be logged when
running layout tests.

  • Scripts/webkitpy/layout_tests/views/metered_stream.py:

(MeteredStream.write): Print message without attempting to encode/decode it.

  • Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:

(RegularTest.test_unicode):

10:55 AM Changeset in webkit [238861] by Caio Lima
  • 8 edits
    4 adds in trunk

[ESNext][BigInt] Support logic operations
https://bugs.webkit.org/show_bug.cgi?id=179903

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/big-int-branch-usage.js: Added.
  • stress/big-int-logical-and.js: Added.
  • stress/big-int-logical-not.js: Added.
  • stress/big-int-logical-or.js: Added.

Source/JavaScriptCore:

We are introducing in this patch the ToBoolean support for JSBigInt.
With this change, we can implement the correct behavior of BigInt as
operand of logical opertions. During JIT genertion into DFG and FTL,
we are using JSBigInt::m_length to verify if the number is 0n or not,
following the same approach used by JSString. This is also safe in the case
of BigInt, because only 0n has m_length == 0.

We are not including BigInt speculation into Branch nodes in this
patch, but the plan is to implement it in further patches.

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::boolify):
(JSC::FTL::DFG::LowerDFGToB3::isBigInt):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitConvertValueToBoolean):
(JSC::AssemblyHelpers::branchIfValue):

  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::isZero const):
(JSC::JSBigInt::offsetOfLength):
(JSC::JSBigInt::toBoolean const):
(JSC::JSBigInt::isZero): Deleted.

  • runtime/JSBigInt.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::toBoolean const):
(JSC::JSCell::pureToBoolean const):

10:50 AM Changeset in webkit [238860] by Ryan Haddad
  • 4 edits
    2 deletes in trunk

Unreviewed, rolling out r238838.

The layout test added with this change is failing on iOS.

Reverted changeset:

"Thick overlines and line-throughs grow in the wrong
direction"
https://bugs.webkit.org/show_bug.cgi?id=192264
https://trac.webkit.org/changeset/238838

10:17 AM Changeset in webkit [238859] by Matt Baker
  • 13 edits in trunk/Source/WebInspectorUI

Web Inspector: Elements: $0 is shown for all selected elements
https://bugs.webkit.org/show_bug.cgi?id=192119
<rdar://problem/46327554>

Reviewed by Devin Rousso.

  • UserInterface/Views/ContentBrowserTabContentView.js:

(WI.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObject):

  • UserInterface/Views/DOMTreeContentView.js:

(WI.DOMTreeContentView):
(WI.DOMTreeContentView.prototype.layout):
(WI.DOMTreeContentView.prototype._domTreeSelectionDidChange):
Update the selected DOM node using the TreeOutline's selection change
event, instead of in onselect, which wasn't always called.

  • UserInterface/Views/DOMTreeElement.js:

(WI.DOMTreeElement.prototype.onselect): Deleted.
(WI.DOMTreeElement.prototype.ondeselect): Deleted.
Eliminate onselect and ondeselect. TreeOutline clients should use
the TreeOutline.Event.SelectedDidChange event instead.

  • UserInterface/Views/DOMTreeOutline.css:

(.tree-outline.dom li.last-selected > span::after):
(.tree-outline.dom:focus li.last-selected > span::after):
(.tree-outline.dom li.selected > span::after): Deleted.
(.tree-outline.dom:focus li.selected > span::after): Deleted.

  • UserInterface/Views/DOMTreeOutline.js:

(WI.DOMTreeOutline.prototype.updateSelection): Deleted.

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WI.DebuggerSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):

  • UserInterface/Views/FolderizedTreeElement.js:

(WI.FolderizedTreeElement.prototype._addTreeElement):

  • UserInterface/Views/NavigationSidebarPanel.js:

(WI.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement):
(WI.NavigationSidebarPanel.prototype._treeElementWasFiltered):
(WI.NavigationSidebarPanel):

  • UserInterface/Views/OpenResourceDialog.js:

(WI.OpenResourceDialog.prototype._populateResourceTreeOutline):
(WI.OpenResourceDialog.prototype._handleKeydownEvent):

  • UserInterface/Views/SourceCodeTreeElement.js:

(WI.SourceCodeTreeElement.prototype.descendantResourceTreeElementTypeDidChange):

  • UserInterface/Views/TreeElement.js:

(WI.TreeElement.prototype.select):
(WI.TreeElement.prototype.revealAndSelect):
(WI.TreeElement.prototype.deselect):
Remove suppressOnDeselect and rename suppressOnSelect to suppressNotification.
Now that ondeselect has been removed suppressOnDeselect is no longer
meaningful, as TreeOutline generates a single SelectedDidChange event
when the selected item changes. In the case of revealAndSelect, both
arguments had the same value.

  • UserInterface/Views/TreeOutline.js:

(WI.TreeOutline):
(WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
Add a unique class name to the last selected TreeElement to distinguish
it from other selected elements.

10:14 AM Changeset in webkit [238858] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Elements: ⌘-A should select all visible nodes
https://bugs.webkit.org/show_bug.cgi?id=192120
<rdar://problem/46344435>

Reviewed by Devin Rousso.

  • UserInterface/Views/TreeOutline.js:

(WI.TreeOutline.prototype._treeKeyDown):
Remove an early return, allowing WI.SelectionController to handle ⌘-A
and select all items.

10:12 AM Changeset in webkit [238857] by youenn@apple.com
  • 5 edits in trunk/Source/WebKit

Device orientation may be wrong on page reload after crash
https://bugs.webkit.org/show_bug.cgi?id=192349
<rdar://problem/46359466>

Reviewed by Eric Carlson.

On page crash, the process is relaunched and the page is reloaded.
At that point, the orientation information of the page is not reset until the next device orientation change.
To fix that, add the device orientation to the page creation parameters so that we pass it everytime we create a page.
Covered by manual testing.

  • Shared/WebPageCreationParameters.cpp:

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

  • Shared/WebPageCreationParameters.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • WebProcess/WebPage/WebPage.cpp:
9:38 AM Changeset in webkit [238856] by Kocsen Chung
  • 3 edits in tags/Safari-607.1.16/Source/WebKit

Revert r238852. rdar://problem/46427844

9:17 AM Changeset in webkit [238855] by Ryan Haddad
  • 3 edits
    2 deletes in trunk

Unreviewed, rolling out r238840.

The layout test added with this change is frequently failing.

Reverted changeset:

"REGRESSION (r238090): position:fixed sidebar on
https://www.w3.org/TR/SVG2/coords.html does not stay fixed"
https://bugs.webkit.org/show_bug.cgi?id=192320
https://trac.webkit.org/changeset/238840

9:05 AM Changeset in webkit [238854] by Keith Rollin
  • 2 edits
    1 add in trunk/Tools

Update scripts for generating .xcfilelist files
https://bugs.webkit.org/show_bug.cgi?id=192081
<rdar://problem/46312290>

Reviewed by Brent Fulgham.

The initial pass at generate-xcfilelists (a script for
creating/updating the .xcfilelist files needed for various Generate
Foo Source build phases in Xcode) only generated the .xcfilelist files
that held the output files; it did not generate the list of input
files. As well, for the sources generated by DerivedSources.make
makefiles, the script accomplished this via the implementation of a
convention in the makefile that allowed the printing of these output
files when invoked with the 'print_all_generated_files' target. Use of
this convention is inconvenient and error-prone.

The script is now updated to address both of these issues. First, it
generates for the input and output sets of files. Second, it does away
with the convention in the DerivedSources.make makefiles and instead
works from the dependency output information printed when make is
invoked with --debug. This second part is implemented in the new
script extract-dependencies-from-makefile.

  • Scripts/extract-dependencies-from-makefile: Added.

(Parser):
(Parser.init):
(Parser.nextLine):
(Parser.addTarget):
(Parser.addPrereq):
(Parser.doParse):
(Parser.printInputs):
(Parser.printOutputs):
(parseArgs):
(main):

  • Scripts/generate-xcfilelists:
8:33 AM Changeset in webkit [238853] by commit-queue@webkit.org
  • 10 edits
    2 moves
    8 adds in trunk

[WPE] Add gtk-doc
https://bugs.webkit.org/show_bug.cgi?id=178900

Patch by Carlos Eduardo Ramalho <cadubentzen@gmail.com> on 2018-12-04
Reviewed by Michael Catanzaro.

Add gtk-doc to WPE port. This patch tries to reuse as much code from
WebKitGTK+ as possible.

.:

  • Source/PlatformGTK.cmake: include GtkDoc.cmake instead of defining macro.
  • Source/PlatformWPE.cmake: Added documentation generation.
  • Source/cmake/GtkDoc.cmake: Added.
  • Source/cmake/OptionsWPE.cmake: Added ENABLE_GTKDOC build option and added pkg-config path variables.

Source/WebKit:

  • PlatformWPE.cmake: Write variables to gtkdoc-wpe.cfg and gtkdoc-webextensions that is used by python script later.
  • UIProcess/API/wpe/WebKitWebContext.h: Placed sandbox functions in the same location as in the WebKitGTK+ for consistency.
  • UIProcess/API/wpe/docs/wpe-0.1-sections.txt: Added.
  • UIProcess/API/wpe/docs/wpe-docs.sgml: Added.
  • WebProcess/InjectedBundle/API/wpe/WebKitWebPage.h: Placed webkit_web_page_get_dom_document

in the same position as in the WebKitGTK+ for consistency.

  • WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-0.1-sections.txt: Added.
  • WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-docs.sgml: Added.

Tools:

  • gtkdoc/generate-gtkdoc: Renamed from Tools/gtk/generate-gtkdoc.

(get_gtkdoc_module_paths): Add GDK and GTK only if building for GTK.
(prepare_environment_for_gtkdoc_generation):
(build_gtkdoc_for_wpe): Code to generate doc for WPE.
(build_gtkdoc_for_wkgtk): Code to generate doc for WebKitGTK+. Moved from main.

  • gtkdoc/gtkdoc.py: Renamed from Tools/gtk/gtkdoc.py.

(GTKDoc.init): Initialized required variables according to pylint.
(GTKDoc.api_missing_documentation):

  • wpe/install-dependencies: Add gtkdoc dependency.
8:01 AM Changeset in webkit [238852] by Kocsen Chung
  • 3 edits in tags/Safari-607.1.16/Source/WebKit

Cherry-pick r238849. rdar://problem/46427844

Fix the watchOS build; stop unnecessarily linking CorePDF
https://bugs.webkit.org/show_bug.cgi?id=192356
<rdar://problem/46427844>

Reviewed by Wenson Hsieh.

  • Configurations/WebKit.xcconfig:
  • Platform/spi/ios/CorePDFSPI.h:

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

3:01 AM Changeset in webkit [238851] by Carlos Garcia Campos
  • 32 edits
    2 copies
    2 moves in trunk

[SOUP] Move URLSoup back to WebCore after r238771
https://bugs.webkit.org/show_bug.cgi?id=192306

Reviewed by Michael Catanzaro.

Source/WebCore:

Add soupURIToURL() and urlToSoupURI() to replace the URL contructor taking a Soup URI and
URL::createSoupURI(). Fix several build failures that showed up after removing the soup includes from URL
header.

  • platform/Cookie.h:
  • platform/SharedBuffer.h:
  • platform/SourcesSoup.txt:
  • platform/network/soup/CookieSoup.cpp:
  • platform/network/soup/GUniquePtrSoup.h: Renamed from Source/WTF/wtf/glib/GUniquePtrSoup.h.
  • platform/network/soup/NetworkStorageSessionSoup.cpp:

(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::deleteCookie const):
(WebCore::NetworkStorageSession::getCookies):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::cookiesForSession):

  • platform/network/soup/ResourceErrorSoup.cpp:

(WebCore::failingURI):

  • platform/network/soup/ResourceHandleSoup.cpp:
  • platform/network/soup/ResourceRequest.h:

(WebCore::ResourceRequest::ResourceRequest):

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::updateSoupMessageMembers const):
(WebCore::ResourceRequest::updateFromSoupMessage):
(WebCore::ResourceRequest::createSoupURI const):

  • platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::updateFromSoupMessage):

  • platform/network/soup/SocketStreamHandleImpl.h:
  • platform/network/soup/SocketStreamHandleImplSoup.cpp:

(WebCore::SocketStreamHandleImpl::create):

  • platform/network/soup/SoupNetworkSession.cpp:
  • platform/network/soup/URLSoup.cpp: Copied from Source/WTF/wtf/glib/URLSoup.cpp.

(WebCore::soupURIToURL):
(WebCore::urlToSoupURI):

  • platform/network/soup/URLSoup.h: Renamed from Source/WTF/wtf/glib/URLSoup.cpp.

Source/WebKit:

Include GUniquePtrSoup from WebCore again and fix several build failures that showed up after removing the soup
includes from URL header.

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::tlsConnectionAcceptCertificate):

  • PluginProcess/PluginProcess.cpp:
  • Shared/API/glib/WebKitURIRequest.cpp:
  • Shared/API/glib/WebKitURIResponse.cpp:
  • UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp:
  • UIProcess/API/glib/WebKitURISchemeRequest.cpp:

(webkit_uri_scheme_request_finish_error): Use soupURIToURL().

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkit_web_view_load_uri): Use soupURIToURL().

  • UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
  • UIProcess/Launcher/glib/BubblewrapLauncher.h:
  • UIProcess/Launcher/glib/FlatpakLauncher.cpp:
  • UIProcess/Launcher/glib/FlatpakLauncher.h:

Source/WTF:

In r238771 URL was moved from WebCore to WTF, including the soup implementation. Unfortunately that added
libsoup as a new dependency of libjavascriptcoregtk.

  • wtf/PlatformGTK.cmake:
  • wtf/PlatformWPE.cmake:
  • wtf/URL.h:
  • wtf/glib/URLGLib.cpp: Copied from Source/WTF/wtf/glib/URLSoup.cpp.

Tools:

Include GUniquePtrSoup from WebCore again.

  • TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
1:08 AM Changeset in webkit [238850] by Devin Rousso
  • 26 edits
    2 adds in trunk

Web Inspector: Audit: tests should support async operations
https://bugs.webkit.org/show_bug.cgi?id=192171
<rdar://problem/46423562>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Add awaitPromise command for executing a callback when a Promise gets settled.

Drive-by: allow wasThrown to be optional, instead of expecting it to always have a value.

  • inspector/protocol/Runtime.json:
  • inspector/InjectedScriptSource.js:

(InjectedScript.prototype.awaitPromise): Added.

  • inspector/InjectedScript.h:
  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::evaluate):
(Inspector::InjectedScript::awaitPromise): Added.
(Inspector::InjectedScript::callFunctionOn):
(Inspector::InjectedScript::evaluateOnCallFrame):

  • inspector/InjectedScriptBase.h:
  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::makeEvalCall):
(Inspector::InjectedScriptBase::makeAsyncCall): Added.
(Inspector::InjcetedScriptBase::checkCallResult): Added.
(Inspector::InjcetedScriptBase::checkAsyncCallResult): Added.

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::evaluate):
(Inspector::InspectorRuntimeAgent::awaitPromise):
(Inspector::InspectorRuntimeAgent::callFunctionOn):

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::evaluateOnCallFrame):

Source/WebCore:

  • page/Settings.yaml:
  • dom/ScriptExecutionContext.cpp:

(ScriptExecutionContext::reportUnhandledPromiseRejection):
Add setting for muting the "Unhandled Promise Rejection" console message.

Source/WebInspectorUI:

  • UserInterface/Controllers/RuntimeManager.js:

(WI.RuntimeManager.supportsAwaitPromise): Added.

  • UserInterface/Models/AuditTestCase.js:

(WI.AuditTestCase.prototype.async run.async parseResponse.checkResultProperty.addErrorForValueType): Deleted.
(WI.AuditTestCase.prototype.async run.async parseResponse.checkResultProperty): Deleted.
(WI.AuditTestCase.prototype.async run.async parseResponse.async resultArrayForEach): Deleted.
(WI.AuditTestCase.prototype.async run.async parseResponse): Added.
(WI.AuditTestCase.prototype.async run):
(WI.AuditTestCase.prototype.async run.checkResultProperty.addErrorForValueType): Deleted.
(WI.AuditTestCase.prototype.async run.checkResultProperty): Deleted.
(WI.AuditTestCase.prototype.async run.async resultArrayForEach): Deleted.

  • UserInterface/Models/AuditTestCaseResult.js:

(WI.AuditTestCaseResult.async fromPayload):
(WI.AuditTestCaseResult.prototype.toJSON):

  • UserInterface/Views/AuditTestCaseContentView.js:

(WI.AuditTestCaseContentView.prototype.layout):

LayoutTests:

  • inspector/audit/resources/audit-utilities.js:

(TestPage.registerInitializer.InspectorTest.Audit.addFunctionlessTest):
(TestPage.registerInitializer.InspectorTest.Audit.addStringTest):
(TestPage.registerInitializer.InspectorTest.Audit.addObjectTest):
(TestPage.registerInitializer.InspectorTest.Audit.addPromiseTest): Added.

  • inspector/audit/basic-expected.txt:
  • inspector/audit/basic.html:
  • inspector/model/auditTestCaseResult-expected.txt:
  • inspector/model/auditTestCaseResult.html:
  • inspector/model/auditTestGroupResult-expected.txt:
  • inspector/model/auditTestGroupResult.html:
  • inspector/runtime/awaitPromise-expected.txt: Added.
  • inspector/runtime/awaitPromise.html: Added.
1:00 AM Changeset in webkit [238849] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit

Fix the watchOS build; stop unnecessarily linking CorePDF
https://bugs.webkit.org/show_bug.cgi?id=192356
<rdar://problem/46427844>

Reviewed by Wenson Hsieh.

  • Configurations/WebKit.xcconfig:
  • Platform/spi/ios/CorePDFSPI.h:
12:34 AM Changeset in webkit [238848] by Carlos Garcia Campos
  • 86 edits in trunk

[GTK] Bump freetype, fontconfig, harfbuzz, cairo and icu in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=192310

Reviewed by Michael Catanzaro.

Tools:

Update those dependencies to their latest stable versions.

  • gtk/jhbuild.modules:

LayoutTests:

Rebaseline tests.

  • platform/gtk/fast/text/format-control-expected.png:
  • platform/gtk/fast/text/format-control-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/filters-light-04-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/filters-turb-02-f-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/render-groups-01-b-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/render-groups-03-t-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
  • platform/gtk/svg/custom/glyph-transformation-with-hkern-expected.png:
  • platform/gtk/svg/custom/glyph-transformation-with-hkern-expected.txt:
  • platform/gtk/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/gtk/svg/foreignObject/text-tref-02-b-expected.png:
  • platform/gtk/svg/foreignObject/text-tref-02-b-expected.txt:
  • platform/gtk/svg/text/text-hkern-on-vertical-text-expected.png:
  • platform/gtk/svg/text/text-hkern-on-vertical-text-expected.txt:
  • platform/gtk/svg/transforms/text-with-mask-with-svg-transform-expected.png:
  • platform/gtk/svg/transforms/text-with-mask-with-svg-transform-expected.txt:
Note: See TracTimeline for information about the timeline view.