Timeline
Sep 14, 2017:
- 10:10 PM Changeset in webkit [222076] by
-
- 2 edits in tags/Safari-605.1.6.0.1/Source/WebCore/PAL
Merged r222072. rdar://problem/34452503
- 10:08 PM Changeset in webkit [222075] by
-
- 7 edits in tags/Safari-605.1.6.0.1/Source
Versioning.
- 10:04 PM Changeset in webkit [222074] by
-
- 1 copy in tags/Safari-605.1.6.0.1
New tag.
- 8:56 PM Changeset in webkit [222073] by
-
- 10 edits2 adds in trunk
Add Cache API support of records persistency
https://bugs.webkit.org/show_bug.cgi?id=176845
Patch by Youenn Fablet <youenn@apple.com> on 2017-09-14
Reviewed by Alex Christensen.
Source/WebKit:
Introducing asynchronous opening of Cache objects.
When opening, Cache objects will read the list of records from the disk.
They keep in memory the necessary information to make any match or remove request without reading further information from the disk.
Cache objects thus keep during the opening time a list of callbacks to call when being opened.
Persistent storage is implemented through NetworkCache::Storage.
A Cache object is added a unique name so that records from a Cache cannot be mixed with records from another Cache.
This unique name is stored persistenly in addition to the Cache name.
This unique name is used as the key type given to the storage.
Request, response and responsebody data are no longer kept by the Cache object.
For regular sessions, this information is kept on the disk through NetworkCache::Storage.
Insertion time is also stored persistently so as to keep the ordering of the records consistent.
For private browsing sessions, this information is kept in a map owned by the Caches object.
RecordData is renamed to RecordInformation as it now only contains the information used to handle the different Cache actions.
For every record retrieval action, a ReadRecordTaskCounter is used.
Its purpose is to allow retrieving the record data on the disk in parallel,
and then send back the information when everything is read.
In case some records cannot be correctly read, they are removed automatically at that point.
The current implementation loads all information in memory including response bodies.
Further improvements might consider streaming the response bodies progressively.
For every stored record, an AsynchronousPutTaskCounter is used.
Its purpose is also to wait for all put actions to be completed before executing the completion callback.
In some cases, a record needs to be overriden.
In that case, as per the specification, only the data related to the response is to be modified.
This requires reading the record request data on disk before actually writing the whole record again.
This is implemented in updateRecordToDisk.
The Cache object is delegating all record writing/reading tasks to its Caches object.
The Caches object is responsible to handle persistent/private sessions.
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::retrieveRecords): Making sure Cache object is opened.
(WebKit::CacheStorage::Engine::readCache): Ditto.
(WebKit::CacheStorage::Engine::unlock): Disposing the cache without going through initializing it.
- NetworkProcess/cache/CacheStorageEngineCache.cpp:
(WebKit::CacheStorage::computeKeyURL):
(WebKit::CacheStorage::queryCache):
(WebKit::CacheStorage::updateVaryInformation):
(WebKit::CacheStorage::Cache::toRecordInformation):
(WebKit::CacheStorage::Cache::Cache):
(WebKit::CacheStorage::Cache::open):
(WebKit::CacheStorage::Cache::finishOpening):
(WebKit::CacheStorage::ReadRecordTaskCounter::create):
(WebKit::CacheStorage::ReadRecordTaskCounter::~ReadRecordTaskCounter):
(WebKit::CacheStorage::ReadRecordTaskCounter::appendRecord):
(WebKit::CacheStorage::ReadRecordTaskCounter::ReadRecordTaskCounter):
(WebKit::CacheStorage::Cache::retrieveRecord):
(WebKit::CacheStorage::Cache::retrieveRecords):
(WebKit::CacheStorage::Cache::addRecord):
(WebKit::CacheStorage::Cache::recordsFromURL):
(WebKit::CacheStorage::Cache::recordsFromURL const):
(WebKit::CacheStorage::AsynchronousPutTaskCounter::create):
(WebKit::CacheStorage::AsynchronousPutTaskCounter::~AsynchronousPutTaskCounter):
(WebKit::CacheStorage::AsynchronousPutTaskCounter::onCompletion):
(WebKit::CacheStorage::AsynchronousPutTaskCounter::setError):
(WebKit::CacheStorage::Cache::put):
(WebKit::CacheStorage::Cache::remove):
(WebKit::CacheStorage::Cache::removeFromRecordList):
(WebKit::CacheStorage::Cache::writeRecordToDisk):
(WebKit::CacheStorage::Cache::updateRecordToDisk):
(WebKit::CacheStorage::Cache::readRecordFromDisk):
(WebKit::CacheStorage::Cache::removeRecordFromDisk):
(WebKit::CacheStorage::Cache::encode):
(WebKit::CacheStorage::decodeRecordHeader):
(WebKit::CacheStorage::Cache::decode):
(WebKit::CacheStorage::Cache::keys const):
- NetworkProcess/cache/CacheStorageEngineCache.h:
(WebKit::CacheStorage::Cache::isOpened const):
(WebKit::CacheStorage::Cache::uniqueName const):
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::initialize):
(WebKit::CacheStorage::Caches::open):
(WebKit::CacheStorage::Caches::remove):
(WebKit::CacheStorage::Caches::dispose):
(WebKit::CacheStorage::encodeCacheNames):
(WebKit::CacheStorage::decodeCachesNames):
(WebKit::CacheStorage::Caches::readCachesFromDisk):
(WebKit::CacheStorage::Caches::readRecordsList):
(WebKit::CacheStorage::Caches::writeRecord):
(WebKit::CacheStorage::Caches::readRecord):
(WebKit::CacheStorage::Caches::removeRecord):
(WebKit::CacheStorage::Caches::clearMemoryRepresentation):
(WebKit::CacheStorage::Caches::salt const):
- NetworkProcess/cache/CacheStorageEngineCaches.h:
(WebKit::CacheStorage::Caches::shouldPersist const):
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::store):
- NetworkProcess/cache/NetworkCacheStorage.h:
(WebKit::NetworkCache::Storage::writeWithoutWaiting):
LayoutTests:
- http/tests/cache-storage/cache-persistency.https.html:
- http/tests/cache-storage/cache-records-persistency.https-expected.txt: Added.
- http/tests/cache-storage/cache-records-persistency.https.html: Added.
- 8:15 PM Changeset in webkit [222072] by
-
- 2 edits in trunk/Source/WebCore/PAL
Fixed building with the Apple internal macOS 10.12 SDK.
- pal/spi/cocoa/PassKitSPI.h: Avoid redefining types that are defined in the SDK.
- 7:23 PM Changeset in webkit [222071] by
-
- 6 edits1 add in trunk/Source
We should have a way of preventing a caller from making a tail call and we should use it for ProxyObject instead of using build flags
https://bugs.webkit.org/show_bug.cgi?id=176863
Reviewed by Keith Miller.
Source/JavaScriptCore:
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- runtime/ProxyObject.cpp:
(JSC::performProxyGet):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::getOwnPropertySlotCommon):
(JSC::ProxyObject::performPut):
(JSC::performProxyCall):
(JSC::performProxyConstruct):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):
(JSC::ProxyObject::performDefineOwnProperty):
(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performSetPrototype):
(JSC::ProxyObject::performGetPrototype):
Source/WTF:
This patch adds a way for a particular function to mark
that none of its calls should be tail calls.
It's useful in the following example if you don't want foo
to do a tail call to bar or baz:
int foo(bool b)
{
NO_TAIL_CALLS();
if (b)
return baz();
return bar();
}
Note that we're not saying that bar/baz should not be tail callable. bar/baz
may have other callers that are allowed to tail call it. This macro just says
that foo itself will not perform any tail calls.
- WTF.xcodeproj/project.pbxproj:
- wtf/NoTailCalls.h: Added.
(WTF::NoTailCalls::~NoTailCalls):
- 6:42 PM Changeset in webkit [222070] by
-
- 4 edits in trunk
.:
[WinCairo] Add an option to build WebKitLegacy or WebKit
https://bugs.webkit.org/show_bug.cgi?id=176891
Added an option to build WebKitLegacy or WebKit.
Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2017-09-14
Reviewed by Alex Christensen.
- Source/cmake/OptionsWin.cmake:
Tools:
[WinCairo] Add an option to build WebKitLegacy and WebKit
https://bugs.webkit.org/show_bug.cgi?id=176891
Since TestWebKitAPI and MiniBrowser/win are used for WebKitLegacy,
those subdirectories are ignored for WebKit build.
Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2017-09-14
Reviewed by Alex Christensen.
- CMakeLists.txt:
- 5:44 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 5:43 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 5:30 PM Changeset in webkit [222069] by
-
- 11 edits6 deletes in trunk
Unreviewed, rolling out r221932 and r221933.
https://bugs.webkit.org/show_bug.cgi?id=176969
This change did not fix the webgl test flakiness. (Requested
by ryanhaddad on #webkit).
Reverted changesets:
"[WebGL] accelerated texImage2D for video doesn't respect
flipY"
https://bugs.webkit.org/show_bug.cgi?id=176491
http://trac.webkit.org/changeset/221932
"[WebGL] VideoTextureCopierCV doesn't correctly restore vertex
attribute state"
https://bugs.webkit.org/show_bug.cgi?id=176771
http://trac.webkit.org/changeset/221933
- 5:29 PM Changeset in webkit [222068] by
-
- 7 edits in trunk/Source/WebCore
[Curl] Replace the implementation with NetworkLoadMetrics
https://bugs.webkit.org/show_bug.cgi?id=176906
Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-14
Reviewed by Alex Christensen.
- platform/network/curl/CurlContext.cpp:
(WebCore::CurlHandle::getEffectiveURL):
(WebCore::CurlHandle::getPrimaryPort):
(WebCore::CurlHandle::getResponseCode):
(WebCore::CurlHandle::getContentLenghtDownload):
(WebCore::CurlHandle::getHttpAuthAvail):
(WebCore::CurlHandle::getTimes):
(WebCore::CurlHandle::getEffectiveURL const): Deleted.
- platform/network/curl/CurlContext.h:
- platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::didReceiveHeader):
- platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::dispatchSynchronousJob):
(WebCore::ResourceHandleCurlDelegate::notifyFinish):
(WebCore::ResourceHandleCurlDelegate::getProtectionSpace):
(WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
(WebCore::ResourceHandleCurlDelegate::handleLocalReceiveResponse):
(WebCore::ResourceHandleCurlDelegate::didFinish):
(WebCore::ResourceHandleCurlDelegate::getNetworkLoadMetrics):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::ResourceHandleCurlDelegate::didReceiveData):
(WebCore::ResourceHandleCurlDelegate::setWebTimings): Deleted.
- platform/network/curl/ResourceHandleCurlDelegate.h:
- platform/network/curl/ResourceResponse.h:
(WebCore::ResourceResponse::setDeprecatedNetworkLoadMetrics):
- 5:14 PM Changeset in webkit [222067] by
-
- 1 edit1 add in trunk/Tools
Create a launcher for webkit-archives
https://bugs.webkit.org/show_bug.cgi?id=176964
Reviewed by Aakash Jain.
- Scripts/run-webkit-archive: Added.
(find_dyld_framework_path):
(run_safari_for_webkit_development):
(set_dyld_framework_path):
(main):
- 5:04 PM Changeset in webkit [222066] by
-
- 2 edits in trunk/Source/JavaScriptCore
Make dumping the graph print when both when exitOK and !exitOK
https://bugs.webkit.org/show_bug.cgi?id=176954
Reviewed by Keith Miller.
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
- 4:52 PM Changeset in webkit [222065] by
-
- 2 edits in trunk/Source/WebCore
[Mac] Spelling, grammar and correction dots are painted upside down
https://bugs.webkit.org/show_bug.cgi?id=176949
<rdar://problem/34441098>
Reviewed by Simon Fraser.
Painting occurs in a vertically flipped context. Vertically flip the context ("unflip" it)
before painting the document markers on macOS so that they are painted right-side. This makes
the appearance of spelling, grammar and correction dots in WebKit match the AppKit appearance
of these dots.
- platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::GraphicsContext::drawLineForDocumentMarker): Flip the context as described above.
Also make use of RAII object CGContextStateSaver instead of manually saving and restoring
the state of the context.
- 4:49 PM Changeset in webkit [222064] by
-
- 16 edits3 deletes in trunk
Unreviewed rollout r222036.
The LayoutTests added with this change is flaky.
Source/WebCore:
Reverted changeset
Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
http://trac.webkit.org/changeset/222036
Source/WebInspectorUI:
This left in the Test.js, Test.html, InspectorBackend changes
needed by later patches. They are independent of the flakey test.
Reverted changeset
Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
http://trac.webkit.org/changeset/222036
LayoutTests:
Reverted changeset
Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
http://trac.webkit.org/changeset/222036
- 4:45 PM Changeset in webkit [222063] by
-
- 4 edits8 copies9 adds1 delete in trunk/LayoutTests
Import CSS Pseudo Elements 4 Web Platform Tests
https://bugs.webkit.org/show_bug.cgi?id=176253
Reviewed by Zalan Bujtas.
I upstreamed our CSS Pseudo Elements 4 tests to the Web Platform Tests repository.
Remove our version of the tests and import the ones from the Web Platform Tests repository.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- web-platform-tests/css/css-pseudo-4/OWNERS: Added.
- web-platform-tests/css/css-pseudo-4/first-letter-001-expected.html: Added.
- web-platform-tests/css/css-pseudo-4/first-letter-001.html: Added.
- web-platform-tests/css/css-pseudo-4/first-letter-002-expected.html: Added.
- web-platform-tests/css/css-pseudo-4/first-letter-002.html: Added.
- web-platform-tests/css/css-pseudo-4/first-letter-003-expected.html: Added.
- web-platform-tests/css/css-pseudo-4/first-letter-003.html: Added.
- web-platform-tests/css/css-pseudo-4/marker-and-other-pseudo-elements-expected.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements-expected.html.
- web-platform-tests/css/css-pseudo-4/marker-and-other-pseudo-elements.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements.html.
- web-platform-tests/css/css-pseudo-4/marker-color-expected.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-color-expected.html.
- web-platform-tests/css/css-pseudo-4/marker-color.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-color.html.
- web-platform-tests/css/css-pseudo-4/marker-font-properties-expected.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-font-properties-expected.html.
- web-platform-tests/css/css-pseudo-4/marker-font-properties.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-font-properties.html.
- web-platform-tests/css/css-pseudo-4/marker-inherit-values-expected.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-inherit-values-expected.html.
- web-platform-tests/css/css-pseudo-4/marker-inherit-values.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-inherit-values.html.
- web-platform-tests/css/css-pseudo-4/w3c-import.log: Added.
LayoutTests:
- TestExpectations: Skip some tests that fail.
- http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements-expected.html: Removed.
- http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements.html: Removed.
- http/wpt/css/css-pseudo-4/marker-color-expected.html: Removed.
- http/wpt/css/css-pseudo-4/marker-color.html: Removed.
- http/wpt/css/css-pseudo-4/marker-font-properties-expected.html: Removed.
- http/wpt/css/css-pseudo-4/marker-font-properties.html: Removed.
- http/wpt/css/css-pseudo-4/marker-inherit-values-expected.html: Removed.
- http/wpt/css/css-pseudo-4/marker-inherit-values.html: Removed.
- 4:43 PM Changeset in webkit [222062] by
-
- 8 edits1 copy in trunk/Source/WebCore
WebContentReader::readWebArchive doesn't need to handle image MIME type
https://bugs.webkit.org/show_bug.cgi?id=176884
Reviewed by Sam Weinig.
Remove the code to handle image MIME types in the web archive on macOS since we have a separate code path
to handle images in the pasteboard directly. As far as I can tell, this code is never used in practice.
This allows merging iOS and macOS code to read web archive from the pasteboard. Also merged member functions
for handling RTFD and RTF in iOS and macOS in WebContentReaderCocoa.mm.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- editing/WebContentReader.cpp: Added.
(WebCore::WebContentReader::addFragment): Moved from WebContentReaderIOS.mm and simplified since appendChild
knows how to add a DocumentFragment.
- editing/WebContentReader.h:
- editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::createFragmentAndAddResources):
(WebCore::WebContentReader::readWebArchive): Merged iOS / macOS code here.
(WebCore::WebContentReader::readRTFD): Ditto.
(WebCore::WebContentReader::readRTF): Ditto.
(WebCore::WebContentReader::readPlainText): Ditto.
- editing/ios/EditorIOS.mm:
(WebCore::Editor::pasteWithPasteboard):
- editing/ios/WebContentReaderIOS.mm:
(WebCore::WebContentReader::readImage):
(WebCore::WebContentReader::readURL):
(WebCore::WebContentReader::readWebArchive): Moved to WebContentReaderCocoa.mm.
(WebCore::WebContentReader::readRTFD): Ditto.
(WebCore::WebContentReader::readRTF): Ditto.
(WebCore::WebContentReader::readPlainText): Ditto.
- editing/mac/WebContentReaderMac.mm:
(WebCore::WebContentReader::readWebArchive): Ditto.
(WebCore::WebContentReader::readRTFD): Ditto.
(WebCore::WebContentReader::readRTF): Ditto.
- 4:43 PM Changeset in webkit [222061] by
-
- 2 edits in trunk/LayoutTests
iOS: WebKitTestRunner hits an assertion in editing/pasteboard/datatransfer-items-copy-plaintext.html
https://bugs.webkit.org/show_bug.cgi?id=176968
Skip this test for now.
- platform/ios/TestExpectations:
- 4:39 PM Changeset in webkit [222060] by
-
- 5 edits1 add in trunk
It should be valid to exit before each set when doing arity fixup when inlining
https://bugs.webkit.org/show_bug.cgi?id=176948
Reviewed by Keith Miller.
JSTests:
- stress/arity-fixup-inlining-dont-generate-invalid-use.js: Added.
(baz):
(bar):
(foo):
Source/JavaScriptCore:
This patch makes it so that we can exit before each SetLocal when doing arity
fixup during inlining. This is OK because if we exit at any of these SetLocals,
we will simply exit to the beginning of the call instruction.
Not doing this led to a bug where FixupPhase would insert a ValueRep of
a node before the actual node. This is obviously invalid IR. I've added
a new validation rule to catch this malformed IR.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::inlineCall):
- dfg/DFGValidate.cpp:
- runtime/Options.h:
- 4:37 PM Changeset in webkit [222059] by
-
- 25 edits in trunk
Add WKUIDelegatePrivate equivalent of WKPageUIClient's drawHeader, drawFooter, headerHeight, and footerHeight
https://bugs.webkit.org/show_bug.cgi?id=176889
<rdar://problem/29270035>
Reviewed by Andy Estes.
Source/WebKit:
- UIProcess/API/C/WKPage.cpp:
(WKPageLoadAlternateHTMLString):
(WKPageLoadAlternateHTMLStringWithUserData):
- UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::headerHeight):
(WebKit::UIDelegate::UIClient::footerHeight):
(WebKit::UIDelegate::UIClient::drawHeader):
(WebKit::UIDelegate::UIClient::drawFooter):
- UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm:
(-[WKReloadFrameErrorRecoveryAttempter attemptRecovery]):
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::printOperationWithPrintInfo):
- UIProcess/FrameLoadState.cpp:
(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didFailProvisionalLoad):
(WebKit::FrameLoadState::didCommitLoad):
(WebKit::FrameLoadState::didSameDocumentNotification):
(WebKit::FrameLoadState::setUnreachableURL):
(WebKit::FrameLoadState::FrameLoadState): Deleted.
- UIProcess/FrameLoadState.h:
(WebKit::FrameLoadState::url const):
(WebKit::FrameLoadState::provisionalURL const):
(WebKit::FrameLoadState::unreachableURL const):
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::loadURL):
(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameProxy::didSameDocumentNavigation):
(WebKit::WebFrameProxy::setUnreachableURL):
- UIProcess/WebFrameProxy.h:
(WebKit::WebFrameProxy::url const):
(WebKit::WebFrameProxy::provisionalURL const):
(WebKit::WebFrameProxy::unreachableURL const):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didChangeProvisionalURLForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidChangeProvisionalURL):
(WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadURLInFrame):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[PrintDelegate _webView:printFrame:]):
(-[PrintDelegate _webViewHeaderHeight:]):
(-[PrintDelegate _webViewFooterHeight:]):
(-[PrintDelegate _webView:drawHeaderInRect:forPageWithTitle:URL:]):
(-[PrintDelegate _webView:drawFooterInRect:forPageWithTitle:URL:]):
(callbacksEqual):
(TEST):
- TestWebKitAPI/cocoa/TestWKWebView.h:
- TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView hostWindow]):
- 4:08 PM Changeset in webkit [222058] by
-
- 7 edits in trunk/Source
AddressSanitizer: stack-buffer-underflow in JSC::Probe::Page::Page
https://bugs.webkit.org/show_bug.cgi?id=176874
<rdar://problem/34436415>
Reviewed by Saam Barati.
Source/JavaScriptCore:
- Make Probe::Stack play nice with ASan by:
- using a local memcpy implementation that suppresses ASan on ASan builds. We don't want to use std:memcpy() which validates stack memory because we are intentionally copying stack memory beyond the current frame.
- changing Stack::s_chunkSize to equal sizeof(uintptr_t) on ASan builds. This ensures that Page::flushWrites() only writes stack memory that was modified by a probe. The probes should only modify stack memory that belongs to JSC stack data structures. We don't want to inadvertently modify adjacent words that may belong to ASan (which may happen if s_chunkSize is larger than sizeof(uintptr_t)).
- fixing a bug in Page dirtyBits management for when the size of the value to write is greater than s_chunkSize. The fix in generic, but in practice, this currently only manifests on 32-bit ASan builds because sizeof(uintptr_t) and s_chunkSize are 32-bit, and we may write 64-bit values.
- making Page::m_dirtyBits 64 bits always. This maximizes the number of s_chunksPerPage we can have even on ASan builds.
- Fixed the bottom most Probe::Context and Probe::Stack get/set methods to use std::memcpy to avoid strict aliasing issues.
- Optimized the implementation of Page::physicalAddressFor().
- Optimized the implementation of Stack::set() in the recording of the low watermark. We just record the lowest raw pointer now, and only compute the alignment to its chuck boundary later when the low watermark is requested.
- Changed a value in testmasm to make the test less vulnerable to rounding issues.
No new test needed because this is already covered by testmasm with ASan enabled.
- assembler/ProbeContext.h:
(JSC::Probe::CPUState::gpr const):
(JSC::Probe::CPUState::spr const):
(JSC::Probe::Context::gpr):
(JSC::Probe::Context::spr):
(JSC::Probe::Context::fpr):
(JSC::Probe::Context::gprName):
(JSC::Probe::Context::sprName):
(JSC::Probe::Context::fprName):
(JSC::Probe::Context::gpr const):
(JSC::Probe::Context::spr const):
(JSC::Probe::Context::fpr const):
(JSC::Probe::Context::pc):
(JSC::Probe::Context::fp):
(JSC::Probe::Context::sp):
(JSC::Probe:: const): Deleted.
- assembler/ProbeStack.cpp:
(JSC::Probe::copyStackPage):
(JSC::Probe::Page::Page):
(JSC::Probe::Page::flushWrites):
- assembler/ProbeStack.h:
(JSC::Probe::Page::get):
(JSC::Probe::Page::set):
(JSC::Probe::Page::dirtyBitFor):
(JSC::Probe::Page::physicalAddressFor):
(JSC::Probe::Stack::lowWatermark):
(JSC::Probe::Stack::get):
(JSC::Probe::Stack::set):
- assembler/testmasm.cpp:
(JSC::testProbeModifiesStackValues):
Source/WTF:
Added a convenience version of roundUpToMultipleOf() so that it can be applied to
pointers without the client having to cast explicitly.
- wtf/StdLibExtras.h:
(WTF::roundUpToMultipleOf):
- 3:43 PM Changeset in webkit [222057] by
-
- 14 edits in trunk
Web Inspector: make recording swizzle async
https://bugs.webkit.org/show_bug.cgi?id=176936
Reviewed by Joseph Pecoraro.
Source/WebCore:
- inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::buildArrayForCanvasPattern):
(WebCore::InspectorCanvas::buildAction):
For objects that are not able to be stringified (e.g. elements), send a deduplicated string
with the name of the object as a placeholder value (e.g. "Element").
Source/WebInspectorUI:
Move all swizzle functions, and all logic that depends on swizzled values, to async
functions so that await can be used to pause execution while objects load. This was
necessary primarily for swizzling Image values, as the Image is not able to be used (such as
for creating a CanvasPattern) until its "load" event has fired. Any callers of a Recording's
actions getter must now adapt to working with a promise that will resolve once all swizzling
has finished across all actions within that recording.
- .eslintrc:
- UserInterface/Models/Recording.js:
(WI.Recording):
(WI.Recording.prototype.async swizzle):
(WI.Recording.prototype.swizzle): Deleted.
Drive-by: currently, no data is added to the JSON for WebGL objects, so don't try to swizzle
them and return the placeholder value (0) instead.
- UserInterface/Models/RecordingAction.js:
(WI.RecordingAction):
(WI.RecordingAction.prototype.swizzle):
(WI.RecordingAction.prototype.toJSON):
(WI.RecordingAction.prototype.async _swizzle.swizzleParameter):
(WI.RecordingAction.prototype.async _swizzle.async swizzleCallFrame):
(WI.RecordingAction.prototype.async _swizzle):
- UserInterface/Models/RecordingInitialStateAction.js:
(WI.RecordingInitialStateAction):
- UserInterface/Views/RecordingContentView.js:
(WI.RecordingContentView.prototype.updateActionIndex):
(WI.RecordingContentView.prototype.async _generateContentCanvas2D):
(WI.RecordingContentView.prototype.async _generateContentCanvasWebGL):
(WI.RecordingContentView.prototype._updateCanvasPath):
(WI.RecordingContentView.prototype._generateContentCanvas2D): Deleted.
(WI.RecordingContentView.prototype._generateContentCanvasWebGL): Deleted.
- UserInterface/Views/RecordingNavigationSidebarPanel.js:
(WI.RecordingNavigationSidebarPanel.prototype.set recording):
(WI.RecordingNavigationSidebarPanel.prototype.updateActionIndex):
- UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
(WI.RecordingStateDetailsSidebarPanel):
(WI.RecordingStateDetailsSidebarPanel.prototype.updateActionIndex):
(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
- UserInterface/Views/RecordingTabContentView.js:
(WI.RecordingTabContentView.prototype.showRepresentedObject):
- UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:
(WI.RecordingTraceDetailsSidebarPanel):
(WI.RecordingTraceDetailsSidebarPanel.prototype.updateActionIndex):
LayoutTests:
- inspector/canvas/recording-2d-expected.txt:
- 3:43 PM Changeset in webkit [222056] by
-
- 2 edits in trunk/LayoutTests
Marked svg/animations/smil-leak-element-instances.svg
https://bugs.webkit.org/show_bug.cgi?id=175886
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 3:01 PM Changeset in webkit [222055] by
-
- 5 edits in trunk
Web Inspector: Color created from an RGB/HSL triplet returns bad component arrays
https://bugs.webkit.org/show_bug.cgi?id=176811
<rdar://problem/34397529>
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
A Color constructed from a format and RGB/HSL triplet should set its
alpha component to 1 instead of leaving it undefined. Color properties
and member functions expect the components array to have a length of four.
- UserInterface/Models/Color.js:
(WI.Color):
LayoutTests:
Add tests for Colors constructed from a format and component array.
- inspector/model/color-expected.txt:
- inspector/model/color.html:
Drive-by cleanup: use InspectorTest.expectShallowEqual.
- 3:00 PM Changeset in webkit [222054] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.dedicatedworker.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176920
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 2:23 PM Changeset in webkit [222053] by
-
- 10 edits1 copy in trunk/Source
[Mac] Upstream SpeechSynthesis-related WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=176931
Reviewed by Joseph Pecoraro.
Source/WebCore:
- platform/mac/PlatformSpeechSynthesizerMac.mm:
(WebCore::speechSynthesisGetVoiceIdentifiers):
(WebCore::speechSynthesisGetDefaultVoiceIdentifierForLocale):
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
- platform/mac/WebCoreSystemInterface.h:
- platform/mac/WebCoreSystemInterface.mm:
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/spi/mac/SpeechSynthesisSPI.h: Added.
Source/WebKit:
- WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
- 2:09 PM Changeset in webkit [222052] by
-
- 4 edits in trunk/Source/WebInspectorUI
Layout test inspector/debugger/breakpoints/resolved-dump-all-pause-locations.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=176952
Reviewed by Matt Baker.
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Agent.prototype.dispatchEvent):
Include the event name since that may be useful in understanding what happened.
- UserInterface/Test.html:
- UserInterface/Test/Test.js:
(WI.loaded):
Register a MemoryObserver and include potentially necessary Model objects
for the Memory domain.
- 1:44 PM Changeset in webkit [222051] by
-
- 29 edits30 adds in trunk/LayoutTests
Re-enable tests under editing/pasteboard in iOS WebKit2
https://bugs.webkit.org/show_bug.cgi?id=176890
Reviewed by Wenson Hsieh.
These tests were disabled because we used to run multiple layout tests tests in parallel within
a single instance of iOS simulator, and that caused tests that read from and write to UIPasteboard
with interfere with one another. This is no longer an issue since we launch a simulator per worker.
Re-enabled these pasteboard tests under iOS simulator in WebKit2 and rebaselined the tests.
We're going to triage failures and crashes in WebKit1 separately.
- platform/ios-simulator-wk1/TestExpectations:
- platform/ios-simulator/editing/pasteboard/3976872-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/4076267-2-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/4076267-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/4242293-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/4631972-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/4641033-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/8145-2-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/8145-3-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/bad-placeholder-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/image-in-iframe-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/paste-text-004-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/paste-text-008-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/paste-text-009-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/paste-text-013-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/paste-text-014-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/paste-text-016-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/paste-text-019-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/paste-text-at-tabspan-003-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/pasting-object-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/pasting-tabs-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/quirks-mode-br-1-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/smart-drag-drop-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/smart-paste-007-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/smart-paste-008-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/styled-element-markup-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/undoable-fragment-removes-expected.png: Added.
- platform/ios-simulator/editing/pasteboard/unrendered-br-expected.png: Added.
- platform/ios-wk2/editing/pasteboard/3976872-expected.txt:
- platform/ios-wk2/editing/pasteboard/4076267-2-expected.txt:
- platform/ios-wk2/editing/pasteboard/4076267-3-expected.txt:
- platform/ios-wk2/editing/pasteboard/4076267-expected.txt:
- platform/ios-wk2/editing/pasteboard/4242293-expected.txt:
- platform/ios-wk2/editing/pasteboard/4631972-expected.txt:
- platform/ios-wk2/editing/pasteboard/4641033-expected.txt:
- platform/ios-wk2/editing/pasteboard/8145-2-expected.txt:
- platform/ios-wk2/editing/pasteboard/8145-3-expected.txt:
- platform/ios-wk2/editing/pasteboard/bad-placeholder-expected.txt:
- platform/ios-wk2/editing/pasteboard/paste-text-004-expected.txt:
- platform/ios-wk2/editing/pasteboard/paste-text-008-expected.txt:
- platform/ios-wk2/editing/pasteboard/paste-text-009-expected.txt:
- platform/ios-wk2/editing/pasteboard/paste-text-013-expected.txt:
- platform/ios-wk2/editing/pasteboard/paste-text-014-expected.txt:
- platform/ios-wk2/editing/pasteboard/paste-text-016-expected.txt:
- platform/ios-wk2/editing/pasteboard/paste-text-019-expected.txt:
- platform/ios-wk2/editing/pasteboard/paste-text-at-tabspan-003-expected.txt:
- platform/ios-wk2/editing/pasteboard/paste-xml-expected.txt:
- platform/ios-wk2/editing/pasteboard/pasting-object-expected.txt:
- platform/ios-wk2/editing/pasteboard/pasting-tabs-expected.txt:
- platform/ios-wk2/editing/pasteboard/quirks-mode-br-1-expected.txt:
- platform/ios-wk2/editing/pasteboard/smart-drag-drop-expected.txt:
- platform/ios-wk2/editing/pasteboard/styled-element-markup-expected.txt:
- platform/ios-wk2/editing/pasteboard/undoable-fragment-removes-expected.txt:
- platform/ios-wk2/editing/pasteboard/unrendered-br-expected.txt:
- platform/ios/TestExpectations:
- platform/ios/editing/pasteboard/image-in-iframe-expected.txt: Added.
- 1:39 PM Changeset in webkit [222050] by
-
- 2 edits in trunk/LayoutTests
Rebaseline js/dom/global-constructors-attributes.html for El Capitan.
Unreviewed test gardening.
- platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
- 1:28 PM Changeset in webkit [222049] by
-
- 7 edits in branches/safari-604-branch/Source
Versioning.
- 1:20 PM Changeset in webkit [222048] by
-
- 1 copy in tags/Safari-604.3.1
Tag Safari-604.3.1.
- 1:12 PM Changeset in webkit [222047] by
-
- 25 edits in trunk
Unreviewed, rolling out r222033.
This change caused API test WebKit.PrintFrame to time out.
Reverted changeset:
"Add WKUIDelegatePrivate equivalent of WKPageUIClient's
drawHeader, drawFooter, headerHeight, and footerHeight"
https://bugs.webkit.org/show_bug.cgi?id=176889
http://trac.webkit.org/changeset/222033
- 12:55 PM Changeset in webkit [222046] by
-
- 3 edits2 deletes in trunk/LayoutTests
fast/forms/append-children-during-form-submission.html fails due to a text diff on iOS
https://bugs.webkit.org/show_bug.cgi?id=176908
Reviewed by Tim Horton.
Tweak an existing layout test added in r222005 to make its expectation consistent across all platforms.
- fast/forms/append-children-during-form-submission-expected.txt:
- fast/forms/append-children-during-form-submission.html:
- platform/ios/fast/forms/append-children-during-form-submission-expected.txt: Removed.
- platform/mac-elcapitan/fast/forms/append-children-during-form-submission-expected.txt: Removed.
- 12:45 PM Changeset in webkit [222045] by
-
- 6 edits in trunk
RTCDataChannel connectivity issues in Safari 11
https://bugs.webkit.org/show_bug.cgi?id=173052
<rdar://problem/32712143>
Patch by Youenn Fablet <youenn@apple.com> on 2017-09-14
Reviewed by Alex Christensen.
Source/WebCore:
Covered by updated test.
Before the patch, when sending an ArrayBufferView, RTCDataChannel was sending the whole ArrayBuffer backing the ArrayBufferView.
With this patch, RTCDataChannel will now send only the bytes the ArrayBufferView is exposing.
- Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::send): Correctly handling sending of ArrayBufferView.
(WebCore::RTCDataChannel::sendRawData): Helper routine for raw data sending.
- Modules/mediastream/RTCDataChannel.h:
LayoutTests:
- webrtc/datachannel/binary-expected.txt:
- webrtc/datachannel/binary.html:
- 12:40 PM Changeset in webkit [222044] by
-
- 7 edits in branches/safari-604-branch/Source
Versioning.
- 12:40 PM Changeset in webkit [222043] by
-
- 3 edits in branches/safari-604-branch/Source/WebKit
Cherry-pick r221647. rdar://problem/34439121
- 12:40 PM Changeset in webkit [222042] by
-
- 3 edits in branches/safari-604-branch/Source/WebKit
Cherry-pick r221061. rdar://problem/34439121
- 12:18 PM Changeset in webkit [222041] by
-
- 3 edits in tags/Safari-605.1.6/Source/JavaScriptCore
Cherry-pick r222035. rdar://problem/34422397
- 12:18 PM Changeset in webkit [222040] by
-
- 12 edits2 adds in trunk
Computing animated style should not require renderers
https://bugs.webkit.org/show_bug.cgi?id=171926
<rdar://problem/34428035>
Reviewed by Sam Weinig.
Source/WebCore:
CSS animation system is now element rather than renderer based. This allows cleaning up
style resolution and render tree update code.
This also fixes bug animation doesn't run if display property is animated from one rendered type
to another. Added a test case for this.
Test: transitions/transition-display-property-2.html
- page/animation/CSSAnimationController.cpp:
(WebCore::CSSAnimationController::updateAnimations):
Pass in the old style instead of getting it from the renderer.
Factor to return the animated style as a return value.
- page/animation/CSSAnimationController.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::willBeDestroyed):
Animation are now canceled by RenderTreeUpdater::tearDownRenderers.
- rendering/RenderElement.h:
(WebCore::RenderElement::hasInitialAnimatedStyle const): Deleted.
(WebCore::RenderElement::setHasInitialAnimatedStyle): Deleted.
We no longer need to this concept.
- style/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateElementRenderer):
(WebCore::RenderTreeUpdater::createRenderer):
We now get correct animated style from style resolution in all cases so we don't need to compute
it separately for new renderers.
(WebCore::RenderTreeUpdater::tearDownRenderers):
Cancel animations when render tree is fully torn down. Keep them when updating style.
- style/RenderTreeUpdater.h:
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
We can now compute animated style without renderer. Special cases dealing with rendererless case
can be removed.
LayoutTests:
- transitions/transition-display-property-2-expected.html: Added.
- transitions/transition-display-property-2.html: Added.
- transitions/transition-display-property.html:
- 11:56 AM Changeset in webkit [222039] by
-
- 4 edits in trunk
Allow WTF::map to take function as parameter
https://bugs.webkit.org/show_bug.cgi?id=176909
Patch by Youenn Fablet <youenn@apple.com> on 2017-09-14
Reviewed by Jer Noble.
Source/WTF:
- wtf/Vector.h:
(WTF::map):
Tools:
- TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::multiplyByTwo):
(TestWebKitAPI::TEST):
(TestWebKitAPI::multiplyByTwoMoveOnly):
- 11:33 AM Changeset in webkit [222038] by
-
- 17 edits3 adds in trunk/Tools
WSL IntLiteralType should become int32 if unified with a type variable
https://bugs.webkit.org/show_bug.cgi?id=176707
Reviewed by Myles Maxfield.
This makes it so that this works:
T foo<T>(T x) { return x; }
foo(42); T becomes int32
Previously, it did not work because IntLiteralType did not recognize TypeVariable as a number. Also,
TypeVariable would try to evaluate protocol inheritance of IntLiteralType, which would not go well. One
of the tests that this patch adds didn't just fail; it gave such an absurd 7-line type error that I felt
like I was using SML.
This fixes the problem by introducing what I think is a super deterministic way of handling literals and
type variables:
Before verifying a unification context, we now give all literals a chance to perform an extra
unification step. This is a two-phase process. This ensures that the unification performed by one
literal does not throw off the logic of some other literal. For example, if we do:
void foo<T>(T, T) { }
foo(42, 42u);
Then we want to always fail to compile, rather than sometimes succeeding. So, we first ask each literal
if it thinks that it needs to do extra unification. Both of the literals will report that they want to
in this case, because they will notice that they got unified with either at type variable or a literal,
which isn't specific enough. Then after they all register to do extra unification, they will both try to
unify with their preferred types (int32 for 42, uint32 for 42u). The first one will succeed, and the
second will give an error.
Without the special two-phase arrangement, it was possible to either get a type error or not depending
on the order - for example foo(42, 42u) might fail while foo(42u, 42) succeeds. It was definitely not
decidable, at least not unless you mandate the unification order as part of the type system spec. I
think that would have been nuts.
Both IntLiteral and UintLiteral are now "flexible"; the uint one will reject non-int or signed int
types and will prefer uint, but otherwise it's the same logic. This means that this will be valid:
uint8 x = 5u;
But this is still wrong:
int x = 5u;
To make this easy, I turned IntLiteral and UintLiteral (and IntLiteralType and UintLiteralType) into
factory-built generic types (see createLiteral() and createLiteralType()). Because visitors use the
constructor's declared name (GenericLiteral and GenericLiteralType in this case), it means that we can
share a ton of code between the different literals. I love that ES6 lets you do that.
- WebGPUShadingLanguageRI/All.js:
- WebGPUShadingLanguageRI/Checker.js:
- WebGPUShadingLanguageRI/CreateLiteral.js: Added.
(createLiteral.GenericLiteral):
(createLiteral.GenericLiteral.prototype.get value):
(createLiteral.GenericLiteral.prototype.get isConstexpr):
(createLiteral.GenericLiteral.prototype.toString):
(createLiteral):
- WebGPUShadingLanguageRI/CreateLiteralType.js: Added.
(createLiteralType.GenericLiteralType):
(createLiteralType.GenericLiteralType.prototype.get origin):
(createLiteralType.GenericLiteralType.prototype.get value):
(createLiteralType.GenericLiteralType.prototype.get isPrimitive):
(createLiteralType.GenericLiteralType.prototype.get isUnifiable):
(createLiteralType.GenericLiteralType.prototype.get isLiteral):
(createLiteralType.GenericLiteralType.prototype.typeVariableUnify):
(createLiteralType.GenericLiteralType.prototype.unifyImpl):
(createLiteralType.GenericLiteralType.prototype.prepareToVerify):
(createLiteralType.GenericLiteralType.prototype.verifyAsArgument):
(createLiteralType.GenericLiteralType.prototype.verifyAsParameter):
(createLiteralType.GenericLiteralType.prototype.conversionCost):
(createLiteralType.GenericLiteralType.prototype.commitUnification):
(createLiteralType.GenericLiteralType.prototype.toString):
(createLiteralType):
- WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitIntLiteral): Deleted.
(Evaluator.prototype.visitUintLiteral): Deleted.
- WebGPUShadingLanguageRI/IntLiteral.js:
(let.IntLiteral.createLiteral.createType):
(IntLiteral): Deleted.
(IntLiteral.prototype.get value): Deleted.
(IntLiteral.prototype.get isConstexpr): Deleted.
(IntLiteral.prototype.toString): Deleted.
- WebGPUShadingLanguageRI/IntLiteralType.js:
(IntLiteralType): Deleted.
(IntLiteralType.prototype.get origin): Deleted.
(IntLiteralType.prototype.get value): Deleted.
(IntLiteralType.prototype.get isPrimitive): Deleted.
(IntLiteralType.prototype.get isUnifiable): Deleted.
(IntLiteralType.prototype.typeVariableUnify): Deleted.
(IntLiteralType.prototype.unifyImpl): Deleted.
(IntLiteralType.prototype.verifyAsArgument): Deleted.
(IntLiteralType.prototype.verifyAsParameter): Deleted.
(IntLiteralType.prototype.conversionCost): Deleted.
(IntLiteralType.prototype.commitUnification): Deleted.
(IntLiteralType.prototype.toString): Deleted.
- WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
- WebGPUShadingLanguageRI/LiteralTypeChecker.js:
(LiteralTypeChecker.prototype.visitIntLiteralType): Deleted.
- WebGPUShadingLanguageRI/Node.js:
(Node.prototype.prepareToVerify):
(Node.prototype.commitUnification):
(Node.prototype.get isLiteral):
- WebGPUShadingLanguageRI/NullType.js:
(NullType.prototype.get isLiteral):
(NullType.prototype.toString):
(NullType):
- WebGPUShadingLanguageRI/Parse.js:
(parseTerm):
- WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitGenericLiteralType):
(Rewriter.prototype.visitIntLiteral): Deleted.
(Rewriter.prototype.visitIntLiteralType): Deleted.
(Rewriter.prototype.visitUintLiteral): Deleted.
(Rewriter.prototype.visitBoolLiteral): Deleted.
- WebGPUShadingLanguageRI/Test.html:
- WebGPUShadingLanguageRI/Test.js:
(makeUint):
(checkUint):
(TEST_uintSimpleMath):
(TEST_equality):
(TEST_notEquality):
(TEST_intLiteralGeneric):
(TEST_intLiteralGenericWithProtocols):
(TEST_uintLiteralGeneric):
(TEST_uintLiteralGenericWithProtocols):
(TEST_intLiteralGenericSpecific):
(TEST_twoIntLiterals):
(TEST_unifyDifferentLiterals):
(makeUInt): Deleted.
(checkUInt): Deleted.
- WebGPUShadingLanguageRI/Type.js:
- WebGPUShadingLanguageRI/UintLiteral.js:
(let.UintLiteral.createLiteral.createType):
(UintLiteral): Deleted.
(UintLiteral.prototype.get value): Deleted.
(UintLiteral.prototype.get isConstexpr): Deleted.
(UintLiteral.prototype.toString): Deleted.
- WebGPUShadingLanguageRI/UintLiteralType.js: Added.
(let.UintLiteralType.createLiteralType.verifyAsArgument):
- WebGPUShadingLanguageRI/UnificationContext.js:
(UnificationContext.prototype.verify):
- WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
- 11:20 AM Changeset in webkit [222037] by
-
- 2 edits in trunk/Tools
Unreviewed, rolling out r221868.
Rolling out this change while we investigate test262 failures.
Reverted changeset:
"Turn on exception scope verification for JSC tests."
https://bugs.webkit.org/show_bug.cgi?id=162351
http://trac.webkit.org/changeset/221868
- 11:09 AM Changeset in webkit [222036] by
-
- 19 edits3 adds in trunk
Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
<rdar://problem/34290931>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-14
Reviewed by Devin Rousso.
Source/WebCore:
Test: inspector/timeline/timeline-event-EventDispatch.html
- dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchEvent):
Include defaultPrevented when notifying inspector.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didDispatchEventImpl):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didDispatchEvent):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
Pass defaultPrevented on to agent.
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didDispatchEvent):
(WebCore::InspectorTimelineAgent::didLayout):
(WebCore::InspectorTimelineAgent::didPaint):
- inspector/InspectorTimelineAgent.h:
- inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::appendLayoutRoot):
(WebCore::TimelineRecordFactory::appendDidDispatchEventData):
- inspector/TimelineRecordFactory.h:
Append a boolean defaultPrevented property on the EventDispatch timeline record's data.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
New string.
- UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.prototype._processRecord):
Include the whole data object as extra details.
- UserInterface/Models/ScriptTimelineRecord.js:
(WI.ScriptTimelineRecord):
(WI.ScriptTimelineRecord.prototype.get extraDetails):
Wholesale copy of the extra data instead of just a single property.
- UserInterface/Views/ScriptDetailsTimelineView.js:
(WI.ScriptDetailsTimelineView):
Give the name column more initial space, there is still extra space
after this adjustment but name is comfortably larger (and the most
likely to be expanded).
- UserInterface/Views/ScriptTimelineDataGridNode.js:
(WI.ScriptTimelineDataGridNode.prototype.get subtitle):
Include "default prevented" as the event's subtitle if it was prevented.
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Agent.prototype.dispatchEvent):
(InspectorBackend.Agent):
- UserInterface/Test.html:
- UserInterface/Test/Test.js:
(WI.loaded):
Add the ScriptProfilerObserver to tests since it is on by default for Timelines.
LayoutTests:
- inspector/timeline/resources/timeline-event-utilities.js: Added.
(TestPage.registerInitializer.window.captureTimelineWithScript):
(TestPage.registerInitializer):
(finishRecording):
Helper code for creating a recording from a function.
- inspector/timeline/timeline-event-EventDispatch-expected.txt: Added.
- inspector/timeline/timeline-event-EventDispatch.html: Added.
Test for Timeline's EventDispatch records. Ensure it has
the new "defaultPrevented" details data.
- 11:05 AM Changeset in webkit [222035] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Disable Arity Fixup Inlining until crash in facebook.com is fixed
https://bugs.webkit.org/show_bug.cgi?id=176917
Reviewed by Saam Barati.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::inliningCost):
- runtime/Options.h:
- 11:04 AM Changeset in webkit [222034] by
-
- 2 edits in trunk/LayoutTests
Fixed typo in expectations.
Unreviewed test expectations.
- platform/mac/TestExpectations:
- 10:55 AM Changeset in webkit [222033] by
-
- 25 edits in trunk
Add WKUIDelegatePrivate equivalent of WKPageUIClient's drawHeader, drawFooter, headerHeight, and footerHeight
https://bugs.webkit.org/show_bug.cgi?id=176889
<rdar://problem/29270035>
Reviewed by Andy Estes.
Source/WebKit:
- UIProcess/API/C/WKPage.cpp:
(WKPageLoadAlternateHTMLString):
(WKPageLoadAlternateHTMLStringWithUserData):
- UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::headerHeight):
(WebKit::UIDelegate::UIClient::footerHeight):
(WebKit::UIDelegate::UIClient::drawHeader):
(WebKit::UIDelegate::UIClient::drawFooter):
- UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm:
(-[WKReloadFrameErrorRecoveryAttempter attemptRecovery]):
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::printOperationWithPrintInfo):
- UIProcess/FrameLoadState.cpp:
(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didFailProvisionalLoad):
(WebKit::FrameLoadState::didCommitLoad):
(WebKit::FrameLoadState::didSameDocumentNotification):
(WebKit::FrameLoadState::setUnreachableURL):
(WebKit::FrameLoadState::FrameLoadState): Deleted.
- UIProcess/FrameLoadState.h:
(WebKit::FrameLoadState::url const):
(WebKit::FrameLoadState::provisionalURL const):
(WebKit::FrameLoadState::unreachableURL const):
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::loadURL):
(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameProxy::didSameDocumentNavigation):
(WebKit::WebFrameProxy::setUnreachableURL):
- UIProcess/WebFrameProxy.h:
(WebKit::WebFrameProxy::url const):
(WebKit::WebFrameProxy::provisionalURL const):
(WebKit::WebFrameProxy::unreachableURL const):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didChangeProvisionalURLForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidChangeProvisionalURL):
(WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadURLInFrame):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[PrintDelegate _webView:printFrame:]):
(-[PrintDelegate _webViewHeaderHeight:]):
(-[PrintDelegate _webViewFooterHeight:]):
(-[PrintDelegate _webView:drawHeaderInRect:forPageWithTitle:URL:]):
(-[PrintDelegate _webView:drawFooterInRect:forPageWithTitle:URL:]):
(callbacksEqual):
(TEST):
- TestWebKitAPI/cocoa/TestWKWebView.h:
- TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView hostWindow]):
- 10:53 AM Changeset in webkit [222032] by
-
- 2 edits in trunk/Tools
[GTK] Add a switch to start the mini-browser in full-screen mode
https://bugs.webkit.org/show_bug.cgi?id=176904
Reviewed by Carlos Garcia Campos.
- MiniBrowser/gtk/main.c:
(main):
- 10:38 AM Changeset in webkit [222031] by
-
- 2 edits in trunk/LayoutTests
Follow up expectations to r222008.
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 10:17 AM Changeset in webkit [222030] by
-
- 19 edits15 deletes in trunk
Unreviewed, rolling out r222015.
The LayoutTests added with this change are flaky.
Reverted changeset:
"Web Inspector: Timeline should show when events
preventDefault() was called on an event or not"
https://bugs.webkit.org/show_bug.cgi?id=176824
http://trac.webkit.org/changeset/222015
- 9:56 AM Changeset in webkit [222029] by
-
- 2 edits in trunk/Tools
Unreviewed, fix a typo that was preventing a test from running.
- WebGPUShadingLanguageRI/Test.js:
- 9:45 AM Changeset in webkit [222028] by
-
- 2 edits in trunk/Tools
[GTK] Fail to build using internal jhbuild if libgtk3-dev is not installed in the system
https://bugs.webkit.org/show_bug.cgi?id=176778
Reviewed by Carlos Alberto Lopez Perez.
We are building gtk+ in the jhbuild with introspection disabled, but Gtk-3.gir is required to build the
WebKitGTK+ introspection. Also, if wayland-protocols is not installed, gtk+ is built without the wayland backend
and it's no possible to enable the wayland target in WebKitGTK+ either.
- gtk/jhbuild.modules: Do not disable introspection when building gtk+ and add wayland-protocols as a dependency.
- 9:43 AM Changeset in webkit [222027] by
-
- 2 edits in trunk/Source/WebKit
[GTK][Wayland] Flickering when resizing the window
https://bugs.webkit.org/show_bug.cgi?id=176774
Reviewed by Michael Catanzaro.
This regressed when we switched to always start the wayland compositor. In
AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState() we check if the nested compositor is
running, which is always true now (if EGL and the required extensions are available). We should check if we are
in AC mode instead.
- UIProcess/AcceleratedDrawingAreaProxy.cpp:
(WebKit::AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
- 9:35 AM Changeset in webkit [222026] by
-
- 5 edits2 adds in trunk
Allow passing sequences to various WebGL2 methods.
https://bugs.webkit.org/show_bug.cgi?id=176892
Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-14
Reviewed by Sam Weinig.
This matches the specification as well as Gecko and Chromium.
Source/WebCore:
Test: fast/canvas/webgl/webgl2/sequences.html
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::uniform1uiv):
(WebCore::WebGL2RenderingContext::uniform2uiv):
(WebCore::WebGL2RenderingContext::uniform3uiv):
(WebCore::WebGL2RenderingContext::uniform4uiv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x3fv):
(WebCore::WebGL2RenderingContext::vertexAttribI4iv):
(WebCore::WebGL2RenderingContext::vertexAttribI4uiv):
(WebCore::WebGL2RenderingContext::clearBufferiv):
(WebCore::WebGL2RenderingContext::clearBufferuiv):
(WebCore::WebGL2RenderingContext::clearBufferfv):
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGL2RenderingContext.idl:
LayoutTests:
- fast/canvas/webgl/webgl2/sequences-expected.txt: Added.
- fast/canvas/webgl/webgl2/sequences.html: Added.
- 9:22 AM Changeset in webkit [222025] by
-
- 14 edits in trunk/Source/WebCore
[Cleanup] Cleanup uses of the FileList class
https://bugs.webkit.org/show_bug.cgi?id=176800
Patch by Sam Weinig <sam@webkit.org> on 2017-09-14
Reviewed by Alex Christensen.
- fileapi/FileList.cpp:
- fileapi/FileList.h:
Store list of files as Refs, rather than RefPtrs.
Add direct accessor to the underlying Vector for faster iteration.
Add file(unsigned) function to allow direct indexing, rather than using
the DOM exposed item function which always does a length check.
- Modules/entriesapi/HTMLInputElementEntriesAPI.cpp:
Remove unused RuntimeEnabledFeatures.h #include.
Use modern for loop and the new direct file vector access.
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::readFile):
(WebCore::CloneDeserializer::readTerminal):
Remove unnecessary #includes, adopt auto, and use modern for-loop
for FileList.
- dom/DataTransfer.cpp:
(WebCore::DataTransfer::files const):
(WebCore::DataTransfer::hasFileOfType):
Use auto.
(WebCore::DataTransfer::createForInputEvent):
Use initializer list for the typeToStringMap.
- dom/DataTransferItemList.cpp:
(WebCore::DataTransferItemList::ensureItems const):
Use auto and modern for-loop for FileList.
- html/FileInputType.cpp:
(WebCore::FileInputType::filesFromFormControlState):
(WebCore::FileInputType::saveFormControlState const):
(WebCore::FileInputType::appendFormData const):
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::getTypeSpecificValue):
(WebCore::FileInputType::disabledAttributeChanged):
(WebCore::FileInputType::multipleAttributeChanged):
(WebCore::FileInputType::setFiles):
(WebCore::FileInputType::receiveDroppedFiles):
(WebCore::FileInputType::defaultToolTip const):
Adopt auto, brace-initialization, and modern for-loops.
- html/FileListCreator.cpp:
(WebCore::appendDirectoryFiles):
(WebCore::FileListCreator::createFileList):
Update to work in terms of Vector<Ref<File>>.
- html/FormController.h:
(WebCore::FormControlState::FormControlState):
Re-format existing constructors and add one that takes an r-value
Vector<String> to allow construction from a pre-created list (used
in FileInputType::saveFormControlState)
- platform/DragData.h:
- platform/gtk/DragDataGtk.cpp:
(WebCore::DragData::asFilenames const):
- platform/mac/DragDataMac.mm:
(WebCore::DragData::asFilenames const):
- platform/win/DragDataWin.cpp:
(WebCore::DragData::asFilenames const):
Convert asFilenames to return, rather than take, a Vector<String>.
- 9:15 AM Changeset in webkit [222024] by
-
- 8 edits2 adds in branches/safari-604-branch
Cherry-pick r222008. rdar://problem/34426473
- 9:15 AM Changeset in webkit [222023] by
-
- 3 edits2 adds in branches/safari-604-branch
Cherry-pick r222005. rdar://problem/34426487
- 9:15 AM Changeset in webkit [222022] by
-
- 2 edits in branches/safari-604-branch/Source/WebCore
Cherry-pick r221968. rdar://problem/34169683
- 9:09 AM Changeset in webkit [222021] by
-
- 1 edit1 add in trunk/LayoutTests
Rebaseline fast/forms/append-children-during-form-submission.html for iOS.
Unreviewed test gardening.
- platform/ios/fast/forms/append-children-during-form-submission-expected.txt: Added.
- 8:37 AM Changeset in webkit [222020] by
-
- 2 edits in trunk/Source/WebCore
[Harfbuzz] Wrong offset returned by HarfBuzzShaper::offsetForPosition() when target point is at the middle of a character
https://bugs.webkit.org/show_bug.cgi?id=176897
Reviewed by Michael Catanzaro.
We should include the character when the point is greater than the center of the character.
Fixes: fast/multicol/hit-test-end-of-column-with-line-height.html
fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height.html
- platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
- 7:20 AM Changeset in webkit [222019] by
-
- 2 edits in trunk/LayoutTests
Mark svg/as-image/svg-image-with-data-uri-use-data-uri.svg as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176901
Unreviewed test gardening.
- platform/win/TestExpectations:
- 7:12 AM Changeset in webkit [222018] by
-
- 2 edits in trunk/LayoutTests
Fix typo in entries-api test names.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 4:17 AM Changeset in webkit [222017] by
-
- 21 edits1 add in trunk
[JSC] Add PrivateSymbolMode::{Include,Exclude} for PropertyNameArray
https://bugs.webkit.org/show_bug.cgi?id=176867
Reviewed by Sam Weinig.
JSTests:
- microbenchmarks/object-get-own-property-symbols.js: Added.
(test):
Source/JavaScriptCore:
We rarely require private symbols when enumerating property names.
This patch adds PrivateSymbolMode::{Include,Exclude}. If PrivateSymbolMode::Exclude
is specified, PropertyNameArray does not include private symbols.
This removes many ad-hocIdentifier::isPrivateName()in enumeration operations.
One additional good thing is that we do not need to filter private symbols out from PropertyNameArray.
It allows us to use Object.keys()'s fast path for Object.getOwnPropertySymbols.
object-get-own-property-symbols 48.6275+-1.0021 38.1846+-1.7934 definitely 1.2735x faster
- API/JSObjectRef.cpp:
(JSObjectCopyPropertyNames):
- bindings/ScriptValue.cpp:
(Inspector::jsToInspectorValue):
- bytecode/ObjectAllocationProfile.h:
(JSC::ObjectAllocationProfile::possibleDefaultPropertyCount):
- runtime/EnumerationMode.h:
- runtime/IntlObject.cpp:
(JSC::supportedLocales):
- runtime/JSONObject.cpp:
(JSC::Stringifier::Stringifier):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):
- runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::create):
- runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator):
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetOwnPropertyDescriptors):
(JSC::objectConstructorAssign):
(JSC::objectConstructorValues):
(JSC::defineProperties):
(JSC::setIntegrityLevel):
(JSC::testIntegrityLevel):
(JSC::ownPropertyKeys):
- runtime/PropertyNameArray.h:
(JSC::PropertyNameArray::PropertyNameArray):
(JSC::PropertyNameArray::propertyNameMode const):
(JSC::PropertyNameArray::privateSymbolMode const):
(JSC::PropertyNameArray::addUncheckedInternal):
(JSC::PropertyNameArray::addUnchecked):
(JSC::PropertyNameArray::add):
(JSC::PropertyNameArray::isUidMatchedToTypeMode):
(JSC::PropertyNameArray::includeSymbolProperties const):
(JSC::PropertyNameArray::includeStringProperties const):
(JSC::PropertyNameArray::mode const): Deleted.
- runtime/ProxyObject.cpp:
(JSC::ProxyObject::performGetOwnPropertyNames):
Source/WebCore:
- bindings/js/JSDOMConvertRecord.h:
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
- bridge/NP_jsobject.cpp:
(_NPN_Enumerate):
Source/WebKit:
- WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::enumerate):
Source/WebKitLegacy/mac:
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::enumerate):
- 2:22 AM Changeset in webkit [222016] by
-
- 1 edit2 copies in trunk/LayoutTests
Reverted r222014, and added El Capitan specific result for fast/forms/append-children-during-form-submission.html
- fast/forms/append-children-during-form-submission-expected.txt: Reverted r222014.
- platform/mac-elcapitan/fast/forms/append-children-during-form-submission-expected.txt: Added.
- 12:57 AM Changeset in webkit [222015] by
-
- 19 edits15 adds in trunk
Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
<rdar://problem/34290931>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-14
Reviewed by Devin Rousso.
Source/WebCore:
Tests: inspector/timeline/timeline-event-CancelAnimationFrame.html
inspector/timeline/timeline-event-EventDispatch.html
inspector/timeline/timeline-event-FireAnimationFrame.html
inspector/timeline/timeline-event-RequestAnimationFrame.html
inspector/timeline/timeline-event-TimerFire.html
inspector/timeline/timeline-event-TimerInstall.html
inspector/timeline/timeline-event-TimerRemove.html
- dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchEvent):
Include defaultPrevented when notifying inspector.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didDispatchEventImpl):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didDispatchEvent):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
Pass defaultPrevented on to agent.
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didDispatchEvent):
(WebCore::InspectorTimelineAgent::didLayout):
(WebCore::InspectorTimelineAgent::didPaint):
- inspector/InspectorTimelineAgent.h:
- inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::appendLayoutRoot):
(WebCore::TimelineRecordFactory::appendDidDispatchEventData):
- inspector/TimelineRecordFactory.h:
Append a boolean defaultPrevented property on the EventDispatch timeline record's data.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
New string.
- UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.prototype._processRecord):
Include the whole data object as extra details.
- UserInterface/Models/ScriptTimelineRecord.js:
(WI.ScriptTimelineRecord):
(WI.ScriptTimelineRecord.prototype.get extraDetails):
Wholesale copy of the extra data instead of just a single property.
- UserInterface/Views/ScriptDetailsTimelineView.js:
(WI.ScriptDetailsTimelineView):
Give the name column more initial space, there is still extra space
after this adjustment but name is comfortably larger (and the most
likely to be expanded).
- UserInterface/Views/ScriptTimelineDataGridNode.js:
(WI.ScriptTimelineDataGridNode.prototype.get subtitle):
Include "default prevented" as the event's subtitle if it was prevented.
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Agent.prototype.dispatchEvent):
(InspectorBackend.Agent):
- UserInterface/Test.html:
- UserInterface/Test/Test.js:
(WI.loaded):
Add the ScriptProfilerObserver to tests since it is on by default for Timelines.
LayoutTests:
- inspector/timeline/resources/timeline-event-utilities.js: Added.
(TestPage.registerInitializer.window.captureTimelineWithScript):
(TestPage.registerInitializer):
(finishRecording):
Helper code for creating a recording from a function.
- inspector/timeline/timeline-event-CancelAnimationFrame-expected.txt: Added.
- inspector/timeline/timeline-event-CancelAnimationFrame.html: Added.
- inspector/timeline/timeline-event-EventDispatch-expected.txt: Added.
- inspector/timeline/timeline-event-EventDispatch.html: Added.
- inspector/timeline/timeline-event-FireAnimationFrame-expected.txt: Added.
- inspector/timeline/timeline-event-FireAnimationFrame.html: Added.
- inspector/timeline/timeline-event-RequestAnimationFrame-expected.txt: Added.
- inspector/timeline/timeline-event-RequestAnimationFrame.html: Added.
- inspector/timeline/timeline-event-TimerFire-expected.txt: Added.
- inspector/timeline/timeline-event-TimerFire.html: Added.
- inspector/timeline/timeline-event-TimerInstall-expected.txt: Added.
- inspector/timeline/timeline-event-TimerInstall.html: Added.
- inspector/timeline/timeline-event-TimerRemove-expected.txt: Added.
- inspector/timeline/timeline-event-TimerRemove.html: Added.
Tests for different, specific, Timeline domain EventTypes.
This includes EventDispatch with its new "defaultPrevented" details data.
- 12:37 AM Changeset in webkit [222014] by
-
- 2 edits in trunk/LayoutTests
Rebaseline a test after r222005.
- fast/forms/append-children-during-form-submission-expected.txt:
- 12:01 AM Changeset in webkit [222013] by
-
- 12 edits1 add in trunk
Introduce the option to mark an HTML element as having AutoFill available.
https://bugs.webkit.org/show_bug.cgi?id=176710
Patch by Maureen Daum <mdaum@apple.com> on 2017-09-14
Reviewed by Alex Christensen.
Source/WebCore:
Introduce the option to mark an HTML element as having AutoFill available. Accessibility
can use this property when deciding whether to announce that the focused field offers
AutoFill.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isValueAutofillAvailable const):
Check if the field is explicitly marked as having AutoFill available.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
- html/HTMLInputElement.h:
(WebCore::HTMLInputElement::isAutoFillAvailable const):
(WebCore::HTMLInputElement::setAutoFillAvailable):
Source/WebKit:
Introduce the option to mark an HTML element as having AutoFill available. Accessibility
can use this property when deciding whether to announce that the focused field offers
AutoFill.
- WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
(WKBundleNodeHandleGetHTMLInputElementAutoFillAvailable):
(WKBundleNodeHandleSetHTMLInputElementAutoFillAvailable):
- WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
- WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::isAutoFillAvailable const):
(WebKit::InjectedBundleNodeHandle::setAutoFillAvailable):
- WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
Tools:
Add an API test that verifies after we mark a field as having AutoFill available,
Accessibility also considers it to have AutoFill available.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add AutoFillAvailable.mm
- TestWebKitAPI/Tests/WebKitCocoa/AutoFillAvailable.mm: Added.
Create an input element, mark it as having AutoFill available, then focus it so that
we can get the accessibility information for it. Ask accessibility whether it considers
the field to have AutoFill available, and pick the alert message based on that.
(-[AutoFillAvailable webProcessPlugIn:didCreateBrowserContextController:]):
- TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
(-[AutoFillAvailableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
Verify that we get the alert message indicating that accessibility indeed considers
the input element as having AutoFill available after we explicitly marked it as so.
Sep 13, 2017:
- 11:57 PM Changeset in webkit [222012] by
-
- 5 edits1 add in trunk/Source/WebCore
[Curl] Move response related features into ResourceResponse
https://bugs.webkit.org/show_bug.cgi?id=174654
Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-13
Reviewed by Alex Christensen.
- platform/Curl.cmake:
- platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::isHttpRedirect): Deleted.
(WebCore::isHttpAuthentication): Deleted.
(WebCore::isHttpNotModified): Deleted.
(WebCore::isAppendableHeader): Deleted.
(WebCore::ResourceHandleCurlDelegate::didReceiveHeaderLine): Deleted.
- platform/network/curl/ResourceHandleCurlDelegate.h:
- platform/network/curl/ResourceResponse.h:
(WebCore::ResourceResponse::platformSuggestedFilename const): Deleted.
- platform/network/curl/ResourceResponseCurl.cpp: Added.
(WebCore::ResourceResponse::isAppendableHeader):
(WebCore::ResourceResponse::appendHTTPHeaderField):
(WebCore::ResourceResponse::setStatusLine):
(WebCore::ResourceResponse::platformSuggestedFilename const):
(WebCore::ResourceResponse::isRedirection const):
(WebCore::ResourceResponse::isNotModified const):
(WebCore::ResourceResponse::isUnauthorized const):
- 11:19 PM Changeset in webkit [222011] by
-
- 2 edits in trunk
[CMake] Detect harfbuzz without pkgconfig
https://bugs.webkit.org/show_bug.cgi?id=176886
Reviewed by Michael Catanzaro.
- Source/cmake/FindHarfBuzz.cmake:
- 11:10 PM Changeset in webkit [222010] by
-
- 3 edits1 move in trunk/LayoutTests
Fix a typo in the directory name: editing/pasteboard/enties-api.
Rubber-stamped by Wenson Hsieh.
- editing/pasteboard/entries-api: Renamed from LayoutTests/editing/pasteboard/enties-api.
- platform/win/TestExpectations:
- platform/wk2/TestExpectations:
- 9:21 PM Changeset in webkit [222009] by
-
- 39 edits1 delete in trunk
Rolling out r221832: Regresses Speedometer by ~4% and Dromaeo CSS YUI by ~20%.
https://bugs.webkit.org/show_bug.cgi?id=176888
<rdar://problem/34381832>
Not reviewed.
JSTests:
- stress/op_mod-ConstVar.js:
- stress/op_mod-VarConst.js:
- stress/op_mod-VarVar.js:
Source/JavaScriptCore:
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/MacroAssembler.cpp:
(JSC::stdFunctionCallback):
- assembler/MacroAssemblerPrinter.cpp:
(JSC::Printer::printCallback):
- assembler/ProbeContext.h:
(JSC::Probe:: const):
(JSC::Probe::Context::Context):
(JSC::Probe::Context::gpr):
(JSC::Probe::Context::spr):
(JSC::Probe::Context::fpr):
(JSC::Probe::Context::gprName):
(JSC::Probe::Context::sprName):
(JSC::Probe::Context::fprName):
(JSC::Probe::Context::pc):
(JSC::Probe::Context::fp):
(JSC::Probe::Context::sp):
(JSC::Probe::CPUState::gpr const): Deleted.
(JSC::Probe::CPUState::spr const): Deleted.
(JSC::Probe::Context::arg): Deleted.
(JSC::Probe::Context::gpr const): Deleted.
(JSC::Probe::Context::spr const): Deleted.
(JSC::Probe::Context::fpr const): Deleted.
- assembler/ProbeFrame.h: Removed.
- assembler/ProbeStack.cpp:
(JSC::Probe::Page::Page):
- assembler/ProbeStack.h:
(JSC::Probe::Page::get):
(JSC::Probe::Page::set):
(JSC::Probe::Page::physicalAddressFor):
(JSC::Probe::Stack::lowWatermark):
(JSC::Probe::Stack::get):
(JSC::Probe::Stack::set):
- bytecode/ArithProfile.cpp:
- bytecode/ArithProfile.h:
- bytecode/ArrayProfile.h:
(JSC::ArrayProfile::observeArrayMode): Deleted.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize): Deleted.
- bytecode/CodeBlock.h:
(JSC::CodeBlock::addressOfOSRExitCounter):
- bytecode/ExecutionCounter.h:
(JSC::ExecutionCounter::hasCrossedThreshold const): Deleted.
(JSC::ExecutionCounter::setNewThresholdForOSRExit): Deleted.
- bytecode/MethodOfGettingAValueProfile.cpp:
(JSC::MethodOfGettingAValueProfile::reportValue): Deleted.
- bytecode/MethodOfGettingAValueProfile.h:
- dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
- dfg/DFGJITCode.cpp:
(JSC::DFG::JITCode::findPC):
- dfg/DFGJITCode.h:
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::link):
- dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::setPatchableCodeOffset):
(JSC::DFG::OSRExit::getPatchableCodeOffsetAsJump const):
(JSC::DFG::OSRExit::codeLocationForRepatch const):
(JSC::DFG::OSRExit::correctJump):
(JSC::DFG::OSRExit::emitRestoreArguments):
(JSC::DFG::OSRExit::compileOSRExit):
(JSC::DFG::OSRExit::compileExit):
(JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure):
(JSC::DFG::jsValueFor): Deleted.
(JSC::DFG::restoreCalleeSavesFor): Deleted.
(JSC::DFG::saveCalleeSavesFor): Deleted.
(JSC::DFG::restoreCalleeSavesFromVMEntryFrameCalleeSavesBuffer): Deleted.
(JSC::DFG::copyCalleeSavesToVMEntryFrameCalleeSavesBuffer): Deleted.
(JSC::DFG::saveOrCopyCalleeSavesFor): Deleted.
(JSC::DFG::createDirectArgumentsDuringExit): Deleted.
(JSC::DFG::createClonedArgumentsDuringExit): Deleted.
(JSC::DFG::emitRestoreArguments): Deleted.
(JSC::DFG::OSRExit::executeOSRExit): Deleted.
(JSC::DFG::reifyInlinedCallFrames): Deleted.
(JSC::DFG::adjustAndJumpToTarget): Deleted.
(JSC::DFG::printOSRExit): Deleted.
- dfg/DFGOSRExit.h:
(JSC::DFG::OSRExitState::OSRExitState): Deleted.
- dfg/DFGOSRExitCompilerCommon.cpp:
- dfg/DFGOSRExitCompilerCommon.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGThunks.cpp:
(JSC::DFG::osrExitGenerationThunkGenerator):
(JSC::DFG::osrExitThunkGenerator): Deleted.
- dfg/DFGThunks.h:
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::debugCall):
- jit/AssemblyHelpers.h:
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- profiler/ProfilerOSRExit.h:
(JSC::Profiler::OSRExit::incCount): Deleted.
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
- runtime/VM.h:
- 8:48 PM Changeset in webkit [222008] by
-
- 8 edits2 adds in trunk
Switch multicolumn's spanner map from raw over to weak pointers.
https://bugs.webkit.org/show_bug.cgi?id=176367
<rdar://problem/34254896>
Reviewed by Antti Koivisto.
Source/WebCore:
Test: fast/multicol/spanner-crash-when-adding-summary.html
- rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy):
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
(WebCore::RenderMultiColumnFlowThread::handleSpannerRemoval):
- rendering/RenderMultiColumnFlowThread.h:
- rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::firstRendererInFlowThread const):
(WebCore::RenderMultiColumnSet::lastRendererInFlowThread const):
- rendering/RenderMultiColumnSpannerPlaceholder.cpp:
(WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):
- rendering/RenderMultiColumnSpannerPlaceholder.h:
LayoutTests:
- fast/multicol/spanner-crash-when-adding-summary-expected.txt: Added.
- fast/multicol/spanner-crash-when-adding-summary.html: Added.
- 8:32 PM Changeset in webkit [222007] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Move class/struct used in other class' member out of anonymous namespace
https://bugs.webkit.org/show_bug.cgi?id=176876
Reviewed by Saam Barati.
GCC warns if a class has a base or field whose type uses the anonymous namespace
and it is defined in an included file. This is because this possibly violates
one definition rule (ODR): if an included file has the anonymous namespace, each
translation unit creates its private anonymous namespace. Thus, each type
inside the anonymous namespace becomes different in each translation unit if
the file is included in multiple translation units.
While the current use in JSC is not violating ODR since these cpp files are included
only once for unified sources, specifying-Wno-subobject-linkagecould miss
the actual bugs. So, in this patch, we just move related classes/structs out of
the anonymous namespace.
- dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::addition):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::arrayBounds):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::operator! const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::hash const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::operator== const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::dump const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKeyAndAddend::RangeKeyAndAddend):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKeyAndAddend::operator! const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKeyAndAddend::dump const):
(JSC::DFG::IntegerCheckCombiningPhase::Range::dump const):
- dfg/DFGLICMPhase.cpp:
- 8:12 PM Changeset in webkit [222006] by
-
- 27 edits23 adds in trunk
Introduce Storage Access API (document parts) as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=175759
<rdar://problem/34414107>
Reviewed by Alex Christensen.
Source/WebCore:
Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.
It introduces the following three developer-facing things:
- A new readonly attribute, document.hasStorageAccess.
- A new function, document.requestStorageAccess().
- A new iframe sandbox token, allow-storage-access-by-user-activation.
Tests: http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe.html
http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html
http/tests/storageAccess/request-and-grant-storage-access-cross-origin-iframe.html
http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html
http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html
http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html
http/tests/storageAccess/request-storage-access-same-origin-iframe.html
http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html
http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe.html
http/tests/storageAccess/request-storage-access-top-frame.html
- dom/Document.cpp:
(WebCore::Document::requestStorageAccess):
- dom/Document.h:
(WebCore::Document::hasStorageAccess const):
(WebCore::Document::setUserGrantsStorageAccessOverride):
See comments on WebCore::Internals below.
- dom/Document.idl:
- dom/SecurityContext.cpp:
(WebCore::SecurityContext::isSupportedSandboxPolicy):
(WebCore::SecurityContext::parseSandboxPolicy):
Support for allow-storage-access-by-user-activation.
- dom/SecurityContext.h:
- loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::registerStorageAccess):
Newly granted storage access is reported to
WebCore::ResourceLoadObserver.
- loader/ResourceLoadObserver.h:
- loader/ResourceLoadStatistics.cpp:
(WebCore::encodeHashSet):
(WebCore::ResourceLoadStatistics::encode const):
(WebCore::decodeHashSet):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::appendHashSet):
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::mergeHashSet):
(WebCore::ResourceLoadStatistics::merge):
Storage of the new type of data.
- loader/ResourceLoadStatistics.h:
- page/Settings.in:
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setUserGrantsStorageAccess):
- testing/Internals.h:
- testing/Internals.idl:
Added setUserGrantsStorageAccess(). It is used to
override the eventSender's keyboard input which
always results in a cancel action on the confirm()
dialog.
Source/WebKit:
Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.
It introduces the following three developer-facing things:
- A new readonly attribute, document.hasStorageAccess.
- A new function, document.requestStorageAccess().
- A new iframe sandbox token, allow-storage-access-by-user-activation.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
(IPC::ArgumentCoder<ResourceLoadStatistics>::decode):
Storage handling of the new type of data.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetStorageAccessAPIEnabled):
(WKPreferencesGetStorageAccessAPIEnabled):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- UIProcess/WebResourceLoadStatisticsStore.cpp:
Bumped the model version from 9 to 10.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Tools:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Turns the feature on for tests.
LayoutTests:
Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.
It introduces the following three developer-facing things:
- A new readonly attribute, document.hasStorageAccess.
- A new function, document.requestStorageAccess().
- A new iframe sandbox token, allow-storage-access-by-user-activation.
- TestExpectations:
- http/tests/storageAccess: Added.
- http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe-expected.txt: Added.
- http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe.html: Added.
- http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
- http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html: Added.
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-iframe-expected.txt: Added.
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-iframe.html: Added.
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html: Added.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-expected.txt: Added.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html: Added.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html: Added.
- http/tests/storageAccess/request-storage-access-same-origin-iframe-expected.txt: Added.
- http/tests/storageAccess/request-storage-access-same-origin-iframe.html: Added.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-expected.txt: Added.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html: Added.
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe.html: Added.
- http/tests/storageAccess/request-storage-access-top-frame-expected.txt: Added.
- http/tests/storageAccess/request-storage-access-top-frame.html: Added.
- http/tests/storageAccess/resources: Added.
- http/tests/storageAccess/resources/request-storage-access-iframe.html: Added.
- platform/mac-wk2/TestExpectations:
New test cases that require a user gesture marked as [ Pass ].
Also removed reference to (now closed) https://bugs.webkit.org/show_bug.cgi?id=175170.
- platform/wk2/TestExpectations:
New test case request-storage-access-top-frame.html marked as [ Pass ].
- 6:49 PM Changeset in webkit [222005] by
-
- 3 edits2 adds in trunk
Submitting a form can cause HTMLFormElement's associated elements vector to be mutated during iteration
https://bugs.webkit.org/show_bug.cgi?id=176368
<rdar://problem/34254998>
Reviewed by Ryosuke Niwa.
Source/WebCore:
In the process of iterating over form.associatedElements() during form submission in FormSubmission::create, the
page may cause us to clobber the vector of FormAssociatedElements* we're currently iterating over by inserting
new form controls beneath the form element we're in the process of submitting. This happens because
FormSubmission::create calls HTMLTextAreaElement::appendFormData, which requires layout to be up to date, which
in turn makes us updateLayout() and set focus, which fires achangeevent, upon which the page's JavaScript
inserts additonal DOM nodes into the form, modifying the vector of associated elements.
To mitigate this, instead of iterating over HTMLFormElement::associatedElements(), which returns a reference to
the HTMLFormElement's actual m_associatedElements vector, we iterate over a new vector of
Ref<FormAssociatedElement>s created from m_associatedElements.
This patch also removes an event dispatch assertion added in r212026. This assertion was added to catch any
other events dispatched in this scope, since dispatching events there would have had security implications, but
after making iteration over associated elements robust, this NoEventDispatchAssertion is no longer useful.
Test: fast/forms/append-children-during-form-submission.html
- loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
LayoutTests:
Adds a new test to make sure we don't crash when mutating a form's associated elements during form submission.
- fast/forms/append-children-during-form-submission-expected.txt: Added.
- fast/forms/append-children-during-form-submission.html: Added.
- 6:44 PM Changeset in webkit [222004] by
-
- 2 edits in trunk/Source/WebKit
[Apple Pay] Consider phoneticName when encoding ContactFields
https://bugs.webkit.org/show_bug.cgi?id=176885
<rdar://problem/34176419>
Reviewed by Tim Horton.
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::ContactFields>::encode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::ContactFields>::decode):
- 6:30 PM WebKitGTK/2.16.x edited by
- (diff)
- 5:32 PM Changeset in webkit [222003] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: allow recordings to be saved via ⌘-S in the Recording tab
https://bugs.webkit.org/show_bug.cgi?id=175284
Reviewed by Matt Baker.
- UserInterface/Views/RecordingContentView.js:
(WI.RecordingContentView.prototype.get supportsSave):
(WI.RecordingContentView.prototype.get saveData):
- UserInterface/Views/RecordingNavigationSidebarPanel.js:
(WI.RecordingNavigationSidebarPanel.prototype._exportNavigationItemClicked):
Use the current content view's saveData when exporting.
- 4:50 PM Changeset in webkit [222002] by
-
- 13 edits2 adds in trunk
Web Inspector: Event Listeners section does not update when listeners are added/removed
https://bugs.webkit.org/show_bug.cgi?id=170570
<rdar://problem/31501645>
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/protocol/DOM.json:
Add two new events: "didAddEventListener" and "willRemoveEventListener". These events do not
contain any information about the event listeners that were added/removed. They serve more
as indications that something has changed, and to refetch the data again viagetEventListenersForNode.
Source/WebCore:
Test: inspector/dom/event-listener-add-remove.html
- dom/EventTarget.cpp:
(WebCore::EventTarget::setAttributeEventListener):
Fire willRemoveEventListener/didAddEventListener events when an attribute event listener is
replaced by another event listener.
- inspector/InspectorDOMAgent.h:
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didAddEventListener):
(WebCore::InspectorDOMAgent::willRemoveEventListener):
Dispatch an event to the inspector frontend whenever an event listener is added/removed.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didAddEventListenerImpl):
(WebCore::InspectorInstrumentation::willRemoveEventListenerImpl):
Tie into existing instrumentation points for adding/removing event listeners.
Source/WebInspectorUI:
- UserInterface/Protocol/DOMObserver.js:
(WI.DOMObserver.prototype.didAddEventListener):
(WI.DOMObserver.prototype.willRemoveEventListener):
- UserInterface/Controllers/DOMTreeManager.js:
(WI.DOMTreeManager.prototype.didAddEventListener):
(WI.DOMTreeManager.prototype.willRemoveEventListener):
- UserInterface/Models/DOMNode.js:
Add "EventListenersChanged" event. Fired when an event listener is added or removed.
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WI.DOMNodeDetailsSidebarPanel.prototype.addEventListeners):
(WI.DOMNodeDetailsSidebarPanel.prototype.removeEventListeners):
(WI.DOMNodeDetailsSidebarPanel.prototype._eventListenersChanged):
Refresh the event listeners section whenever a node's event listeners change.
LayoutTests:
- inspector/dom/event-listener-add-remove-expected.txt: Added.
- inspector/dom/event-listener-add-remove.html: Added.
- 4:46 PM Changeset in webkit [222001] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Sort by size issues with Cookies and ApplicationCache DataGrids
https://bugs.webkit.org/show_bug.cgi?id=176879
<rdar://problem/34237096>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-13
Reviewed by Matt Baker.
- UserInterface/Views/ApplicationCacheFrameContentView.js:
(WI.ApplicationCacheFrameContentView.prototype._sortDataGrid):
(WI.ApplicationCacheFrameContentView.prototype._populateDataGrid):
This uses very dumb DataGridNodes with a pure data object. In that
objectsizeis a bytes string not a number. Include the number size
in this data object that can be used during sorting.
- UserInterface/Views/CookieStorageContentView.js:
(WI.CookieStorageContentView.prototype._rebuildTable):
Simplify creation. Also don't reset sort options. Note that here the
DataGridNodes have access to the Cookie object and can already sort size
using the cookie's size (a number) and not the data's size (string).
- UserInterface/Views/DataGrid.js:
(WI.DataGrid.prototype.sortNodes):
(WI.DataGrid.prototype._sortNodesCallback):
If sortNodes was called twice, it would defer the sort and actually
do the sort with the first comparator and not the latest, preferred
comparator. Make it use the latest comparator.
- 4:38 PM Changeset in webkit [222000] by
-
- 2 edits in trunk/LayoutTests
Mark storage/indexeddb/modern/idbtransaction-objectstore-failures.html as flaky on Windows.
https://bugs.webkit.org/show_bug.cgi?id=176880
Unreviewed test gardening.
- platform/win/TestExpectations:
- 4:33 PM Changeset in webkit [221999] by
-
- 3 edits in trunk/Source/WebCore
[Curl] Bug fix for synchronous transfer
https://bugs.webkit.org/show_bug.cgi?id=176552
Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-13
Reviewed by Alex Christensen.
ResourceHandleInternal::m_delegate is null when transfer is synchronous. It should be set ResourceHandleCurlDelegate.
Also the callback functions called when transfer is completed is wrong.
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
- platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::dispatchSynchronousJob):
(WebCore::ResourceHandleCurlDelegate::notifyFinish):
(WebCore::ResourceHandleCurlDelegate::notifyFail):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::ResourceHandleCurlDelegate::didReceiveData):
(WebCore::ResourceHandleCurlDelegate::willSendData):
- 4:20 PM Changeset in webkit [221998] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Styles Redesign: display @media section headers
https://bugs.webkit.org/show_bug.cgi?id=176289
<rdar://problem/34228389>
Reviewed by Devin Rousso.
Prepend CSS media query selectors to every matching rule.
- UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
(.spreadsheet-css-declaration .media-label):
- UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
(WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._createMediaHeader):
Don't localize "@media" since it's CSS code.
Don't display "all" or "screen" media query selectors. One of the goals of the
Styles sidebar redesign is to fit more data.
- 3:47 PM Changeset in webkit [221997] by
-
- 26 edits21 deletes in trunk
Unreviewed, rolling out r221976.
The test introduced was flaky from point of addition.
Reverted changeset:
"Introduce Storage Access API (document parts) as an
experimental feature"
https://bugs.webkit.org/show_bug.cgi?id=175759
http://trac.webkit.org/changeset/221976
- 3:00 PM Changeset in webkit [221996] by
-
- 6 edits2 adds in trunk
Followup (r221805): Address comments and add more tests
https://bugs.webkit.org/show_bug.cgi?id=176732
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-13
Reviewed by Darin Adler.
Source/WebCore:
Test: http/tests/images/decode-slow-load-static-image.html
Code clean up and adding a new test to ensure multiple decode() promises
can be resolved or rejected simultaneously without any issues.
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::decode):
(WebCore::ImageLoader::decodeError):
- loader/ImageLoader.h:
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::decode):
(WebCore::BitmapImage::callDecodingCallbacks):
- platform/graphics/BitmapImage.h:
LayoutTests:
- http/tests/images/decode-slow-load-static-image-expected.txt: Added.
- http/tests/images/decode-slow-load-static-image.html: Added.
- 1:56 PM Changeset in webkit [221995] by
-
- 17 edits in trunk
Internals clearCacheStorageMemoryRepresentation should return a Promise
https://bugs.webkit.org/show_bug.cgi?id=176818
Patch by Youenn Fablet <youenn@apple.com> on 2017-09-13
Reviewed by Alex Christensen.
Source/WebCore:
No observable change of behavior.
- Modules/cache/DOMCacheEngine.h:
- testing/Internals.cpp:
(WebCore::Internals::clearCacheStorageMemoryRepresentation): Returning a promise when clearing is completed.
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
Adding a completion handler to clearMemoryRepresentation.
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::clearMemoryRepresentation):
- NetworkProcess/cache/CacheStorageEngine.h:
- NetworkProcess/cache/CacheStorageEngineConnection.cpp:
(WebKit::CacheStorageEngineConnection::clearMemoryRepresentation):
- NetworkProcess/cache/CacheStorageEngineConnection.h:
- NetworkProcess/cache/CacheStorageEngineConnection.messages.in:
- WebProcess/Cache/WebCacheStorageConnection.cpp:
(WebKit::WebCacheStorageConnection::clearMemoryRepresentation):
(WebKit::WebCacheStorageConnection::clearMemoryRepresentationCompleted):
- WebProcess/Cache/WebCacheStorageConnection.h:
- WebProcess/Cache/WebCacheStorageConnection.messages.in:
LayoutTests:
Updating tests to interact with the caches after the clearCacheStorageMemoryRepresentation promise is completed.
- http/tests/cache-storage/cache-origins.https.html:
- http/tests/cache-storage/cache-persistency.https.html:
- 1:55 PM Changeset in webkit [221994] by
-
- 2 edits in trunk/LayoutTests
Fixed expectations of imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval.html.
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:48 PM Changeset in webkit [221993] by
-
- 11 edits in trunk
Web Inspector: Frontend should be made to expect and handle disabled properties
https://bugs.webkit.org/show_bug.cgi?id=166787
<rdar://problem/34379593>
Reviewed by Joseph Pecoraro.
Source/WebCore:
Include disabled (commented out) CSS properties in the payload.
Tests: inspector/css/css-property.html
inspector/css/matched-style-properties.html
- inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::populateAllProperties const):
(WebCore::InspectorStyle::styleWithProperties const):
Source/WebInspectorUI:
This change introduces WI.CSSStyleDeclaration.prototype.allProperties getter,
that includes both enabled and disabled (commented out) CSS properties.
The existing WI.CSSStyleDeclaration.prototype.properties getter only includes enabled CSS properties,
same as before the backend change.
There is no behaviour change in the current styles sidebar. The new redesigned styles sidebar will
use disabled properties and display them as commented out.
- UserInterface/Models/CSSProperty.js:
(WI.CSSProperty.prototype.get attached):
Renameenabledtoattached, as it didn't correspond to_enabledproperty. Attached means that the property
is enabled and has a ownerStyle with a set index (unless it's a computed style, where index is not applicable).
(WI.CSSProperty.prototype.get enabled):
- UserInterface/Models/CSSStyleDeclaration.js:
(WI.CSSStyleDeclaration.prototype.get allProperties):
Add allProperties getter that will be used in the new styles sidebar.
- UserInterface/Models/DOMNodeStyles.js:
(WI.DOMNodeStyles.prototype._markOverriddenProperties):
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WI.CSSStyleDeclarationTextEditor.prototype.highlightProperty.propertiesMatch):
Rename "enabled" to "attached" without any behavior change.
LayoutTests:
Add test cases for disabled (commented out) CSS properties.
- inspector/css/css-property-expected.txt:
- inspector/css/css-property.html:
Add test cases for previously untested
enabledand newly addedattachedgetters.
- inspector/css/matched-style-properties.html:
- 1:43 PM Changeset in webkit [221992] by
-
- 2 edits in trunk/LayoutTests
[GTK] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=176871
Patch by Alicia Boya García <aboya@igalia.com> on 2017-09-13
Reviewed by Michael Catanzaro.
- platform/gtk/TestExpectations:
- 1:39 PM Changeset in webkit [221991] by
-
- 2 edits in trunk/LayoutTests
Rebaseline http/tests/loading/state-object-security-exception.html after r221978.
https://bugs.webkit.org/show_bug.cgi?id=176730
Unreviewed test gardening.
- http/tests/loading/state-object-security-exception-expected.txt:
- 1:39 PM WebKitGTK/2.18.x edited by
- (diff)
- 1:24 PM Changeset in webkit [221990] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Escape in global search field should clear it
https://bugs.webkit.org/show_bug.cgi?id=176764
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-13
Reviewed by Timothy Hatcher.
- UserInterface/Views/QuickConsole.js:
(WI.QuickConsole.prototype._toggleOrFocus):
Don't implicitly prevent default. So if we didn't cause an action we
can let the default system action happen.
- UserInterface/Views/SearchBar.js:
(WI.SearchBar):
Remove unused keyboard shortcuts.
- 1:17 PM Changeset in webkit [221989] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Fails to build because 'Float32Array' has not been declared in AudioContext.h
https://bugs.webkit.org/show_bug.cgi?id=176870
Reviewed by Konstantin Tokarev.
Add missing include of Float32Array.h
No new tests, its a build fix.
- Modules/webaudio/AudioContext.h:
- 1:04 PM Changeset in webkit [221988] by
-
- 7 edits in trunk/Source
Versioning.
- 1:03 PM Changeset in webkit [221987] by
-
- 1 copy in tags/Safari-605.1.6
Tag Safari-605.1.6.
- 1:02 PM Changeset in webkit [221986] by
-
- 17 edits in trunk/Source
[CF] Upstream CFNetwork-related WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=176729
Reviewed by Alex Christensen.
Source/WebCore:
- platform/ios/WebCoreSystemInterfaceIOS.mm:
- platform/mac/PublicSuffixMac.mm:
(WebCore::isPublicSuffix):
- platform/mac/WebCoreSystemInterface.h:
- platform/mac/WebCoreSystemInterface.mm:
- platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):
- platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::setCONNECTProxyForStream):
(WebCore::SocketStreamHandleImpl::createStreams):
(WebCore::setCONNECTProxyAuthorizationForStream):
(WebCore::SocketStreamHandleImpl::addCONNECTCredentials):
(WebCore::copyCONNECTProxyResponse):
(WebCore::SocketStreamHandleImpl::readStreamCallback):
(WebCore::SocketStreamHandleImpl::writeStreamCallback):
- platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
- Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::createSerializableRepresentation):
(IPC::dictionaryValueOfType):
(IPC::createArchiveList):
(IPC::createCFURLRequestFromSerializableRepresentation):
(IPC::createNSURLRequestFromSerializableRepresentation):
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::legacyPlatformDefaultCacheStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):
- WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
- WebView/WebView.mm:
(+[WebView _setCacheModel:]):
- 12:54 PM Changeset in webkit [221985] by
-
- 2 edits in trunk/Tools
Compress spindumps on client side before packaging into layout test results zip (mac & ios)
https://bugs.webkit.org/show_bug.cgi?id=176853
Reviewed by Aakash Jain.
- BuildSlaveSupport/test-result-archive:
(main):
(gzip_file): use gzip to compress a file, removing original
(compress_spindumps): find and compress spindumps matching a filter
(archive_test_results): refactor to snake_case
(archiveTestResults): Deleted.
- 12:38 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 11:45 AM Changeset in webkit [221984] by
-
- 2 edits in trunk/LayoutTests
Followup rebaseline after r221973.
Unreviewed test gardening.
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- 11:41 AM Changeset in webkit [221983] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html as a flaky crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=176866
Unreviewed test gardening.
- platform/win/TestExpectations:
- 11:38 AM Changeset in webkit [221982] by
-
- 12 edits in trunk
Add WKUIDelegatePrivate equivalent of WKPageUIClient's setIsResizable, getWindowFrame, and setWindowFrame
https://bugs.webkit.org/show_bug.cgi?id=176857
<rdar://problem/29270035>
Reviewed by Tim Horton.
Source/WebKit:
isResizable is unreachable code because nothing sends Messages::WebPageProxy::GetIsResizable, so I removed it.
- UIProcess/API/APIUIClient.h:
(API::UIClient::setStatusBarIsVisible):
(API::UIClient::isResizable): Deleted.
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/API/glib/WebKitUIClient.cpp:
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::setIsResizable):
(WebKit::UIDelegate::UIClient::setWindowFrame):
(WebKit::UIDelegate::UIClient::windowFrame):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getIsResizable): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[ModalDelegate _webViewRunModal:]):
(-[ModalDelegate _webView:setResizable:]):
(-[WindowFrameDelegate _webView:setWindowFrame:]):
(-[WindowFrameDelegate _webView:getWindowFrameWithCompletionHandler:]):
(-[WindowFrameDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
(-[ResizableDelegate _webView:setResizable:]):
(-[ResizableDelegate _webView:getIsResizableWithCompletionHandler:]):
(-[ResizableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
- 11:25 AM Changeset in webkit [221981] by
-
- 4 edits in trunk/JSTests
Skip 3 op_mod tests on Debug JSC bots.
https://bugs.webkit.org/show_bug.cgi?id=176630
Unreviewed test gardening.
- stress/op_mod-ConstVar.js:
- stress/op_mod-VarConst.js:
- stress/op_mod-VarVar.js:
- 11:20 AM Changeset in webkit [221980] by
-
- 19 edits in trunk/Source
Make more of the CSS animation system internals element based
https://bugs.webkit.org/show_bug.cgi?id=176832
Reviewed by Zalan Bujtas.
CSS animations animate element style. Continue moving away from renderers in the animation code.
Also do some general modernization.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::computeRenderStyleForProperty):
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::AnimationBase):
- page/animation/AnimationBase.h:
- page/animation/CSSAnimationController.cpp:
(WebCore::CSSAnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::CSSAnimationControllerPrivate::clear):
(WebCore::CSSAnimationControllerPrivate::updateAnimations):
(WebCore::CSSAnimationControllerPrivate::updateAnimationTimerForElement):
(WebCore::CSSAnimationControllerPrivate::isRunningAnimationOnRenderer const):
(WebCore::CSSAnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer const):
(WebCore::CSSAnimationControllerPrivate::pauseAnimationAtTime):
(WebCore::CSSAnimationControllerPrivate::pauseTransitionAtTime):
(WebCore::CSSAnimationControllerPrivate::animatedStyleForElement):
(WebCore::CSSAnimationControllerPrivate::computeExtentOfAnimation const):
(WebCore::CSSAnimationController::cancelAnimations):
(WebCore::CSSAnimationController::updateAnimations):
(WebCore::CSSAnimationController::animatedStyleForRenderer):
(WebCore::CSSAnimationController::computeExtentOfAnimation const):
(WebCore::CSSAnimationController::pauseAnimationAtTime):
(WebCore::CSSAnimationController::pauseTransitionAtTime):
(WebCore::CSSAnimationControllerPrivate::updateAnimationTimerForRenderer): Deleted.
(WebCore::CSSAnimationControllerPrivate::getAnimatedStyleForRenderer): Deleted.
(WebCore::CSSAnimationController::getAnimatedStyleForRenderer): Deleted.
- page/animation/CSSAnimationController.h:
- page/animation/CSSAnimationControllerPrivate.h:
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::~CompositeAnimation):
(WebCore::CompositeAnimation::clearElement):
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::updateKeyframeAnimations):
(WebCore::CompositeAnimation::animate):
(WebCore::CompositeAnimation::clearRenderer): Deleted.
- page/animation/CompositeAnimation.h:
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::ImplicitAnimation):
(WebCore::ImplicitAnimation::animate):
- page/animation/ImplicitAnimation.h:
(WebCore::ImplicitAnimation::create):
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::animate):
- page/animation/KeyframeAnimation.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::willBeDestroyed):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::currentTransform const):
- style/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::createRenderer):
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
- testing/Internals.cpp:
(WebCore::Internals::pauseAnimationAtTimeOnElement):
(WebCore::Internals::pauseAnimationAtTimeOnPseudoElement):
(WebCore::Internals::pauseTransitionAtTimeOnElement):
(WebCore::Internals::pauseTransitionAtTimeOnPseudoElement):
- 11:15 AM Changeset in webkit [221979] by
-
- 2 edits in trunk/LayoutTests
Marked svg/animations/smil-leak-dynamically-added-element-instances.svg as flaky on macOS WK1.
https://bugs.webkit.org/show_bug.cgi?id=175867
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 11:06 AM Changeset in webkit [221978] by
-
- 6 edits3 adds in trunk
Make history.pushState()/replaceState() more closely aligned to the HTML standard
https://bugs.webkit.org/show_bug.cgi?id=176730
<rdar://problem/33839265>
Reviewed by Alex Christensen.
Source/WebCore:
Update history.pushState()/replaceState() to more closely align with the algorithm
specified in <https://html.spec.whatwg.org/multipage/history.html#dom-history-pushstate-2> (9 September 2017).
Test: http/tests/security/history-pushState-replaceState-from-sandboxed-iframe.html
- page/History.cpp:
(WebCore::History::stateObjectAdded):
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::extractInnerURL): Use URL constructor that takes a base URL as opposed
to using the special ParsedURLString-variant because the latter can only be used to parse a string
returned from URL::string(). And the extracted inner URL does not meet this criterion. Using the
ParsedURLString-variant of the URL constructor with a string that is not the result of URL::string()
will cause an assertion failure in a debug build.
LayoutTests:
- http/tests/security/history-pushState-replaceState-from-sandboxed-iframe-expected.txt: Added.
- http/tests/security/history-pushState-replaceState-from-sandboxed-iframe.html: Added.
- http/tests/security/history-username-password-expected.txt:
- http/tests/security/history-username-password.html:
- http/tests/security/resources/history-pushState-replaceState-from-sandboxed-iframe.html: Added.
- 10:50 AM Changeset in webkit [221977] by
-
- 6 edits in trunk
Add a lambda-based map for Vectors
https://bugs.webkit.org/show_bug.cgi?id=176487
Patch by Youenn Fablet <youenn@apple.com> on 2017-09-13
Reviewed by Darin Adler.
Source/WebKit:
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::readCachesFromDisk):
Source/WTF:
This helper routine allows refactoring the reserveInitialCapacity/uncheckedAppend pattern, the mapper between source and destination item being a lambda.
- wtf/Vector.h:
(WTF::Mapper::transform):
(WTF::Mapper::map):
(WTF::map):
Tools:
- TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
- 10:47 AM Changeset in webkit [221976] by
-
- 26 edits21 adds in trunk
Introduce Storage Access API (document parts) as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=175759
<rdar://problem/33666847>
Reviewed by Alex Christensen.
Source/WebCore:
Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.
It introduces the following three developer-facing things:
- A new readonly attribute, document.hasStorageAccess.
- A new function, document.requestStorageAccess().
- A new iframe sandbox token, allow-storage-access-by-user-activation.
Tests: http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-iframe.html
http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html
http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-iframe.html
http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html
http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html
http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html
http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-iframe.html
http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html
http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe.html
http/tests/loading/resourceLoadStatistics/request-storage-access-top-frame.html
- dom/Document.cpp:
(WebCore::Document::requestStorageAccess):
- dom/Document.h:
(WebCore::Document::hasStorageAccess const):
(WebCore::Document::setUserGrantsStorageAccessOverride):
See comments on WebCore::Internals below.
- dom/Document.idl:
- dom/SecurityContext.cpp:
(WebCore::SecurityContext::isSupportedSandboxPolicy):
(WebCore::SecurityContext::parseSandboxPolicy):
Support for allow-storage-access-by-user-activation.
- dom/SecurityContext.h:
- loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::registerStorageAccess):
Newly granted storage access is reported to
WebCore::ResourceLoadObserver.
- loader/ResourceLoadObserver.h:
- loader/ResourceLoadStatistics.cpp:
(WebCore::encodeHashSet):
(WebCore::ResourceLoadStatistics::encode const):
(WebCore::decodeHashSet):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::appendHashSet):
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::mergeHashSet):
(WebCore::ResourceLoadStatistics::merge):
Storage of the new type of data.
- loader/ResourceLoadStatistics.h:
- page/Settings.in:
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setUserGrantsStorageAccess):
- testing/Internals.h:
- testing/Internals.idl:
Added setUserGrantsStorageAccess(). It is used to
override the eventSender's keyboard input which
always results in a cancel action on the confirm()
dialog.
Source/WebKit:
Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.
It introduces the following three developer-facing things:
- A new readonly attribute, document.hasStorageAccess.
- A new function, document.requestStorageAccess().
- A new iframe sandbox token, allow-storage-access-by-user-activation.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
(IPC::ArgumentCoder<ResourceLoadStatistics>::decode):
Storage handling of the new type of data.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetStorageAccessAPIEnabled):
(WKPreferencesGetStorageAccessAPIEnabled):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- UIProcess/WebResourceLoadStatisticsStore.cpp:
Bumped the model version from 9 to 10.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Tools:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Turns the feature on for tests.
LayoutTests:
Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.
It introduces the following three developer-facing things:
- A new readonly attribute, document.hasStorageAccess.
- A new function, document.requestStorageAccess().
- A new iframe sandbox token, allow-storage-access-by-user-activation.
- http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-iframe-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-iframe.html: Added.
- http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html: Added.
- http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-iframe-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-iframe.html: Added.
- http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html: Added.
- http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html: Added.
- http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html: Added.
- http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-iframe-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-iframe.html: Added.
- http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html: Added.
- http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe.html: Added.
- http/tests/loading/resourceLoadStatistics/request-storage-access-top-frame-expected.txt: Added.
- http/tests/loading/resourceLoadStatistics/request-storage-access-top-frame.html: Added.
- http/tests/loading/resourceLoadStatistics/resources/request-storage-access-iframe.html: Added.
- platform/mac-wk2/TestExpectations:
New test cases that require a user gesture marked as [ Pass ].
Also removed reference to (now closed) https://bugs.webkit.org/show_bug.cgi?id=175170.
- platform/wk2/TestExpectations:
New test case request-storage-access-top-frame.html marked as [ Pass ].
- 10:46 AM Changeset in webkit [221975] by
-
- 2 edits in trunk/Tools
[Win] DRT option --gc-between-tests is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=176849
Reviewed by Brent Fulgham.
Perform GC after the test if this option is enabled. This patch also set the initial value of the flag
to true, in order to catch GC related issues in the test in which they occur.
- DumpRenderTree/win/DumpRenderTree.cpp:
(runTest):
- 10:14 AM Changeset in webkit [221974] by
-
- 51 edits1 delete in trunk
[HarfBuzz] Wrong offset returned by HarfBuzzShaper::offsetForPosition in some cases
https://bugs.webkit.org/show_bug.cgi?id=176848
Reviewed by Michael Catanzaro.
Source/WebCore:
This patch rewrites HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition() to make it simpler and ensure we
return the right offset in all the cases, also honoring now the includePartialGlyphs parameter that we were
ignoring in FontCascade::offsetForPositionForComplexText().
Fixes several tests that started to fail after r221909.
- platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
(WebCore::FontCascade::offsetForPositionForComplexText const):
- platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
(WebCore::HarfBuzzShaper::offsetForPosition):
- platform/graphics/harfbuzz/HarfBuzzShaper.h:
LayoutTests:
Rebaseline several tests where we are now getting results similar to the mac ones.
- platform/gtk/editing/execCommand/findString-2-expected.txt:
- platform/gtk/editing/selection/14971-expected.png:
- platform/gtk/editing/selection/14971-expected.txt:
- platform/gtk/editing/selection/4895428-2-expected.png:
- platform/gtk/editing/selection/4895428-2-expected.txt:
- platform/gtk/editing/selection/5232159-expected.png:
- platform/gtk/editing/selection/5232159-expected.txt:
- platform/gtk/editing/selection/collapse-selection-in-bidi-expected.txt:
- platform/gtk/editing/selection/drag-select-1-expected.png:
- platform/gtk/editing/selection/drag-select-1-expected.txt:
- platform/gtk/editing/selection/editable-links-expected.png:
- platform/gtk/editing/selection/editable-links-expected.txt:
- platform/gtk/editing/selection/fake-doubleclick-expected.txt:
- platform/gtk/editing/selection/fake-drag-expected.txt:
- platform/gtk/editing/selection/select-across-readonly-input-1-expected.png:
- platform/gtk/editing/selection/select-across-readonly-input-1-expected.txt:
- platform/gtk/editing/selection/select-across-readonly-input-2-expected.png:
- platform/gtk/editing/selection/select-across-readonly-input-2-expected.txt:
- platform/gtk/editing/selection/select-across-readonly-input-3-expected.png:
- platform/gtk/editing/selection/select-across-readonly-input-3-expected.txt:
- platform/gtk/editing/selection/select-across-readonly-input-4-expected.png:
- platform/gtk/editing/selection/select-across-readonly-input-4-expected.txt:
- platform/gtk/editing/selection/select-across-readonly-input-5-expected.png:
- platform/gtk/editing/selection/select-across-readonly-input-5-expected.txt:
- platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.png:
- platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
- platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.png:
- platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
- platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.png:
- platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
- platform/gtk/fast/css/text-overflow-ellipsis-text-align-left-expected.png:
- platform/gtk/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
- platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.png:
- platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
- platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.png:
- platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.txt:
- platform/gtk/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
- platform/gtk/fast/repaint/repaint-across-writing-mode-boundary-expected.txt:
- platform/gtk/fast/repaint/selection-rl-expected.png:
- platform/gtk/fast/repaint/selection-rl-expected.txt:
- platform/gtk/fast/text/atsui-rtl-override-selection-expected.png:
- platform/gtk/fast/text/atsui-rtl-override-selection-expected.txt:
- platform/gtk/fast/text/in-rendered-text-rtl-expected.txt:
- platform/gtk/svg/custom/foreignObject-crash-on-hover-expected.txt:
- platform/gtk/svg/text/select-text-svgfont-expected.txt: Removed.
- platform/gtk/transitions/svg-text-shadow-transition-expected.png:
- platform/gtk/transitions/svg-text-shadow-transition-expected.txt:
- 10:08 AM Changeset in webkit [221973] by
-
- 4 edits in trunk/LayoutTests
Rebaseline of js/dom/global-constructors-attributes.html.
Unreviewed test gardening.
- platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-sierra-wk2/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- 9:23 AM Changeset in webkit [221972] by
-
- 2 edits in trunk/Source/WebCore
Initialize InternalSettings member variable.
https://bugs.webkit.org/show_bug.cgi?id=176838
Reviewed by Brent Fulgham.
Initialize the m_webVREnabled member in the constructor.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
- 9:03 AM Changeset in webkit [221971] by
-
- 5 edits in trunk/Source/WebCore
Make WebGLRenderingContextBase::TypedList::data() const-correct.
https://bugs.webkit.org/show_bug.cgi?id=176833
Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-13
Reviewed by Sam Weinig.
No change of behavior.
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::validateUniformMatrixParameters):
- html/canvas/WebGLRenderingContextBase.h:
(WebCore::WebGLRenderingContextBase::TypedList::data const):
- platform/graphics/GraphicsContext3D.h:
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::uniform1fv):
(WebCore::GraphicsContext3D::uniform2fv):
(WebCore::GraphicsContext3D::uniform3fv):
(WebCore::GraphicsContext3D::uniform4fv):
(WebCore::GraphicsContext3D::uniform1iv):
(WebCore::GraphicsContext3D::uniform2iv):
(WebCore::GraphicsContext3D::uniform3iv):
(WebCore::GraphicsContext3D::uniform4iv):
(WebCore::GraphicsContext3D::uniformMatrix2fv):
(WebCore::GraphicsContext3D::uniformMatrix3fv):
(WebCore::GraphicsContext3D::uniformMatrix4fv):
(WebCore::GraphicsContext3D::vertexAttrib1fv):
(WebCore::GraphicsContext3D::vertexAttrib2fv):
(WebCore::GraphicsContext3D::vertexAttrib3fv):
(WebCore::GraphicsContext3D::vertexAttrib4fv):
- 8:48 AM Changeset in webkit [221970] by
-
- 3 edits1 add in trunk
[JSC] Fix Array allocation in Object.keys
https://bugs.webkit.org/show_bug.cgi?id=176826
Reviewed by Saam Barati.
JSTests:
- stress/object-own-property-keys.js: Added.
(shouldBe):
Source/JavaScriptCore:
When isHavingABadTime() is true, array allocation does not become ArrayWithContiguous.
We check isHavingABadTime() in ownPropertyKeys fast path.
And we also ensures that ownPropertyKeys uses putDirect operation instead of put by a test.
- runtime/ObjectConstructor.cpp:
(JSC::ownPropertyKeys):
- 8:31 AM Changeset in webkit [221969] by
-
- 6 edits2 deletes in trunk
Remove CanvasRenderingContext2D.commit(), it is a no-op and not part the standard
https://bugs.webkit.org/show_bug.cgi?id=176821
Reviewed by Darin Adler.
Source/WebCore:
- html/canvas/CanvasRenderingContext2D.h:
- html/canvas/CanvasRenderingContext2D.idl:
Remove the commit operation. It is no longer part the standard (it was
moved to OffscreenCanvasRenderingContext2D) and it was a no-op.
LayoutTests:
- fast/canvas/commit-expected.txt: Removed.
- fast/canvas/commit.html: Removed.
- inspector/canvas/recording-2d-expected.txt:
- inspector/canvas/recording-2d.html:
Remove CanvasRenderingContext2D.commit() from test and update result.
- 8:02 AM Changeset in webkit [221968] by
-
- 2 edits in trunk/Source/WebCore
Ensure the user interacted with the page before setting m_userHasInteractedWithMediaElement
https://bugs.webkit.org/show_bug.cgi?id=176816
Reviewed by Eric Carlson.
Currently, when the user presses a keyboard shortcut in the client to reload a page, that may
get registered as a user gesture on the reloaded page. Before setting the
m_userHasInteractedWithMediaElement flag, we should check if a user gesture was actually handled
by checking the userDidInteractWithPage flag. In case of key events that aren't handled by the
page, this will be set to false by EventHandler:
If the key event was not handled, do not treat it as user interaction with the page.
if (topDocument && !wasHandled)
topDocument->setUserDidInteractWithPage(savedUserDidInteractWithPage);
We need to revisit this in the future in webkit.org/b/176817 and ensure user gesture tokens
don't carry over across reloads of the page.
Tests: I wasn't able to trigger the pathological scenario this aims to fix with a test that calls
window.location.reload() from a synthetic keyDown event.
- dom/Document.cpp:
(WebCore::Document::noteUserInteractionWithMediaElement):
- 4:47 AM Changeset in webkit [221967] by
-
- 7 edits in trunk
Disallow passing null values to various WebGL2 methods.
https://bugs.webkit.org/show_bug.cgi?id=176829
Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-13
Reviewed by Yusuke Suzuki.
This matches the specification as well as Gecko and Chromium.
Source/WebCore:
Test: fast/canvas/webgl/webgl2/bindings.html
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::beginQuery):
(WebCore::WebGL2RenderingContext::getQueryParameter):
(WebCore::WebGL2RenderingContext::samplerParameteri):
(WebCore::WebGL2RenderingContext::samplerParameterf):
(WebCore::WebGL2RenderingContext::getSamplerParameter):
(WebCore::WebGL2RenderingContext::clientWaitSync):
(WebCore::WebGL2RenderingContext::waitSync):
(WebCore::WebGL2RenderingContext::getSyncParameter):
(WebCore::WebGL2RenderingContext::transformFeedbackVaryings):
(WebCore::WebGL2RenderingContext::getTransformFeedbackVarying):
(WebCore::WebGL2RenderingContext::getUniformIndices):
(WebCore::WebGL2RenderingContext::getUniformBlockIndex):
(WebCore::WebGL2RenderingContext::getActiveUniformBlockParameter):
(WebCore::WebGL2RenderingContext::getActiveUniformBlockName):
(WebCore::WebGL2RenderingContext::uniformBlockBinding):
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGL2RenderingContext.idl:
LayoutTests:
- fast/canvas/webgl/webgl2/bindings-expected.txt:
- fast/canvas/webgl/webgl2/bindings.html:
- 4:17 AM Changeset in webkit [221966] by
-
- 17 edits43 adds in trunk
[WebVR] Add IDLs and stubs
https://bugs.webkit.org/show_bug.cgi?id=174202
Reviewed by Dean Jackson.
Source/WebCore:
Adding the complete set of IDLs for the WebVR 1.1 spec including the interface stubs which
currently do nothing.
Tests: webvr/webvr-disabled.html
webvr/webvr-enabled.html
- CMakeLists.txt:
- DerivedSources.make:
- Modules/webvr/DOMWindowWebVR.idl: Added.
- Modules/webvr/GamepadWebVR.cpp: Added.
(WebCore::GamepadWebVR::GamepadWebVR):
(WebCore::GamepadWebVR::~GamepadWebVR):
(WebCore::GamepadWebVR::displayId):
- Modules/webvr/GamepadWebVR.h: Added.
- Modules/webvr/GamepadWebVR.idl: Added.
- Modules/webvr/NavigatorWebVR.cpp: Added.
(WebCore::NavigatorWebVR::getVRDisplays):
(WebCore::NavigatorWebVR::activeVRDisplays):
(WebCore::NavigatorWebVR::vrEnabled):
- Modules/webvr/NavigatorWebVR.h: Added.
- Modules/webvr/NavigatorWebVR.idl: Added.
- Modules/webvr/VRDisplay.cpp: Added.
(WebCore::VRDisplay::create):
(WebCore::VRDisplay::VRDisplay):
(WebCore::VRDisplay::isConnected const):
(WebCore::VRDisplay::isPresenting const):
(WebCore::VRDisplay::capabilities const):
(WebCore::VRDisplay::stageParameters const):
(WebCore::VRDisplay::getEyeParameters const):
(WebCore::VRDisplay::displayId const):
(WebCore::VRDisplay::displayName const):
(WebCore::VRDisplay::getFrameData const):
(WebCore::VRDisplay::getPose const):
(WebCore::VRDisplay::resetPose):
(WebCore::VRDisplay::depthNear const):
(WebCore::VRDisplay::setDepthNear):
(WebCore::VRDisplay::depthFar const):
(WebCore::VRDisplay::setDepthFar):
(WebCore::VRDisplay::requestAnimationFrame):
(WebCore::VRDisplay::cancelAnimationFrame):
(WebCore::VRDisplay::requestPresent):
(WebCore::VRDisplay::exitPresent):
(WebCore::VRDisplay::getLayers const):
(WebCore::VRDisplay::submitFrame):
(WebCore::VRDisplay::hasPendingActivity const):
(WebCore::VRDisplay::activeDOMObjectName const):
(WebCore::VRDisplay::canSuspendForDocumentSuspension const):
(WebCore::VRDisplay::stop):
- Modules/webvr/VRDisplay.h: Added.
- Modules/webvr/VRDisplay.idl: Added.
- Modules/webvr/VRDisplayCapabilities.cpp: Added.
(WebCore::VRDisplayCapabilities::hasPosition const):
(WebCore::VRDisplayCapabilities::hasOrientation const):
(WebCore::VRDisplayCapabilities::hasExternalDisplay const):
(WebCore::VRDisplayCapabilities::canPresent const):
(WebCore::VRDisplayCapabilities::maxLayer const):
- Modules/webvr/VRDisplayCapabilities.h: Added.
(WebCore::VRDisplayCapabilities::create):
- Modules/webvr/VRDisplayCapabilities.idl: Added.
- Modules/webvr/VRDisplayEvent.cpp: Added.
(WebCore::VRDisplayEvent::VRDisplayEvent):
(WebCore::VRDisplayEvent::display const):
(WebCore::VRDisplayEvent::reason const):
(WebCore::VRDisplayEvent::eventInterface const):
- Modules/webvr/VRDisplayEvent.h: Added.
- Modules/webvr/VRDisplayEvent.idl: Added.
- Modules/webvr/VRDisplayEventReason.h: Added.
- Modules/webvr/VRDisplayEventReason.idl: Added.
- Modules/webvr/VREye.h: Added.
- Modules/webvr/VREye.idl: Added.
- Modules/webvr/VREyeParameters.cpp: Added.
(WebCore::VREyeParameters::VREyeParameters):
(WebCore::VREyeParameters::offset const):
(WebCore::VREyeParameters::fieldOfView const):
(WebCore::VREyeParameters::renderWidth const):
(WebCore::VREyeParameters::renderHeight const):
- Modules/webvr/VREyeParameters.h: Added.
(WebCore::VREyeParameters::create):
- Modules/webvr/VREyeParameters.idl: Added.
- Modules/webvr/VRFieldOfView.cpp: Added.
(WebCore::VRFieldOfView::upDegrees const):
(WebCore::VRFieldOfView::rightDegrees const):
(WebCore::VRFieldOfView::downDegrees const):
(WebCore::VRFieldOfView::leftDegrees const):
- Modules/webvr/VRFieldOfView.h: Added.
(WebCore::VRFieldOfView::create):
- Modules/webvr/VRFieldOfView.idl: Added.
- Modules/webvr/VRFrameData.cpp: Added.
(WebCore::VRFrameData::VRFrameData):
(WebCore::VRFrameData::timestamp const):
(WebCore::VRFrameData::leftProjectionMatrix const):
(WebCore::VRFrameData::leftViewMatrix const):
(WebCore::VRFrameData::rightProjectionMatrix const):
(WebCore::VRFrameData::rightViewMatrix const):
(WebCore::VRFrameData::pose const):
- Modules/webvr/VRFrameData.h: Added.
(WebCore::VRFrameData::create):
- Modules/webvr/VRFrameData.idl: Added.
- Modules/webvr/VRLayerInit.h: Added.
- Modules/webvr/VRLayerInit.idl: Added.
- Modules/webvr/VRPose.cpp: Added.
(WebCore::VRPose::position const):
(WebCore::VRPose::linearVelocity const):
(WebCore::VRPose::linearAcceleration const):
(WebCore::VRPose::orientation const):
(WebCore::VRPose::angularVelocity const):
(WebCore::VRPose::angularAcceleration const):
- Modules/webvr/VRPose.h: Added.
(WebCore::VRPose::create):
- Modules/webvr/VRPose.idl: Added.
- Modules/webvr/VRStageParameters.cpp: Added.
(WebCore::VRStageParameters::sittingToStandingTransform const):
(WebCore::VRStageParameters::sizeX const):
(WebCore::VRStageParameters::sizeZ const):
- Modules/webvr/VRStageParameters.h: Added.
(WebCore::VRStageParameters::create):
- Modules/webvr/VRStageParameters.idl: Added.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- dom/EventNames.h:
- dom/EventNames.in:
- dom/EventTargetFactory.in:
- features.json:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setWebVREnabled):
(WebCore::RuntimeEnabledFeatures::webVREnabled const):
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setWebVREnabled):
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
Source/WebKit:
- Shared/WebPreferencesDefinitions.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
LayoutTests:
New tests to verify that WebVR is properly enabled/disabled at runtime.
- webvr/webvr-disabled-expected.txt: Added.
- webvr/webvr-disabled.html: Added.
- webvr/webvr-enabled-expected.txt: Added.
- webvr/webvr-enabled.html: Added.
- 1:04 AM Changeset in webkit [221965] by
-
- 7 edits in trunk
Update the type of the texture argument to framebufferTextureLayer().
https://bugs.webkit.org/show_bug.cgi?id=176785
Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-13
Reviewed by Yusuke Suzuki.
This matches the specification as well as Gecko and Chromium.
Source/WebCore:
Also move getInternalformatParameter() to the position it has in the
specification, for easier comparison.
Test: fast/canvas/webgl/webgl2/bindings.html
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::framebufferTextureLayer):
- html/canvas/WebGL2RenderingContext.h:
- html/canvas/WebGL2RenderingContext.idl:
LayoutTests:
- fast/canvas/webgl/webgl2/bindings-expected.txt:
- fast/canvas/webgl/webgl2/bindings.html:
- 1:03 AM Changeset in webkit [221964] by
-
- 6 edits in branches/safari-604-branch
Cherry-pick r221917. rdar://problem/34404461
- 1:02 AM Changeset in webkit [221963] by
-
- 4 edits in branches/safari-604-branch
Cherry-pick r221906. rdar://problem/34404478
- 1:02 AM Changeset in webkit [221962] by
-
- 3 edits1 add in branches/safari-604-branch
Cherry-pick r221711. rdar://problem/34404472
- 12:37 AM Changeset in webkit [221961] by
-
- 22 edits in trunk
[EME] Implement CDMInstanceClearKey::updateLicense()
https://bugs.webkit.org/show_bug.cgi?id=176791
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
Implement the updateLicense() method for CDMInstanceClearKey.
The response data is parsed as JSON, matching that agains either
'license' or 'license release acknowledgement' formats (depending
on either 'keys' or 'kids' object keys being present). If any
format is recognized, appropriate steps are taken.
In case of the 'license' format, the passed-in keys are matched
against existing ones. If some keys have changed or have been
newly introduced, the key information is sorted by key ID size
and data to enforce order. After that the KeyStatusVector object
is constructed, containing key ID and status information for all
the keys associated with this session. Finally callback is
dispatched, signalling a successful operation and passing the
KeyStatusVector, if any, back to the caller.
In case of the 'license release acknowledgement' format, the
session data for this session ID is removed from the ClearKey state
singleton. The callback is dispatched signalling the session closure
and successfull completion of the operation.
Finally, if no format is deduced, the callback is again dispatched,
but now signalling an operation failure.
No new tests -- expectations for the relevant tests are updated
to reflect the introduced changes.
- platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::ClearKeyState::keys):
(WebCore::ClearKeyState::singleton):
(WebCore::parseLicenseFormat):
(WebCore::parseLicenseReleaseAcknowledgementFormat):
(WebCore::CDMInstanceClearKey::updateLicense):
LayoutTests:
Update WPE baselines of the EME ClearKey tests.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt:
- 12:17 AM Changeset in webkit [221960] by
-
- 14 edits4 adds in trunk/Source
Refactor WebContentReader out of EditorMac and EditorIOS
https://bugs.webkit.org/show_bug.cgi?id=176770
Reviewed by Sam Weinig.
Source/WebCore:
Extracted WebContentReader.h, WebContentReaderMac.mm, and WebContentIOS.mm from Pasteboard.h,
EditorMac.mm, and EditorIOS.mm respectively.
Also moved createFragmentAndAddResources from EditorCocoa.mm to WebContentReaderCocoa.mm
and createFragmentForImageAndURL and createFragmentForImageResourceAndAddResource to markup.cpp.
- Configurations/WebCore.xcconfig:
- PlatformMac.cmake:
- WebCore.xcodeproj/project.pbxproj:
- editing/Editor.cpp:
(WebCore::Editor::createFragmentForImageAndURL): Deleted.
- editing/Editor.h:
- editing/WebContentReader.h: Added.
- editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::replaceSelectionWithAttributedString):
(WebCore::Editor::createFragment): Deleted.
(WebCore::Editor::createFragmentForImageResourceAndAddResource): Deleted.
(WebCore::Editor::createFragmentAndAddResources): Deleted.
- editing/cocoa/WebContentReaderCocoa.mm: Added.
(WebCore::createFragmentForImageResourceAndAddResource):
(WebCore::createFragment):
(WebCore::createFragmentAndAddResources):
- editing/ios/EditorIOS.mm:
(WebCore::Editor::WebContentReader): Moved to WebContentReaderIOS.mm.
- editing/ios/WebContentReaderIOS.mm: Added.
(WebCore::WebContentReader::addFragment):
(WebCore::WebContentReader::readWebArchive):
(WebCore::WebContentReader::readFilenames):
(WebCore::WebContentReader::readHTML):
(WebCore::WebContentReader::readRTFD):
(WebCore::WebContentReader::readRTF):
(WebCore::WebContentReader::readImage):
(WebCore::WebContentReader::readURL):
(WebCore::WebContentReader::readPlainText):
- editing/mac/EditorMac.mm:
(WebCore::Editor::WebContentReader): Moved to WebContentReaderMac.mm.
- editing/mac/WebContentReaderMac.mm: Added.
(WebCore::WebContentReader::readWebArchive):
(WebCore::WebContentReader::readFilenames):
(WebCore::WebContentReader::readHTML):
(WebCore::WebContentReader::readRTFD):
(WebCore::WebContentReader::readRTF):
(WebCore::WebContentReader::readImage):
(WebCore::WebContentReader::readURL):
(WebCore::WebContentReader::readPlainText):
- editing/markup.cpp:
(WebCore::createFragmentForImageAndURL):
(WebCore::createFragmentForImageResourceAndAddResource):
- editing/markup.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebEditorClient.mm:
- 12:02 AM Changeset in webkit [221959] by
-
- 42 edits1 add in trunk
[DFG] Optimize WeakMap::get by adding intrinsic and fixup
https://bugs.webkit.org/show_bug.cgi?id=176010
Reviewed by Filip Pizlo.
JSTests:
- microbenchmarks/weak-map-key.js: Added.
(assert):
(objectKey):
(let.start.Date.now):
Source/JavaScriptCore:
It reveals that Ember.js consumes 3.8% of execution time for WeakMap#get.
It is used for meta property for objects (see peekMeta function in Ember.js).
This patch optimizes WeakMap#get.
- We use inlineGet to inline WeakMap#get operation in the native function.
Since this native function itself is very small, we should inline HashMap#get
entirely in this function.
- We add JSWeakMapType and JSWeakSetType. This allows us to perform
isJSWeakMap()
very fast. And this patch wires this to DFG and FTL to add WeakMapObjectUse and WeakSetObjectUse
to drop unnecessary type checking. We add fixup rules for WeakMapGet DFG node by using WeakMapObjectUse,
ObjectUse, and Int32Use.
- We add intrinsic for WeakMap#get, and handle it in DFG and FTL. We use MapHash to
calculate hash value for the key's Object and use this hash value to look up value from
JSWeakMap's HashMap. Currently, we just call the operationWeakMapGet function in DFG and FTL.
It is worth considering that implementing this operation entirely in JIT, like GetMapBucket.
But anyway, the current one already optimizes the performance, so we leave this for the subsequent
patches.
We currently do not implement any other intrinsics (like, WeakMap#has, WeakSet) because they are
not used in Ember.js right now.
This patch optimizes WeakMap#get by 50%.
baseline patched
weak-map-key 88.6456+-3.9564 59.1502+-2.2406 definitely 1.4987x faster
- bytecode/DirectEvalCodeCache.h:
(JSC::DirectEvalCodeCache::tryGet):
- bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):
(JSC::speculationFromClassInfo):
(JSC::speculationFromJSType):
(JSC::speculationFromString):
- bytecode/SpeculatedType.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateWeakMapObject):
(JSC::DFG::SpeculativeJIT::speculateWeakSetObject):
(JSC::DFG::SpeculativeJIT::speculate):
(JSC::DFG::SpeculativeJIT::compileWeakMapGet):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGUseKind.cpp:
(WTF::printInternal):
- dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileWeakMapGet):
(JSC::FTL::DFG::LowerDFGToB3::lowWeakMapObject):
(JSC::FTL::DFG::LowerDFGToB3::lowWeakSetObject):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateWeakMapObject):
(JSC::FTL::DFG::LowerDFGToB3::speculateWeakSetObject):
- jit/JITOperations.h:
- runtime/HashMapImpl.h:
(JSC::WeakMapHash::hash):
(JSC::WeakMapHash::equal):
- runtime/Intrinsic.cpp:
(JSC::intrinsicName):
- runtime/Intrinsic.h:
- runtime/JSType.h:
- runtime/JSWeakMap.h:
(JSC::isJSWeakMap):
- runtime/JSWeakSet.h:
(JSC::isJSWeakSet):
- runtime/WeakMapBase.cpp:
(JSC::WeakMapBase::get):
- runtime/WeakMapBase.h:
(JSC::WeakMapBase::HashTranslator::hash):
(JSC::WeakMapBase::HashTranslator::equal):
(JSC::WeakMapBase::inlineGet):
- runtime/WeakMapPrototype.cpp:
(JSC::WeakMapPrototype::finishCreation):
(JSC::getWeakMap):
(JSC::protoFuncWeakMapGet):
- runtime/WeakSetPrototype.cpp:
(JSC::getWeakSet):
Source/WebCore:
- platform/network/curl/CurlJobManager.cpp:
(WebCore::CurlJobList::finishJobs):
Source/WTF:
Add inlineGet method with HashTranslator.
- wtf/HashMap.h:
(WTF::X>::inlineGet const):
(WTF::MappedTraits>::inlineGet const):
(WTF::MappedTraits>::fastGet const): Deleted.
- wtf/LoggingHashMap.h: