Timeline
Oct 14, 2018:
Oct 12, 2018:
- 5:29 PM October 2018 Meeting edited by
- Added IntersectionObserver Notes (diff)
- 5:29 PM IntersectionObserverNotes created by
- Notes from 2018 WebKit Contributors Meeting
- 5:17 PM October 2018 Meeting edited by
- Added Redesigned Form Controls and Dark Mode CSS notes (diff)
- 5:17 PM RedesignedFormControlsAndDarkModeCSS created by
- Notes from 2018 WebKit Contributors Meeting
- 5:09 PM October 2018 Meeting edited by
- Added Fixing WebKit Development Annoyances notes (diff)
- 5:08 PM FixingWebKitDevelopmentAnnoyances created by
- Notes from 2018 WebKit Contributors Meeting
- 4:54 PM Changeset in webkit [237091] by
-
- 1 edit2 adds in trunk/Websites/webkit.org
Add a demo for WebInspector scanvas debugging.
- demos/canvas-debugging/index.html: Added.
- 4:52 PM Changeset in webkit [237090] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas: previews aren't removed when the parent view is hidden
https://bugs.webkit.org/show_bug.cgi?id=190525
Reviewed by Matt Baker.
- UserInterface/Views/CanvasTabContentView.js:
(WI.CanvasTabContentView.prototype.attached):
- UserInterface/Controllers/CanvasManager.js:
(WI.CanvasManager.prototype.get canvases):
(WI.CanvasManager.prototype.get shaderPrograms):
Drive-by: simplify these getters.
- 4:48 PM October 2018 Meeting edited by
- (diff)
- 4:46 PM October 2018 Meeting edited by
- Added Last 2 Years of Platform/Network/cURL notes (diff)
- 4:44 PM Last2YearsOfPlatformNetworkCurl created by
- Notes from 2018 WebKit Contributors Meeting
- 4:42 PM October 2018 Meeting edited by
- (diff)
- 4:39 PM WPTandWebKitTests edited by
- (diff)
- 4:31 PM October 2018 Meeting edited by
- Added WPT and WebKit Tests (diff)
- 4:30 PM WPTandWebKitTests created by
- Notes from 2018 WebKit Contributors Meeting
- 4:27 PM Changeset in webkit [237089] by
-
- 2 edits in trunk/Tools
[Tools][webkitpy] fix handling of JSCTESTS_OPTIONS
https://bugs.webkit.org/show_bug.cgi?id=190537
Reviewed by Alexey Proskuryakov.
In DeprecatedPort.run_javascriptcore_tests_command() JSCTESTS_OPTIONS
needs to be split before adding it to the command since it is treated
as a list of args.
- Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.run_javascriptcore_tests_command):
- 4:17 PM October 2018 Meeting edited by
- Added EWS Updates notes (diff)
- 4:16 PM Changeset in webkit [237088] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: Build fix after r237084.
https://bugs.webkit.org/show_bug.cgi?id=189708
Unreviewd.
- JavaScriptCore.xcodeproj/project.pbxproj:
- 4:16 PM EWSUpdates2018 created by
- Notes from 2018 WebKit Contributors Meeting
- 4:14 PM October 2018 Meeting edited by
- Added notes for WebKitGTK+ and WPE WebKit in Five Minutes (diff)
- 4:14 PM WebKitGTKAndWPEWebKitInFiveMinutes created by
- Notes from 2018 WebKit Contributors Meeting
- 4:13 PM Changeset in webkit [237087] by
-
- 27 edits5 adds in trunk
[iOS] Allow SPI clients to lay out at arbitrarily scaled sizes and scale to fit the view
https://bugs.webkit.org/show_bug.cgi?id=190504
<rdar://problem/45117760>
Reviewed by Tim Horton.
Source/WebCore:
Add support in ViewportConfiguration for applying a layout size scale factor to the viewport. See below for
more details.
Tests: fast/viewport/ios/constant-width-viewport-after-changing-view-scale.html
fast/viewport/ios/device-width-viewport-after-changing-view-scale.html
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::setViewLayoutSize):
The viewport's layout size may now be changed alongside the layout size scale factor. If either of these two
variables change, we recompute our minimum layout size and viewport configuration parameters.
(WebCore::ViewportConfiguration::shouldIgnoreHorizontalScalingConstraints const):
(WebCore::ViewportConfiguration::nativeWebpageParameters):
(WebCore::ViewportConfiguration::testingParameters):
(WebCore::ViewportConfiguration::updateConfiguration):
Multiply the minimum scale, initial scale, and maximum scale by the layout size scale factor. This allows us to
keep the document well-proportioned within the viewport, while still laying out at a different layout size.
(WebCore::ViewportConfiguration::updateMinimumLayoutSize):
Compute the minimum layout size by scaling the default layout size derived from our view's size.
(WebCore::ViewportConfiguration::layoutWidth const):
(WebCore::ViewportConfiguration::layoutHeight const):
- page/ViewportConfiguration.h:
Maintain the original initial scale, unaffected by the layout size scale factor. This is used when computing
layout width and height to prevent scaling by the layout size scale factor twice when computing layout sizes.
(WebCore::ViewportConfiguration::description const):
Include the layout size scale factor in ViewportConfiguration's description string.
(WebCore::ViewportConfiguration::Parameters::operator== const):
(WebCore::operator<<):
Source/WebKit:
Add support for _setViewScale: and _viewScale on iOS. While similar in concept to macOS, changing this property
on iOS uses viewport configurations to change the minimum layout size of the document and apply view scaling.
Setting the view scale on iOS to a values
multiplies the minimium layout size by a factor1 / s
, but also
multiplies the initial, minimum and maximum scales by a factor ofs
. The net effect of applying this scale
causes the page to lay out at a larger width and shrink (or a smaller width and expand) to fit the viewport.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
Send
viewportConfigurationLayoutSizeScaleFactor
alongsideviewportConfigurationViewLayoutSize
.
(-[WKWebView _dispatchSetViewLayoutSize:]):
(-[WKWebView _viewScale]):
(-[WKWebView _setViewScale:]):
Provide a different implementation of
_setViewScale:
on iOS, by scaling the effective minimum layout size.
(See above for more detail).
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Add missing API availability annotations for the _viewScale property.
- UIProcess/API/mac/WKView.mm:
(-[WKView _setViewScale:]):
- UIProcess/Cocoa/WebViewImpl.mm:
Both -[WKView _setViewScale:] and -[WKWebView _setViewScale:] throw Objective C exceptions upon receiving a bad
argument (e.g. scale <= 0). However, logic for throwing this exception is specific to iOS in WKWebView, and
handled in WebViewImpl on macOS. To make this less confusing, move the exception throwing code out of
!PLATFORM(MAC) in WKWebView, and move the path for raising this exception in WKView on macOS from WebViewImpl to
WKView.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::layoutSizeScaleFactor const):
Tie the notion of "view scale" on iOS to
layoutSizeScaleFactor
. As its name suggests, this is a scale factor
by which we transform the layout size.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::setViewportConfigurationViewLayoutSize):
- WebProcess/WebPage/WebPage.cpp:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Plumb the layout size scale factor over to the web process, along with the layout size.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setViewportConfigurationViewLayoutSize):
Tools:
Teach UIScriptController to set WKWebView's view scale via a new
setViewScale
method, supported in WebKit2 on
macOS and iOS.
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setViewScale):
- DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::setViewScale):
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setViewScale):
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/UIScriptControllerCocoa.mm: Added.
Add a new file for UIScriptController methods on Cocoa platforms.
(WTR::UIScriptController::setViewScale):
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
Ensure that _viewScale is reset to 1 after running a layout test.
LayoutTests:
Add two new layout tests on iOS that change WKWebView's view scale, and measure the resulting window sizes and
lengths of viewport units.
- fast/viewport/ios/constant-width-viewport-after-changing-view-scale-expected.txt: Added.
- fast/viewport/ios/constant-width-viewport-after-changing-view-scale.html: Added.
Add a test page with a viewport meta tag that has a constant width and an explicit initial scale of 0.5.
- fast/viewport/ios/device-width-viewport-after-changing-view-scale-expected.txt: Added.
- fast/viewport/ios/device-width-viewport-after-changing-view-scale.html: Added.
Add a test page with a viewport meta tag at device-width, with initial scale 1.
- resources/ui-helper.js:
(window.UIHelper.setViewScale):
Add a convenience function that wraps a UI script invocation of
setViewScale
in a promise.
(window.UIHelper):
- 4:13 PM October 2018 Meeting edited by
- Added Igalia Contributions to WebKit (diff)
- 4:12 PM IgaliaContributionsToWebKit created by
- Notes from 2018 WebKit Contributors Meeting
- 4:10 PM Changeset in webkit [237086] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Perf dashboard: add a test for aggregating subtests without a matching metric in /api/report
https://bugs.webkit.org/show_bug.cgi?id=190544
Rubber-stamped by Keith Miller and unofficially reviewed by Dewei Zhu.
Added tests for reporting results to /api/report where a test with aggregated metrics has a subtest
without a matching metric type. The aggregation should simply skip such a subtest instead of returning
an error or aggregating with a mismatching metric type.
- server-tests/api-report-tests.js:
(.makeReport): Extracted out of a test case.
- 4:05 PM October 2018 Meeting edited by
- Added JavaScript RegExp Processing and JavaScriptCore Goals (diff)
- 4:03 PM JSCRegExpProcessingAndJSCGoals created by
- Notes from 2018 WebKit Contributors Meeting
- 3:59 PM Changeset in webkit [237085] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Dark Mode: Highlight text in Network Headers search is too dark
https://bugs.webkit.org/show_bug.cgi?id=190510
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-10-12
Reviewed by Devin Rousso.
- UserInterface/Views/ResourceHeadersContentView.css:
(.resource-headers.showing-find-banner .search-highlight):
Use adaptive text-color.
- 3:54 PM October 2018 Meeting edited by
- Added Web Inspector notes (diff)
- 3:52 PM WebInspectorNotes2018 created by
- Notes from 2018 WebKit Contributors Meeting
- 3:50 PM October 2018 Meeting edited by
- Added WebDriver Notes (diff)
- 3:47 PM WebDriverNotes2018 created by
- Notes from 2018 WebKit Contributors Meeting
- 3:39 PM Changeset in webkit [237084] by
-
- 7 edits2 adds in trunk/Source/JavaScriptCore
Separate configuration extraction from offset extraction
https://bugs.webkit.org/show_bug.cgi?id=189708
Reviewed by Keith Miller.
Instead of generating a file with all offsets for every combination of
configurations, we first generate a file with only the configuration
indices and pass that to the offset extractor. The offset extractor then
only generates the offsets for valid configurations
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- llint/LLIntOffsetsExtractor.cpp:
(JSC::LLIntOffsetsExtractor::dummy):
- llint/LLIntSettingsExtractor.cpp: Added.
(main):
- offlineasm/generate_offset_extractor.rb:
- offlineasm/generate_settings_extractor.rb: Added.
- offlineasm/offsets.rb:
- offlineasm/settings.rb:
- 3:38 PM October 2018 Meeting edited by
- Added WebKit Accessibility Performance notes (diff)
- 3:37 PM WebKitAccessibilityPerformance created by
- Notes from 2018 WebKit Contributors Meeting
- 3:28 PM October 2018 Meeting edited by
- Added Investigating Leaks and Bloat (diff)
- 3:28 PM InvestigatingLeaksAndBloat created by
- Notes from 2018 WebKit Contributors Meeting
- 3:24 PM October 2018 Meeting edited by
- Added WebKit Feature Focus 2018-2019 Notes (diff)
- 3:23 PM WebKitFeatureFocus2018-2019 created by
- Notes from the 2018 WebKit Contributors Meeting
- 3:16 PM October 2018 Meeting edited by
- (diff)
- 3:06 PM Changeset in webkit [237083] by
-
- 2 edits in trunk/Tools
[ews-build] Rename iOS-11-Simulator-Tests-EWS to iOS-11-Simulator-WK2-Tests-EWS
https://bugs.webkit.org/show_bug.cgi?id=190536
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/ews-build/config.json: Renamed iOS-11-Simulator-Tests-EWS to iOS-11-Simulator-WK2-Tests-EWS.
- 3:06 PM Changeset in webkit [237082] by
-
- 5 edits in trunk/Source/WebCore
Use downcast for use of RealtimeMediaSource in LibWebRTCMediaEndpoint
https://bugs.webkit.org/show_bug.cgi?id=190533
Reviewed by Chris Dumez.
Clean-up work.
No change of behavior.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::setExistingReceiverSourceTrack):
- platform/mediastream/RealtimeIncomingAudioSource.h:
(isType):
- platform/mediastream/RealtimeIncomingVideoSource.h:
(isType):
- platform/mediastream/RealtimeMediaSource.h:
- 2:43 PM Changeset in webkit [237081] by
-
- 2 edits in trunk/Source/WebCore
WebAVSampleBufferErrorListener's parent should be a WeakPtr.
https://bugs.webkit.org/show_bug.cgi?id=190524
<rdar://problem/44359307>
Reviewed by Eric Carlson.
Once WebAVSampleBufferErrorListener's parent is a WeakPtr, we no longer need to pass
protectedSelf into the callOnMainThread lambdas; we can pass in the parent itself.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(-[WebAVSampleBufferErrorListener initWithParent:]):
(-[WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]):
(-[WebAVSampleBufferErrorListener layerFailedToDecode:]):
(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::destroyRenderers):
- 2:42 PM Changeset in webkit [237080] by
-
- 15 edits in trunk/Source
Unreviewed, rolling out r237063.
Caused layout test fast/dom/Window/window-postmessage-clone-
deep-array.html to fail on macOS and iOS Debug bots.
Reverted changeset:
"[JSC] Remove gcc warnings on mips and armv7"
https://bugs.webkit.org/show_bug.cgi?id=188598
https://trac.webkit.org/changeset/237063
- 2:32 PM Changeset in webkit [237079] by
-
- 1 edit in trunk/Source/ThirdParty/libwebrtc/CMakeLists.txt
Unreviewed.
Speculative build fix for GTK/WPE after r237075.
- 2:30 PM Changeset in webkit [237078] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Dark Mode: wrong color used for "goto arrow" for selected DOM breakpoint tree element
https://bugs.webkit.org/show_bug.cgi?id=190180
<rdar://problem/44927654>
Reviewed by Matt Baker.
- UserInterface/Views/Main.css:
(@media (prefers-dark-interface)):
(:focus .selected .go-to-arrow):
- 2:29 PM Changeset in webkit [237077] by
-
- 2 edits in trunk/Source/WebCore
Address the review comment which was meant to be addressed in r237025.
- editing/MarkupAccumulator.cpp:
(WebCore::elementCannotHaveEndTag):
- 2:04 PM Changeset in webkit [237076] by
-
- 1 edit1 delete in trunk/Source/ThirdParty/libwebrtc
Unreviewed build fix, remove executable file imported with r237075.
- Source/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe: Removed.
- 1:53 PM October 2018 Meeting edited by
- Moved "How Text Works" into main schedule (diff)
- 1:45 PM Changeset in webkit [237075] by
-
- 1279 edits64 copies164 moves313 adds92 deletes in trunk/Source
Refresh libwebrtc up to 343f4144be
https://bugs.webkit.org/show_bug.cgi?id=190361
Reviewed by Chris Dumez.
This refresh should not change behavior but will allow us to implement better
mdns candidate support and simulcast activation surfacing through addTransceiver.
Covered by existing tests.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: (WebCore::LibWebRTCMediaEndpoint::doCreateAnswer):
- testing/MockLibWebRTCPeerConnection.cpp: (WebCore::MockLibWebRTCPeerConnection::CreateAnswer):
- testing/MockLibWebRTCPeerConnection.h: (WebCore::MockRtpSender::GetParameters): Deleted. (WebCore::MockRtpSender::SetParameters): Deleted. (WebCore::MockRtpSender::GetDtmfSender const): Deleted.
ThirdParty/libwebrtc
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
- Configurations/libwebrtc.xcconfig:
- Source/webrtc: Resynced.
- WebKit/0001-Updating-webrtc.patch: Removed.
- libwebrtc.xcodeproj/project.pbxproj:
- 1:20 PM Changeset in webkit [237074] by
-
- 23 edits in trunk/Source
Allow encoding of small enum classes
https://bugs.webkit.org/show_bug.cgi?id=190531
Reviewed by Tim Horton.
Source/WebCore:
- Modules/webauthn/PublicKeyCredentialCreationOptions.h:
- dom/Document.h:
- editing/FontAttributeChanges.h:
- history/CachedFrame.h:
- loader/FrameLoaderTypes.h:
- platform/CookiesStrategy.h:
- platform/PasteboardItemInfo.h:
- platform/ReferrerPolicy.h:
Source/WebKit:
- NetworkProcess/NetworkLoadClient.h:
- Scripts/webkit/messages.py:
- Scripts/webkit/parser.py:
(parse_parameters_string):
- UIProcess/API/APINavigation.h:
- UIProcess/WebFramePolicyListenerProxy.h:
- UIProcess/WebNavigationState.h:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebPage/WebPage.messages.in:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebFrameLoaderClient.mm:
(-[WebFramePolicyListener dealloc]):
Source/WTF:
- wtf/Forward.h:
- 12:58 PM October 2018 Meeting edited by
- Added IntersectionObserver talk (diff)
- 12:51 PM October 2018 Meeting edited by
- (diff)
- 12:47 PM October 2018 Meeting edited by
- (diff)
- 12:43 PM October 2018 Meeting edited by
- Changed order of Igalia and Web Inspector talks (diff)
- 12:20 PM Changeset in webkit [237073] by
-
- 15 edits in trunk/Source
Solve the confusion around blankURL() and isBlankURL() in URL
https://bugs.webkit.org/show_bug.cgi?id=158988
Patch by Rob Buis <rbuis@igalia.com> on 2018-10-12
Reviewed by Alex Christensen.
Source/WebCore:
The name isBlankURL is not accurate as the function tests the
protocol, not the full URL. Choose protocolIsAbout to align with
exisiting protocolIsData, protocolIsBlob etc.
No tests as no change in functionality.
- WebCore.order:
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::loadApplicationManifest):
(WebCore::DocumentLoader::startIconLoading):
- loader/NavigationAction.cpp:
(WebCore::shouldTreatAsSameOriginNavigation):
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
- loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution):
- page/PageSerializer.cpp:
(WebCore::PageSerializer::SerializerMarkupAccumulator::appendCustomAttributes):
(WebCore::PageSerializer::serializeFrame):
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForFrame const):
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForObjectSource const):
- platform/URL.cpp:
(WebCore::URL::protocolIsAbout const):
(WebCore::URL::isBlankURL const): Deleted.
- platform/URL.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::loadFull):
Source/WebKit:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::continueWillSendRequest):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::logUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::clearUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::hasHadUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::setLastSeen):
(WebKit::WebResourceLoadStatisticsStore::setPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::setVeryPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::isPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::isVeryPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::clearPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::setGrandfathered):
(WebKit::WebResourceLoadStatisticsStore::isGrandfathered):
(WebKit::WebResourceLoadStatisticsStore::setSubframeUnderTopFrameOrigin):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUnderTopFrameOrigin):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUniqueRedirectTo):
(WebKit::WebResourceLoadStatisticsStore::setSubresourceUniqueRedirectFrom):
(WebKit::WebResourceLoadStatisticsStore::setTopFrameUniqueRedirectTo):
(WebKit::WebResourceLoadStatisticsStore::setTopFrameUniqueRedirectFrom):
- 11:03 AM Changeset in webkit [237072] by
-
- 2 edits in trunk/LayoutTests
[Mojave Wk2] Layout Test http/tests/cache/disk-cache/disk-cache-validation-attachment.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=190323
Unreviewed, mark test as Flaky.
Patch by Dawei Fenton <realdawei@apple.com> on 2018-10-12
- platform/mac-wk2/TestExpectations:
- 10:57 AM Changeset in webkit [237071] by
-
- 5 edits in trunk/Source/WebKit
Cache API tests are flaky due to file writing failing from time to time
https://bugs.webkit.org/show_bug.cgi?id=190321
Reviewed by Chris Dumez.
Make NetworkCache::Storage::store callback return an error in case of writing failure.
Use this to surface this error at Cache API level.
Minor clean-up to make Storage::clear take a completion handler.
Make also sure to create the folder before writing the file in CacheStorageEngine.
As can be seen from some logging, it does happen that writing the 'origin' file sometimes fail with Posix error 9,
which might mean the folder is not present.
Changes are covered by current tests, flaky tests like http/wpt/cache-storage/cache-put-keys.https.any.worker.html
will show a "failed writing data to the file system" error message.
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::writeFile):
- NetworkProcess/cache/CacheStorageEngine.h:
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::storeOrigin):
(WebKit::CacheStorage::Caches::writeCachesToDisk):
(WebKit::CacheStorage::Caches::writeRecord):
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::WriteOperation::WriteOperation):
(WebKit::NetworkCache::Storage::dispatchWriteOperation):
(WebKit::NetworkCache::Storage::finishWriteOperation):
(WebKit::NetworkCache::Storage::store):
(WebKit::NetworkCache::Storage::clear):
- NetworkProcess/cache/NetworkCacheStorage.h:
(WebKit::NetworkCache::Storage::store):
- 10:14 AM Changeset in webkit [237070] by
-
- 2 edits in trunk/Source/WebCore
DOMCache should dereference itself as soon as stopped
https://bugs.webkit.org/show_bug.cgi?id=190441
Reviewed by Chris Dumez.
Dereference the DOMCache as soon as its context is stopped instead of waiting for garbage collection.
This allows freeing resources sooner in the network process.
No observable change of behavior since the DOMCache becomes no-op when its context is stopped.
- Modules/cache/DOMCache.cpp:
(WebCore::DOMCache::~DOMCache):
(WebCore::DOMCache::stop):
- 9:57 AM Changeset in webkit [237069] by
-
- 2 edits in trunk/Source/WTF
Add PLATFORM(IOS_FAMILY) and OS(IOS_FAMILY)
https://bugs.webkit.org/show_bug.cgi?id=190477
Reviewed by Tim Horton.
Currently, PLATFORM(IOS) and OS(IOS) are true when building for any
TARGET_OS_IPHONE target, which is quite confusing. Add a better named alternative,
as a first step towards mass replacing PLATFORM(IOS). Can't so it all at once
because of dependencies in other source repositories.
- wtf/Platform.h: Changed to the new name in this file though. Kept a few
instances that actually target iOS only, having a version check.
- 9:24 AM October 2018 Meeting edited by
- (diff)
- 9:07 AM Changeset in webkit [237068] by
-
- 2 edits in trunk/LayoutTests
Layout Test editing/pasteboard/copy-paste-across-shadow-boundaries-with-style-2.html is failing
https://bugs.webkit.org/show_bug.cgi?id=190520
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:28 AM Changeset in webkit [237067] by
-
- 3 edits in trunk/Source/WebCore
CRASH in WebCore::MediaPlayerPrivateAVFoundation::setPreload
https://bugs.webkit.org/show_bug.cgi?id=190485
<rdar://problem/34613350>
Reviewed by Eric Carlson.
Crash analytics show that a pure-virtual function is called by MediaPlayerPrivateAVFoundation::setPreload(), and
the likely cause of that pure-virtual function call is that the MediaPlayerPrivateAVFoundation object itself has
been destroyed, likely as a side effect of calling MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL().
The usual suspect for this kind of crash is due to calling into JS (e.g., from a callback passed up to
HTMLMediaElement). Code inspection hasn't yielded any good hints about why this might be occurring, so we will
add a ScriptDisallowedScope assertion inside HTMLMediaElement::prepareToPlay(), to generate a good crashlog
showing exactly what callback is resulting in a JS call. But just in case the deallocation is not due to JS,
also add an explicit strong-ref inside MediaPlayer::prepareToPlay.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::prepareToPlay):
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::prepareToPlay):
- 8:28 AM Changeset in webkit [237066] by
-
- 2 edits in trunk/Source/WebCore
Null-dereference in SourceBufferPrivateAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged
https://bugs.webkit.org/show_bug.cgi?id=190490
<rdar://problem/42213807>
Reviewed by Eric Carlson.
Crash analytics show a null dereference occurring, likely because m_mediaSource is null.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged):
- 6:19 AM October 2018 Meeting edited by
- Cannot attend the meeting. (diff)
Oct 11, 2018:
- 11:33 PM Changeset in webkit [237065] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Build fix after r236956. Use array_get to avoid warnings.
- public/include/report-processor.php:
- 11:13 PM Changeset in webkit [237064] by
-
- 2 edits in trunk/Websites/browserbench.org
Update default hyperlink for MotionMark to MotionMark 1.1
https://bugs.webkit.org/show_bug.cgi?id=190491
Reviewed by Ryosuke Niwa.
- index.html:
- 7:51 PM Changeset in webkit [237063] by
-
- 15 edits in trunk/Source
[JSC] Remove gcc warnings on mips and armv7
https://bugs.webkit.org/show_bug.cgi?id=188598
Reviewed by Mark Lam.
Source/bmalloc:
Add bitwise_cast (from WTF) and use it instead of reinterpret_cast in
a couple places where reinterpret_cast triggers a warning about
alignment even though we know that alignment is correct.
- bmalloc/Algorithm.h:
(bmalloc::bitwise_cast): Copied from WTF/wtf/StdLibextras.h
- bmalloc/IsoDirectoryPageInlines.h:
(bmalloc::IsoDirectoryPage<Config>::pageFor):
- bmalloc/IsoPageInlines.h:
(bmalloc::IsoPage<Config>::startAllocating):
Source/JavaScriptCore:
Fix many gcc/clang warnings that are false positives, mostly alignment
issues.
- assembler/MacroAssemblerPrinter.cpp:
(JSC::Printer::printMemory):
Use bitwise_cast instead of reinterpret_cast.
- assembler/testmasm.cpp:
(JSC::floatOperands):
marked as potentially unused as it is not used on all platforms.
(JSC::testProbeModifiesStackValues):
modifiedFlags is not used on mips, so don't declare it.
- bytecode/CodeBlock.h:
Make ScriptExecutable::prepareForExecution() return an
std::optional<Exception*> instead of a JSObject*.
- interpreter/Interpreter.cpp:
(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):
Update calling code for the prototype change of
ScriptExecutable::prepareForExecution().
- jit/JITOperations.cpp: Same as for Interpreter.cpp.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setUpCall): Same as for Interpreter.cpp.
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::dataStorage):
Use bitwise_cast instead of reinterpret_cast.
- runtime/ScriptExecutable.cpp:
- runtime/ScriptExecutable.h:
Make ScriptExecutable::prepareForExecution() return an
std::optional<Exception*> instead of a JSObject*.
- tools/JSDollarVM.cpp:
(JSC::codeBlockFromArg): Use bitwise_cast instead of reinterpret_cast.
- 7:45 PM Changeset in webkit [237062] by
-
- 2 edits in trunk/Source/WebCore
Add Houdini specs to features.json
https://bugs.webkit.org/show_bug.cgi?id=190494
<rdar://problem/45211879>
Unreviewed fix.
Specifications should not reference other specifications. Also
move Worklet into the specifications section.
- features.json:
- 7:30 PM Changeset in webkit [237061] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Network: detail view reverts to "Response" when new requests are added
https://bugs.webkit.org/show_bug.cgi?id=190443
Reviewed by Joseph Pecoraro.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._showDetailView):
Return early if we are already showing a detail view for the selected object.
- 6:33 PM Changeset in webkit [237060] by
-
- 13 edits in trunk
IOS 12 - Service worker cache not shared when added to homescreen
https://bugs.webkit.org/show_bug.cgi?id=190269
<rdar://problem/45009961>
Reviewed by Alex Christensen.
Source/WebCore:
Expose Cache Storage API when Service Worker API is exposed.
This is used for API tests.
- dom/ScriptExecutionContext.h: Make hasServiceWorkerScheme
available outside SERVICE_WORKER compilation flag since used by DOMWindowCaches.
- dom/ScriptExecutionContext.cpp: Ditto.
- Modules/cache/DOMWindowCaches.idl:
Source/WebKit:
NetworkProcessProxy does not always have all its stores in its hash map.
Make sure to check for the default web process pool store when grabbing cache storage parameters from a given session ID.
Add a way to remove the default website data for testing.
This is used in the new API test.
- UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::deleteDefaultDataStoreForTesting):
- UIProcess/API/APIWebsiteDataStore.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore _deleteDefaultDataStoreForTesting]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::retrieveCacheStorageParameters):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
Add test to ensure that CacheStorage use the default website data store parameters.
- 6:32 PM Changeset in webkit [237059] by
-
- 5 edits in trunk/Source
Use currentStackPointer more
https://bugs.webkit.org/show_bug.cgi?id=190503
Reviewed by Saam Barati.
Source/JavaScriptCore:
- runtime/VM.cpp:
(JSC::VM::committedStackByteCount):
Source/WTF:
Use WTF::currentStackPointer more in WebKit to adopt ASAN detect_stack_use_after_return option.
- wtf/StackBounds.cpp:
(WTF::testStackDirection2):
(WTF::testStackDirection):
- wtf/ThreadingPthreads.cpp:
(WTF::Thread::signalHandlerSuspendResume):
(WTF::getApproximateStackPointer): Deleted.
- 5:23 PM Changeset in webkit [237058] by
-
- 9 edits in trunk/Source
Hide RenderLayer z-order and normal flow lists behind iterators
https://bugs.webkit.org/show_bug.cgi?id=190457
Source/WebCore:
Reviewed by Zalan Bujtas.
Expose the positive z-order, negative z-order and normal flow lists
from RenderLayer as iterators rather than vectors of raw pointers.
This hides the fact that the vectors can be null, and allows for easier casting in future.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::update3DTransformedDescendantStatus):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestList):
(WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderLayer.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::traverseVisibleNonCompositedDescendantLayers):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):
(WebCore::RenderLayerCompositor::needsContentsCompositingLayer const):
(WebCore::RenderLayerCompositor::layerHas3DContent const):
- rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):
Source/WebKit:
Reviewed by Zalan Bujtas.
Expose the positive z-order, negative z-order and normal flow lists
from RenderLayer as iterators rather than vectors of raw pointers.
Use a lambda function to get access to the private constructor, while not having
to refer to the nested RenderLayer::LayerIterator class in the header.
- Shared/WebRenderLayer.cpp:
(WebKit::WebRenderLayer::WebRenderLayer):
(WebKit::WebRenderLayer::createArrayFromLayerList): Deleted.
- Shared/WebRenderLayer.h:
- 5:08 PM Changeset in webkit [237057] by
-
- 2 edits in trunk/Source/WebCore
Add Houdini specs to features.json
https://bugs.webkit.org/show_bug.cgi?id=190494
Reviewed by Simon Fraser.
Add CSS Typed OM Level 1, CSS Layout API Level 1, CSS Animation
Worklet, and group them under a Houdini feature set.
- features.json:
- 4:51 PM Changeset in webkit [237056] by
-
- 3 edits in trunk/Source/WebKit
iOS: Scrolling using the arrow keys doesn't show the scroll indicator like it does on macOS
https://bugs.webkit.org/show_bug.cgi?id=190478
<rdar://problem/22194031>
Reviewed by Megan Gardner.
- Platform/spi/ios/UIKitSPI.h:
Add some SPI.
- UIProcess/ios/WKKeyboardScrollingAnimator.mm:
(-[WKKeyboardScrollViewAnimator scrollToContentOffset:animated:]):
Do a persistent flash when scrolling continuously.
(-[WKKeyboardScrollViewAnimator scrollWithScrollToExtentAnimationTo:]):
Do a single flash when doing a scroll-to-top/bottom.
- 4:48 PM Changeset in webkit [237055] by
-
- 4 edits in trunk
Clicking on bookmarklet crashes at NavigationState::willRecordNavigationSnapshot
https://bugs.webkit.org/show_bug.cgi?id=190476
<rdar://problem/32757191>
Reviewed by Megan Gardner.
Source/WebKit:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _saveBackForwardSnapshotForItem:]):
The WKBackForwardListItem can be nil. Then we retrieve a reference from it.
An Objective-C method that returns a reference is a great way to get
a null reference. Other code then assumes it's not null and crashes.
Add a nil check.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/SnapshotStore.mm:
(TEST):
Add a test that we don't crash.
- 4:43 PM Changeset in webkit [237054] by
-
- 27 edits2 adds in trunk
[JSC] JSC should have "parseFunction" to optimize Function constructor
https://bugs.webkit.org/show_bug.cgi?id=190340
Reviewed by Mark Lam.
JSTests:
This patch fixes the line number of syntax errors raised by the Function constructor,
since we now parse the final code only once. And we no longer use block statement
for Function constructor's parsing.
- ChakraCore/test/Function/FuncBodyES5.baseline-jsc:
- stress/function-cache-with-parameters-end-position.js: Added.
(shouldBe):
(shouldThrow):
(i.anonymous):
- stress/function-constructor-name.js: Added.
(shouldBe):
(GeneratorFunction):
(AsyncFunction.async):
(AsyncGeneratorFunction.async):
(anonymous):
(async.anonymous):
- test262/expectations.yaml:
LayoutTests/imported/w3c:
- web-platform-tests/html/webappapis/scripting/events/inline-event-handler-ordering-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late-expected.txt:
- web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-attribute-expected.txt:
- web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror-expected.txt:
Source/JavaScriptCore:
The current Function constructor is suboptimal. We parse the piece of the same code three times to meet
the spec requirement. (1) check parameters syntax, (2) check body syntax, and (3) parse the entire function.
And to parse 1-3 correctly, we create two strings, the parameters and the entire function. This operation
is really costly and ideally we should meet the above requirement by the one time parsing.
To meet the above requirement, we add a special function for Parser, parseSingleFunction. This function
takesstd::optional<int> functionConstructorParametersEndPosition
and check this end position is correct in the parser.
For example, if we run the code,
Function('/*', '*/){')
According to the spec, this should produce '/*' parameter string and '*/){' body string. And parameter
string should be syntax-checked by the parser, and raise the error since it is incorrect. Instead of doing
that, in our implementation, we first create the entire string.
function anonymous(/*) {
*/){
}
And we parse it. At that time, we also pass the end position of the parameters to the parser. In the above case,
the position of the `function anonymous(/*)' <> is passed. And in the parser, we check that the last token
offset of the parameters is the given end position. This check allows us to raise the error correctly to the
above example while we parse the entire function only once. And we do not need to create two strings too.
This improves the performance of the Function constructor significantly. And web-tooling-benchmark/uglify-js is
significantly sped up (28.2%).
Before:
uglify-js: 2.94 runs/s
After:
uglify-js: 3.77 runs/s
- bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::UnlinkedFunctionExecutable::fromGlobalCode):
- bytecode/UnlinkedFunctionExecutable.h:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::parseSingleFunction):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseAsyncFunctionDeclaration):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parsePropertyMethod):
(JSC::Parser<LexerType>::parseGetterSetter):
(JSC::Parser<LexerType>::parseFunctionExpression):
(JSC::Parser<LexerType>::parseAsyncFunctionExpression):
(JSC::Parser<LexerType>::parseArrowFunctionExpression):
- parser/Parser.h:
(JSC::Parser<LexerType>::parse):
(JSC::parse):
(JSC::parseFunctionForFunctionConstructor):
- parser/ParserModes.h:
- parser/ParserTokens.h:
(JSC::JSTextPosition::JSTextPosition):
(JSC::JSTokenLocation::JSTokenLocation): Deleted.
- parser/SourceCodeKey.h:
(JSC::SourceCodeKey::SourceCodeKey):
(JSC::SourceCodeKey::operator== const):
- runtime/CodeCache.cpp:
(JSC::CodeCache::getUnlinkedGlobalCodeBlock):
(JSC::CodeCache::getUnlinkedGlobalFunctionExecutable):
- runtime/CodeCache.h:
- runtime/FunctionConstructor.cpp:
(JSC::constructFunctionSkippingEvalEnabledCheck):
- runtime/FunctionExecutable.cpp:
(JSC::FunctionExecutable::fromGlobalCode):
- runtime/FunctionExecutable.h:
LayoutTests:
- fast/dom/attribute-event-listener-errors-expected.txt:
- fast/events/attribute-listener-deletion-crash-expected.txt:
- fast/events/window-onerror-syntax-error-in-attr-expected.txt:
- js/dom/invalid-syntax-for-function-expected.txt:
- js/dom/script-start-end-locations-expected.txt:
- 4:41 PM Changeset in webkit [237053] by
-
- 8 edits2 adds in trunk/Source/WebKit
Hardware keyboard arrow keys/spacebar don't scroll PDFs (works for web content)
https://bugs.webkit.org/show_bug.cgi?id=190495
<rdar://problem/22734616>
Reviewed by Andy Estes.
Hook up WKKeyboardScrollViewAnimator to the scroll view when
WKPDFView is installed.
- Platform/spi/ios/UIKitSPI.h:
Move _inputFlags to the IPI section so we can remove it
from WKContentViewInteraction.
- SourcesCocoa.txt:
- UIProcess/ios/WKWebEvent.h:
- UIProcess/ios/WKWebEvent.mm:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView handleKeyEvent:]):
(-[WKWebEvent dealloc]): Deleted.
- WebKit.xcodeproj/project.pbxproj:
Move WKWebEvent out of WKContentViewInteraction.
We tend to prefer one file per class.
Also, move the code to make a WKWebEvent from a UIEvent into
-initWithEvent:, instead of being ad-hoc in WKContentViewInteraction.
Adopt RetainPtr for the WKWebEvent's uiEvent property.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _handleKeyUIEvent:]):
- UIProcess/Cocoa/WKWebViewContentProvider.h:
Plumb hardware keyboard events to custom content views, if they want them.
- UIProcess/ios/WKPDFView.mm:
(-[WKPDFView dealloc]):
(-[WKPDFView web_handleKeyEvent:]):
(-[WKPDFView web_initWithFrame:webView:mimeType:]):
Install a WKKeyboardScrollViewAnimator and plumb key events to it.
- 4:07 PM October 2018 Meeting edited by
- Swapped ggaren and cfleizach talks (diff)
- 3:52 PM Changeset in webkit [237052] by
-
- 5 edits1 move in trunk/Source
[WTF] Semaphore.h conflicts with POSIX header
https://bugs.webkit.org/show_bug.cgi?id=190486
Reviewed by Yusuke Suzuki.
Source/WebCore:
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
Source/WTF:
Rename Semaphore.h to WTFSemaphore.h to avoid conflict with POSIX semaphore.h on case-insensitive file systems.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/WTFSemaphore.h: Renamed from wtf/Semaphore.h.
- 3:06 PM Changeset in webkit [237051] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix non-existent define
CPU(JSVALUE64)
https://bugs.webkit.org/show_bug.cgi?id=190479
Reviewed by Yusuke Suzuki.
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsImpl):
Correct CPU(JSVALUE64) to USE(JSVALUE64).
- 2:46 PM Changeset in webkit [237050] by
-
- 13 edits in trunk/Source/WebInspectorUI
Web Inspector: remove unused TreeOutline style .force-focus
https://bugs.webkit.org/show_bug.cgi?id=190480
<rdar://problem/45203484>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/CallFrameTreeElement.css:
(.tree-outline:focus .item.call-frame.selected .status > .status-image):
(.tree-outline:matches(:focus, .force-focus) .item.call-frame.selected .status > .status-image): Deleted.
- UserInterface/Views/CanvasSidebarPanel.css:
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline:focus .item.processing.selected .subtitle > progress):
(.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline:matches(:focus, .force-focus) .item.processing.selected .subtitle > progress): Deleted.
- UserInterface/Views/DataGrid.css:
(body[dir=ltr] .data-grid:focus tr.selected td:not(:last-child)):
(body[dir=rtl] .data-grid:focus tr.selected td:not(:last-child)):
(.data-grid:focus tr.parent.selected td.disclosure::before):
(.data-grid:focus tr.parent.expanded.selected td.disclosure::before):
(.data-grid:focus tr.selected):
(.data-grid:focus tr.selected td .subtitle):
(body:not(.window-inactive, .window-docked-inactive) .data-grid:focus tr.editable.selected .cell-content > input):
(@media (prefers-dark-interface)):
(body[dir=ltr] .data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)): Deleted.
(body[dir=rtl] .data-grid:matches(:focus, .force-focus) tr.selected td:not(:last-child)): Deleted.
(.data-grid:matches(:focus, .force-focus) tr.parent.selected td.disclosure::before): Deleted.
(.data-grid:matches(:focus, .force-focus) tr.parent.expanded.selected td.disclosure::before): Deleted.
(.data-grid:matches(:focus, .force-focus) tr.selected): Deleted.
(.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle): Deleted.
(body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input): Deleted.
- UserInterface/Views/Main.css:
(:focus .selected .go-to-arrow):
(:focus .selected .go-to-arrow:active):
(:matches(:focus, .force-focus) .selected .go-to-arrow): Deleted.
(:matches(:focus, .force-focus) .selected .go-to-arrow:active): Deleted.
- UserInterface/Views/ProfileView.css:
(.profile > .data-grid:focus tr.selected td .location):
(.profile > .data-grid:matches(:focus, .force-focus) tr.selected td .location): Deleted.
- UserInterface/Views/RecordingActionTreeElement.css:
(.tree-outline:focus .item.action.selected:not(.initial-state, .invalid) > .icon):
(body:not(.window-inactive, .window-docked-inactive) .tree-outline:focus .item.action.selected > .titles .parameter.swizzled,):
(.tree-outline:matches(:focus, .force-focus) .item.action.selected:not(.initial-state, .invalid) > .icon): Deleted.
(body:not(.window-inactive, .window-docked-inactive) .tree-outline:matches(:focus, .force-focus) .item.action.selected > .titles .parameter.swizzled,): Deleted.
- UserInterface/Views/ScriptDetailsTimelineView.css:
(.tree-outline:focus .item.selected .alternate-subtitle):
(.tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle): Deleted.
- UserInterface/Views/ShaderProgramTreeElement.css:
(.tree-outline:focus .item.shader-program.selected .status > img):
(.tree-outline:matches(:focus, .force-focus) .item.shader-program.selected .status > img): Deleted.
- UserInterface/Views/ThreadTreeElement.css:
(.tree-outline:focus > .item.thread.selected .status-button.resume):
(.tree-outline:matches(:focus, .force-focus) > .item.thread.selected .status-button.resume): Deleted.
- UserInterface/Views/TimelineRecordBar.css:
(:focus .selected .timeline-record-bar > .segment):
(:focus .selected .timeline-record-bar > .segment.inactive):
(body[dir=ltr] :focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
(body[dir=rtl] :focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
(:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment): Deleted.
(:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive): Deleted.
(body[dir=ltr] :matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)): Deleted.
(body[dir=rtl] :matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)): Deleted.
- UserInterface/Views/TreeElementStatusButton.css:
(:focus .item.selected > .status > .status-button):
(:matches(:focus, .force-focus) .item.selected > .status > .status-button): Deleted.
- UserInterface/Views/TreeOutline.css:
(.tree-outline:focus .item.selected .disclosure-button):
(.tree-outline:focus .item.selected.expanded .disclosure-button):
(.tree-outline:focus .item.selected):
(.tree-outline:focus .item.selected .subtitle):
(.tree-outline:not(.large):focus .item.selected .status .indeterminate-progress-spinner):
(.tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button): Deleted.
(.tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button): Deleted.
(.tree-outline:matches(:focus, .force-focus) .item.selected): Deleted.
(.tree-outline:matches(:focus, .force-focus) .item.selected .subtitle): Deleted.
(.tree-outline:not(.large):matches(:focus, .force-focus) .item.selected .status .indeterminate-progress-spinner): Deleted.
- 2:43 PM Changeset in webkit [237049] by
-
- 3 edits in trunk/Source/WebKit
[Web Animations] Allow iOS to also control toggling Web Animations CSS Integration
https://bugs.webkit.org/show_bug.cgi?id=190489
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setWebAnimationsCSSIntegrationEnabled:]):
(-[WKPreferences _webAnimationsCSSIntegrationEnabled]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- 2:30 PM Changeset in webkit [237048] by
-
- 10 edits in trunk
[GStreamer] Support arbitrary video resolution in getUserMedia API
https://bugs.webkit.org/show_bug.cgi?id=189734
Source/WebCore:
Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-10-11
Reviewed by Xabier Rodriguez-Calvar.
Implement arbitrary video resolution for the getUserMedia API in GStreamer.
Fix the MockRealtimeMediaSource device list to make devices properties match
test expectations.
Reactivate tests that were failling because of that.
- platform/mediastream/RealtimeVideoSource.cpp:
(WebCore::RealtimeVideoSource::standardVideoSizes):
(WebCore::standardVideoSizes): Deleted.
- platform/mediastream/RealtimeVideoSource.h:
- platform/mediastream/VideoPreset.h:
- platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:
(WebCore::GStreamerVideoPreset::create):
(WebCore::GStreamerVideoPreset::GStreamerVideoPreset):
(WebCore::GStreamerVideoCaptureSource::GStreamerVideoCaptureSource):
(WebCore::GStreamerVideoCaptureSource::capabilities):
(WebCore::GStreamerVideoCaptureSource::generatePresets):
- platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h:
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::defaultDevices):
LayoutTests:
Implement arbitrary video resolution for the getUserMedia API in GStreamer.
Fix the MockRealtimeMediaSource device list to make devices properties match
test expectations.
Reactivate tests that were failling because of that.
Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-10-11
Reviewed by Xabier Rodriguez-Calvar.
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 2:22 PM Changeset in webkit [237047] by
-
- 12 edits in trunk/Source
CURRENT_ARCH should not be used in Run Script phase.
https://bugs.webkit.org/show_bug.cgi?id=190407
<rdar://problem/45133556>
Reviewed by Alexey Proskuryakov.
CURRENT_ARCH is used in a number of Xcode Run Script phases. However,
CURRENT_ARCH is not well-defined during this phase (and may even have
the value "undefined") since this phase is run just once per build
rather than once per supported architecture. Migrate away from
CURRENT_ARCH in favor of ARCHS, either by iterating over ARCHS and
performing an operation for each value, or by picking the first entry
in ARCHS and using that as a representative value.
Source/JavaScriptCore:
- JavaScriptCore.xcodeproj/project.pbxproj: Store
LLIntDesiredOffsets.h into a directory with a name based on ARCHS
rather than CURRENT_ARCH.
Source/WebCore:
No new tests -- no functional changes.
- DerivedSources.make: When forming TARGET_TRIPLE_FLAGS, grab the
first entry in ARCHS rather than use CURRENT_ARCH.
Source/WebKit:
- DerivedSources.make: When forming TARGET_TRIPLE_FLAGS, grab the
first entry in ARCHS rather than use CURRENT_ARCH.
Source/WebKitLegacy:
- WebKitLegacy.xcodeproj/project.pbxproj: When generating
WebKitLegacy.*.exp, generate both 32- and 64-bit versions for
macosx platforms.
Source/WebKitLegacy/mac:
- Configurations/WebKitLegacy.xcconfig: When generating
WebKitLegacy.*.exp, generate both 32- and 64-bit versions for
macosx platforms.
- MigrateHeaders.make:
- migrate-headers.sh: When generating ReexportedWebCoreSymbols_*.exp,
generate one for each architecture in ARCHS.
- 1:30 PM Changeset in webkit [237046] by
-
- 2 edits in trunk/Source/WebCore
Support building WebKit for macOS Mojave using a newer SDK
https://bugs.webkit.org/show_bug.cgi?id=190431
Reviewed by Andy Estes.
- platform/network/cocoa/CookieCocoa.mm:
(WebCore::coreSameSitePolicy):
(WebCore::nsSameSitePolicy):
- 1:29 PM Changeset in webkit [237045] by
-
- 3 edits in trunk/Source/WebCore
[iOS] Add typedef for WebEvent keyboard flags
https://bugs.webkit.org/show_bug.cgi?id=190435
Reviewed by Wenson Hsieh.
Currently WebEvent and UIKit SPI are intertwined when it comes to keyboard flags. It seems sufficient
to have WebEvent defined its own keyboard flags so that callers do not need to be aware of UIKit SPI.
No functionality changed. So, no new tests.
- platform/ios/WebEvent.h:
- platform/ios/WebEvent.mm:
(-[WebEvent keyboardFlags]):
- 12:32 PM Changeset in webkit [237044] by
-
- 2 edits in trunk/Tools
REGRESSION (r237037): Cannot use webkit-patch upload, always fails with unknown 'cc_radar'
- Scripts/webkitpy/tool/steps/options.py:
(Options):
Fix the name of the variable that the --cc-radar option writes into.
- 12:26 PM Changeset in webkit [237043] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: detail view is not re-shown after sorting the Network table
https://bugs.webkit.org/show_bug.cgi?id=190330
<rdar://problem/45089607>
Reviewed by Matt Baker.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._restoreSelectedRow):
- 12:19 PM Changeset in webkit [237042] by
-
- 14 edits2 adds in trunk/Source
Changes towards allowing use of the ASAN detect_stack_use_after_return option.
https://bugs.webkit.org/show_bug.cgi?id=190405
<rdar://problem/45131464>
Reviewed by Michael Saboff.
Source/JavaScriptCore:
The ASAN detect_stack_use_after_return option checks for use of stack variables
after they have been freed. It does this by allocating relevant stack variables
in heap memory (instead of on the stack) if the code ever takes the address of
those stack variables. Unfortunately, this is a common idiom that we use to
compute the approximate stack pointer value. As a result, on such ASAN runs, the
computed approximate stack pointer value will point into the heap instead of the
stack. This breaks the VM's expectations and wreaks havoc.
To fix this, we use the newly introduced WTF::currentStackPointer() instead of
taking the address of stack variables.
We also need to enhance ExceptionScopes to be able to work with ASAN
detect_stack_use_after_return which will allocated the scope in the heap. We
work around this by passing the current stack pointer of the instantiating calling
frame into the scope constructor, and using that for the position check in
~ThrowScope() instead.
The above is only a start towards enabling ASAN detect_stack_use_after_return on
the VM. There are still other issues to be resolved before we can run with this
ASAN option.
- runtime/CatchScope.h:
- runtime/ExceptionEventLocation.h:
(JSC::ExceptionEventLocation::ExceptionEventLocation):
- runtime/ExceptionScope.h:
(JSC::ExceptionScope::stackPosition const):
- runtime/JSLock.cpp:
(JSC::JSLock::didAcquireLock):
- runtime/ThrowScope.cpp:
(JSC::ThrowScope::~ThrowScope):
- runtime/ThrowScope.h:
- runtime/VM.h:
(JSC::VM::needExceptionCheck const):
(JSC::VM::isSafeToRecurse const):
- wasm/js/WebAssemblyFunction.cpp:
(JSC::callWebAssemblyFunction):
- yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const):
Source/WTF:
Introduce WTF::currentStackPointer() which computes its caller's stack pointer value.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/StackBounds.h:
(WTF::StackBounds::checkConsistency const):
- wtf/StackPointer.cpp: Added.
(WTF::currentStackPointer):
- wtf/StackPointer.h: Added.
- 11:56 AM Changeset in webkit [237041] by
-
- 2 edits in tags/Safari-607.1.10.2/Source/WebKit
Cherry-pick r236989. rdar://problem/43391014
REGRESSION(r231663) loading in hidden WKWebViews stalls because WebProcess is suspended
https://bugs.webkit.org/show_bug.cgi?id=190417
<rdar://problem/43391014>
Reviewed by Chris Dumez.
- UIProcess/Cocoa/NavigationState.mm: (WebKit::NavigationState::didChangeIsLoading): Revert r321663, but keep the change to TestWKWebView.mm because that made the tests more reliable.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@236989 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:39 AM Changeset in webkit [237040] by
-
- 3 edits in trunk/Source/WebCore
Use finer grained locking in FontDatabase
https://bugs.webkit.org/show_bug.cgi?id=190467
Reviewed by Alex Christensen.
- platform/graphics/FontCache.h:
Also use ListHashSet for prewarming info so we can prewarm in the same order the fonts were
seen last time.
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontDatabase::collectionForFamily):
Only hold the lock when accessing the hashmap. There is no need to hold it during font construction
which can take a long time.
(WebCore::FontDatabase::fontForPostScriptName):
This is currently not prewarmed from a thread so no need for locking.
(WebCore::FontDatabase::clear):
- 11:35 AM Changeset in webkit [237039] by
-
- 7 edits in tags/Safari-607.1.10.2/Source
Versioning.
- 11:32 AM Changeset in webkit [237038] by
-
- 1 copy in tags/Safari-607.1.10.2
New tag.
- 11:10 AM October 2018 Meeting edited by
- Schedule changes. (diff)
- 10:32 AM Changeset in webkit [237037] by
-
- 6 edits in trunk/Tools
Add --cc-radar option to webkit-patch bug creation
https://bugs.webkit.org/show_bug.cgi?id=190451
<rdar://problem/45176671>
Reviewed by Antoine Quint.
Add a new command line option to automatically
CC radar to new or updated bugs.
- Scripts/webkitpy/tool/commands/commandtest.py:
(CommandsTest.assert_execute_outputs):
- Scripts/webkitpy/tool/commands/upload.py:
(CreateBug.init):
(CreateBug.execute):
- Scripts/webkitpy/tool/commands/upload_unittest.py:
(test_prepare_with_cc):
(test_prepare_with_radar):
(test_prepare_with_cc_and_radar):
- Scripts/webkitpy/tool/steps/createbug.py:
(CreateBug.options):
(CreateBug.run):
- Scripts/webkitpy/tool/steps/options.py:
(Options):
- 10:29 AM Changeset in webkit [237036] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Fix race condition in GStreamerVideoDecoder
https://bugs.webkit.org/show_bug.cgi?id=190470
The GStreamerVideoDecoder.m_dtsPtsMap filed is accessed from
the main thread and some GStreamer streaming thread, make sure
to protect its access.
And use WTF::StdMap instead of std::map.
Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-10-11
Reviewed by Philippe Normand.
Manually tested and a random crash is gone.
- platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp:
(WebCore::GStreamerVideoDecoder::newSampleCallback):
- 10:25 AM Changeset in webkit [237035] by
-
- 2 edits in trunk/Source/WebKit
Regression(PSON): Deal with the drawing area potentially being null under WebChromeClient::contentsSizeChanged()
https://bugs.webkit.org/show_bug.cgi?id=190474
Reviewed by Geoffrey Garen.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::contentsSizeChanged const):
- 8:54 AM Changeset in webkit [237034] by
-
- 2 edits in trunk/LayoutTests
Layout Test fast/forms/fieldset/fieldset-elements-htmlcollection.html is failing
https://bugs.webkit.org/show_bug.cgi?id=190472
Unreviewed test gardening.
- platform/win/TestExpectations:
- 4:10 AM Changeset in webkit [237033] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer][MSE] Fix height calculation for streams with source aspect ratio
https://bugs.webkit.org/show_bug.cgi?id=190464
Reviewed by Xabier Rodriguez-Calvar.
This patch is authored by Nikola Veljkovic <Nikola.Veljkovic@zenterio.com>
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::getVideoResolutionFromCaps): Reverse the SAR adjustment to "undo" it
instead of applying it twice.
- 3:41 AM Changeset in webkit [237032] by
-
- 2 edits in trunk/Tools
[GStreamer] Do not build gstgtk plugins
https://bugs.webkit.org/show_bug.cgi?id=190463
Reviewed by Xabier Rodriguez-Calvar.
These plugins pull a GTK+ dependency that, at least in WPE,
is unnecessary. The GTK+ port doesn't need it either, as far
as I can tell.
- gstreamer/jhbuild.modules: Disable gstgtk plugins
- 3:26 AM Changeset in webkit [237031] by
-
- 23 edits6 adds in trunk
[GTK][WPE] Add mediaDevices.enumerateDevices support
https://bugs.webkit.org/show_bug.cgi?id=185761
Patch by Alejandro G. Castro <alex@igalia.com> on 2018-10-11
Reviewed by Youenn Fablet.
Source/WebCore:
We are adopting the same policy COCOA is using when returning the
list of media devices if the user does not have persistent
access. Namely, we just return the first media device for audio
and video capture.
- Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::filterDeviceList): Add support for
other platforms when filtering devices if there is no persistent
access to the origin.
Source/WebKit:
Implemented the enumerateDevices API using a new WebKit class
(DeviceIdHashSaltStorage) that generates and stores the device ids
hash salts per origin, used to avoid fingerprinting in the
webpages.
The patch also adds a new type of data for the WebsiteDataStore.
That way the users can call the WebsiteDataStore to show what
origins have hash salt generated and remove them at some point.
For the moment just GTK+ and WPE ports are using this class to
generate the hash salts. The patch adds code to the
checkUserMediaPermissionForOrigin API implementation, it was empty
until now for these ports. In this function we create an instance
of a new class WebKitDeviceInfoPermissionRequest that implements
the WebKitPermissionRequestIface interface, that allows the ports
to use the current permission managers implemented in the
embedders to handle this new kind of request the way they like
it. The default implementation is deny.
The class WebKitDeviceInfoPermissionRequest takes care of
contacting the DeviceIdHashSaltStorage and request/regenerate the
hash salts accordingly.
Persistency is still not implemented, we will add it in a
future patch.
- Shared/WebsiteData/WebsiteDataType.h: Added the new type of
webside data: DeviceIdHashSalt.
- Sources.txt: Added new files to compilation.
- SourcesGTK.txt: Ditto.
- SourcesWPE.txt: Ditto.
- UIProcess/API/glib/WebKitDeviceInfoPermissionRequest.cpp: Added
this class to represent a request of permission to access the
devices information. This is specific for glib ports and implements
the policies regarding the hash salts when the embedder allows or
denies the access using the DeviceIdHashSaltStorage class.
(webkitDeviceInfoPermissionRequestAllow): Get the device hash salt
when the origin is allowed and set it in the original request.
(webkitDeviceInfoPermissionRequestDeny): Regenerate the device id
hash salt when the user does not allow to access the device information.
(webkit_permission_request_interface_init):
(webkitDeviceInfoPermissionRequestDispose):
(webkit_device_info_permission_request_class_init):
(webkitDeviceInfoPermissionRequestCreate): Create the class using
the proxy request from the webprocess and a reference to the
DeviceIdHashSaltStorage.
- UIProcess/API/glib/WebKitDeviceInfoPermissionRequestPrivate.h:
Ditto.
- UIProcess/API/glib/WebKitUIClient.cpp: Added the implementation
for the checkUserMediaPermissionForOrigin API for the glib ports,
it creates the device info request and calls the permission
request API.
- UIProcess/API/glib/WebKitWebsiteData.cpp:
(recordContainsSupportedDataTypes): Added the DeviceIdHashSalt
type.
(toWebKitWebsiteDataTypes): Added the conversion from the WebKit
types to the glib types for the WebsiteDataType::DeviceIdHashSalt.
- UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
(toWebsiteDataTypes): Added the conversion from the glib type
WEBKIT_WEBSITE_DATA_DEVICE_ID_HASH_SALT to the WebKit type.
(webkit_website_data_manager_remove): Make sure we remote the
DeviceIdHashSalt if the Cookies are selected.
- UIProcess/API/gtk/WebKitDeviceInfoPermissionRequest.h: Added
this new class that represents a permission request for the device
information in the GTK+ port.
- UIProcess/API/gtk/WebKitWebsiteData.h: Added the new type of
website that in the GTK+ port:
WEBKIT_WEBSITE_DATA_DEVICE_ID_HASH_SALT.
- UIProcess/API/wpe/WebKitDeviceInfoPermissionRequest.h: Added
this new class that represents a permission request for the device
information in the WPE port.
- UIProcess/API/wpe/WebKitWebsiteData.h: Added the new type of
website that in the WPE port:
WEBKIT_WEBSITE_DATA_DEVICE_ID_HASH_SALT.
- UIProcess/DeviceIdHashSaltStorage.cpp: Added this new class that
handles how to generate and store the hash salts inside
WebKit. Persistency is still not implemented, we will add it in a
future patch.
(WebKit::DeviceIdHashSaltStorage::create):
(WebKit::DeviceIdHashSaltStorage::deviceIdentifierHashSaltForOrigin):
Check the map to get the hash salt for an origin, if there is none
create a new random one.
(WebKit::DeviceIdHashSaltStorage::regenerateDeviceIdentifierHashSaltForOrigin):
Delete the hash salt of an origin if it already exists and create a new one.
(WebKit::DeviceIdHashSaltStorage::getDeviceIdHashSaltOrigins):
Returns the list of origins that have a hash salt generated for
them. It is used in the WebsiteDataStore.
(WebKit::DeviceIdHashSaltStorage::deleteDeviceIdHashSaltForOrigins):
Deletes the hash salts in the map for an origin.
(WebKit::DeviceIdHashSaltStorage::deleteDeviceIdHashSaltOriginsModifiedSince):
Delete the origins that have not been modified since a time.
- UIProcess/DeviceIdHashSaltStorage.h: Ditto.
- UIProcess/UserMediaPermissionCheckProxy.h: Remove uneeded class
definition.
- UIProcess/WebsiteData/WebsiteDataStore.cpp: Added support to
return and remove the origins with a generate hash salt used to
generate the device ids.
(WebKit::WebsiteDataStore::WebsiteDataStore): Added the new
reference to the DeviceIdHashSaltStorage class, used to handle the
hash salts.
(WebKit::WebsiteDataStore::fetchDataAndApply): Get the list of
origins with a hash salts in the DeviceIdHashSaltStorage.
(WebKit::WebsiteDataStore::removeData): Remove the hash salts in
DeviceIdHashSaltStorage for an origin.
- UIProcess/WebsiteData/WebsiteDataStore.h: Ditto.
(WebKit::WebsiteDataStore::deviceIdHashSaltStorage):
- WebKit.xcodeproj/project.pbxproj: Added the
DeviceIdHashSaltStorage to the compilation.
Tools:
Added new API test for the mediaDevices.enumerateDevices:
usermedia-enumeratedevices-permission-check. And a new API test
for the WebsiteDataStore: testWebsiteDataDeviceIdHashSalt.
- MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback): Added a new section to the about:data
webpage to include the information about the hash salt.
- TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewUserMediaEnumerateDevicesPermissionCheck): Added the
new test checking the enumerateDevices API when permission is
denied and when permission is allowed for the origin.
(beforeAll): Defined the new test.
- TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(serverCallback): Register a new URI for the enumerateDevices.
(testWebsiteDataConfiguration): Remove the hash salts from the
directories.
(testWebsiteDataDeviceIdHashSalt): New test cheking the
enumerateDevices API.
(beforeAll): Added the new test testWebsiteDataDeviceIdHashSalt to
the init structure.
- TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::initializeWebView): Make sure the media-stream is
activated in the webView.
LayoutTests:
Remove the failure expectation for the test
media-devices-enumerate-devices.html. Just for the record we have
also checked the following tests.
fast/mediastream/media-devices-enumerate-devices.html
fast/mediastream/resources/enumerate-devices-frame.html
http/tests/media/media-stream/enumerate-devices-source-id.html
http/tests/media/media-stream/enumerate-devices-source-id-persistent.html
http/tests/media/media-stream/resources/enumerate-devices-source-id-frame.html
- platform/gtk/TestExpectations:
Oct 10, 2018:
- 10:10 PM Changeset in webkit [237030] by
-
- 9 copies1 add in releases/Apple/Safari Technology Preview 67
Added a tag for Safari Technology Preview release 67.
- 9:27 PM Changeset in webkit [237029] by
-
- 13 edits in trunk/Source/WebCore
Rename a couple of DOMWindowProperty virtual functions
https://bugs.webkit.org/show_bug.cgi?id=190458
Reviewed by Geoffrey Garen.
Rename a couple of DOMWindowProperty virtual functions as the current naming no longer makes
sense after recent refactoring.
disconnectFrameForDocumentSuspension() was renamed to suspendForPageCache(), and
reconnectFrameFromDocumentSuspension(Frame*) was renamed to resumeFromPageCache().
DOMWindowProperty objects no longer need to disconnect / reconnect from their
frame since they now get their frame from their associated Window. However, some
DOMWindowProperty subclasses do have some page cache suspension / resuming logic
implemented of overrides of these functions.
Also drop the disconnectDOMWindowProperties() / reconnectDOMWindowProperties()
methods in DOMWindow. The naming made little sense as it does not really
disconnect those properties in any way. Instead, inline them in
DOMWindow's suspendForPageCache() / resumeFromPageCache() since these are
the only callers.
- Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::suspendForPageCache):
(WebCore::DOMWindowIndexedDatabase::resumeFromPageCache):
(WebCore::DOMWindowIndexedDatabase::disconnectFrameForDocumentSuspension): Deleted.
(WebCore::DOMWindowIndexedDatabase::reconnectFrameFromDocumentSuspension): Deleted.
- Modules/indexeddb/DOMWindowIndexedDatabase.h:
- history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::open):
- loader/appcache/DOMApplicationCache.cpp:
(WebCore::DOMApplicationCache::suspendForPageCache):
(WebCore::DOMApplicationCache::resumeFromPageCache):
(WebCore::DOMApplicationCache::disconnectFrameForDocumentSuspension): Deleted.
(WebCore::DOMApplicationCache::reconnectFrameFromDocumentSuspension): Deleted.
- loader/appcache/DOMApplicationCache.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::suspendForPageCache):
(WebCore::DOMWindow::resumeFromPageCache):
(WebCore::DOMWindow::suspendForDocumentSuspension): Deleted.
(WebCore::DOMWindow::resumeFromDocumentSuspension): Deleted.
(WebCore::DOMWindow::disconnectDOMWindowProperties): Deleted.
(WebCore::DOMWindow::reconnectDOMWindowProperties): Deleted.
- page/DOMWindow.h:
- page/DOMWindowExtension.cpp:
(WebCore::DOMWindowExtension::suspendForPageCache):
(WebCore::DOMWindowExtension::resumeFromPageCache):
(WebCore::DOMWindowExtension::disconnectFrameForDocumentSuspension): Deleted.
(WebCore::DOMWindowExtension::reconnectFrameFromDocumentSuspension): Deleted.
- page/DOMWindowExtension.h:
- page/DOMWindowProperty.cpp:
(WebCore::DOMWindowProperty::suspendForPageCache):
(WebCore::DOMWindowProperty::resumeFromPageCache):
(WebCore::DOMWindowProperty::disconnectFrameForDocumentSuspension): Deleted.
(WebCore::DOMWindowProperty::reconnectFrameFromDocumentSuspension): Deleted.
- page/DOMWindowProperty.h:
- 9:13 PM Changeset in webkit [237028] by
-
- 23 edits2 copies7 adds in trunk
Web Inspector: create special Network waterfall for media events
https://bugs.webkit.org/show_bug.cgi?id=189773
<rdar://problem/44626605>
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/protocol/DOM.json:
Add
didFireEvent
event that is fired when specific event listeners added by
InspectorInstrumentation::addEventListenersToNode
are fired.
Source/WebCore:
Test: http/tests/inspector/dom/didFireEvent.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::addEventListenersToNode): Added.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::addEventListenersToNodeImpl): Added.
- inspector/agents/InspectorDOMAgent.h:
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::EventFiredCallback): Added.
(WebCore::EventFiredCallback::create): Added.
(WebCore::EventFiredCallback::operator==): Added.
(WebCore::EventFiredCallback::handleEvent): Added.
(WebCore::EventFiredCallback::EventFiredCallback): Added.
(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::addEventListenersToNode): Added.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Main.html:
- UserInterface/Base/Utilities.js:
- UserInterface/Protocol/DOMObserver.js:
(WI.DOMObserver.prototype.didFireEvent): Added.
- UserInterface/Controllers/DOMManager.js:
(WI.DOMManager.prototype.didFireEvent): Added.
- UserInterface/Models/DOMNode.js:
(WI.DOMNode):
(WI.DOMNode.prototype.get domEvents): Added.
(WI.DOMNode.prototype.didFireEvent): Added.
(WI.DOMNode.prototype._addDOMEvent): Added.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype.shown):
(WI.NetworkTableContentView.prototype.hidden):
(WI.NetworkTableContentView.prototype.closed):
(WI.NetworkTableContentView.prototype.reset):
(WI.NetworkTableContentView.prototype.showRepresentedObject):
(WI.NetworkTableContentView.prototype.networkDetailViewClose): Added.
(WI.NetworkTableContentView.prototype.tableSortChanged):
(WI.NetworkTableContentView.prototype.tableSelectionDidChange):
(WI.NetworkTableContentView.prototype._populateNameCell):
(WI.NetworkTableContentView.prototype._populateWaterfallGraph.positionByStartOffset): Added.
(WI.NetworkTableContentView.prototype._populateWaterfallGraph.setWidthForDuration): Added.
(WI.NetworkTableContentView.prototype._populateWaterfallGraph.createDOMEventLine): Added.
(WI.NetworkTableContentView.prototype._populateWaterfallGraph.appendBlock):
(WI.NetworkTableContentView.prototype._populateWaterfallGraph):
(WI.NetworkTableContentView.prototype._processPendingEntries):
(WI.NetworkTableContentView.prototype._rowIndexForRepresentedObject): Added.
(WI.NetworkTableContentView.prototype._updateEntryForResource):
(WI.NetworkTableContentView.prototype._hideDetailView): Added.
(WI.NetworkTableContentView.prototype._showDetailView): Added.
(WI.NetworkTableContentView.prototype._positionDetailView): Added.
(WI.NetworkTableContentView.prototype._resourceTransferSizeDidChange):
(WI.NetworkTableContentView.prototype._tryLinkResourceToDOMNode):
(WI.NetworkTableContentView.prototype._handleNodeDidFireEvent): Added.
(WI.NetworkTableContentView.prototype._updateFilteredEntries):
(WI.NetworkTableContentView.prototype._typeFilterScopeBarSelectionChanged):
(WI.NetworkTableContentView.prototype._urlFilterDidChange):
(WI.NetworkTableContentView.prototype._restoreSelectedRow):
(WI.NetworkTableContentView.prototype._waterfallPopoverContent): Added.
(WI.NetworkTableContentView.prototype._waterfallPopoverContentForResourceEntry): Added.
(WI.NetworkTableContentView.prototype._waterfallPopoverContentForNodeEntry): Added.
(WI.NetworkTableContentView.prototype._handleResourceEntryMousedownWaterfall): Added.
(WI.NetworkTableContentView.prototype._handleNodeEntryMousedownWaterfall): Added.
(WI.NetworkTableContentView.prototype._handleMousedownWaterfall): Added.
(WI.NetworkTableContentView.prototype.networkResourceDetailViewClose): Deleted.
(WI.NetworkTableContentView.prototype._rowIndexForResource): Deleted.
(WI.NetworkTableContentView.prototype._hideResourceDetailView): Deleted.
(WI.NetworkTableContentView.prototype._showResourceDetailView): Deleted.
(WI.NetworkTableContentView.prototype._waterfallPopoverContentForResource): Deleted.
- UserInterface/Views/NetworkTableContentView.css:
(.content-view.network .network-table): Added.
(.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-event): Added.
(.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-activity): Added.
(.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-activity.playing): Added.
- UserInterface/Views/NetworkDOMNodeDetailView.js: Added.
(WI.NetworkDOMNodeDetailView):
(WI.NetworkDOMNodeDetailView.prototype.initialLayout):
(WI.NetworkDOMNodeDetailView.prototype.showContentViewForIdentifier):
- UserInterface/Views/NetworkResourceDetailView.css:
(.content-view.resource-details):
(.network-resource-detail): Deleted.
(.network-resource-detail .navigation-bar): Deleted.
(.network-resource-detail .item.close > .glyph): Deleted.
(.network-resource-detail .item.close > .glyph:hover): Deleted.
(.network-resource-detail .item.close > .glyph:active): Deleted.
(.network .network-resource-detail .navigation-bar .item.radio.button.text-only): Deleted.
(.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected): Deleted.
(.network-resource-detail > .content-browser): Deleted.
(@media (prefers-dark-interface)): Deleted.
- UserInterface/Views/NetworkResourceDetailView.js:
(WI.NetworkResourceDetailView):
(WI.NetworkResourceDetailView.prototype.shown):
(WI.NetworkResourceDetailView.prototype.headersContentViewGoToRequestData):
(WI.NetworkResourceDetailView.prototype.sizesContentViewGoToHeaders):
(WI.NetworkResourceDetailView.prototype.sizesContentViewGoToRequestBody):
(WI.NetworkResourceDetailView.prototype.sizesContentViewGoToResponseBody):
(WI.NetworkResourceDetailView.prototype.initialLayout):
(WI.NetworkResourceDetailView.prototype.showContentViewForIdentifier):
(WI.NetworkResourceDetailView.prototype.get resource): Deleted.
(WI.NetworkResourceDetailView.prototype.hidden): Deleted.
(WI.NetworkResourceDetailView.prototype.dispose): Deleted.
(WI.NetworkResourceDetailView.prototype.willShowWithCookie): Deleted.
(WI.NetworkResourceDetailView.prototype.initialLayout): Deleted.
(WI.NetworkResourceDetailView.prototype._showPreferredContentView): Deleted.
(WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem): Deleted.
(WI.NetworkResourceDetailView.prototype._navigationItemSelected): Deleted.
(WI.NetworkResourceDetailView.prototype._handleCloseButton): Deleted.
- UserInterface/Views/NetworkDetailView.js: Added.
(WI.NetworkDetailView):
(WI.NetworkDetailView.prototype.get representedObject):
(WI.NetworkDetailView.prototype.shown):
(WI.NetworkDetailView.prototype.hidden):
(WI.NetworkDetailView.prototype.dispose):
(WI.NetworkDetailView.prototype.willShowWithCookie):
(WI.NetworkDetailView.prototype.initialLayout):
(WI.NetworkDetailView.prototype.createDetailNavigationItem):
(WI.NetworkDetailView.prototype.detailNavigationItemForIdentifier):
(WI.NetworkDetailView.prototype.showContentViewForIdentifier):
(WI.NetworkDetailView.prototype._showPreferredContentView):
(WI.NetworkDetailView.prototype._navigationItemSelected):
(WI.NetworkDetailView.prototype._handleCloseButton):
- UserInterface/Views/NetworkDetailView.css: Added.
(.network-detail):
(.network-detail .navigation-bar):
(.network-detail .item.close > .glyph):
(.network-detail .item.close > .glyph:hover):
(.network-detail .item.close > .glyph:active):
(.network .network-detail .navigation-bar .item.radio.button.text-only):
(.network .network-detail .navigation-bar .item.radio.button.text-only.selected):
(.network-detail > .content-browser):
(@media (prefers-dark-interface)):
Create base class for detail views shown in the Network tab.
- UserInterface/Views/DOMNodeEventsContentView.js: Added.
(WI.DOMNodeEventsContentView):
(WI.DOMNodeEventsContentView.prototype.initialLayout):
(WI.DOMNodeEventsContentView.prototype.closed):
(WI.DOMNodeEventsContentView.prototype._handleDOMNodeDidFireEvent):
- UserInterface/Views/DOMNodeEventsContentView.css: Added.
(.dom-node-details.dom-events):
- UserInterface/Views/DOMEventsBreakdownView.js: Added.
(WI.DOMEventsBreakdownView):
(WI.DOMEventsBreakdownView.prototype.addEvent):
(WI.DOMEventsBreakdownView.prototype.initialLayout):
(WI.DOMEventsBreakdownView.prototype._populateTable.percentOfTotalTime):
(WI.DOMEventsBreakdownView.prototype._populateTable):
- UserInterface/Views/DOMEventsBreakdownView.css: Added.
(.waterfall-popover-content .dom-events-breakdown):
(.dom-events-breakdown):
(.dom-events-breakdown table):
(.dom-events-breakdown tr > :matches(th, td)):
(.dom-events-breakdown tbody > tr):
(.dom-events-breakdown .graph):
(.dom-events-breakdown .graph > :matches(.point, .area)):
(.dom-events-breakdown .graph > .point):
(.dom-events-breakdown .time):
- UserInterface/Views/ResourceTimingBreakdownView.css:
(.resource-timing-breakdown > table > tr.header:not(.total-row) > td): Added.
(.popover.waterfall-popover): Deleted.
LayoutTests:
- http/tests/inspector/dom/didFireEvent-expected.txt: Added.
- http/tests/inspector/dom/didFireEvent.html: Added.
- inspector/unit-tests/array-utilities-expected.txt:
- inspector/unit-tests/array-utilities.html:
- 8:08 PM Changeset in webkit [237027] by
-
- 3 edits in trunk/Source/WebCore
[iOS] Cleanup -[WAKView _selfHandleEvent:] and -[WAKWindow sendEventSynchronously:]
https://bugs.webkit.org/show_bug.cgi?id=190402
Reviewed by Anders Carlsson.
Unindent case statements. Remove use of default case statements with body ASSERT_NOT_REACHED()
to catch the cases of a missing enumerator. By omitting the default case statement we turn
such a scenario into a compile-time error instead of handling it as a runtime error.
- platform/ios/wak/WAKView.mm:
(-[WAKView _selfHandleEvent:]):
- platform/ios/wak/WAKWindow.mm:
(-[WAKWindow sendEventSynchronously:]):
- 8:03 PM Changeset in webkit [237026] by
-
- 3 edits in trunk/Source/WebKit
Safari crashes when attempting to share a YouTube video while in full-screen
https://bugs.webkit.org/show_bug.cgi?id=190456
<rdar://problem/45130748>
Reviewed by Wenson Hsieh.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet presentWithParameters:completionHandler:]):
Allow the share sheet to present centered, since we don't have enough
context to put it in a more sensible place.
- 7:27 PM Changeset in webkit [237025] by
-
- 5 edits in trunk/Source/WebCore
Rename MarkupAccumulator::appendStartTag, appendElement, etc... for clarity
https://bugs.webkit.org/show_bug.cgi?id=190308
Reviewed by Darin Adler.
Renamed appendStartTag and appendEndTag to startAppendingNode and endAppendingNode since serialize any node,
not just elements which produce start and end tags.
Renamed appendElement and appendEndElement to appendStartTag and appendEndTag since that's what they do.
- editing/MarkupAccumulator.cpp:
(WebCore::elementCannotHaveEndTag): Made this a static local function.
(WebCore::shouldSelfClose): Ditto.
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
(WebCore::MarkupAccumulator::startAppendingNode): Renamed from appendStartTag.
(WebCore::MarkupAccumulator::endAppendingNode): Renamed from appendEndElement and merged appendEndMarkup here.
(WebCore::MarkupAccumulator::appendTextSubstring): Deleted. This was only used by StyledMarkupAccumulator.
(WebCore::MarkupAccumulator::appendStringView): Added.
(WebCore::MarkupAccumulator::appendStartTag): Renamed from appendElement.
(WebCore::MarkupAccumulator::appendCloseTag):
(WebCore::MarkupAccumulator::appendNonElementNode): Renamed from appendStartMarkup. No longer serializes
an element. StyledMarkupAccumulator had a check before calling this function already so this clarifies
the purpose of this function.
(WebCore::MarkupAccumulator::appendElement): Deleted.
(WebCore::MarkupAccumulator::appendEndMarkup): Deleted. Merged into appendEndTag.
- editing/MarkupAccumulator.h:
(WebCore::MarkupAccumulator::appendNodeEnd): Renamed from appendEndTag.
- editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::wrapWithNode):
(WebCore::StyledMarkupAccumulator::appendStartTag): Renamed from appendElement.
(WebCore::StyledMarkupAccumulator::appendEndTag): Renamed from appendEndElement.
(WebCore::StyledMarkupAccumulator::traverseNodesForSerialization):
(WebCore::StyledMarkupAccumulator::appendNodeToPreserveMSOList): Use String::substring directly instead of
going through appendTextSubstring which has been deleted.
- page/PageSerializer.cpp:
(WebCore::PageSerializer::SerializerMarkupAccumulator::appendStartTag): Renamed from appendElement.
(WebCore::PageSerializer::SerializerMarkupAccumulator::appendEndTag): Renamed from appendEndElement.
- 6:39 PM Changeset in webkit [237024] by
-
- 2 edits in trunk/Source/JavaScriptCore
Increase executable memory pool from 64MB to 128MB for ARM64
https://bugs.webkit.org/show_bug.cgi?id=190453
Reviewed by Saam Barati.
- jit/ExecutableAllocator.cpp:
- 6:25 PM Changeset in webkit [237023] by
-
- 3 edits in trunk/Tools
Add WinCairo to the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=188345
Reviewed by Lucas Forschler.
- TestResultServer/static-dashboards/builders.jsonp: Regenerated by generate_builders_json.py.
- TestResultServer/static-dashboards/flakiness_dashboard.js: Added a new platform 'WINCAIRO'.
- 6:09 PM Changeset in webkit [237022] by
-
- 3 edits in trunk/Tools
[WHSL -> MSL] Annotate semantics correctly in generated MSL
https://bugs.webkit.org/show_bug.cgi?id=190452
<rdar://problem/45178272>
Reviewed by Myles Maxfield.
Correctly label the appropriate semantics as position
and color(N).
- WebGPUShadingLanguageRI/Metal/MSLBackend.js: Identify position
and color attributes. Also use the semantic's index rather than
a counter.
- WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Use a <pre> for
output, and only include the actual shader code.
- 5:47 PM Changeset in webkit [237021] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, attempt to fix the build with current SDKs.
- crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::getPublicKeyComponents):
- 3:41 PM Changeset in webkit [237020] by
-
- 5 edits in trunk/Source/WebKit
REGRESSION (r236935): Layout test fast/events/ios/keyboard-scrolling-distance.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=190444
<rdar://problem/45110698>
Reviewed by Simon Fraser.
There's a race in WKKeyboardScrollingAnimator that's exacerbated by HIDEventGenerator
being much faster than a human finger. We get our "begin" events from interpretKeyEvent,
after the Web Content process has had its way with it, but currently the
back-channel "handle" events (e.g. for key up, which doesn't go to interpretKeyEvent)
are retrieved from handleKeyWebEvent in the UI process, which is *before*
the Web Content process has had a swing at it.
If you lose the race (an insanely short tap like you get from HIDEventGenerator,
or with a very busy Web Content process), we see handle(keyDown), handle(keyUp), begin(keyDown),
and get stuck scrolling!
Instead, retrieve the out-of-band "handle" events from _didHandleKeyEvent,
so that they're sensibly and strictly ordered with respect to the timing of interpretKeyEvent/"begin".
Also, hook up didFinishScrolling, so that UIScriptController's callbacks work correctly.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView handleKeyWebEvent:]):
(-[WKContentView _didHandleKeyEvent:eventWasHandled:]):
(-[WKContentView keyboardScrollViewAnimatorDidFinishScrolling:]):
- UIProcess/ios/WKKeyboardScrollingAnimator.h:
- UIProcess/ios/WKKeyboardScrollingAnimator.mm:
(-[WKKeyboardScrollingAnimator handleKeyEvent:]):
(-[WKKeyboardScrollingAnimator displayLinkFired:]):
(-[WKKeyboardScrollViewAnimator setDelegate:]):
(-[WKKeyboardScrollViewAnimator handleKeyEvent:]):
(-[WKKeyboardScrollViewAnimator didFinishScrolling]):
- 3:41 PM Changeset in webkit [237019] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(r236853): Uncaught Exception: undefined is not an object (evaluating 'entry.resource')
https://bugs.webkit.org/show_bug.cgi?id=190442
Reviewed by Joseph Pecoraro.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype.reset):
It's unnecessary to deselect rows in theWI.Table
when we're about to remove them.
- 3:25 PM Changeset in webkit [237018] by
-
- 6 edits in trunk
Only report the supported WebGL version
https://bugs.webkit.org/show_bug.cgi?id=190434
<rdar://problem/45024677>
Reviewed by Dean Jackson.
Source/WebCore:
Tested by fast/canvas/webgl/gl-getstring.html
Revise getParameter(gl.VERSION) to only return the WebGL version without the hardware and
driver-specific details available through the low-level OpenGL driver interface. These details
are not needed for WebGL use and expose information about the user's system that we do not
need to share.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getParameter):
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getParameter):
LayoutTests:
- fast/canvas/webgl/gl-getstring-expected.txt:
- fast/canvas/webgl/gl-getstring.html:
- 2:52 PM October 2018 Meeting edited by
- (diff)
- 2:50 PM October 2018 Meeting edited by
- (diff)
- 2:49 PM October 2018 Meeting edited by
- (diff)
- 2:23 PM Changeset in webkit [237017] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, add missing headers for inline functions
https://bugs.webkit.org/show_bug.cgi?id=190429
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
- 2:20 PM October 2018 Meeting edited by
- Added EWS Updates (diff)
- 2:18 PM October 2018 Meeting edited by
- (diff)
- 2:02 PM October 2018 Meeting edited by
- (diff)
- 1:52 PM Changeset in webkit [237016] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION: selection in network table is lost when new entries are added
https://bugs.webkit.org/show_bug.cgi?id=190362
Reviewed by Matt Baker.
The
_selectedRows
list is cleared each timereloadData
is called, meaning that
WI.Table
expects its "owner" to restore the selection (since it doesn't know how). As a
result,WI.NetworkTableContentView
needs to callselectRow
_after_reloadData
is
called, not before.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype.tableSortChanged):
(WI.NetworkTableContentView.prototype._populateNameCell):
(WI.NetworkTableContentView.prototype._processPendingEntries):
(WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
(WI.NetworkTableContentView.prototype._updateSort): Added.
(WI.NetworkTableContentView.prototype._updateFilteredEntries):
(WI.NetworkTableContentView.prototype._reloadTable): Added.
(WI.NetworkTableContentView.prototype._resetFilters):
(WI.NetworkTableContentView.prototype._typeFilterScopeBarSelectionChanged):
(WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange):
(WI.NetworkTableContentView.prototype._urlFilterDidChange):
(WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries): Deleted.
- UserInterface/Views/Table.js:
(WI.Table.prototype.reloadData):
Ensure that the_selectedRowIndex
is also reset.
- 1:29 PM Changeset in webkit [237015] by
-
- 2 edits in trunk/Tools
build-webkit --inspector-frontend shouldn't have a nonzero exit code
https://bugs.webkit.org/show_bug.cgi?id=190430
Reviewed by Brian Burg.
- Scripts/webkitdirs.pm:
(argumentsForConfiguration):
--inspector-frontend should only be popped off of argv by determineIsInspectorFrontend;
it shouldn't be re-inserted as a CLI option by argumentsForConfiguration.
- 1:06 PM Changeset in webkit [237014] by
-
- 7 edits in trunk/Source
Versioning.
- 1:00 PM Changeset in webkit [237013] by
-
- 4 edits in branches/safari-606.2.104.0-branch
Revert r236977. rdar://problem/45133492
- 12:05 PM Changeset in webkit [237012] by
-
- 25 edits2 copies2 moves1 add in trunk
Share more WKShareSheet code between macOS and iOS, and fix a few bugs
https://bugs.webkit.org/show_bug.cgi?id=190420
Reviewed by Simon Fraser.
Source/WebCore:
Test: fast/web-share/share-with-no-url.html
- page/Navigator.cpp:
(WebCore::Navigator::share):
- page/ShareData.h:
Make 'url' an optional field on ShareDataWithParsedURL, and don't
reject the share() promise if the URL is totally empty (as opposed to invalid).
Source/WebKit:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _resolutionForShareSheetImmediateCompletionForTesting]):
(-[WKWebView _setShareSheetCompletesImmediatelyWithResolutionForTesting:]):
(-[WKWebView _invokeShareSheetWithResolution:]): Deleted.
Add a new mechanism to tell the share sheet up-front that it should
immediately dismiss with a particular resolution, for testing.
See the Tools ChangeLog for justification.
We keep the bit on WKWebView instead of WKShareSheet so that it can be
called prior to invoking the share sheet.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Cocoa/WKShareSheet.h:
- UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet initWithView:]):
(-[WKShareSheet presentWithParameters:completionHandler:]):
(-[WKShareSheet sharingServicePicker:didChooseSharingService:]):
(-[WKShareSheet _didCompleteWithSuccess:]):
(-[WKShareSheet dismiss]):
(-[WKShareSheet dispatchDidDismiss]):
(-[WKShareSheet initWithView:initWithView:]): Deleted.
(-[WKShareSheet _dispatchDidDismiss]): Deleted.
(-[WKShareSheet _cancel]): Deleted.
(-[WKShareSheet _dismissDisplayAnimated:]): Deleted.
(-[WKShareSheet _presentFullscreenViewController:animated:]): Deleted.
(-[WKShareSheet invokeShareSheetWithResolution:]): Deleted.
Reduce the number of extraneous members, methods, and #ifdefs.
Try to share as much of WKShareSheet between the platforms as makes sense.
The interface is now totally identical on the two platforms.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::showShareSheet):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _showShareSheet:completionHandler:]):
(-[WKContentView invokeShareSheetWithResolution:]): Deleted.
Instead of silently failing (without even calling the completion handler!)
if we try to present one share sheet on top of another, dismiss the first
and present the new one. This is important because there are (separately
filed) bugs on both platforms where the completion handler is not called;
now, instead of a tab getting stuck forever, we'll reject the promise
when another share takes place.
Tools:
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
(WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
- DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
(WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
(WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
- WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
Change the testing mechanism for the share sheet such that we up-front
set that it should immediately return with a particular state, instead
of programmatically dismissing the sheet.
Otherwise, running the tests on macOS doesn't work, because we pop
a context menu, which spins the runloop and prevents dismissal from
going through.
LayoutTests:
- fast/events/ios/share-expected.txt: Removed.
- fast/events/ios/share.html: Removed.
- fast/web-share/share.html: Added.
- fast/web-share/share-expected.txt: Added.
- resources/ui-helper.js:
(window.UIHelper.setShareSheetCompletesImmediatelyWithResolution):
(window.UIHelper.invokeShareSheetWithResolution): Deleted.
Move the existing share sheet test to fast/web-share so it runs on both macOS and iOS.
- fast/web-share/share-with-no-url.html: Added.
- fast/web-share/share-with-no-url-expected.txt: Added.
Add a new test that the sheet is successfully invoked even when a URL is not provided.
- 11:43 AM Changeset in webkit [237011] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION (r236678): Keyboard scrolling with arrow keys doesn't work on iOS
https://bugs.webkit.org/show_bug.cgi?id=190433
<rdar://problem/45111986>
Reviewed by Simon Fraser.
- UIProcess/ios/WKKeyboardScrollingAnimator.mm:
(-[WKKeyboardScrollingAnimator keyboardScrollForEvent:]):
(-[WKKeyboardScrollingAnimator beginWithEvent:]): Deleted.
(-[WKKeyboardScrollViewAnimator beginWithEvent:]): Deleted.
r236678 changes the characters in charactersIgnoringModifiers to match AppKit.
We similarly need to update WKKeyboardScrollingAnimator's comparison.
- 11:34 AM Changeset in webkit [237010] by
-
- 17 edits in trunk
Web Inspector: notify the frontend when a canvas has started recording via console.record
https://bugs.webkit.org/show_bug.cgi?id=190306
Reviewed by Brian Burg.
Source/JavaScriptCore:
- inspector/protocol/Canvas.json:
Add
recordingStarted
event.
- inspector/protocol/Recording.json:
Add
Initiator
enum for determining who started the recording.
Source/WebCore:
Updated existing tests: LayoutTests/inspector/canvas/recording-2d.html
LayoutTests/inspector/canvas/recording-bitmaprenderer.html
LayoutTests/inspector/canvas/recording-webgl-snapshots.html
LayoutTests/inspector/canvas/recording-webgl.html
- inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::startRecording):
(WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas):
- inspector/InspectorCanvas.h:
Default
singleFrame
to false to better match the default behaviour of otherconsole
functions (profile
doesn't stop untilprofileEnd
is called, so the same should be true
ofrecord
andrecordEnd
).
Source/WebInspectorUI:
- UserInterface/Protocol/CanvasObserver.js:
(WI.CanvasObserver.prototype.recordingStarted): Added.
- UserInterface/Protocol/CanvasManager.js:
(WI.CanvasManager.prototype.recordingStarted): Added.
- UserInterface/Models/Canvas.js:
(WI.Canvas.prototype.startRecording):
(WI.Canvas.prototype.recordingStarted): Added.
(WI.Canvas.prototype.recordingFinished):
LayoutTests:
- inspector/canvas/recording-2d.html:
- inspector/canvas/recording-bitmaprenderer.html:
- inspector/canvas/recording-webgl-snapshots.html:
- inspector/canvas/recording-webgl.html:
- inspector/canvas/resources/recording-utilities.js:
(TestPage.registerInitializer.window.startRecording):
Wait to complete the test until the "LastFrame" event is fired, ensuring that any running
commands don't affect the next test case.
- 11:29 AM Changeset in webkit [237009] by
-
- 90 edits in trunk
[JSC] Rename createXXX to tryCreateXXX if it can return RefPtr
https://bugs.webkit.org/show_bug.cgi?id=190429
Reviewed by Saam Barati.
Source/JavaScriptCore:
Some createXXX functions can fail. But sometimes the caller does not perform error checking.
To make it explicit that these functions can fail, we rename these functions from createXXX
to tryCreateXXX. In this patch, we focus on non-JS-managed factory functions. If the factory
function does not fail, it should return Ref<>. Otherwise, it should be named as tryCreateXXX
and it should return RefPtr<>.
This patch mainly focuses on TypedArray factory functions. Previously, these functions are
RefPtr<XXXArray> create(...)
. This patch changes them toRefPtr<XXXArray> tryCreate(...)
.
And we also introduceRef<XXXArray> create(...)
function which internally performs
RELEASE_ASSERT on the result oftryCreate(...)
.
And we also convert OpaqueJSString::create to OpaqueJSString::tryCreate since it can fail.
This change actually finds one place which does not perform any null checkings while it uses
RefPtr<> create(...)
function.
- API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
(JSC::JSCallbackObject<Parent>::put):
(JSC::JSCallbackObject<Parent>::putByIndex):
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::callbackGetter):
- API/JSClassRef.h:
(StaticValueEntry::StaticValueEntry):
- API/JSContext.mm:
(-[JSContext evaluateScript:withSourceURL:]):
(-[JSContext setName:]):
- API/JSContextRef.cpp:
(JSGlobalContextCopyName):
(JSContextCreateBacktrace):
- API/JSObjectRef.cpp:
(JSObjectCopyPropertyNames):
- API/JSScriptRef.cpp:
- API/JSStringRef.cpp:
(JSStringCreateWithCharactersNoCopy):
- API/JSValue.mm:
(+[JSValue valueWithNewRegularExpressionFromPattern:flags:inContext:]):
(+[JSValue valueWithNewErrorFromMessage:inContext:]):
(+[JSValue valueWithNewSymbolFromDescription:inContext:]):
(performPropertyOperation):
(-[JSValue invokeMethod:withArguments:]):
(containerValueToObject):
(objectToValueWithoutCopy):
(objectToValue):
- API/JSValueRef.cpp:
(JSValueCreateJSONString):
(JSValueToStringCopy):
- API/OpaqueJSString.cpp:
(OpaqueJSString::tryCreate):
(OpaqueJSString::create): Deleted.
- API/OpaqueJSString.h:
- API/glib/JSCContext.cpp:
(evaluateScriptInContext):
- API/glib/JSCValue.cpp:
(jsc_value_new_string_from_bytes):
- ftl/FTLLazySlowPath.h:
(JSC::FTL::LazySlowPath::createGenerator):
- ftl/FTLLazySlowPathCall.h:
(JSC::FTL::createLazyCallGenerator):
- ftl/FTLOSRExit.cpp:
(JSC::FTL::OSRExitDescriptor::emitOSRExit):
(JSC::FTL::OSRExitDescriptor::emitOSRExitLater):
(JSC::FTL::OSRExitDescriptor::prepareOSRExitHandle):
- ftl/FTLOSRExit.h:
- ftl/FTLPatchpointExceptionHandle.cpp:
(JSC::FTL::PatchpointExceptionHandle::create):
(JSC::FTL::PatchpointExceptionHandle::createHandle):
- ftl/FTLPatchpointExceptionHandle.h:
- heap/EdenGCActivityCallback.h:
(JSC::GCActivityCallback::tryCreateEdenTimer):
(JSC::GCActivityCallback::createEdenTimer): Deleted.
- heap/FullGCActivityCallback.h:
(JSC::GCActivityCallback::tryCreateFullTimer):
(JSC::GCActivityCallback::createFullTimer): Deleted.
- heap/GCActivityCallback.h:
- heap/Heap.cpp:
(JSC::Heap::Heap):
- inspector/AsyncStackTrace.cpp:
(Inspector::AsyncStackTrace::create):
- inspector/AsyncStackTrace.h:
- jsc.cpp:
(fillBufferWithContentsOfFile):
- runtime/ArrayBuffer.h:
- runtime/GenericTypedArrayView.h:
- runtime/GenericTypedArrayViewInlines.h:
(JSC::GenericTypedArrayView<Adaptor>::create):
(JSC::GenericTypedArrayView<Adaptor>::tryCreate):
(JSC::GenericTypedArrayView<Adaptor>::createUninitialized):
(JSC::GenericTypedArrayView<Adaptor>::tryCreateUninitialized):
(JSC::GenericTypedArrayView<Adaptor>::subarray const):
- runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::possiblySharedImpl):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::possiblySharedTypedImpl):
(JSC::JSGenericTypedArrayView<Adaptor>::unsharedTypedImpl):
- wasm/WasmMemory.cpp:
(JSC::Wasm::Memory::create):
(JSC::Wasm::Memory::tryCreate):
- wasm/WasmMemory.h:
- wasm/WasmTable.cpp:
(JSC::Wasm::Table::tryCreate):
(JSC::Wasm::Table::create): Deleted.
- wasm/WasmTable.h:
- wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::create):
- wasm/js/JSWebAssemblyMemory.cpp:
(JSC::JSWebAssemblyMemory::JSWebAssemblyMemory):
- wasm/js/WebAssemblyMemoryConstructor.cpp:
(JSC::constructJSWebAssemblyMemory):
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::link):
- wasm/js/WebAssemblyTableConstructor.cpp:
(JSC::constructJSWebAssemblyTable):
Source/WebCore:
Use
tryCreate
or newcreate
. If we use newcreate
, we can use Ref<> and remove null check.
- Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp:
(WebCore::CDMSessionClearKey::cachedKeyForKeyID const):
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::jsValueWithDictionaryInContext):
- Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::AudioBuffer):
(WebCore::AudioBuffer::getChannelData):
- Modules/webvr/VREyeParameters.cpp:
(WebCore::VREyeParameters::offset const):
- Modules/webvr/VRFrameData.cpp:
(WebCore::matrixToArray):
- Modules/webvr/VRPose.cpp:
(WebCore::optionalFloat3ToJSCArray):
(WebCore::VRPose::position const):
(WebCore::VRPose::orientation const):
- Modules/webvr/VRStageParameters.cpp:
(WebCore::VRStageParameters::sittingToStandingTransform const):
- bindings/js/ReadableStreamDefaultController.h:
(WebCore::ReadableStreamDefaultController::enqueue):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readArrayBufferView):
- crypto/gcrypt/CryptoKeyRSAGCrypt.cpp:
(WebCore::CryptoKeyRSA::algorithm const):
- crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::CryptoKeyRSA::algorithm const):
- css/DOMMatrixReadOnly.cpp:
(WebCore::DOMMatrixReadOnly::toFloat32Array const):
(WebCore::DOMMatrixReadOnly::toFloat64Array const):
- css/FontFace.cpp:
(WebCore::FontFace::create):
- dom/TextEncoder.cpp:
(WebCore::TextEncoder::encode const):
- html/ImageData.cpp:
(WebCore::ImageData::ImageData):
- html/ImageData.h:
(WebCore::ImageData::data const):
(): Deleted.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::bufferData):
(WebCore::WebGL2RenderingContext::bufferSubData):
(WebCore::WebGL2RenderingContext::getInternalformatParameter):
(WebCore::WebGL2RenderingContext::getParameter):
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getParameter):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::getUniform):
(WebCore::WebGLRenderingContextBase::getVertexAttrib):
(WebCore::WebGLRenderingContextBase::getWebGLFloatArrayParameter):
(WebCore::WebGLRenderingContextBase::getWebGLIntArrayParameter):
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::extractKeyURIKeyIDAndCertificateFromInitData):
- platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
(WebCore::CDMSessionAVFoundationCF::generateKeyRequest):
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::shouldWaitForLoadingOfResource):
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::generateKeyRequest):
(WebCore::CDMSessionAVContentKeySession::releaseKeys):
(WebCore::CDMSessionAVContentKeySession::update):
(WebCore::CDMSessionAVContentKeySession::generateKeyReleaseMessage):
- platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
(WebCore::CDMSessionAVStreamSession::generateKeyRequest):
(WebCore::CDMSessionAVStreamSession::releaseKeys):
(WebCore::CDMSessionAVStreamSession::generateKeyReleaseMessage):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::getRGBAImageData const):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::getImageData):
- platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::ImageBufferData::getData const):
- platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::platformApplySoftware):
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::unmultipliedResult):
(WebCore::FilterEffect::premultipliedResult):
(WebCore::FilterEffect::copyUnmultipliedResult):
(WebCore::FilterEffect::copyPremultipliedResult):
(WebCore::FilterEffect::createUnmultipliedImageResult):
(WebCore::FilterEffect::createPremultipliedImageResult):
- platform/graphics/win/ImageBufferDataDirect2D.cpp:
(WebCore::ImageBufferData::getData const):
- platform/mac/SerializedPlatformRepresentationMac.mm:
(WebCore::jsValueWithDictionaryInContext):
- platform/mock/mediasource/MockBox.cpp:
(WebCore::MockBox::peekType):
(WebCore::MockBox::peekLength):
(WebCore::MockTrackBox::MockTrackBox):
(WebCore::MockInitializationBox::MockInitializationBox):
(WebCore::MockSampleBox::MockSampleBox):
- rendering/shapes/Shape.cpp:
(WebCore::Shape::createRasterShape):
- testing/LegacyMockCDM.cpp:
(WebCore::initDataPrefix):
(WebCore::keyPrefix):
(WebCore::keyRequest):
Source/WebKit:
Use
tryCreate
or newcreate
. If we use newcreate
, we can use Ref<> and remove null check.
- Shared/API/c/WKString.cpp:
(WKStringCopyJSString):
- WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::toJSValue):
(WebKit::callPropertyFunction):
(WebKit::WebAutomationSessionProxy::scriptObjectForFrame):
(WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction):
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::runScriptsInPDFDocument):
Source/WebKitLegacy/ios:
Use
tryCreate
or newcreate
. If we use newcreate
, we can use Ref<> and remove null check.
- WebView/WebPDFViewIOS.mm:
(-[WebPDFView finishedLoadingWithDataSource:]):
- WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder _evaluateJSForDocument:]):
Source/WebKitLegacy/mac:
Use
tryCreate
or newcreate
. If we use newcreate
, we can use Ref<> and remove null check.
- WebView/WebPDFRepresentation.mm:
(-[WebPDFRepresentation finishedLoadingWithDataSource:]):
Tools:
- TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm:
(TestWebKitAPI::TEST_F):
- 11:21 AM Changeset in webkit [237008] by
-
- 9 edits in trunk
Regression(PSON): Assertion hit under WebPageProxy::didNavigateWithNavigationData()
https://bugs.webkit.org/show_bug.cgi?id=190418
<rdar://problem/45059769>
Reviewed by Geoffrey Garen.
Source/WebKit:
When process swapping and "suspending" the previous WebProcess in a SuspendedPageProxy,
we need to keep around the main frame's ID that still exists on in this process. This
is needed so that we can re-create a UI-side WebFrameProxy for the WebFrame that exists
in the WebProcess, if we ever swap back to this suspended process (see login in
WebPageProxy::swapToWebProcess()).
The bug was that the main frame ID was stored on the WebPageProxy via m_mainFrameID instead of the
SuspendedPageProxy. This means that m_mainFrameID would get overriden when navigating in the new
WebProcess with the value 1 (because WebFrame identifiers start at 1 and are per-WebProcess).
This would lead to us constructing a WebFrameProxy with the wrong frame identifier in
WebPageProxy::swapToWebProcess(), which would override an existing unrelated WebFrame in the
WebProcessProxy's HashMap of frames. This would lead to crashes later on as the WebFrame
would not be associated to the WebPageProxy we expect.
- UIProcess/SuspendedPageProxy.cpp:
(WebKit::SuspendedPageProxy::SuspendedPageProxy):
- UIProcess/SuspendedPageProxy.h:
(WebKit::SuspendedPageProxy::mainFrameID const):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::maybeCreateSuspendedPage):
(WebKit::WebPageProxy::swapToWebProcess):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::didCreateMainFrame):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::suspendWebPageProxy):
- UIProcess/WebProcessProxy.h:
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 11:20 AM Changeset in webkit [237007] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Compare input string to UIKeyInput constants using string comparison instead of pointer comparison
https://bugs.webkit.org/show_bug.cgi?id=190432
Reviewed by Tim Horton.
Pointer comparision is brittle. We should be more forgiving and perform string comparision
of an input string to a UIKeyInput constant.
- platform/ios/WebEvent.mm:
(normalizedStringWithAppKitCompatibilityMapping):
- 11:01 AM Changeset in webkit [237006] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: indent all network entries when "Group by Node" is checked
https://bugs.webkit.org/show_bug.cgi?id=190388
Reviewed by Timothy Hatcher.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._populateNameCell):
(WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange):
- UserInterface/Views/NetworkTableContentView.css:
(.network-table.grouped .data-container .cell.name): Added.
(.network-table.grouped .data-container .cell:not(.parent).name): Added.
(.network-table.grouped .data-container .cell.child.name): Added.
(.network-table .cell.grouped-by-node.name): Deleted.
(body[dir=ltr] .network-table .cell.grouped-by-node.name): Deleted.
(body[dir=rtl] .network-table .cell.grouped-by-node.name): Deleted.
Apply a padding to all nodes when theWI.Table
is grouped.
- 10:45 AM Changeset in webkit [237005] by
-
- 7 edits in tags/Safari-607.1.10.1/Source
Versioning.
- 10:41 AM Changeset in webkit [237004] by
-
- 6 edits in trunk/Source/WebKit
Do domain prewarming for processes for new tabs
https://bugs.webkit.org/show_bug.cgi?id=190425
Reviewed by Chris Dumez.
We currently only do domain prewarming for navigation process swaps.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
Do domain prewarming when using an existing but so far unused process.
(WebKit::WebProcessPool::tryPrewarmWithDomainInformation):
Factor into a function.
- UIProcess/WebProcessPool.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::close):
This didn't usually get invoked.
(WebKit::WebPage::didReceivePolicyDecision):
(WebKit::WebPage::didFinishLoad):
Update prewarm information when a top level load finishes.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::sendPrewarmInformation):
- WebProcess/WebProcess.h:
- 10:16 AM Changeset in webkit [237003] by
-
- 1 copy in tags/Safari-607.1.10.1
New tag.
- 9:55 AM October 2018 Meeting edited by
- (diff)
- 9:53 AM October 2018 Meeting edited by
- (diff)
- 9:53 AM October 2018 Meeting edited by
- (diff)
- 9:30 AM Changeset in webkit [237002] by
-
- 4 edits in trunk
Unreviewed, rolling out r236802.
Working on getting the HTML spec updated instead
(https://github.com/whatwg/html/pull/4079)
Reverted changeset:
"Passing noopener=NOOPENER to window.open() should cause the
new window to not have an opener"
https://bugs.webkit.org/show_bug.cgi?id=190251
https://trac.webkit.org/changeset/236802
- 8:22 AM October 2018 Meeting edited by
- Schedule change (diff)
- 6:33 AM Changeset in webkit [237001] by
-
- 5 edits in trunk/Tools
[JSCOnly Add an armv7 JSCOnly EWS that runs tests
https://bugs.webkit.org/show_bug.cgi?id=190191
Reviewed by Michael Catanzaro.
- QueueStatusServer/config/queues.py:
- Scripts/webkitpy/common/config/ews.json:
- Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.run_javascriptcore_tests_command):
Add the possibility to pass arguments to run-javascriptcore-tests with
the JSCTESTS_OPTIONS environment variable
- Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(test_ews_name):
- 4:39 AM Changeset in webkit [237000] by
-
- 2 edits in trunk/JSTests
Skip JSC test stress/sampling-profiler-richards.js on armv7/linux
https://bugs.webkit.org/show_bug.cgi?id=190426
Unreviewed gardening.
- stress/sampling-profiler-richards.js:
- 1:48 AM Changeset in webkit [236999] by
-
- 4 edits in trunk/Source/WebCore
XMLHttpRequest should use reportExtraMemoryAllocated/reportExtraMemoryVisited instead of deprecatedReportExtraMemory
https://bugs.webkit.org/show_bug.cgi?id=190279
Reviewed by Ryosuke Niwa.
This patch switches deprecatedReportExtraMemory to reportExtraMemoryAllocated/reportExtraMemoryVisited
in XMLHttpRequest. We report extra memory allocation when the readyState becomes DONE. And memoryCost
function returns the memory cost which is based on the readyState and m_responseBuilder.
We annotate XMLHttpRequest with ReportExtraMemoryCost to use reportExtraMemoryVisited automatically with
memoryCost() function.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::changeState):
(WebCore::XMLHttpRequest::abort):
(WebCore::XMLHttpRequest::internalAbort):
(WebCore::XMLHttpRequest::networkErrorTimerFired):
(WebCore::XMLHttpRequest::memoryCost const):
(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::didReachTimeout):
(WebCore::XMLHttpRequest::dropProtection): Deleted.
- xml/XMLHttpRequest.h:
- xml/XMLHttpRequest.idl: