Timeline
Dec 8, 2017:
- 11:39 PM Changeset in webkit [225722] by
-
- 3 edits in trunk/Tools
[Win] The way to detect Windows 10 is wrong
https://bugs.webkit.org/show_bug.cgi?id=179344
<rdar://problem/35562264>
Patch by Basuke Suzuki <Basuke Suzuki> on 2017-12-08
Reviewed by Alex Christensen.
Python2.7 doesn't return correct information on Windows 10.
Use platform.win32_ver() instead of sys.getwindowsversion().
- Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._win_version):
(PlatformInfo._win_version_str):
- Scripts/webkitpy/common/system/platforminfo_unittest.py:
(fake_sys):
(fake_sys.FakeSysModule):
(fake_platform):
(fake_platform.FakePlatformModule.win32_ver):
(TestPlatformInfo.test_os_name_and_wrappers):
(TestPlatformInfo.test_os_version):
(TestPlatformInfo.test_display_name):
(TestPlatformInfo.test_total_bytes_memory):
- 9:40 PM Changeset in webkit [225721] by
-
- 3 edits in trunk/Tools
[WinCairo] Fix runtime error after r225229
https://bugs.webkit.org/show_bug.cgi?id=180614
Patch by Basuke Suzuki <Basuke Suzuki> on 2017-12-08
Reviewed by Alex Christensen.
The list of fallback versions doesn't match with version name mapping introduced recently.
It should be safe by creating the list automatically from the name map for consistency.
- Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap.init):
(VersionNameMap.to_name):
(VersionNameMap.from_name):
(VersionNameMap):
(VersionNameMap.names):
(VersionNameMap.mapping_for_platform):
- Scripts/webkitpy/port/win.py:
(WinCairoPort):
(WinCairoPort.default_baseline_search_path):
- 9:36 PM Changeset in webkit [225720] by
-
- 2 edits in trunk/Source/WebKit
Service Worker should use a correct user agent
https://bugs.webkit.org/show_bug.cgi?id=180566
<rdar://problem/35926295>
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-08
Reviewed by Chris Dumez.
Addendum to landed patch.
This change was removed from the last version of the patch but proves to be needed by Safari.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishWorkerContextConnectionToStorageProcess):
Added back setting the user agent at start of service worker in case a page is already created.
- 7:51 PM Changeset in webkit [225719] by
-
- 3 edits2 adds in trunk
Document::updateLayout() could destroy current frame.
https://bugs.webkit.org/show_bug.cgi?id=180525
<rdar://problem/35906836>
Reviewed by Simon Fraser.
Source/WebCore:
Early return when Document::updateLayout() triggers Frame destruction.
Test: fast/frames/crash-when-iframe-is-remove-in-eventhandler.html
- dom/TreeScope.cpp:
(WebCore::absolutePointIfNotClipped):
LayoutTests:
- fast/frames/crash-when-iframe-is-remove-in-eventhandler-expected.txt: Added.
- fast/frames/crash-when-iframe-is-remove-in-eventhandler.html: Added.
- 7:44 PM Changeset in webkit [225718] by
-
- 7 edits in trunk
ServiceWorkerGlobalScope is a global object and should be marked as [ImplicitThis] in the IDL
https://bugs.webkit.org/show_bug.cgi?id=180615
Reviewed by Brady Eidson.
LayoutTests/imported/w3c:
Rebaseline WPT tests now that more checks are passing.
- web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt:
- web-platform-tests/workers/interfaces.worker-expected.txt:
Source/WebCore:
ServiceWorkerGlobalScope is a global object and should be marked as [ImplicitThis] in the IDL, similarly to what we do for Window.
This allows a getter to be fallback to the global object as ThisValue when the cast of the ThisValue to the expected type fails.
No new tests, rebaselined existing test.
- workers/DedicatedWorkerGlobalScope.idl:
- workers/WorkerGlobalScope.idl:
- workers/service/ServiceWorkerGlobalScope.idl:
- 7:03 PM Changeset in webkit [225717] by
-
- 13 edits in trunk/Source
Delay some service worker operations until after the database import completes.
https://bugs.webkit.org/show_bug.cgi?id=180573
Reviewed by Chris Dumez.
Source/WebCore:
No new tests (Not testable yet).
Right after the storage process launches it starts importing registration records.
During this time, a lot of the decisions we make regarding registrations, fetch, etc.
are invalid, as they rely on those in-memory records being in place.
This patch delays certain things until after the initial origin table import is complete.
- workers/service/server/RegistrationStore.cpp:
(WebCore::RegistrationStore::databaseOpenedAndRecordsImported):
- workers/service/server/SWOriginStore.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::registrationStoreImportComplete): Tell the origin store the initial
import was completed.
(WebCore::SWServer::addRegistrationFromStore):
- workers/service/server/SWServer.h:
Source/WebKit:
- StorageProcess/ServiceWorker/WebSWOriginStore.cpp:
(WebKit::WebSWOriginStore::importComplete): Tell the Origin Table on all connects that
the import is complete.
(WebKit::WebSWOriginStore::registerSWServerConnection):
- StorageProcess/ServiceWorker/WebSWOriginStore.h:
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::mayHaveServiceWorkerRegisteredForOrigin const):
(WebKit::WebSWClientConnection::setSWOriginTableIsImported): Run deferred tasks!
(WebKit::WebSWClientConnection::matchRegistration): If the import isn't complete yet, delay
the match registration task until later.
(WebKit::WebSWClientConnection::runOrDelayTask): Either send the message now or save off
the task to wait until the import is complete.
(WebKit::WebSWClientConnection::getRegistrations): If the import isn't complete yet, delay
the get registrations task until later.
(WebKit::WebSWClientConnection::initializeSWOriginTableAsEmpty): Deleted.
- WebProcess/Storage/WebSWClientConnection.h:
- WebProcess/Storage/WebSWClientConnection.messages.in:
- WebProcess/Storage/WebSWOriginTable.cpp:
(WebKit::WebSWOriginTable::setSharedMemory):
- WebProcess/Storage/WebSWOriginTable.h:
(WebKit::WebSWOriginTable::isImported const):
(WebKit::WebSWOriginTable::setIsImported):
(WebKit::WebSWOriginTable::isInitialized const): Deleted.
(WebKit::WebSWOriginTable::initializeAsEmpty): Deleted.
- 5:05 PM Changeset in webkit [225716] by
-
- 17 edits3 adds in trunk
Service Worker should use a correct user agent
https://bugs.webkit.org/show_bug.cgi?id=180566
<rdar://problem/35926295>
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-08
Reviewed by Chris Dumez.
Source/WebCore:
Test: http/wpt/service-workers/useragent.https.html
Make ServiceWorkerFrameLoaderClient return a valid UserAgent.
Pass user agent to ServiceWorkerThread so that navigation.userAgent is correctly initialized.
Allow ServiceWorkerFrameLoaderClient to clean itself when no longer needed.
- loader/EmptyFrameLoaderClient.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
- workers/service/context/ServiceWorkerThread.h:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
(WebCore::ServiceWorkerThreadProxy::frameLoaderClient):
- workers/service/context/ServiceWorkerThreadProxy.h:
Source/WebKit:
Add support to set service worker user agent from UIProcess to service worker process.
One user agent is currently supported per service worker process and it can be changed at any given time.
Only new service worker will use the new value.
Once a service worker is launched, it will stay with the same user agent value.
This sets both navigator.userAgent and User-Agent header name used for fetch within a service worker.
Compute the service worker process user agent by picking the last user agent set for a web page.
- UIProcess/ServiceWorkerProcessProxy.cpp:
(WebKit::ServiceWorkerProcessProxy::start):
(WebKit::ServiceWorkerProcessProxy::setUserAgent):
- UIProcess/ServiceWorkerProcessProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setApplicationNameForUserAgent):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishWorkerContextConnectionToStorageProcess):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::updateServiceWorkerUserAgent):
- UIProcess/WebProcessPool.h:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::installServiceWorker):
(WebKit::WebSWContextManagerConnection::setUserAgent):
(WebKit::WebSWContextManagerConnection::removeFrameLoaderClient):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.messages.in:
LayoutTests:
- http/wpt/service-workers/useragent-worker.js: Added.
(async.doTest):
- http/wpt/service-workers/useragent.https-expected.txt: Added.
- http/wpt/service-workers/useragent.https.html: Added.
- 4:00 PM Changeset in webkit [225715] by
-
- 9 edits2 adds in trunk
Wrong caret position for input field inside a fixed position parent on iOS 11
https://bugs.webkit.org/show_bug.cgi?id=176896
rdar://problem/33726145
Reviewed by Tim Horton.
Source/WebCore:
In r219668 I added code to compute a layout viewport rect in the web process, so that
after programmatic scrolling, getBoundingClientRect() would return the correct values.
However, that computation sometimes used a different visual viewport than the UI process,
resulting in a different layout viewport being set. This would happen when the keyboard
was visible, and the combination of this and zooming when focusing an input would result
in a state where the scrolling tree contained notes computed with the bad layout viewport.
This could cause apparently offset fixed elements, and bad caret positioning if those fixed
elements contained the focused input.
Fix by passing to the web process the same visual viewport rect that the UI process is using,
namely "unobscuredContentRectRespectingInputViewBounds". This was already being set in
VisibleContentRectUpdateInfo but wasn't encoded/decoded, so fix that. Set it as an optional<>
on FrameView when different from the normal visual viewport, and return it from
visualViewportRect().
Some other minor logging changes.
Test: fast/visual-viewport/ios/caret-after-focus-in-fixed.html
- page/FrameView.cpp:
(WebCore::FrameView::setVisualViewportOverrideRect):
(WebCore::FrameView::updateLayoutViewport):
(WebCore::FrameView::visualViewportRect const):
- page/FrameView.h:
- page/scrolling/mac/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::updateLayersAfterAncestorChange):
Source/WebKit:
In r219668 I added code to compute a layout viewport rect in the web process, so that
after programmatic scrolling, getBoundingClientRect() would return the correct values.
However, that computation sometimes used a different visual viewport than the UI process,
resulting in a different layout viewport being set. This would happen when the keyboard
was visible, and the combination of this and zooming when focusing an input would result
in a state where the scrolling tree contained notes computed with the bad layout viewport.
This could cause apparently offset fixed elements, and bad caret positioning if those fixed
elements contained the focused input.
Fix by passing to the web process the same visual viewport rect that the UI process is using,
namely "unobscuredContentRectRespectingInputViewBounds". This was already being set in
VisibleContentRectUpdateInfo but wasn't encoded/decoded, so fix that. Set it as an optional<>
on FrameView when different from the normal visual viewport, and return it from
visualViewportRect().
Some other minor logging changes.
- Shared/VisibleContentRectUpdateInfo.cpp:
(WebKit::VisibleContentRectUpdateInfo::encode const):
(WebKit::VisibleContentRectUpdateInfo::decode):
(WebKit::operator<<):
- Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
LayoutTests:
Test that focuses an input inside position:fixed, then moves focus to the next
input. This was the most reliable way I could find of triggering the bug.
The test dumps the caret rect.
- fast/visual-viewport/ios/caret-after-focus-in-fixed-expected.txt: Added.
- fast/visual-viewport/ios/caret-after-focus-in-fixed.html: Added.
- 4:00 PM Changeset in webkit [225714] by
-
- 3 edits2 adds in trunk
When the iPhone keyboard is up, sometimes we never commit a stable update and re-show the caret
https://bugs.webkit.org/show_bug.cgi?id=180498
Reviewed by Tim Horton.
Source/WebKit:
When the keyboard is showing, we would think that the page was in a rubber-banding state
because contentOffsetBoundedInValidRange() would always clamp the content offset to a different
value.
This happened because scrollView.contentInset don't change when the keyboard is showing,
but UIKit actually consults scrollView.adjustedContentInset, which does. If we use
scrollView.adjustedContentInset in this computation, we'll get a correct answer.
Also rewrote the clamping logic to be more similar to what UIKit does internally when computing
min/max content offset.
- UIProcess/API/Cocoa/WKWebView.mm:
(contentOffsetBoundedInValidRange):
LayoutTests:
Test that completes once a stable update is received after showing the keyboard.
- fast/visual-viewport/ios/stable-update-with-keyboard-expected.txt: Added.
- fast/visual-viewport/ios/stable-update-with-keyboard.html: Added.
- 3:53 PM Changeset in webkit [225713] by
-
- 1 edit in trunk/Source/WebCore/html/OffscreenCanvas.cpp
Hopefully fix Windows build
- 3:32 PM Changeset in webkit [225712] by
-
- 23 edits1 copy in trunk/Source/WebCore
Make inline box objects IsoHeap allocated.
https://bugs.webkit.org/show_bug.cgi?id=180556
<rdar://problem/35923629>
Reviewed by Filip Pizlo.
- rendering/EllipsisBox.cpp:
- rendering/EllipsisBox.h:
- rendering/InlineBox.cpp:
- rendering/InlineBox.h:
- rendering/InlineElementBox.cpp:
- rendering/InlineElementBox.h:
- rendering/InlineFlowBox.cpp:
- rendering/InlineFlowBox.h:
- rendering/InlineTextBox.cpp:
- rendering/InlineTextBox.h:
- rendering/RootInlineBox.cpp:
- rendering/RootInlineBox.h:
- rendering/TrailingFloatsRootInlineBox.h:
- rendering/svg/SVGInlineFlowBox.cpp:
- rendering/svg/SVGInlineFlowBox.h:
- rendering/svg/SVGInlineTextBox.cpp:
- rendering/svg/SVGInlineTextBox.h:
- rendering/svg/SVGRootInlineBox.cpp:
- rendering/svg/SVGRootInlineBox.h:
- 3:13 PM Changeset in webkit [225711] by
-
- 12 edits in trunk/Source
Clearing all Website Data should remove service worker registrations on disk
https://bugs.webkit.org/show_bug.cgi?id=180558
Reviewed by Youenn Fablet.
Source/WebCore:
Clear service worker registrations on disk in addition to the ones in memory.
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::v1RecordsTableSchema):
(WebCore::v1RecordsTableSchemaAlternate):
(WebCore::databaseFilename):
Make sure these always get called from the background thread since they use
a static string.
(WebCore::RegistrationDatabase::RegistrationDatabase):
Call importRecordsIfNecessary() instead of openSQLiteDatabase(). importRecordsIfNecessary()
only calls openSQLiteDatabase() if the database file exists, to avoid creating a database
file unnecessarily.
(WebCore::RegistrationDatabase::databasePath const):
New method which returns the database file path.
(WebCore::RegistrationDatabase::openSQLiteDatabase):
(WebCore::RegistrationDatabase::importRecordsIfNecessary):
New methods which imports records if the database file exist. It the database file does
not exist, it does not create it.
(WebCore::RegistrationDatabase::pushChanges):
Call completion handler when changes are pushed.
(WebCore::RegistrationDatabase::clearAll):
Close the database if it is open, then remove the database files.
(WebCore::RegistrationDatabase::doPushChanges):
If the database is not already open, we now open it when trying to write changes for
the first time.
- workers/service/server/RegistrationDatabase.h:
- workers/service/server/RegistrationStore.cpp:
(WebCore::RegistrationStore::clearAll):
(WebCore::RegistrationStore::flushChanges):
- workers/service/server/RegistrationStore.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::clearAll):
(WebCore::SWServer::clear):
Also clear the database.
- workers/service/server/SWServer.h:
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::terminate):
Only call SWServer::terminateWorker() if the worker is running. Otherwise, we hit
an assertion when clearing a registration would worker was already terminated.
Source/WebKit:
- StorageProcess/StorageProcess.cpp:
(WebKit::StorageProcess::deleteWebsiteData):
(WebKit::StorageProcess::deleteWebsiteDataForOrigins):
- 3:11 PM Changeset in webkit [225710] by
-
- 1 edit in trunk/Source/WebCore/html/OffscreenCanvas.cpp
Attempted build fix.
- 3:03 PM Changeset in webkit [225709] by
-
- 15 edits1 copy in trunk/Source
ServiceWorker Inspector: Various issues inspecting service worker on mobile.twitter.com
https://bugs.webkit.org/show_bug.cgi?id=180520
<rdar://problem/35900764>
Reviewed by Brian Burg.
Source/JavaScriptCore:
- inspector/protocol/ServiceWorker.json:
Include content script content in the initialization info.
Source/WebCore:
- inspector/agents/worker/ServiceWorkerAgent.cpp:
(WebCore::ServiceWorkerAgent::getInitializationInfo):
- inspector/agents/worker/ServiceWorkerAgent.h:
Add initial script content to initialization so we always at least have main resource content.
Source/WebInspectorUI:
- UserInterface/Main.html:
- UserInterface/Test.html:
New files.
- UserInterface/Controllers/SourceMapManager.js:
(WI.SourceMapManager.prototype._loadAndParseSourceMap):
- UserInterface/Models/SourceMapResource.js:
(WI.SourceMapResource.prototype.requestContentFromBackend):
A ServiceWorker inspector doesn't have a main frame, fall back to an
empty frameIdentifier, it is ignored by the Service Worker network agent.
- UserInterface/Base/Main.js:
Handle a Service Worker inspector where there is no frame. This can
search the main resource's resource collection.
- UserInterface/Controllers/DebuggerManager.js:
(WI.DebuggerManager.prototype.scriptDidParse):
- UserInterface/Controllers/FrameResourceManager.js:
(WI.FrameResourceManager.prototype.resourceRequestDidFailLoading):
In Service Workers the resources won't have a parent frame.
(WI.FrameResourceManager.prototype._addNewResourceToFrameOrTarget):
(WI.FrameResourceManager.prototype._processServiceWorkerInitializationInfo):
In service worker initialization fallback to using the script content
as the main resource if we didn't get a Script that actually includes it.
- UserInterface/Models/LocalScript.js:
(WI.LocalScript):
(WI.LocalScript.prototype.requestContentFromBackend):
A way to create a local Script with content.
- UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype.get _supportsDebugging):
Disallow breakpoints in a LocalScript since we have no way to tell the
backend where to set breakpoints.
- UserInterface/Models/TextRange.js:
(WI.TextRange.fromText):
Add a way to get a TextRange from static text.
- 2:57 PM Changeset in webkit [225708] by
-
- 7 edits in trunk/Source/WebCore
ServiceWorker Inspector: Should be able to see image content from CacheStorage.add(url) network request
https://bugs.webkit.org/show_bug.cgi?id=180506
Reviewed by Brian Burg.
No test as this only happens inside a ServiceWorker inspector which
we don't yet have a way to test. In a Page Inspector, the
CacheStorage.add network request already behaves as expected.
- inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::responseReceived):
(WebCore::shouldBufferResourceData):
- inspector/NetworkResourcesData.h:
(WebCore::NetworkResourcesData::ResourceData::forceBufferData const):
(WebCore::NetworkResourcesData::ResourceData::setForceBufferData):
Provide a way to force buffering in NetworkResourceData.
- inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::didReceiveResponse):
- inspector/agents/InspectorNetworkAgent.h:
- inspector/agents/page/PageNetworkAgent.h:
- inspector/agents/worker/WorkerNetworkAgent.h:
Enable force buffering in a Worker Network Agent.
- 2:51 PM Changeset in webkit [225707] by
-
- 17 edits in trunk
Remove unnecessary prefix from AutoFillButtonType enumerators
https://bugs.webkit.org/show_bug.cgi?id=180512
Reviewed by Tim Horton.
Source/WebCore:
- testing/Internals.cpp:
(WebCore::toAutoFillButtonType):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- accessibility/auto-fill-crash.html:
- accessibility/auto-fill-types.html:
- fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-disabled.html:
- fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-readonly.html:
- fast/forms/auto-fill-button/input-auto-fill-button.html:
- fast/forms/auto-fill-button/input-contacts-auto-fill-button.html:
- fast/forms/auto-fill-button/input-disabled-auto-fill-button.html:
- fast/forms/auto-fill-button/input-readonly-auto-fill-button.html:
- fast/forms/auto-fill-button/input-readonly-non-empty-auto-fill-button.html:
- fast/forms/auto-fill-button/mouse-down-input-mouse-release-auto-fill-button.html:
- fast/forms/auto-fill-button/show-correct-auto-fill-button-when-auto-fill-button-type-changes-expected.html:
- fast/forms/auto-fill-button/show-correct-auto-fill-button-when-auto-fill-button-type-changes.html:
- 2:46 PM Changeset in webkit [225706] by
-
- 5 edits2 moves2 adds in trunk
Implement transferToImageBitmap for WebGL offscreen canvas objects
https://bugs.webkit.org/show_bug.cgi?id=180603
<rdar://problem/34147143>
Reviewed by Sam Weinig.
Source/WebCore:
Implement the basic version of creating an ImageBitmap from an
OffscreenCanvas that is using a WebGL context.
Tests: http/wpt/offscreen-canvas/transferToImageBitmap-empty.html
http/wpt/offscreen-canvas/transferToImageBitmap-webgl.html
- html/ImageBitmap.cpp:
(WebCore::ImageBitmap::create): Add a new constructor to be used by OffscreenCanvas.
Creates a blank ImageBitmap.
- html/ImageBitmap.h:
- html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::transferToImageBitmap): Create a new ImageBitmap
and paint the current canvas into it.
LayoutTests:
- http/wpt/offscreen-canvas/transferToImageBitmap-empty-expected.txt: Renamed from LayoutTests/http/wpt/offscreen-canvas/transferToImageBitmap-expected.txt.
- http/wpt/offscreen-canvas/transferToImageBitmap-empty.html: Renamed from LayoutTests/http/wpt/offscreen-canvas/transferToImageBitmap.html.
- http/wpt/offscreen-canvas/transferToImageBitmap-webgl-expected.html: Added.
- http/wpt/offscreen-canvas/transferToImageBitmap-webgl.html: Added.
- 2:45 PM Changeset in webkit [225705] by
-
- 4 edits in trunk/Source
WebServiceWorkerProvider should use Cancellation error to notify DTL that it cannot handle a fetch
https://bugs.webkit.org/show_bug.cgi?id=180584
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-08
Reviewed by Alex Christensen.
Source/WebCore:
Previously, for each cross origin fetch that is going through a service worker and service worker is not handling the fetch,
we return an AccessControl error so that DocumentThreadableLoader will do preflight and regular load through the network.
This error is wrongly logged in the Inspector.
Change error type to Cancellation so that the Inspector does not log it.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didFail):
Source/WebKit:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
- 2:44 PM Changeset in webkit [225704] by
-
- 2 edits in trunk/Source/WebInspectorUI
Don't require perl(File::Copy::Recursive)
https://bugs.webkit.org/show_bug.cgi?id=180479
Reviewed by Konstantin Tokarev.
If File::Copy::Recursive is not installed, there is currently a Darwin
fallback to the ditto command. That doesn't exist on Linux, but we can
emulate it by running 'cp -R' on everything in the source directory.
This should probably work everywhere except Windows.
- Scripts/copy-user-interface-resources.pl:
(ditto):
- 2:44 PM Changeset in webkit [225703] by
-
- 12 edits3 adds in trunk
Service Worker should use a correct SessionID
https://bugs.webkit.org/show_bug.cgi?id=180585
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-08
Reviewed by Alex Christensen.
Source/WebCore:
Test: http/tests/workers/service/serviceworker-private-browsing.https.html
Store SessionID in SWServer and send it as part of service worker instantiation.
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::SWServer):
(WebCore::SWServer::installContextData):
(WebCore::SWServer::runServiceWorker):
- workers/service/server/SWServer.h:
- workers/service/server/SWServerToContextConnection.h:
Source/WebKit:
Store SessionID in SWServer and send it as part of service worker instantiation.
Use it when creating service worker thread in service worker process.
- StorageProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::installServiceWorkerContext):
- StorageProcess/ServiceWorker/WebSWServerToContextConnection.h:
- StorageProcess/StorageProcess.cpp:
(WebKit::StorageProcess::swServerForSession):
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::installServiceWorker):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.messages.in:
LayoutTests:
- http/tests/workers/service/serviceworker-private-browsing-worker.js: Added.
(async):
- http/tests/workers/service/serviceworker-private-browsing.https-expected.txt: Added.
- http/tests/workers/service/serviceworker-private-browsing.https.html: Added.
- 2:41 PM Changeset in webkit [225702] by
-
- 13 edits in trunk
FetchResponse should keep unfiltered ResourceResponse so that it can be used in Service Worker
https://bugs.webkit.org/show_bug.cgi?id=179641
<rdar://problem/35923570>
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-08
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/service-workers/service-worker/fetch-request-css-cross-origin-mime-check.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-response-taint.https-expected.txt:
Source/WebCore:
Covered by existing rebased tests.
FetchResponse will now store an unfiltered response.
If it needs to expose it to JavaScript, it will create a filtered response lazily.
This allows service worker to send back to web pages, opaque responses containing every information.
Updating Document::initSecurityContext so that any document loaded with a response whose tainting is Opaque gets a unique origin.
This ensures cross-origin checks to work if service worker returns such a response on a same origin URL.
Updated SubresourceLoader to check cross origin service worker responses based on their tainting.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::create):
(WebCore::FetchResponse::error):
(WebCore::FetchResponse::redirect):
(WebCore::FetchResponse::FetchResponse):
(WebCore::FetchResponse::clone):
(WebCore::FetchResponse::url const):
(WebCore::FetchResponse::filteredResponse const):
(WebCore::FetchResponse::BodyLoader::didReceiveResponse):
(WebCore::FetchResponse::resourceResponse const):
- Modules/fetch/FetchResponse.h:
(WebCore::FetchResponse::create): Deleted.
- dom/Document.cpp:
(WebCore::Document::initSecurityContext):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):
(WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl):
Source/WebKit:
- WebProcess/Storage/ServiceWorkerClientFetch.cpp:
(WebKit::ServiceWorkerClientFetch::didReceiveResponse): In case of opaque redirected response, handle it as a regular response.
LayoutTests:
- 2:28 PM Changeset in webkit [225701] by
-
- 4 edits in trunk/Source/bmalloc
Enable gigacage on iOS with a 32GB runway and ensure it doesn't break WasmBench
https://bugs.webkit.org/show_bug.cgi?id=178557
Reviewed by Mark Lam.
- bmalloc/Algorithm.h:
(bmalloc::isPowerOfTwo):
- bmalloc/Gigacage.cpp:
- bmalloc/Gigacage.h:
- 2:23 PM Changeset in webkit [225700] by
-
- 4 edits in trunk/Source/WebKit
Remove unused code in WebPageGroup
https://bugs.webkit.org/show_bug.cgi?id=180604
Reviewed by Youenn Fablet.
- UIProcess/WebPageGroup.cpp:
(WebKit::WebPageGroup::userContentController):
(WebKit::WebPageGroup::createNonNull): Deleted.
(WebKit::WebPageGroup::preferencesDidChange): Deleted.
- UIProcess/WebPageGroup.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::WebProcessPool):
- 2:05 PM Changeset in webkit [225699] by
-
- 5 edits in trunk
ApplicationManifestParser should strip whitespace from the raw input
https://bugs.webkit.org/show_bug.cgi?id=180539
rdar://problem/35915075
Patch by David Quesada <david_quesada@apple.com> on 2017-12-08
Reviewed by Joseph Pecoraro.
Source/WebCore:
- Modules/applicationmanifest/ApplicationManifestParser.cpp:
(WebCore::ApplicationManifestParser::parseManifest):
Tools:
Added an API test for parsing manifests with surrounding whitespace.
Also drive-by fix ApplicationManifestParserTest.Display. Earlier versions of the
manifest spec explicitly stated that the "display" value should be treated as if
it were run through String.prototype.trim(), which allowed for the really weird
edge case of an array containing one string. This behavior was lost when I changed
ApplicationManifestParser's JSON parsing from using JavaScriptCore to WTF's JSON
parsing. Update the unit test accordingly.
- TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
(TEST_F):
- 1:56 PM Changeset in webkit [225698] by
-
- 63 edits in trunk
[python] Replace print operator with print() function for python3 compatibility
https://bugs.webkit.org/show_bug.cgi?id=180592
Reviewed by Michael Catanzaro.
PerformanceTests:
- JSBench/harness.py:
Source/JavaScriptCore:
- Scripts/generateYarrUnicodePropertyTables.py:
(openOrExit):
(verifyUCDFilesExist):
(Aliases.parsePropertyAliasesFile):
(Aliases.parsePropertyValueAliasesFile):
- Scripts/make-js-file-arrays.py:
(main):
- generate-bytecode-files:
Source/WebCore/PAL:
- AVFoundationSupport.py:
Tools:
- BuildSlaveSupport/wait-for-SVN-server.py:
(getLatestSVNRevision):
(waitForSVNRevision):
- Scripts/download-latest-github-release.py:
(find_latest_release):
(main):
- Scripts/update-wasm-gcc-torture.py:
(update_lkgr):
(untar_torture):
(list_js_files):
(waterfall_known_failures):
- Scripts/update-webkit-wincairo-libs.py:
- Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.show_results):
- Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver.fetch_result):
- Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(list_benchmark_plans):
- Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_from_idl):
(BindingsTests.generate_supplemental_dependency):
(BindingsTests.detect_changes):
(BindingsTests.run_tests):
(BindingsTests.main):
- Scripts/webkitpy/codegen/main.py:
(BuiltinsGeneratorTests.generate_from_js_builtins):
(BuiltinsGeneratorTests.detect_changes):
(BuiltinsGeneratorTests.single_builtin_test):
(BuiltinsGeneratorTests.run_test):
(BuiltinsGeneratorTests.run_tests):
(BuiltinsGeneratorTests.main):
- Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
(MockBugzilla.fetch_attachment):
- Scripts/webkitpy/common/net/buildbot/buildbot.py:
(Builder._fetch_revision_to_build_map):
- Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs._find_newest_log_win):
- Scripts/webkitpy/common/system/outputcapture_unittest.py:
(OutputCaptureTest.test_output_capture_scope):
- Scripts/webkitpy/common/system/profiler.py:
(GooglePProf.profile_after_exit):
(Perf.profile_after_exit):
- Scripts/webkitpy/common/system/user.py:
(User.prompt_with_multiple_lists):
(User.prompt_with_list):
(User._warn_if_application_is_xcode):
(User.edit_changelog):
- Scripts/webkitpy/inspector/main.py:
(InspectorGeneratorTests.generate_from_json):
(InspectorGeneratorTests.detect_changes):
(InspectorGeneratorTests.run_tests):
(InspectorGeneratorTests.main):
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._print_expectation_line_for_test):
(Manager._print_expectations_for_subset):
(Manager._print_expectations_for_subset.if):
- Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
(run_server):
- Scripts/webkitpy/port/config_standalone.py:
(main):
- Scripts/webkitpy/port/darwin_testcase.py:
(DarwinTest.test_spindump.logging_run_command):
(DarwinTest.test_sample_process.logging_run_command):
- Scripts/webkitpy/port/ios.py:
(IOSPort.clean_up_test_run):
- Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest.test_spindump.logging_run_command):
(IOSDeviceTest.test_sample_process.logging_run_command):
- Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest.test_xcrun.throwing_run_command):
- Scripts/webkitpy/port/leakdetector_unittest.py:
(test_count_total_bytes_and_unique_leaks.mock_run_script):
- Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_xcrun.throwing_run_command):
- Scripts/webkitpy/style/checkers/contributors.py:
(ContributorsChecker.check):
- Scripts/webkitpy/tool/commands/abstractlocalservercommand.py:
(AbstractLocalServerCommand.execute):
- Scripts/webkitpy/tool/commands/adduserstogroups.py:
(AddUsersToGroups.execute):
- Scripts/webkitpy/tool/commands/analyzechangelog.py:
(AnalyzeChangeLog._generate_jsons):
(AnalyzeChangeLog.execute):
(ChangeLogAnalyzer._set_filename):
(ChangeLogAnalyzer.analyze):
- Scripts/webkitpy/tool/commands/bugfortest.py:
(BugForTest.execute):
- Scripts/webkitpy/tool/commands/bugsearch.py:
(execute):
- Scripts/webkitpy/tool/commands/findusers.py:
(FindUsers.execute):
- Scripts/webkitpy/tool/commands/gardenomatic.py:
(GardenOMatic.execute):
- Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineTest.execute):
- Scripts/webkitpy/tool/commands/rebaselineserver.py:
(RebaselineServer._prepare_config):
- Scripts/webkitpy/tool/commands/setupgitclone.py:
(SetupGitClone.execute):
(SetupGitClone._get_username_and_email):
- Scripts/webkitpy/tool/commands/suggestnominations.py:
(SuggestNominations._print_nominations):
(SuggestNominations._print_counts):
- Scripts/webkitpy/tool/commands/upload.py:
(CommitMessageForCurrentDiff.execute):
(CreateBug.prompt_for_bug_title_and_comment):
- Scripts/webkitpy/tool/multicommandtool.py:
(HelpCommand.execute):
- Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
(TestGardeningHTTPRequestHandler._serve_text):
(TestGardeningHTTPRequestHandler._serve_json):
- Scripts/webkitpy/tool/steps/addsvnmimetypeforpng.py:
(AddSvnMimetypeForPng.run):
- Scripts/webkitpy/tool/steps/suggestreviewers.py:
(SuggestReviewers.run):
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.update_tests_options):
- Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
(WebDriverTestRunnerSelenium.run):
- TestResultServer/model/jsonresults_unittest.py:
- gtk/ycm_extra_conf.py:
(FlagsForFile):
- lldb/lldb_webkit.py:
(btjs):
LayoutTests:
- html5lib/generate-test-wrappers.py:
(_remove_stale_tests):
- http/tests/websocket/tests/hybi/bad-handshake-crash_wsh.py:
(web_socket_do_extra_handshake):
- http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header_wsh.py:
(web_socket_do_extra_handshake):
- http/tests/websocket/tests/hybi/handshake-fail-by-no-connection-header_wsh.py:
(web_socket_do_extra_handshake):
- http/tests/websocket/tests/hybi/handshake-fail-by-no-cr_wsh.py:
(web_socket_do_extra_handshake):
- http/tests/websocket/tests/hybi/handshake-fail-by-no-upgrade-header_wsh.py:
(web_socket_do_extra_handshake):
- 1:38 PM Changeset in webkit [225697] by
-
- 2 edits in trunk/Source/JavaScriptCore
Need to unpoison native function pointers for CLoop.
https://bugs.webkit.org/show_bug.cgi?id=180601
<rdar://problem/35942028>
Reviewed by JF Bastien.
- llint/LowLevelInterpreter64.asm:
- 12:33 PM Changeset in webkit [225696] by
-
- 39 edits2 moves in trunk
Move Logger from PAL to WTF so it can be used outside of WebCore
https://bugs.webkit.org/show_bug.cgi?id=180561
Reviewed by Alex Christensen.
Source/WebCore:
No new tests, existing API test updated.
- Modules/mediastream/PeerConnectionBackend.h:
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
(PAL::LogArgument<webrtc::RTCStats>::toString): Deleted.
- dom/Document.cpp:
- dom/Document.h:
- html/HTMLMediaElement.cpp:
(PAL::LogArgument<WebCore::URL>::toString): Deleted.
- html/HTMLMediaElement.h:
- html/HTMLMediaElementEnums.h:
(PAL::LogArgument<WebCore::HTMLMediaElementEnums::ReadyState>::toString): Deleted.
(PAL::LogArgument<WebCore::HTMLMediaElementEnums::NetworkState>::toString): Deleted.
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::logger const):
- html/MediaElementSession.h:
- html/track/DataCue.h:
(PAL::LogArgument<WebCore::DataCue>::toString): Deleted.
- html/track/TextTrackCue.h:
(PAL::LogArgument<WebCore::TextTrackCue>::toString): Deleted.
- html/track/TextTrackCueGeneric.h:
(PAL::LogArgument<WebCore::TextTrackCueGeneric>::toString): Deleted.
- html/track/TrackBase.cpp:
(WebCore::nullLogger):
(WebCore::TrackBase::TrackBase):
- html/track/TrackBase.h:
- html/track/VTTCue.h:
(PAL::LogArgument<WebCore::VTTCue>::toString): Deleted.
- platform/graphics/InbandTextTrackPrivate.h:
- platform/graphics/InbandTextTrackPrivateClient.h:
(PAL::LogArgument<WebCore::GenericCueData>::toString): Deleted.
- platform/graphics/MediaPlayer.cpp:
(WebCore::nullLogger):
(WebCore::MediaPlayer::mediaPlayerLogger):
- platform/graphics/MediaPlayer.h:
(WTF::LogArgument<MediaTime>::toString):
(PAL::LogArgument<WTF::MediaTime>::toString): Deleted.
- platform/graphics/MediaPlayerEnums.h:
(PAL::LogArgument<WebCore::MediaPlayerEnums::ReadyState>::toString): Deleted.
(PAL::LogArgument<WebCore::MediaPlayerEnums::NetworkState>::toString): Deleted.
- platform/graphics/TrackPrivateBase.cpp:
(WebCore::TrackPrivateBase::setLogger):
- platform/graphics/TrackPrivateBase.h:
- platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
- platform/mediastream/RTCIceConnectionState.h:
(PAL::LogArgument<WebCore::RTCIceConnectionState>::toString): Deleted.
- platform/mediastream/RTCIceGatheringState.h:
(PAL::LogArgument<WebCore::RTCIceGatheringState>::toString): Deleted.
- platform/mediastream/RTCPeerConnectionState.h:
(PAL::LogArgument<WebCore::RTCPeerConnectionState>::toString): Deleted.
- platform/mediastream/RTCSignalingState.h:
(PAL::LogArgument<WebCore::RTCSignalingState>::toString): Deleted.
- platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/Logger.h: Removed.
- pal/LoggerHelper.h: Removed.
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/Logger.h: Copied from Source/WebCore/PAL/pal/Logger.h.
(PAL::LogArgument::toString): Deleted.
(PAL::Logger::create): Deleted.
(PAL::Logger::logAlways const): Deleted.
(PAL::Logger::error const): Deleted.
(PAL::Logger::warning const): Deleted.
(PAL::Logger::info const): Deleted.
(PAL::Logger::debug const): Deleted.
(PAL::Logger::willLog const): Deleted.
(PAL::Logger::enabled const): Deleted.
(PAL::Logger::setEnabled): Deleted.
(PAL::Logger::LogSiteIdentifier::LogSiteIdentifier): Deleted.
(PAL::Logger::addObserver): Deleted.
(PAL::Logger::removeObserver): Deleted.
(PAL::Logger::Logger): Deleted.
(PAL::Logger::log): Deleted.
(PAL::Logger::observers): Deleted.
(PAL::LogArgument<Logger::LogSiteIdentifier>::toString): Deleted.
- wtf/LoggerHelper.h: Copied from Source/WebCore/PAL/pal/LoggerHelper.h.
Tools:
- TestWebKitAPI/Tests/WebCore/Logging.cpp:
(TestWebKitAPI::TEST_F):
- 12:32 PM Changeset in webkit [225695] by
-
- 11 edits in trunk/Source/JavaScriptCore
YARR: JIT RegExps with greedy parenthesized sub patterns
https://bugs.webkit.org/show_bug.cgi?id=180538
Reviewed by JF Bastien.
This patch adds JIT support for regular expressions containing greedy counted
parenthesis. An example expression that couldn't be JIT'ed before is /q(a|b)*q/.
Just like in the interpreter, expressions with nested parenthetical subpatterns
require saving the results of previous matches of the parentheses contents along
with any associated state. This saved state is needed in the case that we need
to backtrack. This state is called ParenContext within the code space allocated
for this ParenContext is managed using a simple block allocator within the JIT'ed
code. The raw space managed by this allocator is passed into the JIT'ed function.
Since this fixed sized space may be exceeded, this patch adds a fallback mechanism.
If the JIT'ed code exhausts all its ParenContext space, it returns a new error
JSRegExpJITCodeFailure. The caller will then bytecompile and interpret the
expression.
Due to increased register usage by the parenthesis handling code, the use of
registers by the JIT engine was restructured, with registers used for Unicode
pattern matching replaced with constants.
Reworked some of the context structures that are used across the interpreter
and JIT implementations to make them a little more uniform and to handle the
needs of JIT'ing the new parentheses forms.
To help with development and debugging of this code, compiled patterns dumping
code was enhanced. Also added the ability to also dump interpreter ByteCodes.
- runtime/RegExp.cpp:
(JSC::byteCodeCompilePattern):
(JSC::RegExp::byteCodeCompileIfNecessary):
(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):
- runtime/RegExp.h:
- runtime/RegExpInlines.h:
(JSC::RegExp::matchInline):
- testRegExp.cpp:
(parseRegExpLine):
(runFromFiles):
- yarr/Yarr.h:
- yarr/YarrInterpreter.cpp:
(JSC::Yarr::ByteCompiler::compile):
(JSC::Yarr::ByteCompiler::dumpDisjunction):
- yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::ParenContextSizes::ParenContextSizes):
(JSC::Yarr::YarrGenerator::ParenContextSizes::numSubpatterns):
(JSC::Yarr::YarrGenerator::ParenContextSizes::frameSlots):
(JSC::Yarr::YarrGenerator::ParenContext::sizeFor):
(JSC::Yarr::YarrGenerator::ParenContext::nextOffset):
(JSC::Yarr::YarrGenerator::ParenContext::beginOffset):
(JSC::Yarr::YarrGenerator::ParenContext::matchAmountOffset):
(JSC::Yarr::YarrGenerator::ParenContext::subpatternOffset):
(JSC::Yarr::YarrGenerator::ParenContext::savedFrameOffset):
(JSC::Yarr::YarrGenerator::initParenContextFreeList):
(JSC::Yarr::YarrGenerator::allocatePatternContext):
(JSC::Yarr::YarrGenerator::freePatternContext):
(JSC::Yarr::YarrGenerator::savePatternContext):
(JSC::Yarr::YarrGenerator::restorePatternContext):
(JSC::Yarr::YarrGenerator::tryReadUnicodeCharImpl):
(JSC::Yarr::YarrGenerator::storeToFrame):
(JSC::Yarr::YarrGenerator::generateJITFailReturn):
(JSC::Yarr::YarrGenerator::clearMatches):
(JSC::Yarr::YarrGenerator::generate):
(JSC::Yarr::YarrGenerator::backtrack):
(JSC::Yarr::YarrGenerator::opCompileParenthesesSubpattern):
(JSC::Yarr::YarrGenerator::generateEnter):
(JSC::Yarr::YarrGenerator::generateReturn):
(JSC::Yarr::YarrGenerator::YarrGenerator):
(JSC::Yarr::YarrGenerator::compile):
- yarr/YarrJIT.h:
(JSC::Yarr::YarrCodeBlock::execute):
- yarr/YarrPattern.cpp:
(JSC::Yarr::indentForNestingLevel):
(JSC::Yarr::dumpUChar32):
(JSC::Yarr::dumpCharacterClass):
(JSC::Yarr::PatternTerm::dump):
(JSC::Yarr::YarrPattern::dumpPattern):
- yarr/YarrPattern.h:
(JSC::Yarr::PatternTerm::containsAnyCaptures):
(JSC::Yarr::BackTrackInfoParenthesesOnce::returnAddressIndex):
(JSC::Yarr::BackTrackInfoParentheses::beginIndex):
(JSC::Yarr::BackTrackInfoParentheses::returnAddressIndex):
(JSC::Yarr::BackTrackInfoParentheses::matchAmountIndex):
(JSC::Yarr::BackTrackInfoParentheses::patternContextHeadIndex):
(JSC::Yarr::BackTrackInfoAlternative::offsetIndex): Deleted.
- 12:32 PM Changeset in webkit [225694] by
-
- 4 edits in trunk/Source/WebKit
Modernize APIWebsiteDataStore.h and WebProcessPool.h
https://bugs.webkit.org/show_bug.cgi?id=180588
Reviewed by Chris Dumez.
pragma once, Ref instead of RefPtr, initializer list in header instead of literals in constructor.
- UIProcess/API/APIWebsiteDataStore.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::WebProcessPool):
- UIProcess/WebProcessPool.h:
- 12:21 PM Changeset in webkit [225693] by
-
- 2 edits in trunk/Source/JavaScriptCore
Web Inspector: CRASH at InspectorConsoleAgent::enable when iterating mutable list of buffered console messages
https://bugs.webkit.org/show_bug.cgi?id=180590
<rdar://problem/35882767>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-12-08
Reviewed by Mark Lam.
- inspector/agents/InspectorConsoleAgent.cpp:
(Inspector::InspectorConsoleAgent::enable):
Swap the messages to a Vector that won't change during iteration.
- 12:16 PM Changeset in webkit [225692] by
-
- 9 edits in trunk/Source
Remove pthread_once in favor of dispatch_once
https://bugs.webkit.org/show_bug.cgi?id=180591
Reviewed by Saam Barati.
Source/WebCore:
No behavior change.
- platform/mac/WebCoreNSURLExtras.mm:
(WebCore::allCharactersInIDNScriptWhiteList):
(WebCore::readIDNScriptWhiteList): Deleted.
Source/WebKit:
- PluginProcess/mac/PluginProcessMac.mm:
(WebKit::shouldCallRealDebugger):
(WebKit::initShouldCallRealDebugger): Deleted.
Source/WebKitLegacy/mac:
- Misc/WebKitErrors.m:
(+[NSError _registerWebKitErrors]):
(registerErrors): Deleted.
- Storage/WebStorageManager.mm:
(+[WebStorageManager _storageDirectoryPath]):
(initializeLocalStoragePath): Deleted.
Source/WTF:
Fix the comment.
- wtf/Threading.h:
(WTF::Thread::current):
- 12:07 PM Changeset in webkit [225691] by
-
- 2 edits in trunk/Source/WebKit
ProcessPoolConfiguration::copy() fails to copy the service worker path
https://bugs.webkit.org/show_bug.cgi?id=180595
Reviewed by Brady Eidson.
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
- 11:36 AM Changeset in webkit [225690] by
-
- 5 edits in trunk
Different WebKitTestRunner instances should use different service worker registrations databases
https://bugs.webkit.org/show_bug.cgi?id=180589
Reviewed by Brady Eidson.
Source/WebKit:
- UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationCopyServiceWorkerDatabaseDirectory):
(WKContextConfigurationSetServiceWorkerDatabaseDirectory):
- UIProcess/API/C/WKContextConfigurationRef.h:
Tools:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::generateContextConfiguration const):
- 11:34 AM Changeset in webkit [225689] by
-
- 1 edit2 adds in tags/Safari-605.1.16.1/LayoutTests
Cherry-pick r225670. rdar://problem/35410390
- 11:34 AM Changeset in webkit [225688] by
-
- 3 edits in tags/Safari-605.1.16.1/Source/WebCore
Cherry-pick r225647. rdar://problem/35410390
- 11:29 AM Changeset in webkit [225687] by
-
- 7 edits in tags/Safari-605.1.16.1/Source
Versioning.
- 11:24 AM Changeset in webkit [225686] by
-
- 1 copy in tags/Safari-605.1.16.1
New tag.
- 11:01 AM Changeset in webkit [225685] by
-
- 2 edits in trunk/Source/WebCore
Improve error handling in RegistrationDatabase
https://bugs.webkit.org/show_bug.cgi?id=180587
Reviewed by Brady Eidson.
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::openSQLiteDatabase):
(WebCore::RegistrationDatabase::doPushChanges):
- 10:37 AM Changeset in webkit [225684] by
-
- 3 edits in trunk/Source/WTF
[WTF][Linux][GTK] Fix a minor bug in generic/WorkQueue when WorkQueue is immediately destroyed
https://bugs.webkit.org/show_bug.cgi?id=180586
Reviewed by Darin Adler.
If WorkQueue is created and destroyed immediately, RunLoop::stop can be called
befire calling RunLoop::run(). At that time WorkQueue thread is not stopped.
This patch dispatches a task stopping its own RunLoop to ensure stop is done.
We also clean up WorkQueue implementation not to include unnecessary fields,
lock, condition, and thread.
- wtf/WorkQueue.h:
- wtf/generic/WorkQueueGeneric.cpp:
(WorkQueue::platformInitialize):
(WorkQueue::platformInvalidate):
- 10:27 AM Changeset in webkit [225683] by
-
- 5 edits in trunk/Source/JavaScriptCore
YARR: Coalesce constructed character classes
https://bugs.webkit.org/show_bug.cgi?id=180537
Reviewed by JF Bastien.
When adding characters or character ranges to a character class being constructed,
we now coalesce adjacent characters and character ranges. When we create a
character class after construction is complete, we do a final coalescing pass
across the character list and ranges to catch any remaining coalescing
opportunities.
Added an optimization for character classes that will match any character.
This is somewhat common in code created before the /s (dotAll) flag was added
to the engine.
- yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::checkCharacterClass):
- yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::generateCharacterClassOnce):
(JSC::Yarr::YarrGenerator::generateCharacterClassFixed):
(JSC::Yarr::YarrGenerator::generateCharacterClassGreedy):
(JSC::Yarr::YarrGenerator::backtrackCharacterClassNonGreedy):
- yarr/YarrPattern.cpp:
(JSC::Yarr::CharacterClassConstructor::CharacterClassConstructor):
(JSC::Yarr::CharacterClassConstructor::reset):
(JSC::Yarr::CharacterClassConstructor::charClass):
(JSC::Yarr::CharacterClassConstructor::addSorted):
(JSC::Yarr::CharacterClassConstructor::addSortedRange):
(JSC::Yarr::CharacterClassConstructor::mergeRangesFrom):
(JSC::Yarr::CharacterClassConstructor::coalesceTables):
(JSC::Yarr::CharacterClassConstructor::anyCharacter):
(JSC::Yarr::YarrPatternConstructor::atomCharacterClassEnd):
(JSC::Yarr::PatternTerm::dump):
(JSC::Yarr::anycharCreate):
- yarr/YarrPattern.h:
(JSC::Yarr::CharacterClass::CharacterClass):
- 10:05 AM Changeset in webkit [225682] by
-
- 20 edits in trunk/Source/WebKit
Pass std::optional<WebsitePolicies> instead of WebsitePolicies
https://bugs.webkit.org/show_bug.cgi?id=180563
Reviewed by Andy Estes.
WebsitePolicies are only passed along when a decidePolicyForNavigationAction SPI completion handler
is called with a valid _WKWebsitePolicies object. In other cases, we don't have one. Rather than
making WebsitePolicies have a default value for everything that won't change policies, pass
a std::optional<WebsitePolicies> which indicates better when we don't have new policies.
No change in behavior, but this will enable me to add things to WebsitePolicies that have no default value.
- Shared/WebsitePolicies.h:
Make WebsitePolicies a class with public members because the IPC code generators don't understand std::optional<struct type>
- UIProcess/API/C/WKAPICast.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::tryAppLink):
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
- UIProcess/WebFrameListenerProxy.cpp:
(WebKit::WebFrameListenerProxy::receivedPolicyDecision):
- UIProcess/WebFrameListenerProxy.h:
- UIProcess/WebFramePolicyListenerProxy.cpp:
(WebKit::WebFramePolicyListenerProxy::use):
- UIProcess/WebFramePolicyListenerProxy.h:
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::receivedPolicyDecision):
- UIProcess/WebFrameProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::didReceivePolicyDecision):
- WebProcess/WebPage/WebFrame.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceivePolicyDecision):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 9:48 AM Changeset in webkit [225681] by
-
- 10 edits in trunk/Source
[WTF] Remove remaining use of Mutex
https://bugs.webkit.org/show_bug.cgi?id=180579
Reviewed by Alex Christensen.
Source/WebKit:
Remove unused "BinarySemaphore.h".
- Platform/IPC/win/ConnectionWin.cpp:
Source/WTF:
Mutex should be only used in low-level Locking and Threading.
Other ones should use WTF::Lock and WTF::Condition instead.
This patch replaces WTF::Mutex with WTF::Lock in WTF if it
is not related to threading or locking implementation.
And we also use WTF::Lock and WTF::Condition in WTF::BinarySemaphore.
- wtf/RunLoop.cpp:
(WTF::RunLoop::performWork):
(WTF::RunLoop::dispatch):
- wtf/RunLoop.h:
- wtf/WorkQueue.cpp:
- wtf/WorkQueue.h:
- wtf/threads/BinarySemaphore.cpp:
(WTF::BinarySemaphore::signal):
(WTF::BinarySemaphore::wait):
(WTF::BinarySemaphore::BinarySemaphore): Deleted.
(WTF::BinarySemaphore::~BinarySemaphore): Deleted.
- wtf/threads/BinarySemaphore.h:
- wtf/win/WorkQueueWin.cpp:
(WTF::WorkQueue::registerHandle):
(WTF::WorkQueue::unregisterAndCloseHandle):
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::timerCallback):
(WTF::WorkQueue::dispatchAfter):
(WTF::TimerContext::TimerContext): Deleted.
- 9:26 AM Changeset in webkit [225680] by
-
- 11 edits in trunk/Source/WebCore
Simplify and streamline some Color-related code to prepare for some Color/ExtendedColor work
https://bugs.webkit.org/show_bug.cgi?id=180569
Reviewed by Sam Weinig.
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::colorValue const): Use valueAsColor instead of
having custom code here to parse the color string.
- css/CSSGradientValue.cpp:
(WebCore::interpolate): Deleted.
(WebCore::CSSGradientValue::computeStops): Call blend instead of interpolate. The only
difference is that the interpolate function truncated when converting from floating point
to integer, and the blend function rounds instead.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::colorFromPrimitiveValue const): Removed unneeded special case
for identifier of 0, since StyleColor::colorFromKeyword already handles that correctly.
Also got rid of unneded local variable "state".
- html/ColorInputType.cpp:
(WebCore::isValidSimpleColor): Rewrote to take a StringView instead of a String and
to stay with a single loop since this does not need the extra efficiency of a separate
8-bit and 16-bit character version. Renamed to more closely match what the specification
calls this algorithm.
(WebCore::parseSimpleColorValue): Added. To be used instead of relying on the behavior of
the Color constructor that takes a String, so we can remove that later.
(WebCore::ColorInputType::sanitizeValue const): Updated for name change.
(WebCore::ColorInputType::valueAsColor const): Use parseSimpleColorValue instead of the
Color constructor that takes a string.
(WebCore::ColorInputType::typeMismatchFor const): Updated for name change.
(WebCore::ColorInputType::selectColor): Updated to take a StringView instead of a Color.
Note that this function is used for testing only.
- html/ColorInputType.h: Marked everything final instead of override. Updated the
selectColor function to take a StringView instead of a Color.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::selectColor): Take a StringView instead of a Color.
- html/HTMLInputElement.h: Ditto.
- html/InputType.cpp:
(WebCore::InputType::selectColor): Take a StringView instead of a Color.
- html/InputType.h: Ditto.
- testing/Internals.cpp:
(WebCore::Internals::selectColorInColorChooser): Pass the string directly instead of
constructing a Color with it.
(WebCore::Internals::setViewBaseBackgroundColor): Instead of pasring the passed in string
with the Color constructor, implemented the two names that are actually used with this
function in tests: "transparent" and "white".
- 9:26 AM Changeset in webkit [225679] by
-
- 5 edits in trunk/Source/WebKitLegacy/mac
Remove some unused code from WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=180567
Reviewed by Anders Carlsson.
- Misc/WebKitNSStringExtras.h: Researched which of these functions are used in
macOS (back a few versions) and iOS and removed unused
_web_drawAtPoint:font:textColor:allowingFontSmoothing:,
_web_drawDoubledAtPoint:withTopColor:bottomColor:font:,
_web_stringByStrippingReturnCharacters, _webkit_hasCaseInsensitiveSubstring:,
_webkit_stringByCollapsingNonPrintingCharacters,
_webkit_stringByCollapsingWhitespaceCharacters,
_web_stringWithData:textEncodingName:, and
_webkit_localStorageDirectoryWithBundleIdentifier:.
- Misc/WebKitNSStringExtras.mm: Made WebKitLocalCacheDefaultsKey private to
this source file.
(canUseFastRenderer): Made this faster by not calling u_charDirection for
Latin-1 characters, and also added special cases for U_DIR_NON_SPACING_MARK
and U_BOUNDARY_NEUTRAL, which should not prevent use of the fast renderer.
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Deleted.
(-[NSString _web_drawAtPoint:font:textColor:]): Removed unneeded code to
handle font smoothing options.
(-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]): Deleted.
(-[NSString _web_stringByAbbreviatingWithTildeInPath]): Moved comment here
from header and made it a little clearer.
(-[NSString _web_stringByStrippingReturnCharacters]): Deleted.
(-[NSString _webkit_hasCaseInsensitiveSubstring:]): Deleted.
(-[NSString _webkit_stringByCollapsingNonPrintingCharacters]): Deleted.
(-[NSString _webkit_stringByCollapsingWhitespaceCharacters]): Deleted.
(+[NSString _web_stringWithData:textEncodingName:]): Deleted.
(+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]): Streamlined
implementation a bit and used whole words instead of abbreviations.
(+[NSString _webkit_localStorageDirectoryWithBundleIdentifier:]): Deleted.
- Misc/WebNSFileManagerExtras.mm:
(-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]): Use the
filenameByFixingIllegalCharacters function from WebCore directly instead of
indirectly through the method _webkit_filenameByFixingIllegalCharacters.
- Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView URLWithCString:]): Rewrote to use simple
string replacements instead of _web_stringByStrippingReturnCharacters
and to use NSString methods instead of CFString functions.
- 8:45 AM Changeset in webkit [225678] by
-
- 3 edits in trunk/LayoutTests
[GTK] Rebaseline tables/mozilla/bugs/bug32205-5.html.
https://bugs.webkit.org/show_bug.cgi?id=169010
Unreviewed test gardening.
The numbers changed by a few pixels in r213149.
- platform/gtk/TestExpectations:
- platform/gtk/tables/mozilla/bugs/bug32205-5-expected.txt:
- 8:31 AM Changeset in webkit [225677] by
-
- 2 edits in trunk
[WinCairo][Ninja] Incremental build failure of WTF
https://bugs.webkit.org/show_bug.cgi?id=180521
Patch by Fujii Hironori <Fujii Hironori> on 2017-12-08
Reviewed by Konstantin Tokarev.
WTF included its forwarding headers in Windows ports. The
directory DerivedSources/ForwardingHeaders shouldn't be a include
path for WTF.
- Source/cmake/OptionsWin.cmake:
Removed DerivedSources/ForwardingHeaders and DerivedSources from include paths.
- 8:28 AM Changeset in webkit [225676] by
-
- 2 edits in trunk/Source/WebKit
[GTK] WebInspectorProxyClient needs a virtual destructor
https://bugs.webkit.org/show_bug.cgi?id=180533
Reviewed by Carlos Garcia Campos.
Otherwise the derived class portion of the object, WebKitInspectorClient, is not destroyed.
- UIProcess/gtk/WebInspectorProxyClient.h:
- 7:00 AM Changeset in webkit [225675] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix wrong letter case in #import HTMLIframeElement.h
- editing/cocoa/WebContentReaderCocoa.mm:
- 6:00 AM Changeset in webkit [225674] by
-
- 2 edits in trunk/Tools
Tools/ImageDiff/cg/PlatformImageCG.cpp doesn't need to include <wtf/MathExtras.h>
https://bugs.webkit.org/show_bug.cgi?id=180578
Patch by Fujii Hironori <Fujii Hironori> on 2017-12-08
Reviewed by Konstantin Tokarev.
- ImageDiff/cg/PlatformImageCG.cpp: Removed unnecessary #include <wtf/MathExtras.h>.
- 5:07 AM Changeset in webkit [225673] by
-
- 2 edits in trunk/Tools
Unreviewed WPE build fix after r225671.
- WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
Include the ActivateFonts.h header to have a usable
WTR::installFakeHelvetica() function declaration.
- 4:09 AM Changeset in webkit [225672] by
-
- 7 edits in trunk/Source
Use StaticLock and Lock instead of Mutex in Windows WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=180572
Reviewed by Mark Lam.
Source/WebKitLegacy/win:
Use StaticLock and drop DEPRECATED_DEFINE_STATIC_LOCAL.
Also we use Lock instead of Mutex.
- WebKitQuartzCoreAdditions/CAD3DRenderer.cpp:
(WKQCA::CAD3DRenderer::swapChain):
(WKQCA::CAD3DRenderer::renderAndPresent):
(WKQCA::CAD3DRenderer::renderToImage):
(WKQCA::CAD3DRenderer::setDeviceIsLost):
(WKQCA::CAD3DRenderer::renderInternal):
- WebKitQuartzCoreAdditions/CAD3DRenderer.h:
- WebKitQuartzCoreAdditions/CAView.cpp:
(WKQCA::CAView::Handle::create):
Return Ref<Handle> instead of RefPtr<>.
(WKQCA::CAView::Handle::lock):
(WKQCA::CAView::Handle::view const):
(WKQCA::CAView::Handle::clear):
(WKQCA::views):
(WKQCA::viewsNeedingUpdate):
(WKQCA::CAView::releaseAllD3DResources):
(WKQCA::CAView::CAView):
(WKQCA::CAView::~CAView):
(WKQCA::CAView::setLayer):
(WKQCA::CAView::update):
(WKQCA::CAView::drawToWindow):
(WKQCA::CAView::drawToWindowInternal):
(WKQCA::CAView::drawToImage):
(WKQCA::CAView::willDraw):
(WKQCA::CAView::drawIntoDC):
(WKQCA::CAView::setShouldInvertColors):
(WKQCA::CAView::scheduleNextDraw):
(WKQCA::CAView::displayLinkReachedCAMediaTime):
(WKQCA::CAView::contextDidChange):
(WKQCA::CAView::updateSoon):
(WKQCA::CAView::updateViewsNow):
(WKQCA::CAView::d3dDevice9):
(WKQCA::CAView::Handle::mutex): Deleted.
(WKQCA::globalStateMutex): Deleted.
(): Deleted.
- WebKitQuartzCoreAdditions/CAView.h:
Source/WTF:
Remove DEPRECATED_DEFINE_STATIC_LOCAL since it's no longer used.
- wtf/StdLibExtras.h:
Dec 7, 2017:
- 11:47 PM Changeset in webkit [225671] by
-
- 5 edits in trunk/Tools
Unreviewed GTK+ and WPE build fix.
Add TestRunner::installFakeHelvetica(), WTR::installFakeHelvetica()
and WTF::uninstallFakeHelvetica() definitions, filling out the
declarations added in r225641. This fills up missing symbols in the
WKTR's InjectedBundle library, unbreaking layout tests for both
configurations.
- WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
(WTR::installFakeHelvetica):
(WTR::uninstallFakeHelvetica):
- WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
(WTR::TestRunner::inspectorTestStubURL):
(WTR::TestRunner::installFakeHelvetica):
- WebKitTestRunner/InjectedBundle/wpe/ActivateFontsWPE.cpp:
(WTR::installFakeHelvetica):
(WTR::uninstallFakeHelvetica):
- WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
(WTR::TestRunner::installFakeHelvetica):
- 8:50 PM Changeset in webkit [225670] by
-
- 1 edit2 adds in trunk/LayoutTests
iOS: Many AMP pages hit a release assertion inside Document::updateStyleIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=180550
Reviewed by Simon Fraser.
Add a test for r225647.
- fast/frames/flattening/non-flattening-frame-inside-flattening-iframe-crash-expected.txt: Added.
- fast/frames/flattening/non-flattening-frame-inside-flattening-iframe-crash.html: Added.
- 8:22 PM Changeset in webkit [225669] by
-
- 3 edits in trunk/Source/WebKitLegacy/mac
Ignore deprecation warnings.
- WebView/WebHTMLView.mm:
(-[NSWindow _web_borderView]):
(-[WebHTMLView _setAsideSubviews]):
- WebView/WebView.mm:
(-[WebView encodeWithCoder:]):
- 7:03 PM Changeset in webkit [225668] by
-
- 2 edits in trunk/Source/WTF
[Win] [64-bit] Resolve Microsoft warning C4319 on BitVector.cpp
https://bugs.webkit.org/show_bug.cgi?id=180490
Patch by Basuke Suzuki <Basuke Suzuki> on 2017-12-07
Reviewed by Alex Christensen.
bitsInPointer() returns unsigned which is smaller than size_t.
"~"(negate) operator is applied before extending its size which result filled with zero.
This may be potentially a bug if numBits is greater than max value of unsigned long
(which is not practical).
- wtf/BitVector.cpp:
(WTF::BitVector::OutOfLineBits::create):
- 7:02 PM Changeset in webkit [225667] by
-
- 2 edits in trunk/Source/WebCore
Use WTF::RecursiveLockAdapter instead of using pthread_mutex_t with recursive lock option
https://bugs.webkit.org/show_bug.cgi?id=180449
Reviewed by Mark Lam.
Use WTF::RecursiveLockAdapter<StaticLock> instead. We can remove pthread_mutex_xxx,
pthread_once and FontLocker wrapper.
- platform/graphics/FontCache.cpp:
(WebCore::FontCache::getCachedFontPlatformData):
(WebCore::FontCache::fontForPlatformData):
(WebCore::FontCache::purgeInactiveFontData):
(WebCore::FontCache::inactiveFontCount):
(initFontCacheLockOnce): Deleted.
(FontLocker::FontLocker): Deleted.
(FontLocker::~FontLocker): Deleted.
- 7:00 PM Changeset in webkit [225666] by
-
- 2 edits in trunk/Source/WebKit
[WinCairo] Fix ResourceError handling in ArgumentCoder for wincairo webkit
https://bugs.webkit.org/show_bug.cgi?id=180483
Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2017-12-07
Reviewed by Alex Christensen.
- Shared/curl/WebCoreArgumentCodersCurl.cpp:
(IPC::ArgumentCoder<ResourceError>::encodePlatformData):
(IPC::ArgumentCoder<ResourceError>::decodePlatformData):
- 6:33 PM Changeset in webkit [225665] by
-
- 8 edits in trunk/Source/WebKit
StartFetch should take a ServiceWorkerIdentifier
https://bugs.webkit.org/show_bug.cgi?id=180478
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-07
Reviewed by Brady Eidson.
Before the patch, StartFetch was taking an optional ServiceWorkerIdentifier.
Now that every navigation fetch is querying its matching registration, it can no longer be optional.
In the case there is a problem in running the service worker at start fetch time,
answer to the WebProcess to go to network so that the request does not get stalled.
- StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::startFetch):
- StorageProcess/ServiceWorker/WebSWServerConnection.h:
- StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::startFetch):
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::startFetch):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.messages.in:
- 6:08 PM Changeset in webkit [225664] by
-
- 2 edits in trunk/Source/JavaScriptCore
Modify our dollar VM clflush intrinsic to aid in some perf testing
https://bugs.webkit.org/show_bug.cgi?id=180559
Reviewed by Mark Lam.
- tools/JSDollarVM.cpp:
(JSC::functionCpuClflush):
(JSC::functionDeltaBetweenButterflies):
(JSC::JSDollarVM::finishCreation):
- 5:53 PM Changeset in webkit [225663] by
-
- 10 edits in trunk
Simplify log channel configuration UI
https://bugs.webkit.org/show_bug.cgi?id=180527
<rdar://problem/35908382>
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/protocol/Console.json:
Source/WebCore:
No new tests, updated existing test.
- inspector/agents/WebConsoleAgent.cpp:
(WebCore::WebConsoleAgent::getLoggingChannels):
(WebCore::channelConfigurationForString):
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Models/LoggingChannel.js:
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createGeneralSettingsView):
LayoutTests:
- inspector/console/webcore-logging.html: Updated test for new results.
- 5:31 PM Changeset in webkit [225662] by
-
- 16 edits in trunk
Use StaticLock instead of NeverDestroyed<Lock>
https://bugs.webkit.org/show_bug.cgi?id=180507
Reviewed by Saam Barati.
Source/WebCore:
StaticLock can be used instead of using NeverDestroyed<Lock>.
No behavior change.
- Modules/webdatabase/Database.cpp:
(WebCore::Database::performOpenAndVerify):
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::openDatabaseMutex):
(WebCore::DatabaseTracker::emptyDatabaseFilesRemovalTaskWillBeScheduled):
(WebCore::DatabaseTracker::emptyDatabaseFilesRemovalTaskDidFinish):
(WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
(WebCore::DatabaseTracker::scheduleForNotification):
(WebCore::DatabaseTracker::notifyDatabasesChanged):
(WebCore::notificationMutex): Deleted.
- Modules/webdatabase/DatabaseTracker.h:
- platform/URL.cpp:
(WebCore::registerDefaultPortForProtocolForTesting):
(WebCore::clearDefaultPortForProtocolMapForTesting):
(WebCore::defaultPortForProtocol):
(WebCore::defaultPortForProtocolMapForTestingLock): Deleted.
- platform/graphics/MediaPlayer.cpp:
(WebCore::buildMediaEnginesVector):
(WebCore::installedMediaEngines):
(WebCore::MediaPlayer::resetMediaEngines):
(WebCore::mediaEngineVectorLock): Deleted.
- platform/ios/QuickLook.mm:
(WebCore::removeQLPreviewConverterForURL):
(WebCore::addQLPreviewConverterWithFileForURL):
(WebCore::qlPreviewConverterDictionaryMutex): Deleted.
- platform/ios/WebSQLiteDatabaseTrackerClient.mm:
(+[WebDatabaseTransactionBackgroundTaskController startBackgroundTask]):
(+[WebDatabaseTransactionBackgroundTaskController endBackgroundTask]):
(transactionBackgroundTaskIdentifierLock): Deleted.
- platform/network/curl/CurlContext.cpp:
(WebCore::CurlShareHandle::lockCallback):
(WebCore::CurlShareHandle::unlockCallback):
(WebCore::CurlShareHandle::mutexFor):
- platform/network/curl/CurlContext.h:
Source/WebKitLegacy/ios:
- WebCoreSupport/WebFixedPositionContent.mm:
(-[WebFixedPositionContent scrollOrZoomChanged:]):
(-[WebFixedPositionContent overflowScrollPositionForLayer:changedTo:]):
(-[WebFixedPositionContent setViewportConstrainedLayers:stickyContainerMap:]):
(-[WebFixedPositionContent hasFixedOrStickyPositionLayers]):
(WebFixedPositionContentDataLock): Deleted.
Source/WebKitLegacy/win:
- WebLocalizableStrings.cpp:
(findCachedString):
(cacheString):
(mainBundleLocStrings): Deleted.
(frameworkLocStringsMutex): Deleted.
Tools:
- DumpRenderTree/JavaScriptThreading.cpp:
(javaScriptThreads):
(runJavaScriptThread):
(startJavaScriptThreads):
(stopJavaScriptThreads):
(javaScriptThreadsMutex): Deleted.
- 5:27 PM Changeset in webkit [225661] by
-
- 13 edits in trunk/Source/WebCore
Read registrations in from disk.
https://bugs.webkit.org/show_bug.cgi?id=180543
Reviewed by Andy Estes.
No new tests (Not testable quite yet)
On launch, read through the database.
Set up enough objects in the SWServer necessary to cause fetches and postMessages to
go to a worker that has never run before.
- workers/service/ServiceWorkerContextData.cpp:
(WebCore::ServiceWorkerContextData::isolatedCopy const):
- workers/service/ServiceWorkerContextData.h:
(WebCore::ServiceWorkerContextData::encode const):
(WebCore::ServiceWorkerContextData::decode):
- workers/service/ServiceWorkerRegistrationKey.cpp:
(WebCore::ServiceWorkerRegistrationKey::toDatabaseKey const):
(WebCore::ServiceWorkerRegistrationKey::fromDatabaseKey):
- workers/service/ServiceWorkerRegistrationKey.h:
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::stringToUpdateViaCache):
(WebCore::stringToWorkerType):
(WebCore::RegistrationDatabase::doPushChanges):
(WebCore::RegistrationDatabase::importRecords):
(WebCore::RegistrationDatabase::addRegistrationToStore):
- workers/service/server/RegistrationDatabase.h:
- workers/service/server/RegistrationStore.cpp:
(WebCore::RegistrationStore::RegistrationStore):
(WebCore::RegistrationStore::addRegistrationFromDatabase):
- workers/service/server/RegistrationStore.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::addRegistrationFromStore):
(WebCore::SWServer::SWServer):
(WebCore::SWServer::updateWorker):
(WebCore::SWServer::tryInstallContextData):
(WebCore::SWServer::installContextData):
(WebCore::generateServiceWorkerIdentifier): Deleted.
- workers/service/server/SWServer.h:
- workers/service/server/SWServerRegistration.h:
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::contextData const):
- 5:26 PM Changeset in webkit [225660] by
-
- 4 edits in trunk/Source
Use WTF Locking primitives in WebThread and drop pthread_xxx use
https://bugs.webkit.org/show_bug.cgi?id=180445
Reviewed by Saam Barati.
Source/WebCore:
We remove use of pthread locking primitives from WebThread implementation,
and use WTF Lock and Condition instead.
No behavior change.
- platform/ios/wak/WebCoreThread.mm:
(HandleDelegateSource):
(SendDelegateMessage):
(WebThreadRunOnMainThread):
(WebThreadAdoptAndRelease):
(WebCoreObjCDeallocOnWebThreadImpl):
(WebCoreObjCDeallocWithWebThreadLockImpl):
(HandleWebThreadReleaseSource):
(_WebThreadAutoLock):
(WebRunLoopLockInternal):
(CurrentThreadContext):
Use WTF::ThreadSpecific.
(StartWebThread):
(_WebThreadLock):
RemoveshouldTryparameter since it is alwaysfalse. We clean up code based onshouldTry = false,
and rename it from _WebTryThreadLock to _WebThreadLock since it does not try now.
(_WebThreadLockFromAnyThread):
(WebThreadUnlockFromAnyThread):
(_WebThreadUnlock):
(lockWebCoreReleaseLock): Deleted.
(unlockWebCoreReleaseLock): Deleted.
(WebTimedConditionLock): Deleted.
(_WebTryThreadLock): Deleted.
Source/WTF:
Add initializer form to fill struct with zero if struct does not have any default initializers.
- wtf/ThreadSpecific.h:
(WTF::ThreadSpecific::Data::Data):
- 5:22 PM Changeset in webkit [225659] by
-
- 21 edits1 add in trunk/Source
Apply poisoning to some native code pointers.
https://bugs.webkit.org/show_bug.cgi?id=180541
<rdar://problem/35916875>
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Renamed g_classInfoPoison to g_globalDataPoison.
Renamed g_masmPoison to g_jitCodePoison.
Introduced g_nativeCodePoison.
Applied g_nativeCodePoison to poisoning some native code pointers.
Introduced non-random Int32 poison values (in JSCPoison.h) for use with pointers
to malloc allocated data structures (where needed).
- API/JSCallbackFunction.h:
(JSC::JSCallbackFunction::functionCallback):
- JavaScriptCore.xcodeproj/project.pbxproj:
- jit/ThunkGenerators.cpp:
(JSC::nativeForGenerator):
- llint/LowLevelInterpreter64.asm:
- runtime/CustomGetterSetter.h:
(JSC::CustomGetterSetter::getter const):
(JSC::CustomGetterSetter::setter const):
- runtime/InternalFunction.cpp:
(JSC::InternalFunction::getCallData):
(JSC::InternalFunction::getConstructData):
- runtime/InternalFunction.h:
(JSC::InternalFunction::nativeFunctionFor):
- runtime/JSCPoison.h: Added.
- runtime/JSCPoisonedPtr.cpp:
(JSC::initializePoison):
- runtime/JSCPoisonedPtr.h:
- runtime/Lookup.h:
- runtime/NativeExecutable.cpp:
(JSC::NativeExecutable::hashFor const):
- runtime/NativeExecutable.h:
- runtime/Structure.cpp:
(JSC::StructureTransitionTable::setSingleTransition):
- runtime/StructureTransitionTable.h:
(JSC::StructureTransitionTable::StructureTransitionTable):
(JSC::StructureTransitionTable::isUsingSingleSlot const):
(JSC::StructureTransitionTable::map const):
(JSC::StructureTransitionTable::weakImpl const):
(JSC::StructureTransitionTable::setMap):
Source/WTF:
Ensure that the resultant poisoned bits still looks like a pointer in that its
bottom bits are 0, just like the alignment bits of a pointer. This allows the
client to use the bottom bits of the poisoned bits as flag bits just like the
client was previously able to do with pointer values.
Note: we only ensure that the bottom alignment bits of the generated poison
value is 0. We're not masking out the poisoned bits. This means that the bottom
bits of the poisoned bits will only be null if the original pointer is aligned.
Hence, if the client applies the poison to an unaligned pointer, we do not lose
any information on the low bits.
Also removed 2 wrong assertions in PoisonedImpl's constructors. We were
asserting that Poisoned will never be used with a null value, but that's invalid.
We do want to allow a null value so that we don't have to constantly do null
checks in the clients. This was uncovered by some layout tests.
- wtf/Poisoned.cpp:
(WTF::makePoison):
- wtf/Poisoned.h:
(WTF::PoisonedImpl::PoisonedImpl):
- 5:12 PM Changeset in webkit [225658] by
-
- 2 edits in trunk/Source/WebKit
We need to grab the JSLock in InjectedBundle::createWebDataFromUint8Array
https://bugs.webkit.org/show_bug.cgi?id=180492
Reviewed by Alex Christensen.
InjectedBundle::createWebDataFromUint8Array calls into WebCore APIs that allocate
out of the JS heap. It's only legal to allocate out of the JS heap when holding the JS lock.
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::createWebDataFromUint8Array):
- 4:59 PM Changeset in webkit [225657] by
-
- 2 edits in trunk/Source/WebCore
Fix API test after r225645.
https://bugs.webkit.org/show_bug.cgi?id=180544
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithDocumentLoader):
The API test WebKitLegacy.FragmentNavigation started failing after r225645.
It does call the completion handler with ignore to cancel fragment navigation.
To make this work and increase compatibility, only synchronously continue with
fragment navigations if we haven't received a synchronous answer to the
decidePolicyForNavigationAction callback.
- 4:56 PM Changeset in webkit [225656] by
-
- 8 edits1 move11 adds in trunk
WebAssembly: sending module to iframe fails
https://bugs.webkit.org/show_bug.cgi?id=179263
Reviewed by JF Bastien.
Source/WebCore:
Allow use WebAssembly.Module as input parameters for postMessage
in window and iframe object.
Tests: wasm/iframe-postmessage.html
wasm/window-postmessage.html
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpIfTerminal):
- bindings/js/SerializedScriptValue.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessage):
LayoutTests:
- platform/ios-simulator/TestExpectations:
- platform/win/TestExpectations:
- resources/wasm-builder.js: Renamed from LayoutTests/workers/wasm-resources/builder.js.
- wasm/iframe-parent-postmessage-expected.txt: Added.
- wasm/iframe-parent-postmessage.html: Added.
- wasm/iframe-postmessage-expected.txt: Added.
- wasm/iframe-postmessage.html: Added.
- wasm/resources/frame-parent.html: Added.
- wasm/resources/frame.html: Added.
- wasm/resources/load_wasm.js: Added.
(createWasmModule):
- wasm/window-postmessage-expected.txt: Added.
- wasm/window-postmessage.html: Added.
- workers/wasm-mem-post-message.html:
- 4:54 PM Changeset in webkit [225655] by
-
- 7 edits in trunk/Source/WebKit
Propagate WebKit2Logging channels to the Web Process
https://bugs.webkit.org/show_bug.cgi?id=180517
Reviewed by Tim Horton.
If you set WebKit2Logging, you want those channels active in both the UI process and
the web process, but without tricky 'defaults' gyrations, setting them in the web process
was hard.
Instead, send them through to the process via WebProcessCreationParameters, as we do
for WebCoreLogging channels.
- Platform/LogInitialization.h:
- Platform/Logging.cpp:
(WebKit::initializeLogChannelsIfNecessary):
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 4:22 PM Changeset in webkit [225654] by
-
- 7 edits in trunk/Source
Web Inspector: Fix style in remote inspector classes
https://bugs.webkit.org/show_bug.cgi?id=180545
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-12-07
Reviewed by Youenn Fablet.
Source/JavaScriptCore:
- inspector/remote/RemoteControllableTarget.h:
- inspector/remote/RemoteInspectionTarget.h:
- runtime/JSGlobalObjectDebuggable.h:
Source/WebCore:
- page/PageDebuggable.h:
- workers/service/context/ServiceWorkerDebuggable.h:
- 4:19 PM Changeset in webkit [225653] by
-
- 2 edits in trunk/LayoutTests
Skipped imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.htm on macOS WK1
https://bugs.webkit.org/show_bug.cgi?id=180554
https://bugs.webkit.org/show_bug.cgi?id=180553
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 4:18 PM Changeset in webkit [225652] by
-
- 2 edits in trunk/Source/JavaScriptCore
Use fastAlignedFree to free aligned memory.
https://bugs.webkit.org/show_bug.cgi?id=180540
Reviewed by Saam Barati.
- heap/IsoAlignedMemoryAllocator.cpp:
(JSC::IsoAlignedMemoryAllocator::~IsoAlignedMemoryAllocator):
- 4:15 PM Changeset in webkit [225651] by
-
- 4 edits in trunk/Source/WebKit
Add logging for EditorState in RemoteLayerTree transactions
https://bugs.webkit.org/show_bug.cgi?id=180515
Reviewed by Wenson Hsieh.
Make EditorState TextStream-able, and dump it in layer tree transactions.
- Shared/EditorState.cpp:
(WebKit::operator<<):
- Shared/EditorState.h:
- Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::description const):
- 3:58 PM Changeset in webkit [225650] by
-
- 17 edits in trunk/Source/WebCore
Move security origin filtering for getMatchedCSSRules out of StyleResolver
https://bugs.webkit.org/show_bug.cgi?id=180468
Reviewed by Zalan Bujtas.
The non-standard getMatchedCSSRules API should not return rules from stylesheets in different security origins.
To implement this we currently have lots of invasive code in StyleResolver, RuleSets and ElementRuleCollector
basically passing around a bit. This also makes RuleSets document specific blocking optimizations.
This patches replaces the mechanism with a bit in StyleRule which is much simpler.
- css/DocumentRuleSets.cpp:
(WebCore::makeRuleSet):
- css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
- css/ElementRuleCollector.h:
(WebCore::ElementRuleCollector::setPseudoStyleRequest):
(WebCore::ElementRuleCollector::setSameOriginOnly): Deleted.
- css/RuleFeature.cpp:
(WebCore::RuleFeatureSet::collectFeatures):
- css/RuleFeature.h:
(WebCore::RuleFeature::RuleFeature):
- css/RuleSet.cpp:
(WebCore::RuleData::RuleData):
(WebCore::RuleSet::addRule):
(WebCore::RuleSet::addChildRules):
(WebCore::RuleSet::addRulesFromSheet):
(WebCore::RuleSet::addStyleRule):
- css/RuleSet.h:
(WebCore::RuleData::linkMatchType const):
(WebCore::RuleData::hasDocumentSecurityOrigin const): Deleted.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::pseudoStyleRulesForElement):
- css/StyleResolver.h:
- css/StyleRule.cpp:
(WebCore::StyleRule::StyleRule):
(WebCore::StyleRule::createForSplitting):
(WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount const):
(WebCore::StyleRule::create): Deleted.
- css/StyleRule.h:
(WebCore::StyleRuleBase::StyleRuleBase):
(WebCore::StyleRuleBase::hasDocumentSecurityOrigin const):
Add a bit.
- css/parser/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
Include hasDocumentSecurityOrigin bit to parser context. This means that a stylesheet data structures
can't be shared between a contexts where this differs. This likely very rare in practice.
(WebCore::operator==):
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeStyleRule):
- css/parser/CSSParserMode.h:
(WebCore::CSSParserContextHash::hash):
- editing/EditingStyle.cpp:
(WebCore::EditingStyle::mergeStyleFromRules):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::getMatchedCSSRules const):
Filter out rules from different security origin after getting them from style resolver.
- 3:55 PM Changeset in webkit [225649] by
-
- 3 edits in trunk/Source/WebCore
AX: Document::existingAXObjectCache() should always return the existing AXObjectCache.
https://bugs.webkit.org/show_bug.cgi?id=180548
<rdar://problem/35917755>
Reviewed by Chris Fleizach.
Currently the AX cache becomes unreachable through Document::existingAXObjectCache soon after the render tree is destroyed.
From this point, the Node objects can't deregister themselves from the AX cache anymore. In some cases, it's
redundant/not advised to notify the cache about certain changes when the document is being destroyed, but the
callsites should make that decision.
Covered by existing tests.
- dom/Document.cpp:
(WebCore::Document::existingAXObjectCacheSlow const):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::takeChildInternal):
- 3:30 PM Changeset in webkit [225648] by
-
- 2 edits in trunk/Source/WebCore
Fix erroneous ASSERT in DocumentThreadableLoader::didFail
https://bugs.webkit.org/show_bug.cgi?id=180549
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-07
Reviewed by Alex Christensen.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didFail): ASSERT was checking whether the optional was null.
This could never be the case since we move the value of the optional, not the optional itself.
Ensure that the optional value is null so that we are sure request is being loaded and make the optional null just after that.
- 3:25 PM Changeset in webkit [225647] by
-
- 3 edits in trunk/Source/WebCore
iOS: Many AMP pages crash inside Document::updateStyleIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=180550
<rdar://problem/35410390>
Reviewed by Zalan Bujtas.
The crash was caused when updatign the layout of an non-flattened frame inside a flattened frame.
In those cases, isInChildFrameWithFrameFlattening is false on the inner frame.
No new tests for now.
- dom/NoEventDispatchAssertion.h:
- rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::performLayoutWithFlattening): Disable the assertion temporarily here.
In theory, we should be able to remove the check for isInChildFrameWithFrameFlattening but we err
on the safer side for now.
- 3:17 PM Changeset in webkit [225646] by
-
- 2 edits in trunk/Source/WebKit
CacheStorage Cache should not remove any disk entry when clearing its memory representation
https://bugs.webkit.org/show_bug.cgi?id=180546
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-07
Reviewed by Brady Eidson.
- NetworkProcess/cache/CacheStorageEngineCache.cpp:
(WebKit::CacheStorage::Cache::clearMemoryRepresentation):
- 1:59 PM Changeset in webkit [225645] by
-
- 5 edits2 adds in trunk
Always synchronously continue with fragment navigations
https://bugs.webkit.org/show_bug.cgi?id=180544
<rdar://problem/34815986> and <rdar://problem/35126690>
Reviewed by Geoffrey Garen.
Source/WebCore:
Test: http/tests/dom/document-fragment.html
When a decidePolicyForNavigationAction completionHandler is called asynchronously,
the document's URL has not changed yet when JavaScript execution continues. This causes
significant web incompatibility because all browsers change the document's URL immediately
during fragment navigations. In order to make WebKit applications more web compatible,
we now immediately continue to have the state consistent. To keep compatibility with any
WebView, UIWebView, or WKWebView applications that use these delegate callbacks to update
state, we still call decidePolicyForNavigationAction. This would break a theoretical app
that would cancel fragment navigations, but it fixes apps that continue fragment navigations
asynchronously.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithDocumentLoader):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
(-[DecidePolicyForNavigationActionFragmentDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):
Add a test that verifies that decidePolicyForNavigationAction is called for fragment navigations.
LayoutTests:
- http/tests/dom/document-fragment-expected.txt: Added.
- http/tests/dom/document-fragment.html: Added.
Add a test that verifies that the fragment of the document is set immediately during a fragment navigation,
even if decidePolicyForNavigationAction is called asynchronously. Also verify the order of various events
associated with the navigation.
- 1:46 PM Changeset in webkit [225644] by
-
- 8 edits6 adds in trunk
Activate IDB and WebSockets in service workers
https://bugs.webkit.org/show_bug.cgi?id=180534
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-07
Reviewed by Brady Eidson.
LayoutTests/imported/w3c:
- web-platform-tests/service-workers/service-worker/websocket-in-service-worker.https-expected.txt:
Source/WebCore:
Tests: http/tests/workers/service/serviceworker-idb.https.html
http/tests/workers/service/serviceworker-websocket.https.html
Using the dummy document used for loading to also fuel IDB and WebSocket.
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
- workers/service/context/ServiceWorkerThread.h:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::idbConnectionProxy):
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
LayoutTests:
- http/tests/workers/service/resources/serviceworker-idb-worker.js: Added.
- http/tests/workers/service/resources/serviceworker-websocket-worker.js: Added.
- http/tests/workers/service/serviceworker-idb.https-expected.txt: Added.
- http/tests/workers/service/serviceworker-idb.https.html: Added.
- http/tests/workers/service/serviceworker-websocket.https-expected.txt: Added.
- http/tests/workers/service/serviceworker-websocket.https.html: Added.
- 1:28 PM Changeset in webkit [225643] by
-
- 8 edits in trunk/Source
Unreviewed, rolling out r225634.
This caused layout tests to time out.
Reverted changeset:
"Simplify log channel configuration UI"
https://bugs.webkit.org/show_bug.cgi?id=180527
https://trac.webkit.org/changeset/225634
- 1:04 PM Changeset in webkit [225642] by
-
- 9 edits4 adds in trunk
[EME] Support the 'encrypted' event for FPS encrypted streams
https://bugs.webkit.org/show_bug.cgi?id=180480
Reviewed by Eric Carlson.
Source/WebCore:
Test: platform/mac/media/encrypted-media/fps-encrypted-event.html
Pass initData and initDataType up to HTMLMediaElement from SourceBufferPrivateAVFObjC.
Drive-by fix: initialize the initData and initDataType values of MediaEncryptedEvent from
values in its initializer struct.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
(WebCore::HTMLMediaElement::mediaPlayerInitializationDataEncountered):
- html/MediaEncryptedEvent.cpp:
(WebCore::MediaEncryptedEvent::MediaEncryptedEvent):
(WebCore::MediaEncryptedEvent::initDataType): Deleted.
(WebCore::MediaEncryptedEvent::initData): Deleted.
- html/MediaEncryptedEvent.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cdmInstanceAttached):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
LayoutTests:
- platform/mac/TestExpectations:
- platform/mac/media/encrypted-media/content/fps-cbcs.mp4: Added.
- platform/mac/media/encrypted-media/fps-encrypted-event-expected.txt: Added.
- platform/mac/media/encrypted-media/fps-encrypted-event.html: Added.
- 12:29 PM Changeset in webkit [225641] by
-
- 35 edits25 adds in trunk
[Cocoa] Add SPI to disallow user-installed fonts
https://bugs.webkit.org/show_bug.cgi?id=180062
<rdar://problem/35042408>
Reviewed by Simon Fraser.
Source/WebCore:
This hooks up a WK2 preference, ShouldDisallowUserInstalledFonts, to our font selection
code. This preference works by specifying an attribute to our font selection code which
will prohibit user-installed fonts from ever being selected. This works both to disallow
newly installed fonts, as well as disallowing user-installed fonts which "shadow" (or
have the same name as) existing fonts, so that the existing font is selected instead.
The goal of this setting is to decrease the fingerprinting surface area which trackers
can use to identify users on the open Web.
Tests: fast/text/user-installed-font.html
fast/text/user-installed-fonts/disable.html
fast/text/user-installed-fonts/shadow-disable.html
fast/text/user-installed-fonts/shadow-family-disable.html
fast/text/user-installed-fonts/shadow-family.html
fast/text/user-installed-fonts/shadow-postscript-disable.html
fast/text/user-installed-fonts/shadow-postscript-family-disable.html
fast/text/user-installed-fonts/shadow-postscript-family.html
fast/text/user-installed-fonts/shadow-postscript.html
fast/text/user-installed-fonts/shadow.html
- css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::ensureLocalFontFacesForFamilyRegistered):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::initializeFontStyle):
- page/Settings.yaml:
- platform/graphics/FontCache.h:
- platform/graphics/FontDescription.cpp:
(WebCore::FontDescription::FontDescription):
- platform/graphics/FontDescription.h:
(WebCore::FontDescription::mayRepresentUserInstalledFont const):
(WebCore::FontDescription::setMayRepresentUserInstalledFont):
(WebCore::FontDescription::operator== const):
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontDatabase::singleton):
(WebCore::FontDatabase::singletonAllowingUserInstalledFonts):
(WebCore::FontDatabase::singletonDisallowingUserInstalledFonts):
(WebCore::FontDatabase::collectionForFamily):
(WebCore::FontDatabase::fontForPostScriptName):
(WebCore::FontDatabase::FontDatabase):
(WebCore::FontCache::getFontSelectionCapabilitiesInFamily):
(WebCore::platformFontLookupWithFamily):
(WebCore::invalidateFontCache):
(WebCore::fontWithFamily):
- style/StyleResolveForDocument.cpp:
(WebCore::Style::resolveForDocument):
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::setShouldDisallowUserInstalledFonts):
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
Source/WebCore/PAL:
- pal/spi/cocoa/CoreTextSPI.h:
Source/WebKit:
- Shared/WebPreferences.yaml:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetShouldDisallowUserInstalledFonts):
(WKPreferencesGetShouldDisallowUserInstalledFonts):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _shouldDisallowUserInstalledFonts]):
(-[WKPreferences _setShouldDisallowUserInstalledFonts:]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
Tools:
- WebKitTestRunner/InjectedBundle/ActivateFonts.h:
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::resetAfterTest):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
(WTR::resourcesDirectoryURL):
(WTR::activateFonts):
(WTR::installFakeHelvetica):
(WTR::uninstallFakeHelvetica):
- WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::installFakeHelvetica):
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- WebKitTestRunner/fonts/FakeHelvetica-Helvetica-400.ttf: Added.
- WebKitTestRunner/fonts/FakeHelvetica-Helvetica-500.ttf: Added.
- WebKitTestRunner/fonts/FakeHelvetica-Helvetica2-400.ttf: Added.
- WebKitTestRunner/fonts/FakeHelvetica-Helvetica2-500.ttf: Added.
LayoutTests:
- fast/text/user-installed-font-expected.html: Added.
- fast/text/user-installed-font.html: Added.
- fast/text/user-installed-fonts/disable-expected-mismatch.html: Added.
- fast/text/user-installed-fonts/disable.html: Added.
- fast/text/user-installed-fonts/shadow-disable-expected-mismatch.html: Added.
- fast/text/user-installed-fonts/shadow-disable.html: Added.
- fast/text/user-installed-fonts/shadow-expected.html: Added.
- fast/text/user-installed-fonts/shadow-family-disable-expected-mismatch.html: Added.
- fast/text/user-installed-fonts/shadow-family-disable.html: Added.
- fast/text/user-installed-fonts/shadow-family-expected.html: Added.
- fast/text/user-installed-fonts/shadow-family.html: Added.
- fast/text/user-installed-fonts/shadow-postscript-disable-expected-mismatch.html: Added.
- fast/text/user-installed-fonts/shadow-postscript-disable.html: Added.
- fast/text/user-installed-fonts/shadow-postscript-expected.html: Added.
- fast/text/user-installed-fonts/shadow-postscript-family-disable-expected-mismatch.html: Added.
- fast/text/user-installed-fonts/shadow-postscript-family-disable.html: Added.
- fast/text/user-installed-fonts/shadow-postscript-family-expected.html: Added.
- fast/text/user-installed-fonts/shadow-postscript-family.html: Added.
- fast/text/user-installed-fonts/shadow-postscript.html: Added.
- fast/text/user-installed-fonts/shadow.html: Added.
- platform/gtk/TestExpectations:
- platform/ios-wk1/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- platform/win/TestExpectations:
- platform/wpe/TestExpectations:
- 12:16 PM EnvironmentVariables edited by
- Document GIGACAGE_ENABLED envvar (diff)
- 12:09 PM Changeset in webkit [225640] by
-
- 5 edits30 moves20 adds22 deletes in trunk/LayoutTests
Move all tests under http/tests/loading/resourceLoadStatistics/ to http/tests/resourceLoadStatistics/ and remove expected failures
https://bugs.webkit.org/show_bug.cgi?id=180502
<rdar://problem/35891216>
Reviewed by Brent Fulgham.
This change moves all tests under http/tests/loading/resourceLoadStatistics/ to http/tests/resourceLoadStatistics/
and removes expected failures.
The one exception is the full removal of
http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash.html
which never seems to have worked properly. Follow-up work for this is tracked in <rdar://problem/35887722>.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html: Removed.
- http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html: Removed.
- http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store.html: Removed.
- http/tests/loading/resourceLoadStatistics/grandfathering-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/grandfathering.html: Removed.
- http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html: Removed.
- http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html: Removed.
- http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html: Removed.
- http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash.html: Removed.
This test is not being added back under http/tests/resourceLoadStatistics/ since it doesn't seem to work.
Follow-up work for this is tracked in <rdar://problem/35887722>.
- http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html: Removed.
- http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html: Removed.
- http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html: Removed.
- http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction.html: Removed.
- http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html: Removed.
- http/tests/loading/resourceLoadStatistics/prune-statistics-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/prune-statistics.html: Removed.
- http/tests/loading/resourceLoadStatistics/telemetry-generation-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/telemetry-generation.html: Removed.
- http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html: Removed.
- http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html: Removed.
- http/tests/loading/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html: Removed.
- http/tests/loading/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-expected.txt: Removed.
- http/tests/loading/resourceLoadStatistics/user-interaction-reported-after-website-data-removal.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-expected.txt.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-expected.txt.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-expected.txt.
- http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-expected.txt.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-expected.txt.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-expected.txt.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-expected.txt.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-expected.txt.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html.
- http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store.html.
- http/tests/resourceLoadStatistics/grandfathering-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/grandfathering-expected.txt.
- http/tests/resourceLoadStatistics/grandfathering.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/grandfathering.html.
- http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-expected.txt.
- http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html.
- http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-expected.txt.
- http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html.
- http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion-expected.txt.
- http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html.
- http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt.
- http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html.
- http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt.
- http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-expected.txt.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-expected.txt.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html.
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prevalent-resource-with-user-interaction.html.
- http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction-expected.txt.
- http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prevalent-resource-without-user-interaction.html.
- http/tests/resourceLoadStatistics/prune-statistics-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prune-statistics-expected.txt.
- http/tests/resourceLoadStatistics/prune-statistics.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/prune-statistics.html.
- http/tests/resourceLoadStatistics/resources/get-cookies.php:
- http/tests/resourceLoadStatistics/telemetry-generation-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/telemetry-generation-expected.txt.
- http/tests/resourceLoadStatistics/telemetry-generation.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/telemetry-generation.html.
- http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction-expected.txt.
- http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html.
- http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame-expected.txt.
- http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html.
- http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time-expected.txt.
- http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html.
- http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-expected.txt: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/user-interaction-reported-after-website-data-removal-expected.txt.
- http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal.html: Copied from LayoutTests/http/tests/loading/resourceLoadStatistics/user-interaction-reported-after-website-data-removal.html.
- platform/ios/TestExpectations:
Removed 'loading' directory from path and made sure no tests are expected to fail.
Skipped tests that rely on UIHelper.activateAt() since it doesn't produce a user
gesture that ITP captures on iOS.
- platform/mac-wk2/TestExpectations:
Removed 'loading' directory from path and made sure no tests are expected to fail.
- platform/wk2/TestExpectations:
Removed 'loading' directory from path and made sure no tests are expected to fail.
- 12:04 PM Changeset in webkit [225639] by
-
- 19 edits9 adds in trunk
[Web App Manifest] Support display-mode media feature
https://bugs.webkit.org/show_bug.cgi?id=180376
rdar://problem/35837993
Patch by David Quesada <david_quesada@apple.com> on 2017-12-07
Reviewed by Geoffrey Garen.
Source/WebCore:
Tests: applicationmanifest/display-mode-subframe.html
applicationmanifest/display-mode.html
- Modules/applicationmanifest/ApplicationManifest.h:
(WebCore::ApplicationManifest::encode const):
(WebCore::ApplicationManifest::decode):
- Modules/applicationmanifest/ApplicationManifestParser.cpp:
(WebCore::ApplicationManifestParser::parseManifest):
(WebCore::ApplicationManifestParser::parseDisplay):
- Modules/applicationmanifest/ApplicationManifestParser.h:
Add a 'display' property to ApplicationManifest and have ApplicationManifestParser
populate it by parsing the 'display' property from the raw manifest.
- css/CSSValueKeywords.in:
- css/MediaFeatureNames.h:
- css/MediaQueryEvaluator.cpp:
(WebCore::displayModeEvaluate):
To evaluate whether a display-mode query matches, compare the parameter to the
display mode of the manifest applied to the main frame. If there is no manifest,
use the fallback display mode 'browser' - the spec mandates that display-mode
must be exposed even if there is no applied manifest.
- css/MediaQueryExpression.cpp:
(WebCore::featureWithValidIdent):
(WebCore::isFeatureValidWithoutValue):
Source/WebKit:
- UIProcess/API/Cocoa/_WKApplicationManifest.h:
- UIProcess/API/Cocoa/_WKApplicationManifest.mm:
(-[_WKApplicationManifest initWithCoder:]):
(-[_WKApplicationManifest encodeWithCoder:]):
(-[_WKApplicationManifest displayMode]):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
(WebCore::operator<<):
(ApplicationManifestParserTest::testDisplay):
(TEST_F):
Add unit tests for the parsing of the 'display' manifest property.
- TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/display-mode.html: Added.
Update API tests to include _WKApplicationManifest.displayMode.
- WebKitTestRunner/TestController.cpp:
(WTR::parseStringTestHeaderValueAsRelativePath):
(WTR::updateTestOptionsFromTestHeader):
- WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
Teach WKTR to look for and apply an app manifest. A new <!--webkit-test-runner-->
directive 'applicationManifest' can specify a path (relative to the test file itself)
to a JSON app manifest to be applied to the web view before running the test.
LayoutTests:
- applicationmanifest/display-mode-expected.txt: Added.
- applicationmanifest/display-mode-subframe-expected.txt: Added.
- applicationmanifest/display-mode-subframe.html: Added.
- applicationmanifest/display-mode.html: Added.
- applicationmanifest/resources/display-mode-subframe-1.html: Added.
- applicationmanifest/resources/standalone.manifest: Added.
- 11:56 AM Changeset in webkit [225638] by
-
- 13 edits in trunk
Creating a second AVPlayerItemVideoOutput causes flakey failures
https://bugs.webkit.org/show_bug.cgi?id=177119
<rdar://problem/34507977>
Reviewed by Dean Jackson.
Source/WebCore:
Rather than having two concurrent AVPlayerItemVideoOutputs when painting to OpenGL,
use only one, but with the OpenGL compatibility flags enabled, for both 3D and 2D
canvas painting.
Of course, once this is fixed, the test breaks again because VideoTextureCopierCV is
stomping on top of some WebGL state set by the test. Rather than expand the
VideoTextureCopierCV's GraphicsStateSaver, use a totally separate (but shared) GL context to
implement the texture copy, so that its own state will not affect the state of the WebGL
context.
This necessitates adding a new createShared() factory for GraphicsContext3D. Since this is only
used on Cocoa platforms (for now), make it platform specific, and modify the other implementations
only so far as to throw assertions if somehow a shared context pointer is passed into their
constructors.
Drive-by fixes:
- These changes exposed some test failures, which were off-by-1-or-2 errors in the color
output of videos painted into WebGL contexts. The Y' parameter needs to be scaled by 16/255
for video-range conversions and the CbCr vales by 128/255 (rather than just 0.5). Make the
color transforms a full 4x4 matrix and do the scaling in the matrix rather than tracked by a
separate uniform.
- There was a slight error in WebCoreDecompressionSession that could cause seeks to never
complete because incoming frames would be skipped if their startTime was in the past
(rather than their startTime + duration being in the past).
- The matrix name comparison should use CFEqual rather than pointer equality to test.
- iOS currently has a bug where the red and green color channels will be reversed when
uploading BGRA pixel formatted data to a texture; work around this bug for now.
- platform/graphics/GraphicsContext3D.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastPixelBuffer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::videoOutputHasAvailableFrame):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::copyVideoTextureToPlatformTexture):
(WebCore::MediaPlayerPrivateAVFoundationObjC::nativeImageForCurrentTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange):
- platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
- platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
(WebCore::GraphicsContext3D::createShared):
(WebCore::GraphicsContext3D::GraphicsContext3D):
- platform/graphics/cv/VideoTextureCopierCV.cpp:
(WebCore::VideoTextureCopierCV::VideoTextureCopierCV):
(WebCore::VideoTextureCopierCV::~VideoTextureCopierCV):
(WebCore::transferFunctionFromString):
(WebCore::YCbCrToRGBMatrixForRangeAndTransferFunction):
(WebCore::VideoTextureCopierCV::initializeUVContextObjects):
(WebCore::VideoTextureCopierCV::copyImageToPlatformTexture):
(WebCore::VideoTextureCopierCV::copyVideoTextureToPlatformTexture):
- platform/graphics/cv/VideoTextureCopierCV.h:
(WebCore::VideoTextureCopierCV::context):
- platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
LayoutTests:
- platform/mac/TestExpectations:
- 11:46 AM Changeset in webkit [225637] by
-
- 6 edits4 adds in trunk
[EME] Support generateRequest() in CDMFairPlayStreaming
https://bugs.webkit.org/show_bug.cgi?id=179752
Reviewed by Eric Carlson.
Source/WebCore:
Tests: platform/mac/media/encrypted-media/fps-createSession.html
platform/mac/media/encrypted-media/fps-generateRequest.html
Add support for generating license requests from initialization data in
CDMFairPlayStreaming. To do so, add explicit checks for FairPlay Steraming requirements:
reqests will fail if no server certificate exists, and will fail if no content key id exists
in the initialization data.
- platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
(WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsSinf):
(WebCore::CDMPrivateFairPlayStreaming::sanitizeSinf):
(WebCore::CDMFactory::platformRegisterFactories):
- platform/graphics/avfoundation/CDMFairPlayStreaming.h:
- platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::requestLicense):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequest):
LayoutTests:
- platform/mac/TestExpectations:
- platform/mac/media/encrypted-media/fps-createSession-expected.txt: Added.
- platform/mac/media/encrypted-media/fps-createSession.html: Added.
- platform/mac/media/encrypted-media/fps-generateRequest-expected.txt: Added.
- platform/mac/media/encrypted-media/fps-generateRequest.html: Added.
- 11:41 AM Changeset in webkit [225636] by
-
- 2 edits in trunk/Tools
Add WebRTC watchlist rule, update MediaStream rule
https://bugs.webkit.org/show_bug.cgi?id=180536
<rdar://problem/35914066>
Reviewed by Youenn Fablet.
- Scripts/webkitpy/common/config/watchlist:
- 11:25 AM Changeset in webkit [225635] by
-
- 2 edits in trunk/Source/WebCore
[EME] Possible deadlock when aborting a SourceBufferPrivateAVFObjC append operation
https://bugs.webkit.org/show_bug.cgi?id=180486
Reviewed by Eric Carlson.
It's possible that an abort() operation which is blocked on the ongoing appendBuffer()
operation completing will deadlock forever, with either the willProvideContentKeyRequest
or didProvideContentKeyRequest callbacks blocking waiting to be run on the main thread
(which is itself blocked waiting for the append operation to complete).
To break this deadlock, add a new abortSemaphore which is signaled in the abort() method
and have the willProvide... and didProvide... methods block both on their own semaphores
as well as the abortSemaphore, allowing them to break out even if their main thread calls
never get a chance to execute.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(-[WebAVStreamDataParserListener streamDataParserWillProvideContentKeyRequestInitializationData:forTrackID:]):
(-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]):
(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::abort):
- 11:06 AM Changeset in webkit [225634] by
-
- 8 edits in trunk/Source
Simplify log channel configuration UI
https://bugs.webkit.org/show_bug.cgi?id=180527
<rdar://problem/35908382>
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/protocol/Console.json:
Source/WebCore:
No new tests -- no change in functionality.
- inspector/agents/WebConsoleAgent.cpp:
(WebCore::WebConsoleAgent::getLoggingChannels):
(WebCore::channelConfigurationForString):
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Models/LoggingChannel.js:
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createGeneralSettingsView):
- 10:54 AM Changeset in webkit [225633] by
-
- 3 edits in trunk/Source/WebCore
ServiceWorker Inspector: Use the SW's scope url for the remote inspection target metadata
https://bugs.webkit.org/show_bug.cgi?id=180519
Reviewed by Youenn Fablet.
- workers/service/context/ServiceWorkerDebuggable.cpp:
(WebCore::ServiceWorkerDebuggable::ServiceWorkerDebuggable):
- workers/service/context/ServiceWorkerDebuggable.h:
Switch to the scope URL for the remote inspector target info.
- 10:49 AM Changeset in webkit [225632] by
-
- 23 edits4 moves in trunk/Source
[Re-landing r225620] Refactoring: Rename ScrambledPtr to Poisoned.
https://bugs.webkit.org/show_bug.cgi?id=180514
Reviewed by Saam Barati and JF Bastien.
Re-landing r225620 with speculative build fix for GCC 7.
Source/JavaScriptCore:
- API/JSCallbackObject.h:
- API/JSObjectRef.cpp:
(classInfoPrivate):
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- assembler/MacroAssemblerCodeRef.h:
(JSC::FunctionPtr::FunctionPtr):
(JSC::FunctionPtr::value const):
(JSC::FunctionPtr::executableAddress const):
(JSC::ReturnAddressPtr::ReturnAddressPtr):
(JSC::ReturnAddressPtr::value const):
(JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
(JSC::MacroAssemblerCodePtr::createFromExecutableAddress):
(JSC::MacroAssemblerCodePtr::poisonedPtr const):
(JSC::MacroAssemblerCodePtr:: const):
(JSC::MacroAssemblerCodePtr::operator! const):
(JSC::MacroAssemblerCodePtr::operator== const):
(JSC::MacroAssemblerCodePtr::emptyValue):
(JSC::MacroAssemblerCodePtr::deletedValue):
(JSC::MacroAssemblerCodePtr::scrambledPtr const): Deleted.
- b3/B3LowerMacros.cpp:
- b3/testb3.cpp:
(JSC::B3::testInterpreter):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::compileCheckSubClass):
(JSC::DFG::SpeculativeJIT::compileNewStringObject):
(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateDestructibleObject):
- jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::loadArgumentWithSpecificClass):
- jit/ThunkGenerators.cpp:
(JSC::virtualThunkFor):
(JSC::boundThisNoArgsFunctionCallGenerator):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::handleHostCall):
(JSC::LLInt::setUpCall):
- llint/LowLevelInterpreter64.asm:
- runtime/InitializeThreading.cpp:
(JSC::initializeThreading):
- runtime/JSCPoisonedPtr.cpp: Copied from Source/JavaScriptCore/runtime/JSCScrambledPtr.cpp.
(JSC::initializePoison):
(JSC::initializeScrambledPtrKeys): Deleted.
- runtime/JSCPoisonedPtr.h: Copied from Source/JavaScriptCore/runtime/JSCScrambledPtr.h.
- runtime/JSCScrambledPtr.cpp: Removed.
- runtime/JSCScrambledPtr.h: Removed.
- runtime/JSDestructibleObject.h:
(JSC::JSDestructibleObject::classInfo const):
- runtime/JSSegmentedVariableObject.h:
(JSC::JSSegmentedVariableObject::classInfo const):
- runtime/Structure.h:
- runtime/VM.h:
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/Poisoned.cpp: Copied from Source/WTF/wtf/ScrambledPtr.cpp.
(WTF::makePoison):
(WTF::makeScrambledPtrKey): Deleted.
- wtf/Poisoned.h: Copied from Source/WTF/wtf/ScrambledPtr.h.
(WTF::PoisonedImpl::PoisonedImpl):
(WTF::PoisonedImpl::assertIsPoisoned const):
(WTF::PoisonedImpl::assertIsNotPoisoned const):
(WTF::PoisonedImpl::unpoisoned const):
(WTF::PoisonedImpl::operator-> const):
(WTF::PoisonedImpl::bits const):
(WTF::PoisonedImpl::operator! const):
(WTF::PoisonedImpl::operator bool const):
(WTF::PoisonedImpl::operator== const):
(WTF::PoisonedImpl::operator==):
(WTF::PoisonedImpl::operator=):
(WTF::PoisonedImpl::poison):
(WTF::PoisonedImpl::unpoison):
(WTF::ScrambledPtr::ScrambledPtr): Deleted.
(WTF::ScrambledPtr::assertIsScrambled const): Deleted.
(WTF::ScrambledPtr::assertIsNotScrambled const): Deleted.
(WTF::ScrambledPtr::descrambled const): Deleted.
(WTF::ScrambledPtr::operator-> const): Deleted.
(WTF::ScrambledPtr::bits const): Deleted.
(WTF::ScrambledPtr::operator! const): Deleted.
(WTF::ScrambledPtr::operator bool const): Deleted.
(WTF::ScrambledPtr::operator== const): Deleted.
(WTF::ScrambledPtr::operator==): Deleted.
(WTF::ScrambledPtr::operator=): Deleted.
(WTF::ScrambledPtr::scramble): Deleted.
(WTF::ScrambledPtr::descramble): Deleted.
- wtf/ScrambledPtr.cpp: Removed.
- wtf/ScrambledPtr.h: Removed.
- 10:15 AM Changeset in webkit [225631] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed Windows build fix.
- PlatformWin.cmake:
- 9:13 AM Changeset in webkit [225630] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, rolling out r224931.
This test is no longer in the tree.
Reverted changeset:
"imported/w3c/web-platform-tests/2dcontext/the-canvas-
state/canvas_state_restore_001.htm is an ImageOnlyFailure"
https://bugs.webkit.org/show_bug.cgi?id=179786
https://trac.webkit.org/changeset/224931
- 8:32 AM Changeset in webkit [225629] by
-
- 23 edits3 moves1 add1 delete in trunk/Source
Unreviewed, rolling out r225620
https://bugs.webkit.org/show_bug.cgi?id=180514
<rdar://problem/35901694>
It broke the build with GCC 7, and I don't know how to fix it.
Source/JavaScriptCore:
- API/JSCallbackObject.h:
- API/JSObjectRef.cpp:
(classInfoPrivate):
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- assembler/MacroAssemblerCodeRef.h:
(JSC::FunctionPtr::FunctionPtr):
(JSC::FunctionPtr::value const):
(JSC::FunctionPtr::executableAddress const):
(JSC::ReturnAddressPtr::ReturnAddressPtr):
(JSC::ReturnAddressPtr::value const):
(JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
(JSC::MacroAssemblerCodePtr::createFromExecutableAddress):
(JSC::MacroAssemblerCodePtr::scrambledPtr const):
(JSC::MacroAssemblerCodePtr:: const):
(JSC::MacroAssemblerCodePtr::operator! const):
(JSC::MacroAssemblerCodePtr::operator== const):
(JSC::MacroAssemblerCodePtr::emptyValue):
(JSC::MacroAssemblerCodePtr::deletedValue):
(JSC::MacroAssemblerCodePtr::poisonedPtr const): Deleted.
- b3/B3LowerMacros.cpp:
- b3/testb3.cpp:
(JSC::B3::testInterpreter):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::compileCheckSubClass):
(JSC::DFG::SpeculativeJIT::compileNewStringObject):
(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateDestructibleObject):
- jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::loadArgumentWithSpecificClass):
- jit/ThunkGenerators.cpp:
(JSC::virtualThunkFor):
(JSC::boundThisNoArgsFunctionCallGenerator):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::handleHostCall):
(JSC::LLInt::setUpCall):
- llint/LowLevelInterpreter64.asm:
- runtime/InitializeThreading.cpp:
(JSC::initializeThreading):
- runtime/JSCScrambledPtr.cpp: Renamed from Source/JavaScriptCore/runtime/JSCPoisonedPtr.cpp.
(JSC::initializeScrambledPtrKeys):
- runtime/JSCScrambledPtr.h: Renamed from Source/JavaScriptCore/runtime/JSCPoisonedPtr.h.
- runtime/JSDestructibleObject.h:
(JSC::JSDestructibleObject::classInfo const):
- runtime/JSSegmentedVariableObject.h:
(JSC::JSSegmentedVariableObject::classInfo const):
- runtime/Structure.h:
- runtime/VM.h:
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/Poisoned.h: Removed.
- wtf/ScrambledPtr.cpp: Renamed from Source/WTF/wtf/Poisoned.cpp.
(WTF::makeScrambledPtrKey):
- wtf/ScrambledPtr.h: Added.
(WTF::ScrambledPtr::ScrambledPtr):
(WTF::ScrambledPtr::assertIsScrambled const):
(WTF::ScrambledPtr::assertIsNotScrambled const):
(WTF::ScrambledPtr::descrambled const):
(WTF::ScrambledPtr::operator-> const):
(WTF::ScrambledPtr::bits const):
(WTF::ScrambledPtr::operator! const):
(WTF::ScrambledPtr::operator bool const):
(WTF::ScrambledPtr::operator== const):
(WTF::ScrambledPtr::operator==):
(WTF::ScrambledPtr::operator=):
(WTF::ScrambledPtr::scramble):
(WTF::ScrambledPtr::descramble):
- 8:11 AM Changeset in webkit [225628] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed build fix after r225622.
- StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::postMessageToServiceWorkerFromServiceWorker):
- 7:59 AM Changeset in webkit [225627] by
-
- 5 edits in trunk
[WPE][GTK] Freeze WebKit version in user agent
https://bugs.webkit.org/show_bug.cgi?id=180475
Reviewed by Carlos Garcia Campos.
.:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Source/WebCore:
Apple has frozen the WebKit version in its user agent, so we should too, at the same point.
- platform/glib/UserAgentGLib.cpp:
(WebCore::versionForUAString):
- 7:36 AM Changeset in webkit [225626] by
-
- 6 edits in trunk/LayoutTests
Update imported/w3c/web-platform-tests/css/css-pseudo-4/marker-font-properties.html from upstream.
https://bugs.webkit.org/show_bug.cgi?id=177362
Unreviewed test gardening.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-pseudo-4/marker-font-properties-expected.html:
- web-platform-tests/css/css-pseudo-4/marker-font-properties.html:
LayoutTests:
This makes it pass on GTK and WPE (at least locally).
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 5:27 AM Changeset in webkit [225625] by
-
- 2 edits in trunk/LayoutTests
[GTK] Enable imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-api-texttracks.html.
https://bugs.webkit.org/show_bug.cgi?id=168799
Unreviewed test gardening.
It hasn't failed in half a year (last failure was on r216594). I don't know
what fixed it, but there doesn't seem to be a reason to keep the flaky
annotation.
- platform/gtk/TestExpectations:
- 3:54 AM Changeset in webkit [225624] by
-
- 1 edit44 deletes in trunk/LayoutTests
[css-grid] Remove duplicated tests that are now present in WPT
https://bugs.webkit.org/show_bug.cgi?id=180511
Reviewed by Youenn Fablet.
These tests have been moved to WPT upstream repository in the following
Blink commits:
- https://chromium-review.googlesource.com/c/chromium/src/+/674931
- https://chromium-review.googlesource.com/c/chromium/src/+/730707
As we have just updated the WPT imported tests in r225561,
we can get rid now of the duplicates.
- fast/css-grid-layout/absolute-positioning-definite-sizes-expected.txt: Removed.
- fast/css-grid-layout/absolute-positioning-definite-sizes.html: Removed.
- fast/css-grid-layout/absolute-positioning-grid-container-containing-block-expected.txt: Removed.
- fast/css-grid-layout/absolute-positioning-grid-container-containing-block.html: Removed.
- fast/css-grid-layout/absolute-positioning-grid-container-parent-expected.txt: Removed.
- fast/css-grid-layout/absolute-positioning-grid-container-parent.html: Removed.
- fast/css-grid-layout/fit-content-columns-expected.html: Removed.
- fast/css-grid-layout/fit-content-columns.html: Removed.
- fast/css-grid-layout/fit-content-rows-expected.html: Removed.
- fast/css-grid-layout/fit-content-rows.html: Removed.
- fast/css-grid-layout/grid-change-fit-content-argument-expected.txt: Removed.
- fast/css-grid-layout/grid-change-fit-content-argument.html: Removed.
- fast/css-grid-layout/grid-positioned-children-writing-modes-expected.html: Removed.
- fast/css-grid-layout/grid-positioned-children-writing-modes.html: Removed.
- fast/css-grid-layout/grid-positioned-item-dynamic-change-expected.html: Removed.
- fast/css-grid-layout/grid-positioned-item-dynamic-change.html: Removed.
- fast/css-grid-layout/grid-positioned-items-background-expected.html: Removed.
- fast/css-grid-layout/grid-positioned-items-background-rtl-expected.html: Removed.
- fast/css-grid-layout/grid-positioned-items-background-rtl.html: Removed.
- fast/css-grid-layout/grid-positioned-items-background.html: Removed.
- fast/css-grid-layout/grid-positioned-items-content-alignment-expected.txt: Removed.
- fast/css-grid-layout/grid-positioned-items-content-alignment-rtl-expected.txt: Removed.
- fast/css-grid-layout/grid-positioned-items-content-alignment-rtl.html: Removed.
- fast/css-grid-layout/grid-positioned-items-content-alignment.html: Removed.
- fast/css-grid-layout/grid-positioned-items-gaps-expected.txt: Removed.
- fast/css-grid-layout/grid-positioned-items-gaps-rtl-expected.txt: Removed.
- fast/css-grid-layout/grid-positioned-items-gaps-rtl.html: Removed.
- fast/css-grid-layout/grid-positioned-items-gaps.html: Removed.
- fast/css-grid-layout/grid-positioned-items-implicit-grid-expected.txt: Removed.
- fast/css-grid-layout/grid-positioned-items-implicit-grid-line-expected.txt: Removed.
- fast/css-grid-layout/grid-positioned-items-implicit-grid-line.html: Removed.
- fast/css-grid-layout/grid-positioned-items-implicit-grid.html: Removed.
- fast/css-grid-layout/grid-positioned-items-padding-expected.txt: Removed.
- fast/css-grid-layout/grid-positioned-items-padding.html: Removed.
- fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line-expected.txt: Removed.
- fast/css-grid-layout/grid-positioned-items-unknown-named-grid-line.html: Removed.
- fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track-expected.txt: Removed.
- fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track.html: Removed.
- fast/css-grid-layout/grid-sizing-positioned-items-expected.txt: Removed.
- fast/css-grid-layout/grid-sizing-positioned-items.html: Removed.
- fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks-expected.txt: Removed.
- fast/css-grid-layout/positioned-grid-items-should-not-create-implicit-tracks.html: Removed.
- fast/css-grid-layout/positioned-grid-items-should-not-take-up-space-expected.txt: Removed.
- fast/css-grid-layout/positioned-grid-items-should-not-take-up-space.html: Removed.
- 1:32 AM Changeset in webkit [225623] by
-
- 3 edits in trunk/Source/WebCore
[WPE][GTK] Update user agent quirk version strings
https://bugs.webkit.org/show_bug.cgi?id=180474
Reviewed by Carlos Garcia Campos.
- platform/UserAgentQuirks.cpp:
(WebCore::UserAgentQuirks::stringForQuirk):
- platform/glib/UserAgentGLib.cpp:
(WebCore::platformVersionForUAString):