Timeline
Mar 13, 2017:
- 11:51 PM Changeset in webkit [213885] by
-
- 5 edits in trunk/Source/WebCore
Remove unused methods of ResourceRequestBase
https://bugs.webkit.org/show_bug.cgi?id=169579
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-03-13
Reviewed by Youenn Fablet.
- platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::reportUploadProgress): Deleted.
(WebCore::ResourceRequestBase::setReportUploadProgress): Deleted.
(WebCore::ResourceRequestBase::reportLoadTiming): Deleted.
(WebCore::ResourceRequestBase::setReportLoadTiming): Deleted.
(WebCore::ResourceRequestBase::reportRawHeaders): Deleted.
(WebCore::ResourceRequestBase::setReportRawHeaders): Deleted.
Remove unused code.
- inspector/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::willSendRequest):
- loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):
Remove callers of setters that did nothing.
- 10:58 PM Changeset in webkit [213884] by
-
- 20 edits in trunk/Source/WebCore
Make RealtimeMediaSource::type an enum class
https://bugs.webkit.org/show_bug.cgi?id=169491
Patch by Youenn Fablet <youenn@apple.com> on 2017-03-13
Reviewed by Sam Weinig.
No change of behavior.
- Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
(WebCore::CanvasCaptureMediaStreamTrack::Source::Source):
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::getAudioTracks):
(WebCore::MediaStream::getVideoTracks):
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::kind):
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::addTrack):
- Modules/webaudio/MediaStreamAudioSource.cpp:
(WebCore::MediaStreamAudioSource::MediaStreamAudioSource):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::sampleBufferUpdated):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateTracks):
- platform/mediastream/CaptureDeviceManager.cpp:
(CaptureDeviceManager::bestSourcesForTypeAndConstraints):
(CaptureDeviceManager::sourceWithUID):
- platform/mediastream/MediaEndpoint.cpp:
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/mac/AVAudioCaptureSource.mm:
(WebCore::AVAudioCaptureSource::AVAudioCaptureSource):
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::AVVideoCaptureSource):
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::createMediaStream):
- platform/mock/MockMediaEndpoint.cpp:
(WebCore::MockMediaEndpoint::createMutedRemoteSource):
- platform/mock/MockRealtimeAudioSource.cpp:
(WebCore::MockRealtimeAudioSource::MockRealtimeAudioSource):
- platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::MockRealtimeMediaSource):
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource):
- 5:39 PM Changeset in webkit [213883] by
-
- 11 edits in trunk/Source/JavaScriptCore
Make the HeapVerifier useful again.
https://bugs.webkit.org/show_bug.cgi?id=161752
Reviewed by Filip Pizlo.
Resurrect the HeapVerifier. Here's what the verifier now offers:
- It captures the list of cells before and after GCs up to N GC cycles. N is set by JSC_numberOfGCCyclesToRecordForVerification. Currently, N defaults to 3.
This is useful if we're debugging in lldb and want to check if a candidate
cell pointer was observed by the GC during the last N GC cycles. We can do
this check buy calling HeapVerifier::checkIfRecorded() with the cell address.
HeapVerifier::checkIfRecorded() is robust and can be used on bogus addresses.
If the candidate cell was previously recorded by the HeapVerifier during a
GC cycle, checkIfRecorded() will dump any useful info it has on that cell.
- The HeapVerifier will verify that cells in its captured list after a GC are
sane. Some examples of cell insanity are:
- the cell claims to belong to a different VM.
- the cell has a NULL structureID.
- the cell has a NULL structure.
- the cell's structure has a NULL structureID.
- the cell's structure has a NULL structure.
- the cell's structure's structure has a NULL structureID.
- the cell's structure's structure has a NULL structure.
These are all signs of corruption or a GC bug. The verifier will report any
insanity it finds, and then crash with a RELEASE_ASSERT.
- Since the HeapVerifier captures list of cells in the heap before and after GCs for the last N GCs, it will also automatically "trim" dead cells those list after the most recent GC.
"trim" here means that the CellProfile in the HeapVerifier's lists will be
updated to reflect that the cell is now dead. It still keeps a record of the
dead cell pointer and the meta data collected about it back when it was alive.
As a result, checkIfRecorded() will also report if the candidate cell passed
to it is a dead object from a previous GC cycle.
- Each CellProfile captured by the HeapVerifier now track the following info:
- the cell's HeapCell::Kind.
- the cell's liveness.
- if is JSCell, the cell's classInfo()->className.
- an associated timestamp.
- an associated stack trace.
Currently, the timestamp is only used for the time when the cell was recorded
by the HeapVerifier during GC. The stack trace is currently unused.
However, these fields are kept there so that we can instrument the VM (during
a debugging session, which requires rebuilding the VM) and record interesting
stack traces like that of the time of allocation of the cell. Since
capturing the stack traces for each cell is a very heavy weight operation,
the HeapVerifier code does not do this by default. Instead, we just leave
the building blocks for doing so in place to ease future debugging efforts.
- heap/Heap.cpp:
(JSC::Heap::runBeginPhase):
(JSC::Heap::runEndPhase):
(JSC::Heap::didFinishCollection):
- heap/Heap.h:
(JSC::Heap::verifier):
- heap/MarkedAllocator.h:
(JSC::MarkedAllocator::takeLastActiveBlock): Deleted.
- heap/MarkedSpace.h:
- heap/MarkedSpaceInlines.h:
(JSC::MarkedSpace::forEachLiveCell):
- tools/CellList.cpp:
(JSC::CellList::find):
(JSC::CellList::reset):
(JSC::CellList::findCell): Deleted.
- tools/CellList.h:
(JSC::CellList::CellList):
(JSC::CellList::name):
(JSC::CellList::size):
(JSC::CellList::cells):
(JSC::CellList::add):
(JSC::CellList::reset): Deleted.
- tools/CellProfile.h:
(JSC::CellProfile::CellProfile):
(JSC::CellProfile::cell):
(JSC::CellProfile::jsCell):
(JSC::CellProfile::isJSCell):
(JSC::CellProfile::kind):
(JSC::CellProfile::isLive):
(JSC::CellProfile::isDead):
(JSC::CellProfile::setIsLive):
(JSC::CellProfile::setIsDead):
(JSC::CellProfile::timestamp):
(JSC::CellProfile::className):
(JSC::CellProfile::stackTrace):
(JSC::CellProfile::setStackTrace):
- tools/HeapVerifier.cpp:
(JSC::HeapVerifier::startGC):
(JSC::HeapVerifier::endGC):
(JSC::HeapVerifier::gatherLiveCells):
(JSC::trimDeadCellsFromList):
(JSC::HeapVerifier::trimDeadCells):
(JSC::HeapVerifier::printVerificationHeader):
(JSC::HeapVerifier::verifyCellList):
(JSC::HeapVerifier::validateCell):
(JSC::HeapVerifier::validateJSCell):
(JSC::HeapVerifier::verify):
(JSC::HeapVerifier::reportCell):
(JSC::HeapVerifier::checkIfRecorded):
(JSC::HeapVerifier::initializeGCCycle): Deleted.
(JSC::GatherCellFunctor::GatherCellFunctor): Deleted.
(JSC::GatherCellFunctor::visit): Deleted.
(JSC::GatherCellFunctor::operator()): Deleted.
(JSC::HeapVerifier::verifyButterflyIsInStorageSpace): Deleted.
- tools/HeapVerifier.h:
(JSC::HeapVerifier::GCCycle::reset):
- 5:38 PM Changeset in webkit [213882] by
-
- 238 edits14 copies1 move192 adds1 delete in trunk/LayoutTests
Sync web-platform-tests up to revision a5b95cb31914507088a4eda16f7674bbc6f3313f
https://bugs.webkit.org/show_bug.cgi?id=169523
Patch by Youenn Fablet <youenn@apple.com> on 2017-03-13
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- csswg-test/LICENSE.md: Added.
- csswg-test/README.md:
- csswg-test/build-css-testsuites.sh: Added.
- csswg-test/config.default.json: Added.
- csswg-test/css-grid-1/grid-items/w3c-import.log:
- csswg-test/css-grid-1/grid-model/w3c-import.log:
- csswg-test/css-scoping-1/OWNERS: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-slot-style-expected.html: Added.
- csswg-test/css-scoping-1/css-scoping-shadow-slot-style.html: Added.
- csswg-test/css-scoping-1/w3c-import.log:
- csswg-test/lint: Added.
- csswg-test/lint.whitelist: Added.
- csswg-test/manifest: Added.
- csswg-test/requirements.txt: Added.
- csswg-test/serve: Added.
- csswg-test/serve.py: Added.
(main):
- csswg-test/w3c-import.log:
- resources/TestRepositories:
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/IndexedDB/abort-in-initial-upgradeneeded.html:
- web-platform-tests/IndexedDB/close-in-upgradeneeded.html:
- web-platform-tests/IndexedDB/event-dispatch-active-flag-expected.txt: Added.
- web-platform-tests/IndexedDB/event-dispatch-active-flag.html: Added.
- web-platform-tests/IndexedDB/fire-error-event-exception-expected.txt: Added.
- web-platform-tests/IndexedDB/fire-error-event-exception.html: Added.
- web-platform-tests/IndexedDB/fire-success-event-exception-expected.txt: Added.
- web-platform-tests/IndexedDB/fire-success-event-exception.html: Added.
- web-platform-tests/IndexedDB/fire-upgradeneeded-event-exception-expected.txt: Added.
- web-platform-tests/IndexedDB/fire-upgradeneeded-event-exception.html: Added.
- web-platform-tests/IndexedDB/idb-binary-key-roundtrip.htm:
- web-platform-tests/IndexedDB/idbcursor_continue_objectstore.htm:
- web-platform-tests/IndexedDB/idbfactory-deleteDatabase-opaque-origin-expected.txt: Added.
- web-platform-tests/IndexedDB/idbfactory-deleteDatabase-opaque-origin.html: Added.
- web-platform-tests/IndexedDB/idbfactory-open-error-properties-expected.txt: Added.
- web-platform-tests/IndexedDB/idbfactory-open-error-properties.html: Added.
- web-platform-tests/IndexedDB/idbfactory-open-opaque-origin-expected.txt: Added.
- web-platform-tests/IndexedDB/idbfactory-open-opaque-origin.html: Added.
- web-platform-tests/IndexedDB/idbfactory_deleteDatabase4-expected.txt:
- web-platform-tests/IndexedDB/idbfactory_deleteDatabase4.htm:
- web-platform-tests/IndexedDB/idbindex_get.htm:
- web-platform-tests/IndexedDB/idbindex_get4.htm:
- web-platform-tests/IndexedDB/idbindex_getKey4.htm:
- web-platform-tests/IndexedDB/idbobjectstore_createIndex13.htm:
- web-platform-tests/IndexedDB/idbobjectstore_get4.htm:
- web-platform-tests/IndexedDB/idbobjectstore_getKey.html:
- web-platform-tests/IndexedDB/key-conversion-exceptions.htm:
- web-platform-tests/IndexedDB/keygenerator-explicit-expected.txt: Added.
- web-platform-tests/IndexedDB/keygenerator-explicit.html: Added.
- web-platform-tests/IndexedDB/keygenerator-inject-expected.txt: Added.
- web-platform-tests/IndexedDB/keygenerator-inject.html: Added.
- web-platform-tests/IndexedDB/keypath_invalid.htm:
- web-platform-tests/IndexedDB/support.js:
(auto_fail):
(createdb_for_multiple_tests):
(indexeddb_test):
(is_transaction_active):
(spin):
(keep_alive):
- web-platform-tests/IndexedDB/transaction-abort-request-error-expected.txt: Added.
- web-platform-tests/IndexedDB/transaction-abort-request-error.html: Added.
- web-platform-tests/IndexedDB/transaction-deactivation-timing-expected.txt: Added.
- web-platform-tests/IndexedDB/transaction-deactivation-timing.html: Added.
- web-platform-tests/IndexedDB/transaction-lifetime-blocked.htm:
- web-platform-tests/IndexedDB/transaction-lifetime.htm:
- web-platform-tests/IndexedDB/upgrade-transaction-deactivation-timing-expected.txt: Added.
- web-platform-tests/IndexedDB/upgrade-transaction-deactivation-timing.html: Added.
- web-platform-tests/IndexedDB/w3c-import.log:
- web-platform-tests/IndexedDB/writer-starvation.htm:
- web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt:
- web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2-expected.txt:
- web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.worker-expected.txt:
- web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey-expected.txt:
- web-platform-tests/XMLHttpRequest/OWNERS:
- web-platform-tests/XMLHttpRequest/README.md: Added.
- web-platform-tests/XMLHttpRequest/abort-after-receive.htm:
- web-platform-tests/XMLHttpRequest/abort-after-timeout.htm:
- web-platform-tests/XMLHttpRequest/anonymous-mode-unsupported-expected.txt:
- web-platform-tests/XMLHttpRequest/anonymous-mode-unsupported.htm:
- web-platform-tests/XMLHttpRequest/data-uri-expected.txt:
- web-platform-tests/XMLHttpRequest/data-uri.htm:
- web-platform-tests/XMLHttpRequest/event-abort.htm:
- web-platform-tests/XMLHttpRequest/event-load.htm:
- web-platform-tests/XMLHttpRequest/event-loadend.htm:
- web-platform-tests/XMLHttpRequest/event-loadstart-upload-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/event-loadstart-upload.htm: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-progress.htm.
- web-platform-tests/XMLHttpRequest/event-loadstart.htm:
- web-platform-tests/XMLHttpRequest/event-progress.htm:
- web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm:
- web-platform-tests/XMLHttpRequest/event-timeout.htm:
- web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.htm:
- web-platform-tests/XMLHttpRequest/event-upload-progress.htm:
- web-platform-tests/XMLHttpRequest/getallresponseheaders-cl-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/getallresponseheaders-cl.htm: Added.
- web-platform-tests/XMLHttpRequest/getallresponseheaders-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/getallresponseheaders.htm: Added.
- web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive.htm:
- web-platform-tests/XMLHttpRequest/loadstart-and-state-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/loadstart-and-state.html: Added.
- web-platform-tests/XMLHttpRequest/open-after-setrequestheader-expected.txt:
- web-platform-tests/XMLHttpRequest/open-after-setrequestheader.htm:
- web-platform-tests/XMLHttpRequest/open-during-abort-event-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/open-during-abort-event.htm: Added.
- web-platform-tests/XMLHttpRequest/open-during-abort-processing-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/open-during-abort-processing.htm: Added.
- web-platform-tests/XMLHttpRequest/open-referer-expected.txt:
- web-platform-tests/XMLHttpRequest/open-referer.htm:
- web-platform-tests/XMLHttpRequest/open-send-during-abort-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/open-send-during-abort.htm: Added.
- web-platform-tests/XMLHttpRequest/open-url-redirected-worker-origin-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/open-url-redirected-worker-origin.htm: Added.
- web-platform-tests/XMLHttpRequest/overridemimetype-blob-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/overridemimetype-blob.html: Added.
- web-platform-tests/XMLHttpRequest/overridemimetype-invalid-mime-type-expected.txt:
- web-platform-tests/XMLHttpRequest/overridemimetype-invalid-mime-type.htm:
- web-platform-tests/XMLHttpRequest/resources/corsenabled.py:
(main):
- web-platform-tests/XMLHttpRequest/resources/delay.py:
(main):
- web-platform-tests/XMLHttpRequest/resources/echo-headers.py: Added.
(main):
- web-platform-tests/XMLHttpRequest/resources/header-content-length.asis: Added.
- web-platform-tests/XMLHttpRequest/resources/headers-basic.asis: Added.
- web-platform-tests/XMLHttpRequest/resources/headers.asis: Added.
- web-platform-tests/XMLHttpRequest/resources/inspect-headers.py:
(get_response):
(main):
- web-platform-tests/XMLHttpRequest/resources/redirect.py:
(main):
- web-platform-tests/XMLHttpRequest/resources/w3c-import.log:
- web-platform-tests/XMLHttpRequest/responsetext-decoding-expected.txt:
- web-platform-tests/XMLHttpRequest/responsetext-decoding.htm:
- web-platform-tests/XMLHttpRequest/send-accept-language-expected.txt:
- web-platform-tests/XMLHttpRequest/send-accept-language.htm:
- web-platform-tests/XMLHttpRequest/send-data-formdata-expected.txt:
- web-platform-tests/XMLHttpRequest/send-data-formdata.htm:
- web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub-expected.txt:
- web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub.htm:
- web-platform-tests/XMLHttpRequest/send-redirect-to-cors.htm:
- web-platform-tests/XMLHttpRequest/send-sync-blocks-async.htm:
- web-platform-tests/XMLHttpRequest/send-sync-timeout.htm:
- web-platform-tests/XMLHttpRequest/setrequestheader-allow-empty-value-expected.txt:
- web-platform-tests/XMLHttpRequest/setrequestheader-allow-empty-value.htm:
- web-platform-tests/XMLHttpRequest/setrequestheader-allow-whitespace-in-value-expected.txt:
- web-platform-tests/XMLHttpRequest/setrequestheader-allow-whitespace-in-value.htm:
- web-platform-tests/XMLHttpRequest/setrequestheader-case-insensitive-expected.txt:
- web-platform-tests/XMLHttpRequest/setrequestheader-case-insensitive.htm:
- web-platform-tests/XMLHttpRequest/setrequestheader-content-type.htm:
- web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed-expected.txt:
- web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm:
- web-platform-tests/XMLHttpRequest/setrequestheader-header-forbidden-expected.txt:
- web-platform-tests/XMLHttpRequest/setrequestheader-header-forbidden.htm:
- web-platform-tests/XMLHttpRequest/setrequestheader-open-setrequestheader-expected.txt:
- web-platform-tests/XMLHttpRequest/setrequestheader-open-setrequestheader.htm:
- web-platform-tests/XMLHttpRequest/status-error.htm:
- web-platform-tests/XMLHttpRequest/template-element-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/template-element.html: Added.
- web-platform-tests/XMLHttpRequest/timeout-multiple-fetches-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/timeout-multiple-fetches.html: Added.
- web-platform-tests/XMLHttpRequest/w3c-import.log:
- web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-reused-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-reused.html: Added.
- web-platform-tests/check_stability.py:
(replace_streams.on_write):
(replace_streams):
(Firefox.install):
(setup_log_handler.LogHandler.init):
(setup_log_handler.LogHandler):
(setup_log_handler.LogHandler.find_or_create_test):
(setup_log_handler.LogHandler.find_or_create_subtest):
(setup_log_handler.LogHandler.test_status):
(setup_log_handler.LogHandler.test_end):
(err_string):
(process_results):
(write_inconsistent):
(write_results):
- web-platform-tests/common/get-host-info.sub.js:
(get_host_info):
- web-platform-tests/dom/OWNERS:
- web-platform-tests/dom/lists/DOMTokenList-coverage-for-attributes-expected.txt:
- web-platform-tests/dom/lists/DOMTokenList-coverage-for-attributes.html:
- web-platform-tests/dom/nodes/Element-matches-expected.txt:
- web-platform-tests/dom/nodes/Element-matches.html:
- web-platform-tests/dom/nodes/Element-matches.js:
(interfaceCheckMatches):
(runSpecialMatchesTests):
(runInvalidSelectorTestMatches):
(runMatchesTest):
- web-platform-tests/dom/nodes/Element-webkitMatchesSelector-expected.txt: Added.
- web-platform-tests/dom/nodes/Element-webkitMatchesSelector.html: Copied from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches.html.
- web-platform-tests/dom/nodes/Node-lookupNamespaceURI-expected.txt:
- web-platform-tests/dom/nodes/Node-lookupNamespaceURI.html:
- web-platform-tests/dom/nodes/w3c-import.log:
- web-platform-tests/encrypted-media/content/video_512x288_h264-360k_multikey_key1_dashinit.mp4: Added.
- web-platform-tests/fetch/OWNERS:
- web-platform-tests/fetch/README.md: Added.
- web-platform-tests/fetch/api/basic/request-referrer-expected.txt:
- web-platform-tests/fetch/api/basic/request-referrer-redirected-worker-expected.txt: Added.
- web-platform-tests/fetch/api/basic/request-referrer-redirected-worker.html: Added.
- web-platform-tests/fetch/api/basic/request-referrer-worker-expected.txt: Added.
- web-platform-tests/fetch/api/basic/request-referrer-worker.html: Added.
- web-platform-tests/fetch/api/basic/request-referrer.js:
(testReferrer):
- web-platform-tests/fetch/api/basic/request-upload-expected.txt:
- web-platform-tests/fetch/api/basic/request-upload-worker-expected.txt:
- web-platform-tests/fetch/api/basic/request-upload.js:
(testUpload):
- web-platform-tests/fetch/api/basic/w3c-import.log:
- web-platform-tests/fetch/api/cors/cors-expose-star-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-expose-star-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-expose-star-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-expose-star.html: Added.
- web-platform-tests/fetch/api/cors/cors-expose-star.js: Added.
(sharedHeaders.string_appeared_here.promise_test):
(string_appeared_here.promise_test):
- web-platform-tests/fetch/api/cors/cors-preflight-star-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-star-worker-expected.txt: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-star-worker.html: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-star.html: Added.
- web-platform-tests/fetch/api/cors/cors-preflight-star.js: Added.
(origin.location.origin.preflightTest):
- web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt:
- web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt:
- web-platform-tests/fetch/api/cors/cors-redirect-credentials.js:
(corsRedirectCredentials):
- web-platform-tests/fetch/api/cors/w3c-import.log:
- web-platform-tests/fetch/api/headers/headers-combine-expected.txt:
- web-platform-tests/fetch/api/headers/headers-combine.html:
- web-platform-tests/fetch/api/headers/headers-record-expected.txt: Added.
- web-platform-tests/fetch/api/headers/headers-record.html: Added.
- web-platform-tests/fetch/api/headers/w3c-import.log:
- web-platform-tests/fetch/api/policies/nested-policy.js: Added.
- web-platform-tests/fetch/api/policies/nested-policy.js.headers: Added.
- web-platform-tests/fetch/api/policies/referrer-no-referrer-service-worker.https-expected.txt: Added.
- web-platform-tests/fetch/api/policies/referrer-no-referrer-service-worker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin.html.
- web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https-expected.txt: Added.
- web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin.html.
- web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-expected.txt:
- web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-service-worker.https-expected.txt: Added.
- web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-service-worker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin.html.
- web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-worker-expected.txt:
- web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.js:
- web-platform-tests/fetch/api/policies/referrer-origin.html:
- web-platform-tests/fetch/api/policies/referrer-origin.js:
(promise_test):
- web-platform-tests/fetch/api/policies/referrer-unsafe-url-service-worker.https-expected.txt: Added.
- web-platform-tests/fetch/api/policies/referrer-unsafe-url-service-worker.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin.html.
- web-platform-tests/fetch/api/policies/referrer-unsafe-url.js:
- web-platform-tests/fetch/api/policies/w3c-import.log:
- web-platform-tests/fetch/api/request/request-cache-default-conditional-expected.txt:
- web-platform-tests/fetch/api/request/request-cache-default-expected.txt:
- web-platform-tests/fetch/api/request/request-cache-force-cache-expected.txt:
- web-platform-tests/fetch/api/request/request-cache-no-cache-expected.txt:
- web-platform-tests/fetch/api/request/request-cache-no-store-expected.txt:
- web-platform-tests/fetch/api/request/request-cache-reload-expected.txt:
- web-platform-tests/fetch/api/request/request-cache.js:
- web-platform-tests/fetch/api/request/request-headers-expected.txt:
- web-platform-tests/fetch/api/request/request-headers.html:
- web-platform-tests/fetch/api/request/request-keepalive-quota-expected.txt: Added.
- web-platform-tests/fetch/api/request/request-keepalive-quota.html: Added.
- web-platform-tests/fetch/api/request/resources/cache.py:
(main):
- web-platform-tests/fetch/api/request/w3c-import.log:
- web-platform-tests/fetch/api/resources/preflight.py:
(main):
- web-platform-tests/fetch/api/response/response-idl-expected.txt:
- web-platform-tests/fetch/api/response/response-idl.html:
- web-platform-tests/fetch/api/response/response-trailer-expected.txt: Added.
- web-platform-tests/fetch/api/response/response-trailer.html: Added.
- web-platform-tests/fetch/api/response/w3c-import.log:
- web-platform-tests/fetch/w3c-import.log:
- web-platform-tests/html/OWNERS:
- web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin-0.html: Added.
- web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin-expected.txt:
- web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin.html:
- web-platform-tests/html/browsers/browsing-the-web/history-traversal/w3c-import.log:
- web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub-expected.txt: Added.
- web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html: Added.
- web-platform-tests/html/browsers/history/the-location-interface/location-stringifier-expected.txt:
- web-platform-tests/html/browsers/history/the-location-interface/location-stringifier.html:
- web-platform-tests/html/browsers/history/the-location-interface/location-tojson-expected.txt: Added.
- web-platform-tests/html/browsers/history/the-location-interface/location-tojson.html: Added.
- web-platform-tests/html/browsers/history/the-location-interface/resources/post-your-protocol.html: Added.
- web-platform-tests/html/browsers/history/the-location-interface/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/offline/w3c-import.log.
- web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:
- web-platform-tests/html/browsers/offline/no-appcache-in-shared-workers-historical-expected.txt: Added.
- web-platform-tests/html/browsers/offline/no-appcache-in-shared-workers-historical.html: Added.
- web-platform-tests/html/browsers/offline/no-appcache-in-shared-workers-historical.js: Added.
(test):
- web-platform-tests/html/browsers/offline/w3c-import.log:
- web-platform-tests/html/browsers/the-window-object/support/noopener-target.html:
- web-platform-tests/html/browsers/the-window-object/window-open-noopener-expected.txt:
- web-platform-tests/html/browsers/the-window-object/window-open-noopener.html:
- web-platform-tests/html/browsers/windows/browsing-context-expected.txt: Added.
- web-platform-tests/html/browsers/windows/browsing-context-window-expected.txt: Added.
- web-platform-tests/html/browsers/windows/browsing-context-window.html: Added.
- web-platform-tests/html/browsers/windows/browsing-context.html: Added.
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/resources/frameElement-nested-frame.html: Added.
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/resources/frameElement-window-post.html: Added.
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/resources/post-to-opener.html: Added.
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/nested-browsing-contexts/w3c-import.log.
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/w3c-import.log:
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/window-parent-expected.txt: Added.
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/window-parent-null-expected.txt: Added.
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/window-parent-null.html: Added.
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/window-parent.html: Added.
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/window-top-expected.txt: Added.
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/window-top-null-expected.txt: Added.
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/window-top-null.html: Added.
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/window-top.html: Added.
- web-platform-tests/html/browsers/windows/noreferrer-cross-origin-close-manual.sub.html:
- web-platform-tests/html/browsers/windows/noreferrer-cross-origin-window-name-manual.sub.html: Added.
- web-platform-tests/html/browsers/windows/noreferrer-null-opener-expected.txt: Added.
- web-platform-tests/html/browsers/windows/noreferrer-null-opener.html: Added.
- web-platform-tests/html/browsers/windows/noreferrer-window-name.html:
- web-platform-tests/html/browsers/windows/resources/browsing-context-window.html: Added.
- web-platform-tests/html/browsers/windows/resources/echo-window-name.html: Added.
- web-platform-tests/html/browsers/windows/resources/nested-post-to-opener.html: Added.
- web-platform-tests/html/browsers/windows/resources/noreferrer-window-name.html: Added.
- web-platform-tests/html/browsers/windows/resources/post-to-opener.html: Added.
- web-platform-tests/html/browsers/windows/resources/target-cross-origin.sub.html: Added.
- web-platform-tests/html/browsers/windows/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/w3c-import.log.
- web-platform-tests/html/browsers/windows/resources/window-close-button.html: Added.
- web-platform-tests/html/browsers/windows/resources/window-opener.html: Added.
- web-platform-tests/html/browsers/windows/targeting-multiple-cross-origin-manual.sub.html:
- web-platform-tests/html/browsers/windows/w3c-import.log:
- web-platform-tests/html/dom/elements/elements-in-the-dom/historical-expected.txt:
- web-platform-tests/html/dom/elements/elements-in-the-dom/historical.html:
- web-platform-tests/html/dom/interfaces.html:
- web-platform-tests/html/dom/interfaces.worker-expected.txt: Added.
- web-platform-tests/html/dom/interfaces.worker.html: Added.
- web-platform-tests/html/dom/interfaces.worker.js: Added.
(doTest):
(fetchData):
(promise_test):
- web-platform-tests/html/dom/reflection.js:
- web-platform-tests/html/dom/resources/self-origin-subframe.html: Added.
- web-platform-tests/html/dom/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/w3c-import.log.
- web-platform-tests/html/dom/self-origin.any-expected.txt: Added.
- web-platform-tests/html/dom/self-origin.any.html: Added.
- web-platform-tests/html/dom/self-origin.any.js: Added.
(test):
- web-platform-tests/html/dom/self-origin.sub-expected.txt: Added.
- web-platform-tests/html/dom/self-origin.sub.html: Added.
- web-platform-tests/html/dom/self-origin.worker-expected.txt: Added.
- web-platform-tests/html/dom/self-origin.worker.html: Added.
- web-platform-tests/html/dom/w3c-import.log:
- web-platform-tests/html/semantics/document-metadata/styling/LinkStyle.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/resources/should-load.html: Added.
- web-platform-tests/html/semantics/embedded-content/resources/should-not-load.html: Added.
- web-platform-tests/html/semantics/embedded-content/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/toBlob.null-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/toBlob.null.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html:
- web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-embed-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation_by_user_activation_without_user_gesture-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation_by_user_activation_without_user_gesture.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/iframe-that-performs-top-navigation-without-user-gesture-failed.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/iframe-that-performs-top-navigation.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/navigation-changed-iframe.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/Image-constructor-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-img-element/Image-constructor.html:
- web-platform-tests/html/semantics/embedded-content/the-object-element/object-ignored-in-media-element-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-object-element/object-ignored-in-media-element.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-object-element/object-in-object-fallback-2-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-object-element/object-in-object-fallback-2.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-object-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
- web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html:
- web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt:
- web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html:
- web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/valueMode.html:
- web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection-expected.txt:
- web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection.html:
- web-platform-tests/html/semantics/forms/the-select-element/selected-index-expected.txt:
- web-platform-tests/html/semantics/forms/the-select-element/selected-index.html:
- web-platform-tests/html/semantics/scripting-1/the-script-element/data-url-expected.txt:
- web-platform-tests/html/semantics/scripting-1/the-script-element/data-url.html:
- web-platform-tests/html/semantics/tabular-data/the-table-element/tFoot-expected.txt:
- web-platform-tests/html/semantics/tabular-data/the-table-element/tFoot.html:
- web-platform-tests/html/semantics/tabular-data/the-table-element/tHead-expected.txt:
- web-platform-tests/html/semantics/tabular-data/the-table-element/tHead.html:
- web-platform-tests/html/semantics/tabular-data/the-tr-element/insertCell-expected.txt:
- web-platform-tests/html/semantics/tabular-data/the-tr-element/insertCell.html:
- web-platform-tests/html/syntax/parsing-html-fragments/w3c-import.log:
- web-platform-tests/html/syntax/parsing/test.js:
(init_tests):
- web-platform-tests/html/webappapis/scripting/events/body-exposed-window-event-handlers-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/body-exposed-window-event-handlers.html:
- web-platform-tests/html/webappapis/scripting/events/compile-event-handler-settings-objects-expected.txt: Added.
- web-platform-tests/html/webappapis/scripting/events/compile-event-handler-settings-objects.html: Added.
- web-platform-tests/html/webappapis/scripting/events/event-handler-onauxclick.html:
- web-platform-tests/html/webappapis/scripting/events/event-handler-processing-algorithm-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/event-handler-processing-algorithm.html:
- web-platform-tests/html/webappapis/scripting/events/resources/compiled-event-handler-settings-objects-support.html: Added.
- web-platform-tests/html/webappapis/scripting/events/resources/open-window.html: Added.
- web-platform-tests/html/webappapis/scripting/events/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/offline/w3c-import.log.
- web-platform-tests/html/webappapis/scripting/events/w3c-import.log:
- web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin-setTimeout.html:
- web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setInterval.html:
- web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setTimeout.html:
- web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin-setTimeout.html:
- web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setInterval.html:
- web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setTimeout.html:
- web-platform-tests/html/webappapis/scripting/processing-model-2/support/syntax-error-in-setInterval.js:
(step_timeout):
- web-platform-tests/html/webappapis/scripting/processing-model-2/support/undefined-variable-in-setInterval.js:
(step_timeout):
- web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID-expected.txt:
- web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.worker-expected.txt:
- web-platform-tests/lint.whitelist:
- web-platform-tests/media/CanvasTest.ttf: Added.
- web-platform-tests/media/w3c-import.log:
- web-platform-tests/streams/piping/general.js:
(false.promise_test):
- web-platform-tests/streams/piping/pipe-through.js:
(promise_test):
(test):
- web-platform-tests/streams/readable-byte-streams/general-expected.txt:
- web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt:
- web-platform-tests/streams/readable-byte-streams/general.js:
(test):
- web-platform-tests/streams/readable-streams/bad-underlying-sources.js:
(promise_test):
- web-platform-tests/streams/readable-streams/brand-checks-expected.txt:
- web-platform-tests/streams/readable-streams/brand-checks.dedicatedworker-expected.txt:
- web-platform-tests/streams/readable-streams/brand-checks.js:
(test):
(fakeReadableStream):
- web-platform-tests/streams/readable-streams/cancel.js:
(promise_test):
- web-platform-tests/streams/readable-streams/default-reader-expected.txt: Added.
- web-platform-tests/streams/readable-streams/default-reader.dedicatedworker-expected.txt: Added.
- web-platform-tests/streams/readable-streams/default-reader.dedicatedworker.html: Added.
- web-platform-tests/streams/readable-streams/default-reader.html: Added.
- web-platform-tests/streams/readable-streams/default-reader.js: Added.
(test):
(promise_test):
(promise_test.t.const.rs.new.ReadableStream.start):
(promise_test.t.const.rs.new.ReadableStream.cancel):
- web-platform-tests/streams/readable-streams/default-reader.serviceworker.https-expected.txt: Added.
- web-platform-tests/streams/readable-streams/default-reader.serviceworker.https.html: Added.
- web-platform-tests/streams/readable-streams/default-reader.sharedworker-expected.txt: Added.
- web-platform-tests/streams/readable-streams/default-reader.sharedworker.html: Added.
- web-platform-tests/streams/readable-streams/floating-point-total-queue-size-expected.txt: Added.
- web-platform-tests/streams/readable-streams/floating-point-total-queue-size.dedicatedworker-expected.txt: Added.
- web-platform-tests/streams/readable-streams/floating-point-total-queue-size.dedicatedworker.html: Added.
- web-platform-tests/streams/readable-streams/floating-point-total-queue-size.html: Added.
- web-platform-tests/streams/readable-streams/floating-point-total-queue-size.js: Added.
(promise_test):
(setupTestStream):
- web-platform-tests/streams/readable-streams/floating-point-total-queue-size.serviceworker.https-expected.txt: Added.
- web-platform-tests/streams/readable-streams/floating-point-total-queue-size.serviceworker.https.html: Added.
- web-platform-tests/streams/readable-streams/floating-point-total-queue-size.sharedworker-expected.txt: Added.
- web-platform-tests/streams/readable-streams/floating-point-total-queue-size.sharedworker.html: Added.
- web-platform-tests/streams/readable-streams/garbage-collection-expected.txt:
- web-platform-tests/streams/readable-streams/garbage-collection.dedicatedworker-expected.txt:
- web-platform-tests/streams/readable-streams/garbage-collection.js:
(promise_test):
- web-platform-tests/streams/readable-streams/general-expected.txt:
- web-platform-tests/streams/readable-streams/general.dedicatedworker-expected.txt:
- web-platform-tests/streams/readable-streams/general.js:
(promise_test):
(test):
- web-platform-tests/streams/readable-streams/pipe-through.js:
(test):
- web-platform-tests/streams/readable-streams/w3c-import.log:
- web-platform-tests/url/OWNERS:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-origin-expected.txt:
- web-platform-tests/url/a-element-origin-xhtml-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/failure-expected.txt: Added.
- web-platform-tests/url/failure.html: Added.
- web-platform-tests/url/setters_tests.json:
- web-platform-tests/url/url-constructor-expected.txt:
- web-platform-tests/url/url-origin-expected.txt:
- web-platform-tests/url/url-setters-expected.txt:
- web-platform-tests/url/urltestdata.json:
- web-platform-tests/url/w3c-import.log:
- web-platform-tests/w3c-import.log:
- web-platform-tests/webrtc/rtcpeerconnection/setRemoteDescription-expected.txt: Added.
- web-platform-tests/webrtc/rtcpeerconnection/setRemoteDescription.html: Added.
- web-platform-tests/webrtc/rtcpeerconnection/w3c-import.log:
LayoutTests:
- platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:
- tests-options.json:
- 5:34 PM Changeset in webkit [213881] by
-
- 4 edits in trunk/Source/JavaScriptCore
JSC: fix compilation errors for MIPS
https://bugs.webkit.org/show_bug.cgi?id=168402
Patch by SKumarMetro <s.kumar@metrological.com> on 2017-03-13
Reviewed by Mark Lam.
- assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::fillNops):
Added.
- assembler/MacroAssemblerMIPS.h:
Added MacroAssemblerMIPS::numGPRs and MacroAssemblerMIPS::numFPRs .
- bytecode/InlineAccess.h:
(JSC::InlineAccess::sizeForPropertyAccess):
(JSC::InlineAccess::sizeForPropertyReplace):
(JSC::InlineAccess::sizeForLengthAccess):
Added MIPS cases.
- 5:30 PM Changeset in webkit [213880] by
-
- 20 edits in trunk
[MediaStream] Move paintCurrentFrameInContext from RealtimeMediaSources to MediaPlayer
https://bugs.webkit.org/show_bug.cgi?id=169474
<rdar://problem/30976747>
Reviewed by Youenn Fablet.
Source/WebCore:
Every video capture source has extremely similar code to render the current frame to
a graphics context. Because the media player gets every video sample buffer, have it
hang onto the most recent frame so it can implement paintCurrentFrameInContext directly.
Fix an existing race condition that occasionally caused the readyState to advance to
"have enough data" before a video was ready to paint by defining a MediaStreamTrackPrivate
readyState and observing that.
No new tests, covered by existing tests. These changes uncovered a bug in
fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html, which
was updated.
- Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
(WebCore::CanvasCaptureMediaStreamTrack::Source::captureCanvas):
(WebCore::CanvasCaptureMediaStreamTrack::Source::paintCurrentFrameInContext): Deleted.
(WebCore::CanvasCaptureMediaStreamTrack::Source::currentFrameImage): Deleted.
- Modules/mediastream/CanvasCaptureMediaStreamTrack.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(-[WebAVSampleBufferStatusChangeListener observeValueForKeyPath:ofObject:change:context:]):
Drive-by change - don't pass status to parent callback, it is a property of the layer.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::isAvailable): Drive-by cleanup - we don't
use AVSampleBufferRenderSynchronizer so don't fail if it isn't available.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample): Hang onto new frame,
invalidate cached image, update readyState.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::layerStatusDidChange): No more "updatePausedImage".
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::ensureLayer): Drive-by cleanup - Add an early
return if there is no need for a layer.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::destroyLayer): renderingModeChanged -> updateRenderingMode.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentDisplayMode): Minor cleanup.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateDisplayMode): Renamed from renderingModeChanged,
add a bool return to signal when the mode changes.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play): No more m_haveEverPlayed. Update display
mode immediately.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause): No more paused image.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState): Only return HaveNothing, HaveMetadata,
or HaveEnoughData. Don't return HaveEnoughData until all enabled tracks are providing data and never
drop back to HaveMetadata.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateRenderingMode): Renamed from renderingModeChanged.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::characteristicsChanged): Update intrinsic
size directly.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::sampleBufferUpdated): No more m_hasReceivedMedia.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::readyStateChanged): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::checkSelectedVideoTrack): Reset imagePainter
when active video track changes.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateCurrentFrameImage): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paintCurrentFrameInContext): Paint current
frame image.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::CurrentFramePainter::reset): New.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::shouldEnqueueVideoSampleBuffer): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updatePausedImage): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateIntrinsicSize): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::renderingModeChanged): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::audioSamplesAvailable): Deleted.
- platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::paintCurrentFrameInContext): Deleted.
(WebCore::MediaStreamPrivate::currentFrameImage): Deleted.
- platform/mediastream/MediaStreamPrivate.h:
- platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
(WebCore::MediaStreamTrackPrivate::endTrack): Update readyState.
(WebCore::MediaStreamTrackPrivate::clone): Clone readyState.
(WebCore::MediaStreamTrackPrivate::sourceStopped): Update readyState.
(WebCore::MediaStreamTrackPrivate::videoSampleAvailable): Ditto.
(WebCore::MediaStreamTrackPrivate::audioSamplesAvailable): Ditto.
(WebCore::MediaStreamTrackPrivate::updateReadyState): New, update readyState and notify observers.
(WebCore::MediaStreamTrackPrivate::paintCurrentFrameInContext): Deleted.
- platform/mediastream/MediaStreamTrackPrivate.h:
- platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::paintCurrentFrameInContext): Deleted.
- platform/mediastream/RealtimeMediaSource.h:
(WebCore::RealtimeMediaSource::currentFrameImage): Deleted.
(WebCore::RealtimeMediaSource::paintCurrentFrameInContext): Deleted.
- platform/mediastream/mac/AVMediaCaptureSource.mm:
(-[WebCoreAVMediaCaptureSourceObserver disconnect]): Drive-by fix - clear m_callback
after calling removeNotificationObservers.
(-[WebCoreAVMediaCaptureSourceObserver removeNotificationObservers]): Drive-by fix - remove
the correct listener.
(-[WebCoreAVMediaCaptureSourceObserver endSessionInterrupted:]):
- platform/mediastream/mac/AVVideoCaptureSource.h:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::currentFrameImage): Deleted.
(WebCore::AVVideoCaptureSource::currentFrameCGImage): Deleted.
(WebCore::AVVideoCaptureSource::paintCurrentFrameInContext): Deleted.
- platform/mediastream/mac/RealtimeIncomingVideoSource.cpp:
(WebCore::drawImage): Deleted.
(WebCore::RealtimeIncomingVideoSource::currentFrameImage): Deleted.
(WebCore::RealtimeIncomingVideoSource::paintCurrentFrameInContext): Deleted.
- platform/mediastream/mac/RealtimeIncomingVideoSource.h:
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::paintCurrentFrameInContext): Deleted.
(WebCore::MockRealtimeVideoSource::currentFrameImage): Deleted.
- platform/mock/MockRealtimeVideoSource.h:
LayoutTests:
- fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled-expected.txt:
- fast/mediastream/MediaStream-video-element-video-tracks-disabled-then-enabled.html: Fix
bug uncovered by patch.
- 5:18 PM Changeset in webkit [213879] by
-
- 2 edits in trunk/Source/WebCore
[GTK][SOUP] Fix build after r213877
https://bugs.webkit.org/show_bug.cgi?id=140191
Unreviewed build fix.
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::setCookie): Add missing setCookie() declaration.
- 4:05 PM Changeset in webkit [213878] by
-
- 2 edits in trunk/LayoutTests
Skip WebGPU tests on ios-simulator.
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 4:00 PM Changeset in webkit [213877] by
-
- 33 edits1 copy5 adds in trunk
WKWebView provides no access to cookies.
https://bugs.webkit.org/show_bug.cgi?id=140191
Reviewed by Tim Horton.
Source/WebCore:
Covered by API tests.
- platform/Cookie.h:
- platform/network/NetworkStorageSession.h:
- platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::NetworkStorageSession::setCookie):
(WebCore::NetworkStorageSession::deleteCookie):
(WebCore::nsCookiesToCookieVector):
(WebCore::NetworkStorageSession::getAllCookies):
(WebCore::NetworkStorageSession::getCookies):
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::deleteCookie):
(WebCore::NetworkStorageSession::getAllCookies):
(WebCore::NetworkStorageSession::getCookies):
Source/WebKit2:
This adds a new WKHTTPCookieManager SPI.
It follows the NSHTTPCookieStorage API but asynchronous (with completion handlers).
- CMakeLists.txt:
- WebKit2.xcodeproj/project.pbxproj:
- Shared/API/APIObject.h:
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
- UIProcess/API/APIHTTPCookieStorage.cpp: Added.
(API::HTTPCookieStorage::HTTPCookieStorage):
(API::HTTPCookieStorage::~HTTPCookieStorage):
(API::HTTPCookieStorage::cookies):
(API::HTTPCookieStorage::setCookie):
(API::HTTPCookieStorage::setCookies):
(API::HTTPCookieStorage::deleteCookie):
(API::HTTPCookieStorage::removeCookiesSinceDate):
(API::HTTPCookieStorage::setHTTPCookieAcceptPolicy):
(API::HTTPCookieStorage::getHTTPCookieAcceptPolicy):
- UIProcess/API/APIHTTPCookieStorage.h: Added.
- UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::defaultDataStore):
(API::WebsiteDataStore::httpCookieStorage):
- UIProcess/API/APIWebsiteDataStore.h:
- UIProcess/API/C/WKCookieManager.cpp:
(WKCookieManagerDeleteAllCookiesModifiedAfterDate):
(WKCookieManagerSetHTTPCookieAcceptPolicy):
(WKCookieManagerGetHTTPCookieAcceptPolicy):
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreGetDefaultDataStore):
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _setCookieAcceptPolicy:]):
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore defaultDataStore]):
(-[WKWebsiteDataStore _httpCookieStorage]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/API/Cocoa/WKHTTPCookieStorage.h:
- UIProcess/API/Cocoa/WKHTTPCookieStorage.mm: Added.
(coreCookiesToNSCookies):
(-[WKHTTPCookieStorage dealloc]):
(-[WKHTTPCookieStorage fetchCookies:]):
(-[WKHTTPCookieStorage fetchCookiesForURL:completionHandler:]):
(-[WKHTTPCookieStorage setCookie:completionHandler:]):
(-[WKHTTPCookieStorage deleteCookie:completionHandler:]):
(-[WKHTTPCookieStorage setCookies:forURL:mainDocumentURL:completionHandler:]):
(-[WKHTTPCookieStorage removeCookiesSinceDate:completionHandler:]):
(-[WKHTTPCookieStorage setCookieAcceptPolicy:completionHandler:]):
(kitCookiePolicyToNSCookiePolicy):
(-[WKHTTPCookieStorage fetchCookieAcceptPolicy:]):
(-[WKHTTPCookieStorage _apiObject]):
- UIProcess/API/Cocoa/WKHTTPCookieStorageInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h.
(WebKit::wrapper):
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::addSingleCookie):
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
(WebKit::WebCookieManagerProxy::deleteCookiesForHostname):
(WebKit::WebCookieManagerProxy::deleteAllCookies):
(WebKit::WebCookieManagerProxy::deleteCookie):
(WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManagerProxy::setCookie):
(WebKit::WebCookieManagerProxy::setCookies):
(WebKit::WebCookieManagerProxy::getAllCookies):
(WebKit::WebCookieManagerProxy::getCookies):
(WebKit::WebCookieManagerProxy::didSetCookies):
(WebKit::WebCookieManagerProxy::didGetCookies):
(WebKit::WebCookieManagerProxy::didDeleteCookies):
(WebKit::WebCookieManagerProxy::startObservingCookieChanges):
(WebKit::WebCookieManagerProxy::stopObservingCookieChanges):
(WebKit::WebCookieManagerProxy::setCookieObserverCallback):
(WebKit::WebCookieManagerProxy::cookiesDidChange):
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::didGetHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::didSetHTTPCookieAcceptPolicy):
- UIProcess/WebCookieManagerProxy.h:
- UIProcess/WebCookieManagerProxy.messages.in:
- UIProcess/WebFrameProxy.h:
- UIProcess/WebProcessPool.cpp:
- UIProcess/WebProcessPool.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::processPoolForCookieStorageOperations):
(WebKit::WebsiteDataStore::processPools):
- UIProcess/WebsiteData/WebsiteDataStore.h:
- WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::deleteCookie):
(WebKit::WebCookieManager::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManager::getAllCookies):
(WebKit::WebCookieManager::getCookies):
(WebKit::WebCookieManager::setCookie):
(WebKit::WebCookieManager::setCookies):
(WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
- WebProcess/Cookies/WebCookieManager.h:
- WebProcess/Cookies/WebCookieManager.messages.in:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- 3:52 PM Changeset in webkit [213876] by
-
- 2 edits in trunk/Source/JavaScriptCore
FTL should not flush strict arguments unless it really needs to
https://bugs.webkit.org/show_bug.cgi?id=169519
Reviewed by Mark Lam.
This is a refinement that we should have done ages ago. This kills some pointless PutStacks
in DFG SSA IR. It can sometimes unlock other optimizations.
Relanding after I fixed the special cases for CreateArguments-style nodes.
- dfg/DFGPreciseLocalClobberize.h:
(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):
- 3:35 PM Changeset in webkit [213875] by
-
- 5 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: WebSockets: color of outgoing message icon should match text color
https://bugs.webkit.org/show_bug.cgi?id=169512
<rdar://problem/30994284>
Reviewed by Devin Rousso.
Include SVG icon as an inline SVG element to make currentColor work.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Main.html:
- UserInterface/Views/WebSocketContentView.css:
(.web-socket.content-view .outgoing .icon): Deleted.
- UserInterface/Views/WebSocketContentView.js:
(WebInspector.WebSocketContentView):
(WebInspector.WebSocketContentView.prototype.addFrame):
(WebInspector.WebSocketContentView.prototype._addRow):
(WebInspector.WebSocketContentView.prototype._timeStringFromTimestamp): Deleted.
- UserInterface/Views/WebSocketDataGridNode.js: Added.
(WebInspector.WebSocketDataGridNode.prototype.createCellContent):
(WebInspector.WebSocketDataGridNode.prototype._timeStringFromTimestamp):
(WebInspector.WebSocketDataGridNode):
- 3:29 PM Changeset in webkit [213874] by
-
- 7 edits1 move in trunk/Source/WebInspectorUI
Web Inspector: Event Listeners detail section is unhelpful, default should show listeners by element rather than by event
https://bugs.webkit.org/show_bug.cgi?id=167077
Reviewed by Joseph Pecoraro.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Main.html:
- UserInterface/Views/EventListenerSection.js: Removed.
- UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode.prototype.eventListeners): Renamed to getEventListeners.
- UserInterface/Views/DOMNodeDetailsSidebarPanel.css: Added.
(.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter):
(body[dir=ltr] .sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter):
(body[dir=rtl] .sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter):
(.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:hover):
(.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:active):
(.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners.collapsed > .header > .filter):
(.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter > select):
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WebInspector.DOMNodeDetailsSidebarPanel.createOption):
(WebInspector.DOMNodeDetailsSidebarPanel):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.createEventListenerSection):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByEvent):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByNode):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.eventListenersCallback):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners):
Add a filter to the Event Listeners section that changes the way in which event listeners
are grouped. Currently supports two methods:
- Group by Event
- Group by Node
- UserInterface/Views/EventListenerSectionGroup.js:
(WebInspector.EventListenerSectionGroup):
Add ability to display the event type.
- UserInterface/Views/DetailsSection.css:
(.details-section):
Drive-by fix: CSS variable was named incorrectly.
- 3:27 PM Changeset in webkit [213873] by
-
- 8 edits2 adds in trunk
Web Inspector: Event Listeners section is missing 'once', 'passive' event listener flags
https://bugs.webkit.org/show_bug.cgi?id=167080
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
- inspector/protocol/DOM.json:
Add "passive" and "once" items to the EventListener type.
Source/WebCore:
Test: inspector/dom/getEventListenersForNode.html
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
Add "passive" and "once" values to the EventListener protocol object when applicable.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/EventListenerSectionGroup.js:
(WebInspector.EventListenerSectionGroup):
(WebInspector.EventListenerSectionGroup.prototype._type): Deleted.
LayoutTests:
Tests the result of DOMAgent.getEventListenersForNode and ensures that additional options
are passed to the frontend.
- inspector/dom/getEventListenersForNode-expected.txt: Added.
- inspector/dom/getEventListenersForNode.html: Added.
- 3:06 PM Changeset in webkit [213872] by
-
- 3 edits1 delete in trunk/Source/JavaScriptCore
Remove obsolete experimental ObjC SPI.
https://bugs.webkit.org/show_bug.cgi?id=169569
Reviewed by Saam Barati.
- API/JSVirtualMachine.mm:
(-[JSVirtualMachine enableSigillCrashAnalyzer]): Deleted.
- API/JSVirtualMachinePrivate.h: Removed.
- JavaScriptCore.xcodeproj/project.pbxproj:
- 2:50 PM Changeset in webkit [213871] by
-
- 21 edits in trunk/Source
Resource Load Statistics: More efficient network process messaging + Fix bug in user interaction reporting
https://bugs.webkit.org/show_bug.cgi?id=169506
Reviewed by Alex Christensen.
Source/WebCore:
Covered by previous test which now follows the code path more closely to when reporting
happens in the web process.
- loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution):
No longer explicitly calls ResourceLoadStatisticsStore::fireShouldPartitionCookiesHandler().
Instead just calls ResourceLoadStatisticsStore::fireDataModificationHandler().
(WebCore::ResourceLoadObserver::logUserInteraction):
Updated to call the new ResourceLoadStatisticsStore::fireShouldPartitionCookiesHandler().
(WebCore::ResourceLoadObserver::fireShouldPartitionCookiesHandler):
Now takes two vectors – domainsToRemove and domainsToAdd.
- loader/ResourceLoadObserver.h:
- loader/ResourceLoadStatistics.cpp:
(WebCore::ResourceLoadStatistics::toString):
Added boolean field isMarkedForCookiePartitioning.
(WebCore::ResourceLoadStatistics::merge):
Added boolean field isMarkedForCookiePartitioning.
- loader/ResourceLoadStatistics.h:
Added boolean field isMarkedForCookiePartitioning.
- loader/ResourceLoadStatisticsStore.cpp:
(WebCore::ResourceLoadStatisticsStore::readDataFromDecoder):
Now marks statistics with isMarkedForCookiePartitioning before sending them off to
ResourceLoadStatisticsStore::fireShouldPartitionCookiesHandler().
(WebCore::ResourceLoadStatisticsStore::setShouldPartitionCookiesCallback):
Now accepts a handler with two vectors.
(WebCore::ResourceLoadStatisticsStore::fireShouldPartitionCookiesHandler):
Now the only exported version of this function is the one without arguments.
The one internal to WebCore accepts two vectors – domainsToRemove and domainsToAdd.
The exported one generates the two vectors and then calls the internal one.
(WebCore::ResourceLoadStatisticsStore::hasHadRecentUserInteraction):
No longer explicitly calls ResourceLoadStatisticsStore::fireShouldPartitionCookiesHandler().
- loader/ResourceLoadStatisticsStore.h:
- platform/network/NetworkStorageSession.h:
- platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::setShouldPartitionCookiesForHosts):
Now takes two vectors – domainsToRemove and domainsToAdd.
Source/WebKit2:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::shouldPartitionCookiesForTopPrivatelyOwnedDomains):
Now takes two vectors – domainsToRemove and domainsToAdd.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
The message now takes two vectors – domainsToRemove and domainsToAdd.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::shouldPartitionCookiesForTopPrivatelyOwnedDomains):
Now takes two vectors – domainsToRemove and domainsToAdd.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
The message now takes two vectors – domainsToRemove and domainsToAdd.
- UIProcess/WebResourceLoadStatisticsManager.cpp:
(WebKit::WebResourceLoadStatisticsManager::fireShouldPartitionCookiesHandler):
Now converts to the two vectors needed by
WebCore::ResourceLoadObserver::fireShouldPartitionCookiesHandler().
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::classifyResource):
No longer explicitly calls ResourceLoadStatisticsStore::fireShouldPartitionCookiesHandler().
(WebKit::WebResourceLoadStatisticsStore::removeDataRecords):
Changed the order of two blocks to not build a vector if we are to return early.
(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
Now calls WebCore::ResourceLoadObserver::fireShouldPartitionCookiesHandler().
(WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver):
Now takes a handler with two vectors – domainsToRemove and domainsToAdd.
- UIProcess/WebResourceLoadStatisticsStore.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::shouldPartitionCookiesForTopPrivatelyOwnedDomains):
Now takes two vectors – domainsToRemove and domainsToAdd.
(WebKit::WebsiteDataStore::registerSharedResourceLoadObserver):
Now submits a handler that takes two vectors – domainsToRemove and domainsToAdd.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- 2:44 PM Changeset in webkit [213870] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Database's query functions should support querying for a row with NULL value
https://bugs.webkit.org/show_bug.cgi?id=169504
Reviewed by Antti Koivisto.
Add the support for calling select_* with one of column values set to NULL.
This feature is useful in webkit.org/b/146374 and webkit.org/b/168962.
- public/include/db.php:
(Database::prepare_params): Added $null_columns as an optional argument.
(Database::select_conditions_with_null_columns): Added. Builds up a query string by appending AND x is NULL
to match columns whose value must be NULL.
(Database::_select_update_or_insert_row):
(Database::select_rows):
- 2:36 PM Changeset in webkit [213869] by
-
- 5 edits3 adds in trunk
Source/WebCore:
Respect the runtime flag for WebGPU, default feature to off.
https://bugs.webkit.org/show_bug.cgi?id=169564
<rdar://problems/31018864>
Reviewed by Tim Horton.
Make sure WebGPU respects its runtime feature flag. Also, since
this implementation doesn't validate content, it should default
to being disabled.
Test: fast/canvas/webgpu/webgpu-runtime-flag.html
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::getContextWebGPU):
Source/WebKit2:
Respect the runtime flag for WebGPU, default feature to off, and print a warning
https://bugs.webkit.org/show_bug.cgi?id=169564
<rdar://problems/31018864>
Reviewed by Tim Horton.
Make sure WebGPU respects its runtime feature flag. Also, since
this implementation doesn't validate content, it should default
to being disabled.
- Shared/WebPreferencesDefinitions.h:
LayoutTests:
Respect the runtime flag for WebGPU, default feature to off, and print a warning
https://bugs.webkit.org/show_bug.cgi?id=169564
<rdar://problem/31018864>
Reviewed by Tim Horton.
- fast/canvas/webgpu/webgpu-runtime-flag-expected.txt: Added.
- fast/canvas/webgpu/webgpu-runtime-flag.html: Added.
- 2:26 PM Changeset in webkit [213868] by
-
- 2 edits in trunk/Tools
[GTK] install-dependencies needs to install Perl CGI modules on Debian based distros
https://bugs.webkit.org/show_bug.cgi?id=169563
Reviewed by Michael Catanzaro.
- gtk/install-dependencies:
- 2:14 PM Changeset in webkit [213867] by
-
- 2 edits in trunk/Tools
Unreviewed, fix accidental comma.
- Scripts/webkitpy/common/config/contributors.json:
- 2:11 PM Changeset in webkit [213866] by
-
- 2 edits in trunk/Tools
Unreviewed, change my email.
- Scripts/webkitpy/common/config/contributors.json:
- 1:17 PM Changeset in webkit [213865] by
-
- 2 edits in trunk/Source/WebCore
Fix CMake build.
- PlatformMac.cmake:
Add new files.
- 1:16 PM Changeset in webkit [213864] by
-
- 4 edits in trunk/Tools
Fix build warnings.
- MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate openDocument:]):
- MiniBrowser/mac/ExtensionManagerWindowController.m:
(-[ExtensionManagerWindowController add:]):
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
- 1:08 PM Changeset in webkit [213863] by
-
- 3 edits in trunk/Source/WebKit2
Fix more build warnings.
- UIProcess/mac/WKWebInspectorWKWebView.mm:
(WebKit::runOpenPanel):
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformSave):
- 12:46 PM Changeset in webkit [213862] by
-
- 2 edits in trunk/Tools
Remove my email from some of the watchlists
https://bugs.webkit.org/show_bug.cgi?id=169541
Patch by Martin Robinson <mrobinson@igalia.com> on 2017-03-13
Reviewed by Manuel Rego Casasnovas.
- Scripts/webkitpy/common/config/watchlist: Remove my name from some lists.
- 12:42 PM Changeset in webkit [213861] by
-
- 4 edits in trunk/Source
Fix build warnings.
Source/WebKit/mac:
- WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::save):
(-[WebInspectorWindowController webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:]):
Source/WebKit2:
- UIProcess/mac/RemoteWebInspectorProxyMac.mm:
(WebKit::RemoteWebInspectorProxy::platformSave):
- 12:36 PM Changeset in webkit [213860] by
-
- 3 edits1 delete in trunk
Unreviewed, rolling out r213856.
https://bugs.webkit.org/show_bug.cgi?id=169562
Breaks JSC stress test stress/super-property-access.js.ftl-
eager failing (Requested by mlam|g on #webkit).
Reverted changeset:
"FTL should not flush strict arguments unless it really needs
to"
https://bugs.webkit.org/show_bug.cgi?id=169519
http://trac.webkit.org/changeset/213856
- 12:09 PM Changeset in webkit [213859] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC][Linux] Allow profilers to demangle C++ names
https://bugs.webkit.org/show_bug.cgi?id=169559
Reviewed by Michael Catanzaro.
Linux also offers dladdr & demangling feature.
Thus, we can use it to show the names in profilers.
For example, SamplingProfiler tells us the C function names.
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::StackFrame::displayName):
- tools/CodeProfile.cpp:
(JSC::symbolName):
- 11:56 AM Changeset in webkit [213858] by
-
- 18 edits in trunk
[WTF] Clean up RunLoop and WorkQueue with Seconds and Function
https://bugs.webkit.org/show_bug.cgi?id=169537
Reviewed by Sam Weinig.
Source/JavaScriptCore:
- runtime/Watchdog.cpp:
(JSC::Watchdog::startTimer):
Source/WebKit2:
- Shared/ChildProcess.cpp:
(WebKit::didCloseOnConnectionWorkQueue):
- UIProcess/Storage/LocalStorageDatabase.cpp:
- WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp:
(WebKit::AcceleratedSurfaceX11::resize):
Source/WTF:
This patch modernizes RunLoop and WorkQueue.
- Use Ref<> aggressively
- Use Seconds instead of chrono times
- Use Function<> instead of std::function
- wtf/MainThread.cpp:
(WTF::dispatchFunctionsFromMainThread):
- wtf/RunLoop.h:
- wtf/WorkQueue.h:
- wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):
(WTF::WorkQueue::concurrentApply):
- wtf/generic/MainThreadGeneric.cpp:
(WTF::scheduleDispatchFunctionsOnMainThread):
- wtf/generic/RunLoopGeneric.cpp:
(WTF::RunLoop::TimerBase::ScheduledTask::create):
(WTF::RunLoop::TimerBase::ScheduledTask::EarliestSchedule::operator()):
(WTF::RunLoop::populateTasks):
(WTF::RunLoop::runImpl):
(WTF::RunLoop::schedule):
(WTF::RunLoop::scheduleAndWakeUp):
(WTF::RunLoop::dispatchAfter):
(WTF::RunLoop::TimerBase::start):
- wtf/generic/WorkQueueGeneric.cpp:
(WorkQueue::dispatch):
(WorkQueue::dispatchAfter):
- wtf/glib/RunLoopGLib.cpp:
(WTF::DispatchAfterContext::DispatchAfterContext):
(WTF::RunLoop::dispatchAfter):
(WTF::RunLoop::TimerBase::updateReadyTime):
(WTF::RunLoop::TimerBase::start):
- wtf/win/WorkQueueWin.cpp:
(WTF::WorkQueue::performWorkOnRegisteredWorkThread):
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):
Tools:
- TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
(TestWebKitAPI::TEST):
- 11:09 AM Changeset in webkit [213857] by
-
- 19 edits2 adds in trunk/Source
Allow termination of background WebProcesses that go over a given CPU usage threshold
https://bugs.webkit.org/show_bug.cgi?id=169456
<rdar://problem/30960968>
Reviewed by Andreas Kling.
Source/WebCore:
Add CPUMonitor utility class to monitor CPU usage and call a provided lambda
whenever the process exceeds the provided CPU limit over a given period of
time.
- WebCore.xcodeproj/project.pbxproj:
- platform/CPUMonitor.cpp: Added.
(WebCore::CPUMonitor::CPUMonitor):
(WebCore::CPUMonitor::setCPULimit):
(WebCore::CPUMonitor::timerFired):
- platform/CPUMonitor.h: Added.
Source/WebKit2:
Allow termination of background WebProcesses that go over a given CPU usage threshold.
This can be enabled client side via the WKPageConfigurationSetBackgroundCPULimit()
SPI. The client provides the actual CPU threshold it wants to use at page level.
If such limit is set, whenever a WebContent process has no visible pages, we start
monitoring its CPU usage over 15 minutes periods. At the end of each period, we
check if the process' average CPU usage over this period was greater than the
background CPU limit. If it greater, the WebContent process send an IPC message to
the UIProcess letting it know that it exceeded the CPU limit. The UI process will
then log a message and terminate the process unless it has any audio playing.
Once a WebProcess has been terminated, we do not let the client know until one of its
pages becomes visible again. When this happens, we call the processDidCrash
delegate and Safari will take care of reloading the tab and showing the crash
banner then. This is done because we do not want to reload content that is
using a lot of CPU while in the background.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
Add backgroundCPULimit to WebPageCreationParameters.
- UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::copy):
- UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::backgroundCPULimit):
(API::PageConfiguration::setBackgroundCPULimit):
Add backgroundCPULimit to APIPageConfiguration.
- UIProcess/API/C/WKPageConfigurationRef.cpp:
(WKPageConfigurationSetBackgroundCPULimit):
- UIProcess/API/C/WKPageConfigurationRef.h:
Add SPI to set background CPU limit.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcess):
Reset m_wasTerminatedDueToResourceExhaustionWhileInBackground flag
as the process was restarted.
(WebKit::WebPageProxy::dispatchActivityStateChange):
When the visibility state changes for a page that was terminated
while in the background due to exceeded CPU limit, notify the
client that the process crashed via the processDidCrash delegate.
Safari will use this delegate to reload the tab and show the crash
banner.
(WebKit::WebPageProxy::terminateProcess):
Add parameter to terminateProcess() to provide the reason. If the
page was terminated due to reaching CPU limit, set a flag so we
can delay calling processDidCrash until the page becomes visible
again.
(WebKit::WebPageProxy::creationParameters):
Set backgroundCPULimit on the WebPageCreationParameters.
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::pagesCopy):
Add utility function to copy the list of pages to a Vector.
(WebKit::WebProcessProxy::didExceedBackgroundCPULimit):
When we get an IPC message from a WebContent process to let us
know that the process exceeded the background CPU limit, we log
a message and we terminate it if it has no audio playing.
- UIProcess/WebProcessProxy.h:
- UIProcess/WebProcessProxy.messages.in:
Add DidExceedBackgroundCPULimit IPC message so the WebContent process
can let us know when it goes over the background CPU limit.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_backgroundCPULimit):
(WebKit::WebPage::setActivityState):
Notify the WebProcess whenever the activity state of a WebPage changes.
The WebProcess currently uses this information to determine when the
visibility of a page changes. This is needed as we only want to monitor
CPU usage of *background* WebContent processes (processes that have no
visible WebPage).
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::backgroundCPULimit):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::createWebPage):
(WebKit::WebProcess::removeWebPage):
Call updateBackgroundCPULimit() whenever a WebPage is added or removed
since the limit is per page.
(WebKit::WebProcess::updateBackgroundCPULimit):
(WebKit::WebProcess::updateBackgroundCPUMonitorState):
No-ops on other platforms than Mac at the moment.
(WebKit::WebProcess::pageActivityStateDidChange):
Call updateBackgroundCPUMonitorState() whenever the visibility of the
WebPage changes as we only monitor the CPU usage of *background* WebContent
processes.
(WebKit::WebProcess::hasVisibleWebPage):
Add utility function to determine if there is any visible WebPage in this
WebContent process. If the function returns false, then we consider the
WebContent process to be a *background* WebContent process.
- WebProcess/WebProcess.h:
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::updateBackgroundCPULimit):
Compute the WebProcess' background CPU limit given the limit set for each
of its WebPages. We use the largest (i.e. most permissive) background CPU
limit among all the pages.
(WebKit::WebProcess::updateBackgroundCPUMonitorState):
Update the state of the background CPU monitor. This is called whenever
the background CPU limit of the process changes or whenever the visibility
of a WebPage changes.
- 11:00 AM Changeset in webkit [213856] by
-
- 3 edits1 add in trunk
FTL should not flush strict arguments unless it really needs to
https://bugs.webkit.org/show_bug.cgi?id=169519
Reviewed by Mark Lam.
JSTests:
This benchmark runs 3.5x faster thanks to this patch.
- microbenchmarks/strict-arguments-no-escape.js: Added.
(foo):
(bar):
(baz):
Source/JavaScriptCore:
This is a refinement that we should have done ages ago. This kills some pointless PutStacks
in DFG SSA IR. It can sometimes unlock other optimizations.
- dfg/DFGPreciseLocalClobberize.h:
(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):
- 10:54 AM Changeset in webkit [213855] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
Updated Swedish translation
https://bugs.webkit.org/show_bug.cgi?id=169549
Patch by Josef Andersson <l10nl18nsweja@gmail.com> on 2017-03-13
Rubber-stamped by Michael Catanzaro.
- sv.po:
- 10:51 AM Changeset in webkit [213854] by
-
- 8 edits in trunk/Source/WebKit2
Add iOS plumbing to WebProcess to enable JavaScriptCore configuration and logging
https://bugs.webkit.org/show_bug.cgi?id=169489
Reviewed by Geoffrey Garen.
Added new preference for enabling the use of a JavaScript configuration file
in iOS builds. The preference is used to enable the processing of the
configuration file.
(API::ProcessPoolConfiguration::ProcessPoolConfiguration):
- UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::defaultJavaScriptConfigurationDirectory):
- UIProcess/API/APIWebsiteDataStore.h:
- UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
(API::WebsiteDataStore::defaultJavaScriptConfigurationDirectory):
(API::WebsiteDataStore::tempDirectoryFileSystemRepresentation):
(API::WebsiteDataStore::defaultDataStoreConfiguration):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::setJavaScriptConfigurationFileEnabledFromDefaults):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess):
- UIProcess/WebProcessPool.h:
- 10:42 AM Changeset in webkit [213853] by
-
- 7 edits in tags/Safari-604.1.11/Source
Versioning.
- 10:40 AM Changeset in webkit [213852] by
-
- 7 edits in trunk/Source
Versioning.
- 10:31 AM Changeset in webkit [213851] by
-
- 1 copy in tags/Safari-604.1.11
Tag Safari-604.1.11.
- 10:03 AM Changeset in webkit [213850] by
-
- 7 edits in trunk
[JSC] It should be possible create a label named let when parsing Statement in non strict mode
https://bugs.webkit.org/show_bug.cgi?id=168684
Patch by Caio Lima <Caio Lima> on 2017-03-13
Reviewed by Saam Barati.
JSTests:
- ChakraCore/test/LetConst/DeclOutofBlock.baseline-jsc:
Source/JavaScriptCore:
This patch is fixing a Parser bug to allow define a label named
letin sloppy mode when parsing a Statement.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseStatement):
LayoutTests:
- js/let-syntax-expected.txt:
- js/script-tests/let-syntax.js:
(shouldNotHaveSyntaxErrorSloopyOnly):
- 9:57 AM Changeset in webkit [213849] by
-
- 4 edits in trunk/LayoutTests
Rebaseline js/dom/global-constructors-attributes.html.
Unreviewed test gardening.
- platform/mac-elcapitan/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- 9:39 AM Changeset in webkit [213848] by
-
- 5 edits2 adds in trunk
[Modern Media Controls] Volume icon doesn't turn to mute when the knob is set to 0
https://bugs.webkit.org/show_bug.cgi?id=169553
<rdar://problem/30754543>
Patch by Antoine Quint <Antoine Quint> on 2017-03-13
Reviewed by Eric Carlson.
Source/WebCore:
When we start changing the volume using the mouse, we record the volume at that point
and as we drag the volume slider, we set the mute button to show that the media is
muted if the volume is 0, and set the actual media volume to be the initial volume
prior to dragging. This way, when we toggle the "muted" property by pressing the
mute button, the original volume is restored.
To function correctly, this required some changed to Slider. The volume slider would
fail to update if the value set was the same as the initial value since we would use
only the "change" event to identify the end of a slider drag interaction. This was
incorrect since if the initial value and the final value while dragging the slider
were the same, no "change" event would be fired. So we now use mouse events to
identify when the slider is being dragged.
Test: media/modern-media-controls/volume-support/volume-support-drag-to-mute.html
- Modules/modern-media-controls/controls/slider.js:
(Slider.prototype.set value):
(Slider.prototype.handleEvent):
(Slider.prototype._handleMousedownEvent):
(Slider.prototype._handleInputEvent):
(Slider.prototype._handleMouseupEvent):
(Slider.prototype._handleChangeEvent): Deleted.
- Modules/modern-media-controls/controls/volume-slider.js:
(VolumeSlider):
(VolumeSlider.prototype.draw):
(VolumeSlider.prototype.handleEvent): Deleted.
- Modules/modern-media-controls/media/volume-support.js:
(VolumeSupport.prototype.controlValueWillStartChanging):
(VolumeSupport.prototype.controlValueDidChange):
LayoutTests:
Adding a new test where we drag the volume slider to 0 and ensure that the volume gets muted
and that clicking on the mute button resets the volume to be the same value as prior to the
dragging interaction.
- media/modern-media-controls/volume-support/volume-support-drag-to-mute-expected.txt: Added.
- media/modern-media-controls/volume-support/volume-support-drag-to-mute.html: Added.
- 9:29 AM Changeset in webkit [213847] by
-
- 2 edits in trunk/Source/WebCore
[Win] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=169546
Reviewed by Brent Fulgham.
There is no matching constructor in the Cookie class.
- platform/network/cf/CookieJarCFNet.cpp:
(WebCore::getRawCookies):
- 9:26 AM Changeset in webkit [213846] by
-
- 3 edits in trunk/Source/WebKit/win
[Win] Compile fix.
https://bugs.webkit.org/show_bug.cgi?id=169545
Reviewed by Brent Fulgham.
Fix inconsistent dll linkage warnings.
- WebKitDLL.cpp:
- WebKitDLL.h:
- 8:46 AM Changeset in webkit [213845] by
-
- 2 edits in trunk/Tools
[GTK] Remove dead code from previous autotools build in build-jsc
https://bugs.webkit.org/show_bug.cgi?id=169555
Reviewed by Carlos Garcia Campos.
- Scripts/build-jsc:
(buildMyProject):
- 7:42 AM Changeset in webkit [213844] by
-
- 2 edits2 adds2 deletes in trunk/Source/WebKit2
[WK2] Move AcceleratedSurface files under WebProcess/WebPage/CoordinatedGraphics
https://bugs.webkit.org/show_bug.cgi?id=169348
Reviewed by Carlos Garcia Campos.
Move the AcceleratedSurface header and implementation files under the
WebProcess/WebPage directory since that class is not specific to the
GTK+ port.
- PlatformGTK.cmake:
- WebProcess/WebPage/AcceleratedSurface.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/AcceleratedSurface.cpp.
(WebKit::AcceleratedSurface::create):
(WebKit::AcceleratedSurface::AcceleratedSurface):
(WebKit::AcceleratedSurface::resize):
- WebProcess/WebPage/AcceleratedSurface.h: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/AcceleratedSurface.h.
(WebKit::AcceleratedSurface::window):
(WebKit::AcceleratedSurface::surfaceID):
(WebKit::AcceleratedSurface::shouldPaintMirrored):
- 7:04 AM Changeset in webkit [213843] by
-
- 2 edits in trunk/Source/WebKit2
[cmake] [WK2] Guard flags intended for GCC-like compilers with COMPILER_IS_GCC_OR_CLANG
https://bugs.webkit.org/show_bug.cgi?id=169551
Reviewed by Yusuke Suzuki.
This change allows building WK2 code with MSVC.
- CMakeLists.txt:
- 6:26 AM Changeset in webkit [213842] by
-
- 8 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213833 - ImageDecoder can be deleted while the async decoder thread is still using it
https://bugs.webkit.org/show_bug.cgi?id=169199
Reviewed by Carlos Garcia Campos.
Make the image decoder used by ImageSource and ImageFrameCache into a RefPtr instead of
and unique_ptr, and pass a reference to the decoder thread. This ensures that the decoder
will stay alive as long as the decoding thread is processing frames. Also, stop the async
decoding queue if a new decoder is set to ImageFrameCache.
No new tests.
- platform/graphics/ImageFrameCache.cpp:
(WebCore::ImageFrameCache::setDecoder):
(WebCore::ImageFrameCache::decoder):
(WebCore::ImageFrameCache::startAsyncDecodingQueue):
(WebCore::ImageFrameCache::metadata):
- platform/graphics/ImageFrameCache.h:
(WebCore::ImageFrameCache::setDecoder): Deleted.
Moved to source file so we can keep the ImageDecoder forward declaration.
(WebCore::ImageFrameCache::decoder): Deleted.
Moved to source file so we can keep the ImageDecoder forward declaration.
- platform/graphics/ImageSource.h:
- platform/graphics/cg/ImageDecoderCG.h:
(WebCore::ImageDecoder::create):
- platform/graphics/win/ImageDecoderDirect2D.h:
(WebCore::ImageDecoder::create):
- platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::create):
- platform/image-decoders/ImageDecoder.h:
- 6:24 AM Changeset in webkit [213841] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Tools
Merge r213789 - MiniBrowser: a tab closed from javascript always closes the window
https://bugs.webkit.org/show_bug.cgi?id=169415
Reviewed by Michael Catanzaro.
When I implemented tabs support in MiniBrowser I forgot about web view close. We connect to the signal (only for
the active tab) and close the window. That worked when we didn't have tabs, but now we should close the tab, or
the window if it's the last tab.
- MiniBrowser/gtk/BrowserWindow.c:
(webViewClose): Destroy the window if therte's only one tab, otherwise search for the tab corresponding to the web
view and destroy it.
(browserWindowSwitchTab): Re-connect to close signal, we want to handle close on all tabs.
- 6:24 AM Changeset in webkit [213840] by
-
- 4 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r213773 - Structure::willStoreValueSlow needs to keep the property table alive until the end
https://bugs.webkit.org/show_bug.cgi?id=169520
Reviewed by Michael Saboff.
We use pointers logically interior to
propertyTableafter doing a GC. We need to prevent the
compiler from optimizing away pointers topropertyTable.
- heap/HeapCell.cpp:
(JSC::HeapCell::use):
- heap/HeapCell.h:
(JSC::HeapCell::use): Introduce API for keeping a pointer alive until some point in execution.
- runtime/Structure.cpp:
(JSC::Structure::willStoreValueSlow): Use HeapCell::use() to keep the pointer alive.
- 5:59 AM Changeset in webkit [213839] by
-
- 3 edits1 add in releases/WebKitGTK/webkit-2.16
Merge r213742 - JSC: BindingNode::bindValue doesn't increase the scope's reference count.
https://bugs.webkit.org/show_bug.cgi?id=168546
<rdar://problem/30589551>
Reviewed by Saam Barati.
JSTests:
- stress/regress-168546.js: Added.
Source/JavaScriptCore:
We should protect the scope RegisterID with a RefPtr while it is still needed.
- bytecompiler/NodesCodegen.cpp:
(JSC::ForInNode::emitLoopHeader):
(JSC::ForOfNode::emitBytecode):
(JSC::BindingNode::bindValue):
- 5:56 AM Changeset in webkit [213838] by
-
- 4 edits in releases/WebKitGTK/webkit-2.16
Merge r213711 - imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html is unreliable
https://bugs.webkit.org/show_bug.cgi?id=169465
Reviewed by Zalan Bujtas.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-expected.txt:
Source/WebCore:
It shows all subtests passing but that is a bug. We don't even support all the unit types.
The test occasionally fails when reloading, that failing results are actually the correct ones.
- css/parser/SizesAttributeParser.cpp:
(WebCore::SizesAttributeParser::SizesAttributeParser):
Ensure we have correct size for the iframe before parsing 'sizes' attribute values. The interpretation of
these may depend on the iframe dimensions.
- 5:45 AM Changeset in webkit [213837] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r213648 - WebKit: JSC: JSObject::ensureLength doesn't check if ensureLengthSlow failed
https://bugs.webkit.org/show_bug.cgi?id=169215
Reviewed by Mark Lam.
This doesn't have a test because it would be a very complicated test.
- runtime/JSObject.h:
(JSC::JSObject::ensureLength): If ensureLengthSlow returns false, we need to return false.
- 5:26 AM Changeset in webkit [213836] by
-
- 7 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r213646 - Align Document.elementFromPoint() with the CSSOM specification
https://bugs.webkit.org/show_bug.cgi?id=169403
Reviewed by Sam Weinig.
Source/WebCore:
Align Document.elementFromPoint() with the CSSOM specification:
In particular, the parameters should be mandatory and of type double.
The parameters are mandatory in both Firefox and Chrome already. Parameters
are finite floating point in Firefox and integers in Chrome.
Test: fast/dom/elementFromPoint-parameters.html
- dom/DocumentOrShadowRoot.idl:
- dom/TreeScope.cpp:
(WebCore::TreeScope::elementFromPoint):
- dom/TreeScope.h:
LayoutTests:
Add layout test coverage.
- fast/dom/elementFromPoint-parameters-expected.txt: Added.
- fast/dom/elementFromPoint-parameters.html: Added.
- fast/dom/non-numeric-values-numeric-parameters-expected.txt:
- fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
- 5:09 AM Changeset in webkit [213835] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebKit2
Merge r213638 - Correctly process the return value of gdk_drag_context_get_selected_action()
Reviewed by Carlos Garcia Campos.
It returns the action itself and not the bitmask.
- UIProcess/gtk/DragAndDropHandler.cpp:
(WebKit::DragAndDropHandler::drop):
- 5:06 AM Changeset in webkit [213834] by
-
- 12 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r213606 - Parameter to input.setCustomValidity() should not be nullable
https://bugs.webkit.org/show_bug.cgi?id=169332
Reviewed by Sam Weinig.
Source/WebCore:
Parameter to input.setCustomValidity() should not be nullable:
Firefox and Chrome agree with the specification so the change
should be safe.
Test: fast/forms/setCustomValidity-null-parameter.html
- html/HTMLButtonElement.idl:
- html/HTMLFieldSetElement.idl:
- html/HTMLInputElement.idl:
- html/HTMLKeygenElement.idl:
- html/HTMLObjectElement.idl:
- html/HTMLOutputElement.idl:
- html/HTMLSelectElement.idl:
- html/HTMLTextAreaElement.idl:
LayoutTests:
- fast/forms/ValidityState-customError-expected.txt:
- fast/forms/ValidityState-customError.html:
Rebaseline now that behavior has changed when passing null or undefined
to setCustomValidity().
- fast/forms/setCustomValidity-null-parameter-expected.txt: Added.
- fast/forms/setCustomValidity-null-parameter.html: Added.
Add layout test coverage.
- 5:01 AM Changeset in webkit [213833] by
-
- 8 edits in trunk/Source/WebCore
ImageDecoder can be deleted while the async decoder thread is still using it
https://bugs.webkit.org/show_bug.cgi?id=169199
Reviewed by Carlos Garcia Campos.
Make the image decoder used by ImageSource and ImageFrameCache into a RefPtr instead of
and unique_ptr, and pass a reference to the decoder thread. This ensures that the decoder
will stay alive as long as the decoding thread is processing frames. Also, stop the async
decoding queue if a new decoder is set to ImageFrameCache.
No new tests.
- platform/graphics/ImageFrameCache.cpp:
(WebCore::ImageFrameCache::setDecoder):
(WebCore::ImageFrameCache::decoder):
(WebCore::ImageFrameCache::startAsyncDecodingQueue):
(WebCore::ImageFrameCache::metadata):
- platform/graphics/ImageFrameCache.h:
(WebCore::ImageFrameCache::setDecoder): Deleted.
Moved to source file so we can keep the ImageDecoder forward declaration.
(WebCore::ImageFrameCache::decoder): Deleted.
Moved to source file so we can keep the ImageDecoder forward declaration.
- platform/graphics/ImageSource.h:
- platform/graphics/cg/ImageDecoderCG.h:
(WebCore::ImageDecoder::create):
- platform/graphics/win/ImageDecoderDirect2D.h:
(WebCore::ImageDecoder::create):
- platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::create):
- platform/image-decoders/ImageDecoder.h:
- 4:45 AM Changeset in webkit [213832] by
-
- 9 edits12 deletes in releases/WebKitGTK/webkit-2.16
Merge r213593 - CSS Multicolumn should not clip columns horizontally
https://bugs.webkit.org/show_bug.cgi?id=169363
Reviewed by Sam Weinig.
Source/WebCore:
Revised multiple tests in fast/multicol.
- rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
Stop clipping horizontally. Section 8.1 of the spec changed from "clip" to "don't clip",
so we're changing to match the latest draft. Keep iBooks-based pagination clipping though.
LayoutTests:
- fast/multicol/newmulticol/adjacent-spanners-expected.html:
- fast/multicol/newmulticol/adjacent-spanners.html:
- fast/multicol/newmulticol/clipping-expected.html:
- fast/multicol/newmulticol/clipping.html:
- fast/multicol/newmulticol/spanner-inline-block-expected.html:
- fast/multicol/newmulticol/spanner-inline-block.html:
- 4:44 AM Changeset in webkit [213831] by
-
- 100 edits in trunk
Unprefix -webkit-min-content, -webkit-max-content and -webkit-fit-content
https://bugs.webkit.org/show_bug.cgi?id=169195
Reviewed by Sergio Villar Senin.
Based on Blink r200846 by <cbiesinger@chromium.org>.
https://src.chromium.org/viewvc/blink?revision=200846&view=revision
Source/WebCore:
This patch adds support for the unprefixed version of these properties,
while it keeps the prefixed ones working too.
-webkit-fill-available is left out of this change, as the CSS WG
is still defining the final keyword and behavior.
With this patch WebKit will be in the same situation than Blink
regarding these intrinsic sizing keywords (see http://crbug.com/245157).
Test: fast/css-intrinsic-dimensions/height-property-value.html
fast/css-intrinsic-dimensions/width-property-value.html
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::init):
- css/CSSValueKeywords.in:
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertLengthSizing):
(WebCore::StyleBuilderConverter::createGridTrackBreadth):
- css/html.css:
(fieldset):
- css/parser/CSSPropertyParser.cpp:
(WebCore::validWidthOrHeightKeyword):
(WebCore::isGridTrackFixedSized):
(WebCore::consumeGridBreadth):
- html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
- html/track/VTTCue.cpp:
(WebCore::VTTCueBox::applyCSSProperties):
LayoutTests:
For most of the tests the only change is that we remove the prefix in these properties.
Additionally we're checking the behavior of both the prefixed and unprefixed versions in:
- fast/css-intrinsic-dimensions/height-property-value.html
- fast/css-intrinsic-dimensions/width-property-value.html
On top of that, a few tests from the CSS Grid Layout W3C test suite are now passing.
- TestExpectations:
- css3/flexbox/flexitem.html:
- css3/flexbox/orthogonal-writing-modes-and-intrinsic-sizing-expected.txt: Update results
as tests is now passing (it was using "min-content" already and thus failing on WebKit).
- css3/flexbox/overflow-auto-resizes-correctly.html:
- fast/css-grid-layout/fit-content-columns-expected.html:
- fast/css-grid-layout/fit-content-columns.html:
- fast/css-grid-layout/fit-content-rows-expected.html:
- fast/css-grid-layout/fit-content-rows.html:
- fast/css-grid-layout/flex-and-content-sized-resolution-columns.html:
- fast/css-grid-layout/flex-and-minmax-content-resolution-columns.html:
- fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html:
- fast/css-grid-layout/float-not-protruding-into-next-grid-item.html:
- fast/css-grid-layout/grid-auto-columns-rows-auto-flow-resolution.html:
- fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
- fast/css-grid-layout/grid-auto-columns-rows-resolution.html:
- fast/css-grid-layout/grid-auto-columns-rows-update.html:
- fast/css-grid-layout/grid-auto-fill-columns.html:
- fast/css-grid-layout/grid-auto-fill-rows.html:
- fast/css-grid-layout/grid-auto-fit-columns.html:
- fast/css-grid-layout/grid-auto-fit-rows.html:
- fast/css-grid-layout/grid-auto-repeat-intrinsic.html:
- fast/css-grid-layout/grid-automatic-minimum-for-auto-columns.html:
- fast/css-grid-layout/grid-automatic-minimum-for-auto-rows.html:
- fast/css-grid-layout/grid-change-intrinsic-size-with-auto-repeat-tracks.html:
- fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
- fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
- fast/css-grid-layout/grid-columns-rows-get-set.html:
- fast/css-grid-layout/grid-content-alignment-overflow.html:
- fast/css-grid-layout/grid-content-alignment-stretch-only-valid-for-auto-sized-tracks.html:
- fast/css-grid-layout/grid-content-sized-columns-resolution.html:
- fast/css-grid-layout/grid-dynamic-updates-relayout.html:
- fast/css-grid-layout/grid-element-auto-repeat-get-set-expected.txt:
- fast/css-grid-layout/grid-element-auto-repeat-get-set.html:
- fast/css-grid-layout/grid-element-repeat-get-set.html:
- fast/css-grid-layout/grid-grow-tracks-to-their-max.html:
- fast/css-grid-layout/grid-gutters-and-flex-content.html:
- fast/css-grid-layout/grid-gutters-and-tracks.html:
- fast/css-grid-layout/grid-gutters-get-set.html:
- fast/css-grid-layout/grid-indefinite-calculated-height-crash-expected.txt:
- fast/css-grid-layout/grid-indefinite-calculated-height-crash.html:
- fast/css-grid-layout/grid-initialize-span-one-items.html:
- fast/css-grid-layout/grid-intrinsic-maximums.html:
- fast/css-grid-layout/grid-item-addition-track-breadth-update.html:
- fast/css-grid-layout/grid-item-auto-margins-must-respect-specified-margins.html:
- fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution.html:
- fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
- fast/css-grid-layout/grid-item-sizing-with-orthogonal-flows.html:
- fast/css-grid-layout/grid-item-spanning-and-orthogonal-flows.html:
- fast/css-grid-layout/grid-item-with-border-in-intrinsic.html:
- fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-resolution.html:
- fast/css-grid-layout/grid-preferred-logical-widths.html:
- fast/css-grid-layout/grid-template-shorthand-get-set.html:
- fast/css-grid-layout/grid-update-sizes-after-distributing-all.html:
- fast/css-grid-layout/implicit-position-dynamic-change.html:
- fast/css-grid-layout/mark-as-infinitely-growable.html:
- fast/css-grid-layout/min-content-row-must-shrink-when-column-grows.html:
- fast/css-grid-layout/minmax-max-content-resolution-columns.html:
- fast/css-grid-layout/minmax-max-content-resolution-rows.html:
- fast/css-grid-layout/minmax-min-content-column-resolution-columns.html:
- fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
- fast/css-grid-layout/minmax-spanning-resolution-columns.html:
- fast/css-grid-layout/minmax-spanning-resolution-rows.html:
- fast/css-grid-layout/named-grid-line-get-set-expected.txt:
- fast/css-grid-layout/named-grid-line-get-set.html:
- fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.txt:
- fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html:
- fast/css-grid-layout/non-grid-columns-rows-get-set.html:
- fast/css-grid-layout/non-named-grid-line-get-set-expected.txt:
- fast/css-grid-layout/non-named-grid-line-get-set.html:
- fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
- fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
- fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.js:
- fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:
- fast/css-intrinsic-dimensions/css-tables.html:
- fast/css-intrinsic-dimensions/height-property-value-expected.txt:
- fast/css-intrinsic-dimensions/height-property-value.html:
- fast/css-intrinsic-dimensions/intrinsic-sized-absolutes.html:
- fast/css-intrinsic-dimensions/intrinsic-sized-blocks.html:
- fast/css-intrinsic-dimensions/intrinsic-sized-replaced-absolutes.html:
- fast/css-intrinsic-dimensions/tables.html:
- fast/css-intrinsic-dimensions/width-property-value-expected.txt:
- fast/css-intrinsic-dimensions/width-property-value.html:
- fast/events/key-events-in-editable-gridbox.html:
- fast/regions/intrinsic-sized-regions.html:
- fast/regions/overflow/overflow-scrollable-fit-complex-expected.html:
- fast/replaced/before-content-intrinsic-crash.html:
- fast/table/assert-on-min-max-content-values.html:
- imported/blink/svg/css/replaced-intrinsic-ratio-min-width-min-content.html:
- 4:44 AM Changeset in webkit [213830] by
-
- 17 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213563 - Asynchronous image decoding should consider the drawing size if it is smaller than the size of the image
https://bugs.webkit.org/show_bug.cgi?id=168814
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-03-07
Reviewed by Simon Fraser.
If the image destinationRect.size() is smaller than the imageSourceSize
(e.g. 3000x3000 pixels), CGImageSourceCreateThumbnailAtIndex() is slower
than CGImageSourceCreateImageAtIndex() in decoding this image. To overcome
this problem, the entry (kCGImageSourceThumbnailMaxPixelSize,
max(destinationRect.width, destinationRect.height)) is added to the options
dictionary when calling CGImageSourceCreateThumbnailAtIndex(). This will
avoid copying a large block of memory for the unscaled bitmap image.
An argument named 'sizeForDrawing' of type std::optional<IntSize> will be passed
all the way from BitmapImage to ImageDecoder. If bool(sizeForDrawing) equals
true that means we want async image decoding. Otherwise the image will be decoded
synchronously.
The subsamplingLevel argument will be passed as std::optional<SubsamplingLevel>.
to ImageFrame query functions. When combined with sizeForDrawing, the meaning of
these two arguments will be the following:
-- !bool(subsamplingLevel): No caching is required. return what is stored in ImageFrameCache.
-- bool(subsamplingLevel) && !bool(sizeForDrawing): Match subsamplingLevel only. Recache if it's different.
-- bool(subsamplingLevel) && bool(sizeForDrawing): Match both both. . Recache if one of them is different.
We are going to allow decoding the same ImageFrame for different sizeForDrawings.
The rule is a new decoding is allowed only if the maxPixelSize(sizeForDrawing) of
the last requested image decoding is less than the new request sizeForDrawing.
- loader/cache/CachedImage.h: Add a helper function which returns the URL of a CachedImage.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::frameImageAtIndex): Add a new argument for sizeForDrawing.
(WebCore::BitmapImage::nativeImage): Pass an empty sizeForDrawing to frameImageAtIndex(). We an image with the native size.
(WebCore::BitmapImage::nativeImageForCurrentFrame): Ditto.
(WebCore::BitmapImage::nativeImageOfSize): Ditto.
(WebCore::BitmapImage::draw): Pass the destRect.size() to internalStartAnimation().
(WebCore::BitmapImage::isAsyncDecodingRequired): A helper function to answer the question
whether the async image decoding is required. It takes into account the animated images, the
large image, and the image size.
(WebCore::BitmapImage::internalStartAnimation): If async image decoding is requested for this frame m_sizeForDraw
will be set. If internalStartAnimation() is called from startAnimation(), sizeForDraw will be empty. In this
case no async image decoding will be requested. This happens only when startAnimation() is called from outside
BitmapImage::draw().
(WebCore::BitmapImage::advanceAnimation): Change the log message.
(WebCore::BitmapImage::newFrameNativeImageAvailableAtIndex): Ditto.
- platform/graphics/BitmapImage.h:
- platform/graphics/ImageFrame.cpp:
(WebCore::ImageFrame::operator=): Include m_sizeForDraw in the properties of ImageFrame.
(WebCore::maxPixelSize): Returns the maximum of the width() and the height of an IntSize.
(WebCore::ImageFrame::isBeingDecoded): Returns true if the ImageFrame is currently being decoded for a specific sizeForDrawing.
(WebCore::ImageFrame::hasValidNativeImage): Ditto.
- platform/graphics/ImageFrame.h:
(WebCore::ImageFrame::enqueueSizeForDecoding): Adds a new sizeForDrawing; this sets the ImageFrame is being decoded for this sizeForDrawing.
(WebCore::ImageFrame::dequeueSizeForDecoding): Removes the first sizeForDrawing was enqueued; this marks this ImageFrame has finished decoding for this sizeForDrawing.
(WebCore::ImageFrame::clearSizeForDecoding): Clears the sizeForDecoding queue. Marks the ImageFrame for not being decoded.
(WebCore::ImageFrame::isEmpty): Replace Decoding::Empty by Decoding::None.
(WebCore::ImageFrame::sizeForDrawing): Returns the ImageFrame sizeForDraw.
(WebCore::ImageFrame::hasDecodedNativeImage): Returns true if the ImageFrame doesn't need decoding before drawing.
(WebCore::ImageFrame::hasValidNativeImage): Deleted. Moved to the source file.
- platform/graphics/ImageFrameCache.cpp:
(WebCore::ImageFrameCache::setFrameNativeImageAtIndex): Take a new argument for sizeForDraw.
(WebCore::ImageFrameCache::setFrameMetadataAtIndex): When sizeForDraw is set, use the decoder to get the image
frame size. Otherwise, get the size of the nativeImage.
(WebCore::ImageFrameCache::replaceFrameNativeImageAtIndex): Take a new argument for sizeForDraw.
(WebCore::ImageFrameCache::cacheFrameNativeImageAtIndex): Ditto.
(WebCore::ImageFrameCache::startAsyncDecodingQueue): Pass the sizeForDraw as a new property of the ImageFrame.
(WebCore::ImageFrameCache::requestFrameAsyncDecodingAtIndex): Store sizeForDraw in ImageFrameRequest. Delete unneeded check.
This function always receives a valid subsamplingLevel.
(WebCore::ImageFrameCache::stopAsyncDecodingQueue): Marks all the queued ImageFrames for not being decoded.
(WebCore::ImageFrameCache::frameAtIndexCacheIfNeeded): Take a new argument for sizeForDraw. If this function fixes the
properties of ImageFrame properties, keep the old sizeForDraw and/or subsamplingLevel. If a new frame is
decoded, no async image decoding will be done in this code path. So pass an empty std::optional<IntSize> to
ImageDecoder::createFrameImageAtIndex() and store std::optional<IntSize> in ImageFrame.
(WebCore::ImageFrameCache::frameMetadataAtIndex): A new helper function which takes a variable number of arguments which
will be passed to the (ImageFrame::*functor).
(WebCore::ImageFrameCache::frameMetadataAtIndexCacheIfNeeded): Make this function takes a variable number of arguments which
will be passed to the frameAtIndexCacheIfNeeded().
(WebCore::ImageFrameCache::size): Pass an Metadata, valid SubsamplingLevel and empty sizeForDraw to frameMetadataAtIndexCacheIfNeeded().
(WebCore::ImageFrameCache::sizeRespectingOrientation): Ditto.
(WebCore::ImageFrameCache::singlePixelSolidColor): Pass MetadataAndImage, empty SubsamplingLevel and empty sizeForDraw to
frameMetadataAtIndexCacheIfNeeded(); we can use the current frame image regardless of its size.
(WebCore::ImageFrameCache::frameIsBeingDecodedAtIndex): Pass the ImageFrame method as a function argument instead of
passing it as a template argument.
(WebCore::ImageFrameCache::frameIsCompleteAtIndex): Ditto.
(WebCore::ImageFrameCache::frameHasAlphaAtIndex): Ditto.
(WebCore::ImageFrameCache::frameHasImageAtIndex): Ditto.
(WebCore::ImageFrameCache::frameHasValidNativeImageAtIndex): Pass subsamplingLevel and sizeForDrawing to frameMetadataAtIndex().
(WebCore::ImageFrameCache::frameHasDecodedNativeImage): New helper function to answer the question whether an ImageFrame will need
decoding when drawing or not.
(WebCore::ImageFrameCache::frameSubsamplingLevelAtIndex): Pass the ImageFrame method as a function argument instead of
passing it as a template argument.
(WebCore::ImageFrameCache::frameSizeAtIndex): Ditto.
(WebCore::ImageFrameCache::frameBytesAtIndex): Ditto.
(WebCore::ImageFrameCache::frameDurationAtIndex): Ditto.
(WebCore::ImageFrameCache::frameOrientationAtIndex):
(WebCore::ImageFrameCache::frameImageAtIndex): Ditto.
(WebCore::ImageFrameCache::frameAtIndex): Deleted. Renamed to frameAtIndexCacheIfNeeded().
- platform/graphics/ImageFrameCache.h:
(WebCore::ImageFrameCache::frameAtIndexCacheIfNeeded):
- platform/graphics/ImageObserver.h: Define a virtual function for image sourceUrl().
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::frameImageAtIndex): Take a new argument for sizeForDrawing.
- platform/graphics/ImageSource.h:
(WebCore::ImageSource::requestFrameAsyncDecodingAtIndex): Take a new argument for sizeForDrawing.
(WebCore::ImageSource::frameHasValidNativeImageAtIndex): Ditto.
(WebCore::ImageSource::frameHasDecodedNativeImage): New helper function.
(WebCore::ImageSource::frameImageAtIndex): Ditto.
- platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::createImageSourceOptions): Create a dictionary with the basic image decoding options.
(WebCore::createImageSourceAsyncOptions): Create a dictionary with the basic asynchronous image decoding options.
(WebCore::appendImageSourceOption): Append the SubsamplingLevel or the MaxPixelSize option to an CGImageSource options dictionary.
(WebCore::appendImageSourceOptions): Append the SubsamplingLevel and the MaxPixelSize option to an CGImageSource options dictionary.
(WebCore::imageSourceOptions): Creates a dictionary for the synchronous image decoding options.
(WebCore::imageSourceAsyncOptions): Creates a dictionary for the asynchronous image decoding options.
(WebCore::ImageDecoder::createFrameImageAtIndex): Replace the DecodingMode argument by an std::optional<IntSize>.
- platform/graphics/cg/ImageDecoderCG.h: Change a prototype.
- platform/graphics/win/ImageDecoderDirect2D.cpp:
(WebCore::ImageDecoder::createFrameImageAtIndex): Replace the DecodingMode argument by an std::optional<IntSize>.
- platform/graphics/win/ImageDecoderDirect2D.h: Change a prototype.
- platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::createFrameImageAtIndex): Replace the DecodingMode argument by an std::optional<IntSize>.
- platform/image-decoders/ImageDecoder.h: Change a prototype.
- 4:40 AM Changeset in webkit [213829] by
-
- 8 edits in releases/WebKitGTK/webkit-2.16
Merge r213546 - [URLParser] Fix file URLs that are just file:// and a Windows drive letter
https://bugs.webkit.org/show_bug.cgi?id=169242
Patch by Alex Christensen <achristensen@webkit.org> on 2017-03-07
Reviewed by Tim Horton.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
This is specified in https://url.spec.whatwg.org/#file-host-state and tested by a newly-passing
web platform test. I added the check for the windows drive quirk in the FileHost state of the
parser but I forgot it when FileHost is the terminal state.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 4:39 AM Changeset in webkit [213828] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r213534 - Simple line layout: Do not use invalid m_lastNonWhitespaceFragment while removing trailing whitespace.
https://bugs.webkit.org/show_bug.cgi?id=169288
rdar://problem/30576976
Reviewed by Antti Koivisto.
Source/WebCore:
When the current line has nothing but whitespace, m_lastNonWhitespaceFragment is invalid so
we should not use the start/end values to decide how many characters we need to revert.
This patch makes m_lastNonWhitespaceFragment optional. When it's invalid we just remove
all the runs from the current line since they are all considered whitespace runs.
Test: fast/text/simple-line-layout-line-is-all-whitespace.html
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::revertAllRunsOnCurrentLine):
(WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace):
LayoutTests:
- fast/text/simple-line-layout-line-is-all-whitespace-expected.txt: Added.
- fast/text/simple-line-layout-line-is-all-whitespace.html: Added.
- 4:38 AM Changeset in webkit [213827] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213522 - ShadowBlur::calculateLayerBoundingRect doesn't need to return the enclosingIntRect of layerRect
https://bugs.webkit.org/show_bug.cgi?id=168650
Patch by Fujii Hironori <Fujii Hironori> on 2017-03-07
Reviewed by Simon Fraser.
No new tests, no behavior change.
- platform/graphics/ShadowBlur.h: Change the type of return value
from IntRect to IntSize.
- platform/graphics/ShadowBlur.cpp:
(WebCore::ShadowBlur::calculateLayerBoundingRect): Ditto.
(WebCore::ShadowBlur::drawRectShadow): Rename a variable layerRect layerSize.
(WebCore::ShadowBlur::drawInsetShadow): Ditto.
(WebCore::ShadowBlur::drawRectShadowWithoutTiling): Ditto.
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling): Ditto.
(WebCore::ShadowBlur::beginShadowLayer): Ditto.
- 4:38 AM Changeset in webkit [213826] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213523 - Animated GIFs fail to play in multi-column layout
https://bugs.webkit.org/show_bug.cgi?id=167901
<rdar://problem/30382262>
Reviewed by Zalan Bujtas.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint):
Make sure to handle the case where we pass in a null repaintContainer and need
to cross a multicolumn flow thread -> region boundary as a result.
- 4:34 AM Changeset in webkit [213825] by
-
- 20 edits1 copy2 adds2 deletes in releases/WebKitGTK/webkit-2.16
Merge r213517 - Align initEvent / initCustomEvent / initMessageEvent with the latest specification
https://bugs.webkit.org/show_bug.cgi?id=169176
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Re-sync web-platform tests from upstream after:
- https://github.com/w3c/web-platform-tests/pull/5043
- https://github.com/w3c/web-platform-tests/pull/5044
- web-platform-tests/dom/events/CustomEvent-expected.txt:
- web-platform-tests/dom/events/CustomEvent.html:
- web-platform-tests/dom/events/Event-initEvent-expected.txt:
- web-platform-tests/dom/events/Event-initEvent.html:
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/dom/interfaces.html:
- web-platform-tests/html/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces.html:
- web-platform-tests/html/dom/resources/interfaces.idl: Copied from LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces.html.
- web-platform-tests/html/dom/resources/untested-interfaces.idl: Added.
- web-platform-tests/html/webappapis/scripting/events/messageevent-constructor-expected.txt: Removed.
- web-platform-tests/html/webappapis/scripting/events/messageevent-constructor.html: Removed.
- web-platform-tests/html/webappapis/scripting/events/messageevent-constructor.https-expected.txt:
- web-platform-tests/html/webappapis/scripting/events/messageevent-constructor.https.html:
Source/WebCore:
Align initEvent / initCustomEvent / initMessageEvent with the latest specification
after:
In particular, the following changes were made:
- initEvent: The length property now properly returns 1 instead of 3 as only the first parameter is mandatory. We were already behaving correcting the the length property value was wrong because we forgot to drop a hack from the bindings generator.
- initCustomEvent: Make all parameters except the first optional. Previously, all parameters were mandatory so this is safe.
- initMessageEvent: Drop the custom code and mark the first parameter as mandatory. A side effect of dropping the custom code is that null is no longer considered as valid input for the last parameter. The parameter is of type sequence<> and the new behavior is consistent with the specification and Firefox. If it turns out to break existing content, I'll make the parameter nullable in a follow-up.
No new tests, updated existing tests.
- bindings/js/JSMessageEventCustom.cpp:
- bindings/scripts/CodeGeneratorJS.pm:
(GeneratePropertiesHashTable):
- dom/CustomEvent.idl:
- dom/MessageEvent.idl:
LayoutTests:
Updated existing tests to reflect behavior change.
- fast/events/init-events-expected.txt:
- fast/events/script-tests/init-events.js:
- fast/eventsource/eventsource-attribute-listeners.html:
- 4:16 AM Changeset in webkit [213824] by
-
- 17 edits in trunk/Source
[WK2] Only report background WebProcesses as unresponsive in the background after 90 seconds
https://bugs.webkit.org/show_bug.cgi?id=169425
<rdar://problem/30954003>
Reviewed by Andreas Kling.
Source/WebKit2:
The background responsiveness checking was previously relying on the
isResponsive(std::function<void(bool)>) API which uses the ResponsivenessTimer
and has a timeout of 3 seconds. We believe this is too aggressive for background
tabs. Update BackgroundResponsiveTimer to stop relying on ResponsivenessTimer
and have its own timeout Timer which a delay of 90 seconds instead.
- UIProcess/API/C/mac/WKPagePrivateMac.mm:
(-[WKObservablePageState _webProcessIsResponsive]):
- UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController _webProcessIsResponsive]):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _webProcessIsResponsive]):
- UIProcess/BackgroundProcessResponsivenessTimer.cpp:
(WebKit::BackgroundProcessResponsivenessTimer::BackgroundProcessResponsivenessTimer):
(WebKit::BackgroundProcessResponsivenessTimer::~BackgroundProcessResponsivenessTimer):
(WebKit::BackgroundProcessResponsivenessTimer::updateState):
(WebKit::BackgroundProcessResponsivenessTimer::didReceiveBackgroundResponsivenessPong):
(WebKit::BackgroundProcessResponsivenessTimer::invalidate):
(WebKit::BackgroundProcessResponsivenessTimer::processTerminated):
(WebKit::BackgroundProcessResponsivenessTimer::responsivenessCheckTimerFired):
(WebKit::BackgroundProcessResponsivenessTimer::timeoutTimerFired):
(WebKit::BackgroundProcessResponsivenessTimer::setResponsive):
(WebKit::BackgroundProcessResponsivenessTimer::shouldBeActive):
(WebKit::BackgroundProcessResponsivenessTimer::scheduleNextResponsivenessCheck):
(WebKit::BackgroundProcessResponsivenessTimer::client):
- UIProcess/BackgroundProcessResponsivenessTimer.h:
(WebKit::BackgroundProcessResponsivenessTimer::isResponsive):
- UIProcess/ResponsivenessTimer.h:
(WebKit::ResponsivenessTimer::isResponsive):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::updateBackingStoreDiscardableState):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::isResponsive):
(WebKit::WebProcessProxy::didReceiveBackgroundResponsivenessPing):
(WebKit::WebProcessProxy::processTerminated):
(WebKit::WebProcessProxy::updateBackgroundResponsivenessTimer):
- UIProcess/WebProcessProxy.h:
- UIProcess/WebProcessProxy.messages.in:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::backgroundResponsivenessPing):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
Source/WTF:
- wtf/RunLoop.h:
(WTF::RunLoop::TimerBase::startRepeating):
(WTF::RunLoop::TimerBase::startOneShot):
Add overloads to RunLoop::Timer that take Seconds in parameter,
for convenience.
- wtf/Seconds.h:
(WTF::Seconds::fromHours):
(WTF::seconds_literals::operator _h):
Allow _h suffix for initializing Seconds type to hours.
- 4:12 AM Changeset in webkit [213823] by
-
- 3 edits in trunk/Source/WebKit/win
Unreviewed Win build fix.
WebCore::CookiesStrategy::addCookie has been removed, we should also remove the override.
- WebCoreSupport/WebPlatformStrategies.cpp:
(WebPlatformStrategies::addCookie): Deleted.
(WebPlatformStrategies::addCookie): Deleted.
- WebCoreSupport/WebPlatformStrategies.h:
- 4:07 AM Changeset in webkit [213822] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r213501 - Validate DOM after potentially destructive actions during parser insert operations
https://bugs.webkit.org/show_bug.cgi?id=169222
<rdar://problem/30689729>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Do not perform an insert operation if the next child's parent is no longer
part of the tree. This can happen if JavaScript runs during node removal
events and modifies the contents of the document.
This patch was inspired by a similar Blink change by Marius Mlynski:
<https://src.chromium.org/viewvc/blink?view=revision&revision=200690>
Tests: fast/parser/scriptexec-during-parserInsertBefore.html
- html/parser/HTMLConstructionSite.cpp:
(WebCore::executeReparentTask):
(WebCore::executeInsertAlreadyParsedChildTask):
LayoutTests:
This change merges a Blink test case from:
<https://src.chromium.org/viewvc/blink?view=revision&revision=200690>
- fast/parser/scriptexec-during-parserInsertBefore-expected.txt: Added.
- fast/parser/scriptexec-during-parserInsertBefore.html: Added.
- 4:04 AM Changeset in webkit [213821] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213493 - [CMake] SN-DBS fails to build: Cannot open include file: 'WebCoreTestSupportPrefix.h'
https://bugs.webkit.org/show_bug.cgi?id=169244
Patch by Fujii Hironori <Fujii Hironori> on 2017-03-06
Reviewed by Alex Christensen.
A distributed build system SN-DBS can not find
WebCoreTestSupportPrefix.h without an include path to it.
- CMakeLists.txt: Add 'WebCore/testing/js' to include paths.
- 4:02 AM Changeset in webkit [213820] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213491 - [cairo] error C2065: 'quality': undeclared identifier since r213412
https://bugs.webkit.org/show_bug.cgi?id=169240
Patch by Fujii Hironori <Fujii Hironori> on 2017-03-06
Reviewed by Ryosuke Niwa.
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::toDataURL): Name the unnamed second argument 'quality'.
- 4:01 AM Changeset in webkit [213819] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Tools
Merge r213485 - [GTK] Mark WTF_Lock.ContendedLongSection and WTF_WordLock.ContendedLongSection as slow.
Unreviewed test gardening.
The ContendedShortSection version of this tests were already marked as slow.
And the ContendedLongSection version takes more or less the same time to run.
They cause time outs on the bot sometimes.
- Scripts/run-gtk-tests:
(TestRunner):
- 3:58 AM Changeset in webkit [213818] by
-
- 11 edits in releases/WebKitGTK/webkit-2.16
Merge r213469 - Fix URLs relative to file URLs with paths beginning with Windows drive letters
https://bugs.webkit.org/show_bug.cgi?id=169178
Reviewed by Tim Horton.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
Windows drives in file URLs can begin with windows drive letters, such as file:///C:/
which should not be removed when making other URLs relative to them.
See https://url.spec.whatwg.org/#file-slash-state
Covered by new API tests and newly passing web-platform-tests.
- platform/URLParser.cpp:
(WebCore::URLParser::copyBaseWindowsDriveLetter):
(WebCore::URLParser::copyASCIIStringUntil):
(WebCore::URLParser::parse):
- platform/URLParser.h:
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
LayoutTests:
- fast/url/relative-win-expected.txt:
Some tests pass now. localhost should indeed be removed according to the latest spec.
- 3:48 AM Changeset in webkit [213817] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r213452 - Null pointer crash when loading module with unresolved import also as a script file
https://bugs.webkit.org/show_bug.cgi?id=168971
Reviewed by Saam Barati.
JSTests:
- stress/re-execute-error-module.js: Added.
(shouldBe):
(async):
- stress/resources/error-module.js: Added.
Source/JavaScriptCore:
If linking throws an error, this error should be re-thrown
when requesting the same module.
- builtins/ModuleLoaderPrototype.js:
(globalPrivate.newRegistryEntry):
- runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::link):
- 3:45 AM Changeset in webkit [213816] by
-
- 6 edits in releases/WebKitGTK/webkit-2.16
Merge r213449 - [css-grid] Stretch should grow and shrink items to fit its grid area
https://bugs.webkit.org/show_bug.cgi?id=163200
Reviewed by Darin Adler.
Source/WebCore:
After some discussions the CSS WG agreed that stretch should not only
grow items, but also shrink them to fit its grid area.
That way the "min-width|height: auto" is somehow ignored for grid items.
More info at: https://github.com/w3c/csswg-drafts/issues/283
The good part is that this allows us to remove some ugly code we've
in RenderBox that was only used by Grid Layout.
For images, we'll be stretching on both axis right now, so the aspect
ratio won't be preserved. The default behavior might change in those
cases, but that should be implemented in a different patch.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::computeLogicalHeight):
LayoutTests:
The tests have been updated according to the new expected behavior.
- fast/css-grid-layout/grid-container-percentage-columns.html:
- fast/css-grid-layout/min-width-height-auto-and-margins.html:
- fast/css-grid-layout/min-width-height-auto.html:
- 3:43 AM Changeset in webkit [213815] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213448 - [GTK] WebProcess from WebKitGtk+ 2.15.x SIGSEVs in GIFLZWContext::doLZW(unsigned char const*, unsigned long) at Source/WebCore/platform/image-decoders/gif/GIFImageReader.cpp:303
https://bugs.webkit.org/show_bug.cgi?id=167304
Reviewed by Carlos Garcia Campos.
Add a lock to ensure that the GIFImageReader that we are using for decoding is not deleted while
the decoding thread is using it.
No new tests.
- platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::clearFrameBufferCache):
- 3:42 AM Changeset in webkit [213814] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r213447 - Currency digits calculation in Intl.NumberFormat should call out to ICU
https://bugs.webkit.org/show_bug.cgi?id=169182
Patch by Daniel Ehrenberg <littledan@igalia.com> on 2017-03-06
Reviewed by Yusuke Suzuki.
- runtime/IntlNumberFormat.cpp:
(JSC::computeCurrencyDigits):
(JSC::computeCurrencySortKey): Deleted.
(JSC::extractCurrencySortKey): Deleted.
- 3:41 AM Changeset in webkit [213813] by
-
- 18 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213445 - [GStreamer] Adopt nullptr
https://bugs.webkit.org/show_bug.cgi?id=123438
Patch by Vanessa Chipirrás Navalón <vchipirras@igalia.com> on 2017-03-06
Reviewed by Xabier Rodriguez-Calvar.
To adapt the code to the C++11 standard, all NULL or 0 pointers have been changed to nullptr.
- platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
- platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::handleNewDeinterleavePad):
(WebCore::AudioFileReader::plugDeinterleave):
(WebCore::AudioFileReader::decodeAudioForBusCreation):
- platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
(WebCore::AudioSourceProviderGStreamer::AudioSourceProviderGStreamer):
(WebCore::AudioSourceProviderGStreamer::configureAudioBin):
(WebCore::AudioSourceProviderGStreamer::setClient):
(WebCore::AudioSourceProviderGStreamer::handleNewDeinterleavePad):
- platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webkit_web_audio_src_init):
(webKitWebAudioSrcLoop):
(webKitWebAudioSrcChangeState):
- platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
(WebCore::AudioTrackPrivateGStreamer::setEnabled):
- platform/graphics/gstreamer/GStreamerUtilities.cpp:
(WebCore::initializeGStreamer):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
(WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):
(WebCore::initializeGStreamerAndRegisterWebKitElements):
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::newTextSample):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContents):
Removed the unused second argument on processTableOfContentsEntry function.
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
Removed the unused second argument on this function.
(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
(WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
Removed the unused second argument on processTableOfContentsEntry function.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::setMuted):
(WebCore::MediaPlayerPrivateGStreamerBase::muted):
(WebCore::MediaPlayerPrivateGStreamerBase::notifyPlayerOfMute):
(WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
(WebCore::MediaPlayerPrivateGStreamerBase::decodedFrameCount):
(WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
(WebCore::MediaPlayerPrivateGStreamerOwr::registerMediaEngine):
- platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
(webkit_text_combiner_init):
(webkitTextCombinerPadEvent):
(webkitTextCombinerRequestNewPad):
(webkitTextCombinerNew):
- platform/graphics/gstreamer/TextSinkGStreamer.cpp:
(webkitTextSinkNew):
- platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::tagsChanged):
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged):
- platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkit_video_sink_init):
(webkitVideoSinkProposeAllocation):
(webkitVideoSinkNew):
- platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:
(WebCore::VideoTrackPrivateGStreamer::setSelected):
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webkit_web_src_init):
(webKitWebSrcDispose):
(webKitWebSrcSetProperty):
(webKitWebSrcStop):
(webKitWebSrcChangeState):
(webKitWebSrcQueryWithParent):
(webKitWebSrcGetProtocols):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(ResourceHandleStreamingClient::didFail):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):
- platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcGetProtocols):
- 3:40 AM Changeset in webkit [213812] by
-
- 9 edits in releases/WebKitGTK/webkit-2.16
Merge r213440 - Avoid backing store for layers with empty text nodes in a few more cases
https://bugs.webkit.org/show_bug.cgi?id=169185
Reviewed by Dan Bernstein.
Source/WebCore:
In hasPaintingNonLayerDescendants() we can check whether the RenderText's linesBoundingBox()
is empty to avoid backing store in a few more cases. Also use containsOnlyWhitespace() rather
than isAllCollapsibleWhitespace(), because there's no need for backing store for non-selectable
whitespace text.
Covered by existing tests.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
LayoutTests:
inline-block-no-backing.html enhanced to have a layer with non-collapsible whitespace (an ).
Rebaselined other tests.
- compositing/backing/inline-block-no-backing-expected.txt:
- compositing/backing/inline-block-no-backing.html:
- compositing/iframes/page-cache-layer-tree-expected.txt:
- css3/blending/blend-mode-clip-accelerated-blending-canvas-expected.txt:
- platform/ios-simulator-wk2/compositing/backing/inline-block-no-backing-expected.txt:
- platform/ios-simulator-wk2/compositing/iframes/page-cache-layer-tree-expected.txt:
- 3:38 AM Changeset in webkit [213811] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r213438 - Using <form> in <template> causes following <form> to get swallowed
https://bugs.webkit.org/show_bug.cgi?id=163552
Reviewed by Sam Weinig.
Source/WebCore:
As per the HTML specification [1], when finding a "form" tag in the "in body"
insertion mode, we should insert an HTML element for the token, and, if there
is no template element on the stack of open elements, set the form element
pointer to point to the element created.
We were missing the "if there is no template element on the stack of open
elements" check and setting the form element pointer unconditionally.
This patch fixes the issue.
[1] https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody:form-element-pointer-2
Test: fast/parser/form-after-template.html
- html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLFormElement):
LayoutTests:
Add layout test coverage.
- fast/parser/form-after-template-expected.html: Added.
- fast/parser/form-after-template.html: Added.
- 3:37 AM Changeset in webkit [213810] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213435 - Make some RenderLayer tree traversal in RenderLayerBacking more generic
https://bugs.webkit.org/show_bug.cgi?id=169177
Reviewed by Zalan Bujtas.
The real goal of this patch is reduce the number of callers of
RenderLayerBacking::isPaintDestinationForDescendantLayers() to one. To achieve that,
have the setContentsVisible() logic (which is really just about the CSS 'visibility' property)
do its own tree traversal which just consults layer.hasVisibleContent(). So
make descendantLayerPaintsIntoAncestor() a generic traversal function which walks
descendant layers which may paint into the target layer. The "Visible" in the name
reflects the fact that it can bypass a subtree for a layer with !hasVisibleDescendant().
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterDescendants):
(WebCore::traverseVisibleNonCompositedDescendantLayers):
(WebCore::RenderLayerBacking::isPaintDestinationForDescendantLayers):
(WebCore::RenderLayerBacking::hasVisibleNonCompositedDescendants):
(WebCore::descendantLayerPaintsIntoAncestor): Deleted.
- rendering/RenderLayerBacking.h:
- 3:36 AM Changeset in webkit [213809] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213429 - Clarify some terminology in RenderLayerBacking
https://bugs.webkit.org/show_bug.cgi?id=169174
Reviewed by Zalan Bujtas.
Rename some functions related to directly-composited background images and
box decorations for clarify.
Only behavior change is for canDirectlyCompositeBackgroundBackgroundImage() to check
GraphicsLayer::supportsContentsTiling(), which means that RenderLayerBacking::contentChanged()
will no longer trigger a updateGeometry() when it gets BackgroundImageChanged on non-
CoordinateGraphics platforms.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateAfterDescendants):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBoxDecorations):
(WebCore::canDirectlyCompositeBackgroundBackgroundImage):
(WebCore::hasPaintedBoxDecorationsOrBackgroundImage):
(WebCore::supportsDirectlyCompositedBoxDecorations):
(WebCore::RenderLayerBacking::paintsBoxDecorations):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
(WebCore::RenderLayerBacking::contentChanged):
(WebCore::RenderLayerBacking::updateDirectlyCompositedContents): Deleted.
(WebCore::canCreateTiledImage): Deleted.
(WebCore::hasVisibleBoxDecorationsOrBackgroundImage): Deleted.
(WebCore::supportsDirectBoxDecorationsComposition): Deleted.
- rendering/RenderLayerBacking.h:
- 3:34 AM Changeset in webkit [213808] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebKit2
Merge r213420 - Remove duplicate initialization guard in WebKit2 logging initialization
https://bugs.webkit.org/show_bug.cgi?id=169164
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-03-04
Reviewed by Dan Bernstein.
- Platform/Logging.cpp:
(WebKit::initializeLogChannelsIfNecessary):
- 3:32 AM Changeset in webkit [213807] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213405 - Clean up some RenderLayerBacking code
https://bugs.webkit.org/show_bug.cgi?id=169160
Reviewed by Dean Jackson.
Modern loops in descendantLayerPaintsIntoAncestor().
Rename RenderLayerBacking::paintsChildren() to RenderLayerBacking::paintsChildRenderers() to clarify that
it refers to renderers, not RenderLayers.
Rename RenderLayerBacking::paintsNonDirectCompositedBoxDecoration() to RenderLayerBacking::paintsBoxDecorations().
"Paints" already implies non-composited.
No behavior change.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateDrawsContent):
(WebCore::RenderLayerBacking::paintsBoxDecorations):
(WebCore::RenderLayerBacking::paintsChildRenderers):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
(WebCore::descendantLayerPaintsIntoAncestor):
(WebCore::RenderLayerBacking::paintsNonDirectCompositedBoxDecoration): Deleted.
(WebCore::RenderLayerBacking::paintsChildren): Deleted.
- rendering/RenderLayerBacking.h:
- 3:31 AM Changeset in webkit [213806] by
-
- 6 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213404 - Clean up RenderImage and a RenderImageResource function
https://bugs.webkit.org/show_bug.cgi?id=169153
Reviewed by Zalan Bujtas.
Change all calls to imageResource().cachedImage() in RenderImage to use the inline
cachedImage() function.
In RenderImage::paintReplaced(), early return after the broken image block (and no need
to test imageResource().hasImage() again in the second condition). Convert height/width to size,
which also forces us to be explicit about using flooredIntSize() when fetching the image
(perhaps this should be a roundedIntSize, but I didn't want to change behavior).
Change RenderImageResource::image() to take an IntSize, rather than int height and width.
No behavior change.
- rendering/RenderImage.cpp:
(WebCore::RenderImage::styleDidChange):
(WebCore::RenderImage::imageChanged):
(WebCore::RenderImage::notifyFinished):
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):
(WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect):
(WebCore::RenderImage::embeddedContentBox):
- rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::image):
- rendering/RenderImageResource.h:
(WebCore::RenderImageResource::image):
- rendering/RenderImageResourceStyleImage.cpp:
(WebCore::RenderImageResourceStyleImage::image):
- rendering/RenderImageResourceStyleImage.h:
- 3:28 AM Changeset in webkit [213805] by
-
- 8 edits in releases/WebKitGTK/webkit-2.16
Merge r213384 - [URLParser] Fix file: as a relative file URL
https://bugs.webkit.org/show_bug.cgi?id=169122
Reviewed by Tim Horton.
Source/WebCore:
This is clearly defined in https://url.spec.whatwg.org/#file-state with the EOF code point.
I got it wrong and didn't test it. It's been added to the web platform tests since we last updated.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
LayoutTests:
We don't need to skip url-setters.html any more. It used to assert before the new URLParser was enabled.
- fast/loader/url-parse-1-expected.txt:
- fast/url/file-expected.txt:
We used to add a strange and unnecessary :/ at the end of the URL.
- 3:19 AM Changeset in webkit [213804] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r213311 - We should prevent load of subframes inserted during FrameTree deconstruction
https://bugs.webkit.org/show_bug.cgi?id=169095
Reviewed by Brent Fulgham.
Source/WebCore:
When deconstructing the FrameTree, we fire the unload event in each subframe.
Such unload event handler may insert a new frame, we would previously load
such new frame which was unsafe as we would end up with an attached subframe
on a detached tree. To address the issue, we prevent new subframes from loading
while deconstructing the FrameTree and firing the unload events. This new
behavior is consistent with Chrome and should therefore be safe from a
compatibility standpoint.
Test: fast/frames/insert-frame-unload-handler.html
- dom/ContainerNodeAlgorithms.cpp:
(WebCore::disconnectSubframes):
Update SubframeLoadingDisabler call site now that the constructor takes in
a pointer instead of a reference.
- html/HTMLFrameOwnerElement.h:
(WebCore::SubframeLoadingDisabler::SubframeLoadingDisabler):
(WebCore::SubframeLoadingDisabler::~SubframeLoadingDisabler):
Update SubframeLoadingDisabler constructor to take in a pointer instead
of a reference, for convenience.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::detachChildren):
Prevent loads in subframes while detaching the subframes. It would be unsafe
as we copy the list of frames before iterating to fire the unload events.
Therefore, newly inserted frames would not get unloaded.
LayoutTests:
Add layout test coverage. Our behavior on this test is consistent with Chrome.
- fast/frames/insert-frame-unload-handler-expected.txt: Added.
- fast/frames/insert-frame-unload-handler.html: Added.
- 3:10 AM Changeset in webkit [213803] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore/platform/gtk/po
Merge r213288 - Unreviewed, restore inadvertently-removed non-breaking spaces in Polish translation
- pl.po:
- 3:10 AM Changeset in webkit [213802] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore/platform/gtk/po
Merge r213279 - [l10n] Updated Polish translation of WebKitGTK+ for 2.16
https://bugs.webkit.org/show_bug.cgi?id=169072
Patch by Piotr Drąg <piotrdrag@gmail.com> on 2017-03-02
Rubber-stamped by Michael Catanzaro.
- pl.po:
- 3:09 AM Changeset in webkit [213801] by
-
- 16 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r213278 - [WK2] Keyboard menu key should show context menu
https://bugs.webkit.org/show_bug.cgi?id=72099
Source/WebCore:
Reviewed by Carlos Garcia Campos.
Show the context menu when the GtkWidget::popup-menu signal is
emitted. This signal is triggered by pressing a key (usually
the Menu key or the Shift + F10 shortcut) or it could be emitted on
WebKitWebView.
Test: fast/events/context-activated-by-key-event.html
Also could be tested by:
ManualTests/keyboard-menukey-event.html
ManualTests/win/contextmenu-key.html
ManualTests/win/contextmenu-key2.html
- page/EventHandler.cpp:
(WebCore::EventHandler::sendContextMenuEventForKey):
Correctly send the mouse event that used for showing the context menu.
Previously the event was immediately dispatched as it is, but this was
only the right way if some element was focused on the page. If there
was no focused element or non-empty text range then the event lacked
the right node, where it was supposed to be shown. The correct node
is determined and added to the event in the sendContextMenuEvent() so
we have to use this function to send the event.
Also use absoluteBoundingBoxRect() instead of
pixelSnappedAbsoluteClippedOverflowRect() when determining
a coordinate where to show the context menu for the currently focus
element. The latter is not returning a right box (it is bigger) which
could lead to the situation that no menu will be displayed at all,
because the HitTest won't contain the right element as the
determined coordinates could be outside of the element.
- page/EventHandler.h:
Source/WebKit2:
Reviewed by Carlos Garcia Campos.
Show the context menu when the GtkWidget::popup-menu signal is
emitted. This signal is triggered by pressing a key (usually
the Menu key or the Shift + F10 shortcut) or it could be emitted on
WebKitWebView.
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_class_init):
(webkit_web_view_class_init): Update the documentation for the
context-menu signal
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBasePopupMenu): Connect to the popup-menu signal and
save the event that was used to trigger the signal. If there is no
such event create a new GdkEvent with GDK_NOTHING type.
(webkitWebViewBasePopupMenu):
(webkit_web_view_base_class_init):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleContextMenuKeyEvent):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::contextMenuForKeyEvent):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
Show the context menu when the GtkWidget::popup-menu signal is
emitted. This signal is triggered by pressing a key (usually
the Menu key or the Shift + F10 shortcut) or it could be emitted on
WebKitWebView.
Reviewed by Carlos Garcia Campos.
- TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
(testContextMenuDefaultMenu):
- TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
(WebViewTest::emitPopupMenuSignal):
- TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
LayoutTests:
Reviewed by Carlos Garcia Campos.
Skip the fast/events/context-activated-by-key-event.html on Mac as it
does not have a key to activate the context menu and on iOS as well.
- platform/ios-simulator-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 2:55 AM Changeset in webkit [213800] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213276 - [GTK] Crash in WebCore::CoordinatedGraphicsLayer::notifyFlushRequired
https://bugs.webkit.org/show_bug.cgi?id=166420
Reviewed by Žan Doberšek.
This is happening when closing a page that is being inspected. When CoordinatedGraphicsLayer::removeFromParent()
is called, the coordinator has already been invalidated, so all its layers were set a nullptr coordinator. I
think it's safe to simply handle m_coordinator being nullptr in notifyFlushRequired().
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::notifyFlushRequired): Return early if the coordinator is nullptr.
- 2:54 AM Changeset in webkit [213799] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r213275 - Incorrect RELEASE_ASSERT in JSGlobalObject::addStaticGlobals()
https://bugs.webkit.org/show_bug.cgi?id=169034
Reviewed by Mark Lam.
It should not assign to offset, but compare to offset.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::addStaticGlobals):
- 2:49 AM Changeset in webkit [213798] by
-
- 5 edits in releases/WebKitGTK/webkit-2.16
Merge r213224 - [GTK] fast/canvas/canvas-createPattern-video-loading.html makes its subsequent test timeout
https://bugs.webkit.org/show_bug.cgi?id=169019
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
The timeout happens normally when the media player is deleted and the pipeline state is set to NULL. The call to
gst_element_set_state() never returns because of different deadlocks with the video sink. Sometimes the deadlock
happens with the sample mutex used by VideoRenderRequestScheduler. VideoRenderRequestScheduler::requestRender()
calls webkitVideoSinkRepaintRequested() with the lock held, that ends up calling
MediaPlayerPrivateGStreamerBase::triggerRepaint(). When rendering can't be accelerated the draw timer is
scheduled and triggerRepaint blocks until the timer is fired. If the media player is destroyed before the timer
is fired, when setting the pipeline state to NULL, other VideoRenderRequestScheduler methods can be called, like
stop() that tries to get the sample mutex that is still held by requestRender(). So, first we need to make
sure that requestRender() releases the lock before calling webkitVideoSinkRepaintRequested(). But that's not
enough, we also need to ensure that the pipeline is set to NULL state after everyting has been properly
stopped. This is currently done in ~MediaPlayerPrivateGStreamer that happens before
~MediaPlayerPrivateGStreamerBase, so gst_element_set_state() is hanging before allowing the
MediaPlayerPrivateGStreamerBase to be cleaned up. We should move the call to the end of
~MediaPlayerPrivateGStreamerBase and ensure the draw timer and mutex are properly cleaned up before.
Fixes: fast/canvas/canvas-createPattern-video-loading.html
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): Do not reset pipeline here.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase): Stop the draw mutex and notify the
lock to ensure we unblock. Do the pipeline reset at the end.
- platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(VideoRenderRequestScheduler::requestRender): Release the mutex lock before calling webkitVideoSinkRepaintRequested().
LayoutTests:
Unskip tests previously skipped because of this timeout.
- platform/gtk/TestExpectations:
- 2:48 AM Changeset in webkit [213797] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WTF
Merge r213223 - [WTF] va_list is not ended in StringPrintStream
https://bugs.webkit.org/show_bug.cgi?id=169035
Reviewed by Michael Saboff.
Also fix whitespace errors while touching this file.
- wtf/StringPrintStream.cpp:
(WTF::StringPrintStream::vprintf):
(WTF::StringPrintStream::increaseSize):
- 2:46 AM Changeset in webkit [213796] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213219 - [Cairo] Incorrectly determining height in GraphicsContext::roundToDevicePixels()
https://bugs.webkit.org/show_bug.cgi?id=169031
Reviewed by Carlos Garcia Campos.
We should compare if height is between -1 and 0 and not mixing height
and width together.
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::roundToDevicePixels):
- 2:46 AM Changeset in webkit [213795] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213218 - [GTK] Fix problems found by Coverity scan in platform's keyboard and mouse events
https://bugs.webkit.org/show_bug.cgi?id=169028
Reviewed by Carlos Garcia Campos.
- platform/gtk/PlatformKeyboardEventGtk.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Initialize
the m_handledByInputMethod member.
- platform/gtk/PlatformMouseEventGtk.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent): Initialize the
m_modifierFlags member.
- 2:43 AM Changeset in webkit [213794] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebKit2
Merge r213217 - [GTK] Fix problems found by Coverity scan in WebPrintOperationGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=169027
Reviewed by Carlos Garcia Campos.
Initialize the lastPagePosition variable and remove an unused one
- totalToPrint.
- WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::PrintPagesData::PrintPagesData):
- 2:38 AM Changeset in webkit [213793] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r213171 - Arm64 disassembler prints "ars" instead of "asr"
https://bugs.webkit.org/show_bug.cgi?id=168923
Rubber stamped by Michael Saboff.
- disassembler/ARM64/A64DOpcode.cpp:
(JSC::ARM64Disassembler::A64DOpcodeBitfield::format):
- 2:37 AM Changeset in webkit [213792] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r213165 - Use of arguments in arrow function is slow
https://bugs.webkit.org/show_bug.cgi?id=168829
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/arrowfunciton-direct-arguments.js: Added.
(fn):
- microbenchmarks/arrowfunciton-reference-arguments.js: Added.
(fn):
Source/JavaScriptCore:
Current patch improves performance access to arguments within arrow functuion
by preventing create arguments variable within arrow function, also allow to cache
arguments variable. Before arguments variable always have Dynamic resolve type, after
patch it can be ClosureVar, that increase performance of access to arguments variable
in 9 times inside of the arrow function.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
- runtime/JSScope.cpp:
(JSC::abstractAccess):
- 2:33 AM Changeset in webkit [213791] by
-
- 7 edits in releases/WebKitGTK/webkit-2.16
Merge r213631 - [GTK] JSC test stress/arity-check-ftl-throw.js.ftl-no-cjit-validate-sampling-profiler crashing on GTK bot
https://bugs.webkit.org/show_bug.cgi?id=160124
Reviewed by Mark Lam.
JSTests:
- stress/spread-forward-call-varargs-stack-overflow.js:
Source/JavaScriptCore:
When performing CallVarargs, we will copy values to the stack.
Before actually copying values, we need to adjust the stackPointerRegister
to ensure copied values are in the allocated stack area.
If we do not that, OS can break the values that is stored beyond the stack
pointer. For example, signal stack can be constructed on these area, and
breaks values.
This patch fixes the crash in stress/spread-forward-call-varargs-stack-overflow.js
in Linux port. Since Linux ports use signal to suspend and resume threads,
signal handler is frequently called when enabling sampling profiler. Thus this
crash occurs.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs):
- jit/SetupVarargsFrame.cpp:
(JSC::emitSetupVarargsFrameFastCase):
- jit/SetupVarargsFrame.h:
- 2:21 AM Changeset in webkit [213790] by
-
- 2 edits in trunk/Source/WebKit2
Web Automation: automation commands hang when trying to navigate go/back and it's not possible
https://bugs.webkit.org/show_bug.cgi?id=169407
Reviewed by Michael Catanzaro.
Trying to navigate back or forward when there are no back/forward items makes the automation commands to hang, because
navigation callback is never called. WebPageProxy returns nullptr to indicate no navigation will take place. In
that case we can consider that the operation succeeded.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::goBackInBrowsingContext):
(WebKit::WebAutomationSession::goForwardInBrowsingContext):
- 2:15 AM Changeset in webkit [213789] by
-
- 2 edits in trunk/Tools
MiniBrowser: a tab closed from javascript always closes the window
https://bugs.webkit.org/show_bug.cgi?id=169415
Reviewed by Michael Catanzaro.
When I implemented tabs support in MiniBrowser I forgot about web view close. We connect to the signal (only for
the active tab) and close the window. That worked when we didn't have tabs, but now we should close the tab, or
the window if it's the last tab.
- MiniBrowser/gtk/BrowserWindow.c:
(webViewClose): Destroy the window if therte's only one tab, otherwise search for the tab corresponding to the web
view and destroy it.
(browserWindowSwitchTab): Re-connect to close signal, we want to handle close on all tabs.
- 2:10 AM Changeset in webkit [213788] by
-
- 12 edits in trunk/Websites/perf.webkit.org
Add the ability to report a commit with sub-commits.
https://bugs.webkit.org/show_bug.cgi?id=168962
Reviewed by Ryosuke Niwa.
Introduce 'commit_ownerships' which records ownership between commits.
On existing production server, run`
CREATE TABLE commit_ownerships (
commit_owner integer NOT NULL REFERENCES commits ON DELETE CASCADE,
commit_ownee integer NOT NULL REFERENCES commits ON DELETE CASCADE,
PRIMARY KEY (commit_owner, commit_ownee)
);
ALTER TABLE repositories RENAME repository_parent TO repository_owner;
ALTER TABLE repositories DROP repository_name_must_be_unique;
CREATE UNIQUE INDEX repository_name_owner_unique_index ON repositories (repository_owner, repository_name) WHERE repository_owner IS NOT NULL;
CREATE UNIQUE INDEX repository_name_unique_index ON repositories (repository_name) WHERE repository_owner IS NULL;
` to update database.
Add unit-tests to cover this change.
- init-database.sql:
- public/api/report-commits.php:
- public/include/commit-log-fetcher.php:
- public/include/db.php:
- public/include/manifest-generator.php:
- public/include/report-processor.php:
- public/v3/models/repository.js:
(Repository):
(Repository.prototype.owner):
- server-tests/admin-reprocess-report-tests.js:
(addBuilderForReport.simpleReportWithRevisions.0.then):
(then):
- server-tests/api-manifest.js:
(then):
- server-tests/api-report-commits-tests.js:
(addSlaveForReport.sameRepositoryNameInSubCommitAndMajorCommit.then):
(then):
(addSlaveForReport.systemVersionCommitWithSubcommits.then):
(addSlaveForReport.multipleSystemVersionCommitsWithSubcommits.then):
(addSlaveForReport.systemVersionCommitWithEmptySubcommits.then):
(addSlaveForReport.systemVersionCommitAndSubcommitWithTimestamp.then):
- tools/js/database.js:
- 1:01 AM Changeset in webkit [213787] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][CMake] Remove the intermediate NetworkProcess_COMMON_SOURCES variable
https://bugs.webkit.org/show_bug.cgi?id=169524
Reviewed by Michael Catanzaro.
The NetworkProcess-specific source files listed in the
NetworkProcess_COMMON_SOURCES variable definition should be directly
inlined into the list with which the WebKit2_SOURCE variable is defined.
The NetworkProcess_COMMON_SOURCES variable is appended to the
WebKit2_SOURCES variable anyway, and is not used anywhere else. The
separate variable was previously use to support configurations that
allowed disabling NetworkProcess.
- CMakeLists.txt:
- 12:54 AM Changeset in webkit [213786] by
-
- 10 edits in trunk/Source
WebGPU remote layer hosting
https://bugs.webkit.org/show_bug.cgi?id=169539
<rdar://problem/31005380>
Reviewed by Jon Lee.
Source/WebCore:
Implement the WebProcess side of WebGPULayer hosting,
via LayerTypeWebGPULayer.
- platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::operator<<): Provide nice pretty printing.
- platform/graphics/ca/PlatformCALayer.h: Add LayerTypeWebGPULayer.
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: Support LayerTypeWebGPULayer.
(PlatformCALayerCocoa::layerTypeForPlatformLayer):
(PlatformCALayerCocoa::PlatformCALayerCocoa):
(PlatformCALayerCocoa::commonInit):
Source/WebKit2:
Implement the host-side part of WebGPULayer.
- Shared/mac/RemoteLayerBackingStore.mm: Add support for LayerTypeWebGPULayer.
(WebKit::RemoteLayerBackingStore::drawInContext):
- Shared/mac/RemoteLayerTreeTransaction.mm: Ditto.
(WebKit::RemoteLayerTreeTransaction::description):
- UIProcess/ios/RemoteLayerTreeHostIOS.mm: Ditto.
(WebKit::RemoteLayerTreeHost::createLayer):
- UIProcess/mac/RemoteLayerTreeHost.mm: Ditto.
(WebKit::RemoteLayerTreeHost::createLayer):
- WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: Ditto.
(WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
(WebKit::PlatformCALayerRemoteCustom::clone):
- 12:33 AM Changeset in webkit [213785] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed GTK+ build fix. Adjust the Cookie constructor
invocation in CookieJarSoup, using empty values for the
newly-added parameters. This should probably be revised
to determine whether meaningful values can be passed in.
- platform/network/soup/CookieJarSoup.cpp:
(WebCore::getRawCookies):
- 12:30 AM Changeset in webkit [213784] by
-
- 3 edits in trunk/Source/WebKit2
Unreviewed GTK+ build fix. Use WTF::Function<> for the
WebPageProxy::getContentsAsMHTMLData() parameter, fixing
configurations that support enabling ENABLE(MHTML).
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getContentsAsMHTMLData):
- UIProcess/WebPageProxy.h:
- 12:18 AM Changeset in webkit [213783] by
-
- 6 edits in trunk/Source/WebCore
WebGPU: Backend - hosting WebGPU layers
https://bugs.webkit.org/show_bug.cgi?id=169366
<rdar://problem/30928735>
Reviewed by Dean Jackson.
- html/canvas/WebGPURenderingContext.cpp:
(WebCore::WebGPURenderingContext::create): Create the device and the
rendering context.
- platform/graphics/cocoa/GPUCommandBufferMetal.mm:
(WebCore::GPUCommandBuffer::commit):
- platform/graphics/cocoa/GPUDrawableMetal.mm:
(WebCore::GPUDrawable::release): Fix a log message
- platform/graphics/gpu/GPUCommandBuffer.cpp:
(WebCore::GPUCommandBuffer::commit): Deleted. Moved to GPUCommandBufferMetal.
- rendering/RenderLayerBacking.cpp:
(WebCore::canvasCompositingStrategy): WebGPU canvas should return CanvasAsLayerContents.
Mar 11, 2017:
- 11:17 PM Changeset in webkit [213782] by
-
- 29 edits in trunk/Source/WebCore
Remove stubs from WebGPU front end
https://bugs.webkit.org/show_bug.cgi?id=169375
Reviewed by Dean Jackson.
Remove stubs and use the back end.
- html/canvas/WebGPUCommandBuffer.cpp:
- html/canvas/WebGPUCommandBuffer.h:
- html/canvas/WebGPUCommandQueue.cpp:
- html/canvas/WebGPUCommandQueue.h:
- html/canvas/WebGPUDepthStencilDescriptor.cpp:
(WebCore::WebGPUDepthStencilDescriptor::setDepthCompareFunction): Remove redundant clause.
- html/canvas/WebGPUDepthStencilDescriptor.h:
- html/canvas/WebGPUDepthStencilDescriptor.idl: Remove label property. Not needed yet.
- html/canvas/WebGPUDepthStencilState.cpp:
- html/canvas/WebGPUDepthStencilState.h:
- html/canvas/WebGPUEnums.cpp:
- html/canvas/WebGPUEnums.h:
- html/canvas/WebGPURenderCommandEncoder.cpp:
- html/canvas/WebGPURenderCommandEncoder.h:
- html/canvas/WebGPURenderPassAttachmentDescriptor.cpp:
- html/canvas/WebGPURenderPassAttachmentDescriptor.h:
- html/canvas/WebGPURenderPassColorAttachmentDescriptor.cpp:
- html/canvas/WebGPURenderPassColorAttachmentDescriptor.h:
- html/canvas/WebGPURenderPassDepthAttachmentDescriptor.cpp:
- html/canvas/WebGPURenderPassDepthAttachmentDescriptor.h:
- html/canvas/WebGPURenderPassDescriptor.cpp:
(WebCore::WebGPURenderPassDescriptor::colorAttachments): Uncomment code with GPURenderPassColorAttachmentDescriptor available.
- html/canvas/WebGPURenderPassDescriptor.h:
- html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.cpp:
- html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.h:
- html/canvas/WebGPURenderPipelineDescriptor.cpp:
- html/canvas/WebGPURenderPipelineDescriptor.h:
- html/canvas/WebGPURenderPipelineDescriptor.idl: Remove label property. Not needed yet.
- html/canvas/WebGPURenderPipelineState.cpp:
- html/canvas/WebGPURenderPipelineState.h:
- 10:38 PM Changeset in webkit [213781] by
-
- 2 edits in trunk/Source/WebKit2
[Cocoa] Incorrect availability annotations in WKUserContentController.h
https://bugs.webkit.org/show_bug.cgi?id=169536
Reviewed by Alexey Proskuryakov.
- UIProcess/API/Cocoa/WKUserContentController.h: Use WK_MAC_TBA for macOS availability.
- 8:40 PM Changeset in webkit [213780] by
-
- 20 edits35 copies5 adds in trunk/Source/WebCore
WebGPU Backend
https://bugs.webkit.org/show_bug.cgi?id=169535
<rdar://problem/31002364>
Patch by Dean Jackson <dino@apple.com> on 2017-03-12
Reviewed by Jon Lee.
Fill in the remainder of the WebGPU backend. This is effectively
a C++ representation of the Metal API.
- WebCore.xcodeproj/project.pbxproj:
- html/canvas/WebGPUDrawable.cpp:
(WebCore::WebGPUDrawable::WebGPUDrawable):
- html/canvas/WebGPUDrawable.h:
(WebCore::GPUDrawable::texture): Deleted.
- platform/graphics/cocoa/GPUBufferMetal.mm:
(WebCore::GPUBuffer::GPUBuffer):
(WebCore::GPUBuffer::platformBuffer):
- platform/graphics/cocoa/GPUCommandBufferMetal.mm: Copied from Source/WebCore/platform/graphics/cocoa/GPUFunctionMetal.mm.
(WebCore::GPUCommandBuffer::GPUCommandBuffer):
(WebCore::GPUCommandBuffer::platformCommandBuffer):
(WebCore::GPUCommandBuffer::presentDrawable):
- platform/graphics/cocoa/GPUCommandQueueMetal.mm: Copied from Source/WebCore/platform/graphics/cocoa/GPUFunctionMetal.mm.
(WebCore::GPUCommandQueue::GPUCommandQueue):
(WebCore::GPUCommandQueue::label):
(WebCore::GPUCommandQueue::setLabel):
(WebCore::GPUCommandQueue::platformCommandQueue):
- platform/graphics/cocoa/GPUDepthStencilDescriptorMetal.mm: Copied from Source/WebCore/platform/graphics/cocoa/GPUTextureMetal.mm.
(WebCore::GPUDepthStencilDescriptor::GPUDepthStencilDescriptor):
(WebCore::GPUDepthStencilDescriptor::depthWriteEnabled):
(WebCore::GPUDepthStencilDescriptor::setDepthWriteEnabled):
(WebCore::GPUDepthStencilDescriptor::depthCompareFunction):
(WebCore::GPUDepthStencilDescriptor::setDepthCompareFunction):
(WebCore::GPUDepthStencilDescriptor::platformDepthStencilDescriptor):
- platform/graphics/cocoa/GPUDepthStencilStateMetal.mm: Copied from Source/WebCore/platform/graphics/cocoa/GPUFunctionMetal.mm.
(WebCore::GPUDepthStencilState::GPUDepthStencilState):
(WebCore::GPUDepthStencilState::label):
(WebCore::GPUDepthStencilState::setLabel):
(WebCore::GPUDepthStencilState::platformDepthStencilState):
- platform/graphics/cocoa/GPUDrawableMetal.mm: Copied from Source/WebCore/platform/graphics/cocoa/GPUFunctionMetal.mm.
(WebCore::GPUDrawable::GPUDrawable):
(WebCore::GPUDrawable::release):
(WebCore::GPUDrawable::platformDrawable):
(WebCore::GPUDrawable::platformTexture):
- platform/graphics/cocoa/GPUFunctionMetal.mm:
(WebCore::GPUFunction::GPUFunction):
(WebCore::GPUFunction::platformFunction):
- platform/graphics/cocoa/GPULibraryMetal.mm:
(WebCore::GPULibrary::GPULibrary):
(WebCore::GPULibrary::setLabel):
(WebCore::GPULibrary::platformLibrary):
- platform/graphics/cocoa/GPURenderCommandEncoderMetal.mm: Added.
(WebCore::GPURenderCommandEncoder::GPURenderCommandEncoder):
(WebCore::GPURenderCommandEncoder::setRenderPipelineState):
(WebCore::GPURenderCommandEncoder::setDepthStencilState):
(WebCore::GPURenderCommandEncoder::setVertexBuffer):
(WebCore::GPURenderCommandEncoder::setFragmentBuffer):
(WebCore::GPURenderCommandEncoder::drawPrimitives):
(WebCore::GPURenderCommandEncoder::endEncoding):
(WebCore::GPURenderCommandEncoder::platformRenderCommandEncoder):
- platform/graphics/cocoa/GPURenderPassAttachmentDescriptorMetal.mm: Added.
(WebCore::GPURenderPassAttachmentDescriptor::GPURenderPassAttachmentDescriptor):
(WebCore::GPURenderPassAttachmentDescriptor::loadAction):
(WebCore::GPURenderPassAttachmentDescriptor::setLoadAction):
(WebCore::GPURenderPassAttachmentDescriptor::storeAction):
(WebCore::GPURenderPassAttachmentDescriptor::setStoreAction):
(WebCore::GPURenderPassAttachmentDescriptor::setTexture):
(WebCore::GPURenderPassAttachmentDescriptor::platformRenderPassAttachmentDescriptor):
- platform/graphics/cocoa/GPURenderPassColorAttachmentDescriptorMetal.mm: Added.
(WebCore::GPURenderPassColorAttachmentDescriptor::create):
(WebCore::GPURenderPassColorAttachmentDescriptor::GPURenderPassColorAttachmentDescriptor):
(WebCore::GPURenderPassColorAttachmentDescriptor::clearColor):
(WebCore::GPURenderPassColorAttachmentDescriptor::setClearColor):
(WebCore::GPURenderPassColorAttachmentDescriptor::platformRenderPassColorAttachmentDescriptor):
- platform/graphics/cocoa/GPURenderPassDepthAttachmentDescriptorMetal.mm: Added.
(WebCore::GPURenderPassDepthAttachmentDescriptor::create):
(WebCore::GPURenderPassDepthAttachmentDescriptor::GPURenderPassDepthAttachmentDescriptor):
(WebCore::GPURenderPassDepthAttachmentDescriptor::clearDepth):
(WebCore::GPURenderPassDepthAttachmentDescriptor::setClearDepth):
(WebCore::GPURenderPassDepthAttachmentDescriptor::platformRenderPassDepthAttachmentDescriptor):
- platform/graphics/cocoa/GPURenderPassDescriptorMetal.mm: Copied from Source/WebCore/platform/graphics/cocoa/GPUBufferMetal.mm.
(WebCore::GPURenderPassDescriptor::GPURenderPassDescriptor):
(WebCore::GPURenderPassDescriptor::colorAttachments):
(WebCore::GPURenderPassDescriptor::depthAttachment):
(WebCore::GPURenderPassDescriptor::platformRenderPassDescriptor):
- platform/graphics/cocoa/GPURenderPipelineColorAttachmentDescriptorMetal.mm: Copied from Source/WebCore/platform/graphics/cocoa/GPULibraryMetal.mm.
(WebCore::GPURenderPipelineColorAttachmentDescriptor::create):
(WebCore::GPURenderPipelineColorAttachmentDescriptor::GPURenderPipelineColorAttachmentDescriptor):
(WebCore::GPURenderPipelineColorAttachmentDescriptor::pixelFormat):
(WebCore::GPURenderPipelineColorAttachmentDescriptor::setPixelFormat):
(WebCore::GPURenderPipelineColorAttachmentDescriptor::platformRenderPipelineColorAttachmentDescriptor):
- platform/graphics/cocoa/GPURenderPipelineDescriptorMetal.mm: Added.
(WebCore::GPURenderPipelineDescriptor::GPURenderPipelineDescriptor):
(WebCore::GPURenderPipelineDescriptor::depthAttachmentPixelFormat):
(WebCore::GPURenderPipelineDescriptor::setDepthAttachmentPixelFormat):
(WebCore::GPURenderPipelineDescriptor::setVertexFunction):
(WebCore::GPURenderPipelineDescriptor::setFragmentFunction):
(WebCore::GPURenderPipelineDescriptor::colorAttachments):
(WebCore::GPURenderPipelineDescriptor::reset):
(WebCore::GPURenderPipelineDescriptor::platformRenderPipelineDescriptor):
- platform/graphics/cocoa/GPURenderPipelineStateMetal.mm: Copied from Source/WebCore/platform/graphics/cocoa/GPUTextureMetal.mm.
(WebCore::GPURenderPipelineState::GPURenderPipelineState):
(WebCore::GPURenderPipelineState::label):
(WebCore::GPURenderPipelineState::setLabel):
(WebCore::GPURenderPipelineState::platformRenderPipelineState):
- platform/graphics/cocoa/GPUTextureDescriptorMetal.mm:
(WebCore::GPUTextureDescriptor::GPUTextureDescriptor):
(WebCore::GPUTextureDescriptor::platformTextureDescriptor):
- platform/graphics/cocoa/GPUTextureMetal.mm:
(WebCore::GPUTexture::GPUTexture):
(WebCore::GPUTexture::platformTexture):
- platform/graphics/gpu/GPUBuffer.cpp:
- platform/graphics/gpu/GPUBuffer.h:
- platform/graphics/gpu/GPUCommandBuffer.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUBuffer.cpp.
(WebCore::GPUCommandBuffer::create):
(WebCore::GPUCommandBuffer::~GPUCommandBuffer):
(WebCore::GPUCommandBuffer::commit):
(WebCore::GPUCommandBuffer::createRenderCommandEncoder):
(WebCore::GPUCommandBuffer::presentDrawable):
- platform/graphics/gpu/GPUCommandBuffer.h: Copied from Source/WebCore/platform/graphics/gpu/GPUTexture.h.
- platform/graphics/gpu/GPUCommandQueue.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUBuffer.cpp.
(WebCore::GPUCommandQueue::create):
(WebCore::GPUCommandQueue::~GPUCommandQueue):
(WebCore::GPUCommandQueue::createCommandBuffer):
(WebCore::GPUCommandQueue::label):
(WebCore::GPUCommandQueue::setLabel):
- platform/graphics/gpu/GPUCommandQueue.h: Copied from Source/WebCore/platform/graphics/gpu/GPULibrary.h.
- platform/graphics/gpu/GPUDepthStencilDescriptor.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUTexture.cpp.
(WebCore::GPUDepthStencilDescriptor::create):
(WebCore::GPUDepthStencilDescriptor::~GPUDepthStencilDescriptor):
(WebCore::GPUDepthStencilDescriptor::depthWriteEnabled):
(WebCore::GPUDepthStencilDescriptor::setDepthWriteEnabled):
(WebCore::GPUDepthStencilDescriptor::depthCompareFunction):
(WebCore::GPUDepthStencilDescriptor::setDepthCompareFunction):
- platform/graphics/gpu/GPUDepthStencilDescriptor.h: Copied from Source/WebCore/platform/graphics/gpu/GPUTexture.h.
- platform/graphics/gpu/GPUDepthStencilState.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUBuffer.cpp.
(WebCore::GPUDepthStencilState::create):
(WebCore::GPUDepthStencilState::~GPUDepthStencilState):
(WebCore::GPUDepthStencilState::label):
(WebCore::GPUDepthStencilState::setLabel):
- platform/graphics/gpu/GPUDepthStencilState.h: Copied from Source/WebCore/platform/graphics/gpu/GPULibrary.h.
- platform/graphics/gpu/GPUDevice.cpp:
(WebCore::GPUDevice::createCommandQueue):
(WebCore::GPUDevice::getFramebuffer):
- platform/graphics/gpu/GPUDevice.h:
(WebCore::GPUDevice::markLayerComposited):
(WebCore::GPUDevice::createCommandQueue): Deleted.
(WebCore::GPUDevice::getFramebuffer): Deleted.
- platform/graphics/gpu/GPUDrawable.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUBuffer.cpp.
(WebCore::GPUDrawable::create):
(WebCore::GPUDrawable::~GPUDrawable):
(WebCore::GPUDrawable::release):
- platform/graphics/gpu/GPUDrawable.h: Copied from Source/WebCore/platform/graphics/gpu/GPUTexture.h.
- platform/graphics/gpu/GPUEnums.h: Copied from Source/WebCore/platform/graphics/cocoa/GPUFunctionMetal.mm.
- platform/graphics/gpu/GPUFunction.h:
- platform/graphics/gpu/GPULibrary.cpp:
- platform/graphics/gpu/GPULibrary.h:
- platform/graphics/gpu/GPURenderCommandEncoder.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPULibrary.cpp.
(WebCore::GPURenderCommandEncoder::create):
(WebCore::GPURenderCommandEncoder::~GPURenderCommandEncoder):
(WebCore::GPURenderCommandEncoder::setRenderPipelineState):
(WebCore::GPURenderCommandEncoder::setDepthStencilState):
(WebCore::GPURenderCommandEncoder::setVertexBuffer):
(WebCore::GPURenderCommandEncoder::setFragmentBuffer):
(WebCore::GPURenderCommandEncoder::drawPrimitives):
(WebCore::GPURenderCommandEncoder::endEncoding):
- platform/graphics/gpu/GPURenderCommandEncoder.h: Copied from Source/WebCore/platform/graphics/gpu/GPUTexture.h.
- platform/graphics/gpu/GPURenderPassAttachmentDescriptor.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUTexture.cpp.
(WebCore::GPURenderPassAttachmentDescriptor::~GPURenderPassAttachmentDescriptor):
(WebCore::GPURenderPassAttachmentDescriptor::GPURenderPassAttachmentDescriptor):
(WebCore::GPURenderPassAttachmentDescriptor::loadAction):
(WebCore::GPURenderPassAttachmentDescriptor::setLoadAction):
(WebCore::GPURenderPassAttachmentDescriptor::storeAction):
(WebCore::GPURenderPassAttachmentDescriptor::setStoreAction):
(WebCore::GPURenderPassAttachmentDescriptor::setTexture):
- platform/graphics/gpu/GPURenderPassAttachmentDescriptor.h: Copied from Source/WebCore/platform/graphics/gpu/GPUTexture.h.
- platform/graphics/gpu/GPURenderPassColorAttachmentDescriptor.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUDevice.cpp.
(WebCore::GPURenderPassColorAttachmentDescriptor::create):
(WebCore::GPURenderPassColorAttachmentDescriptor::GPURenderPassColorAttachmentDescriptor):
(WebCore::GPURenderPassColorAttachmentDescriptor::~GPURenderPassColorAttachmentDescriptor):
(WebCore::GPURenderPassColorAttachmentDescriptor::clearColor):
(WebCore::GPURenderPassColorAttachmentDescriptor::setClearColor):
- platform/graphics/gpu/GPURenderPassColorAttachmentDescriptor.h: Copied from Source/WebCore/platform/graphics/gpu/GPUTexture.h.
- platform/graphics/gpu/GPURenderPassDepthAttachmentDescriptor.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUTexture.cpp.
(WebCore::GPURenderPassDepthAttachmentDescriptor::create):
(WebCore::GPURenderPassDepthAttachmentDescriptor::GPURenderPassDepthAttachmentDescriptor):
(WebCore::GPURenderPassDepthAttachmentDescriptor::~GPURenderPassDepthAttachmentDescriptor):
(WebCore::GPURenderPassDepthAttachmentDescriptor::clearDepth):
(WebCore::GPURenderPassDepthAttachmentDescriptor::setClearDepth):
- platform/graphics/gpu/GPURenderPassDepthAttachmentDescriptor.h: Copied from Source/WebCore/platform/graphics/gpu/GPUTexture.h.
- platform/graphics/gpu/GPURenderPassDescriptor.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUBuffer.cpp.
(WebCore::GPURenderPassDescriptor::create):
(WebCore::GPURenderPassDescriptor::~GPURenderPassDescriptor):
(WebCore::GPURenderPassDescriptor::depthAttachment):
- platform/graphics/gpu/GPURenderPassDescriptor.h: Copied from Source/WebCore/platform/graphics/gpu/GPUTexture.h.
- platform/graphics/gpu/GPURenderPipelineColorAttachmentDescriptor.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUTexture.cpp.
(WebCore::GPURenderPipelineColorAttachmentDescriptor::~GPURenderPipelineColorAttachmentDescriptor):
(WebCore::GPURenderPipelineColorAttachmentDescriptor::GPURenderPipelineColorAttachmentDescriptor):
(WebCore::GPURenderPipelineColorAttachmentDescriptor::pixelFormat):
(WebCore::GPURenderPipelineColorAttachmentDescriptor::setPixelFormat):
- platform/graphics/gpu/GPURenderPipelineColorAttachmentDescriptor.h: Copied from Source/WebCore/platform/graphics/gpu/GPUTexture.h.
- platform/graphics/gpu/GPURenderPipelineDescriptor.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUDevice.cpp.
(WebCore::GPURenderPipelineDescriptor::create):
(WebCore::GPURenderPipelineDescriptor::~GPURenderPipelineDescriptor):
(WebCore::GPURenderPipelineDescriptor::depthAttachmentPixelFormat):
(WebCore::GPURenderPipelineDescriptor::setDepthAttachmentPixelFormat):
(WebCore::GPURenderPipelineDescriptor::setVertexFunction):
(WebCore::GPURenderPipelineDescriptor::setFragmentFunction):
(WebCore::GPURenderPipelineDescriptor::colorAttachments):
- platform/graphics/gpu/GPURenderPipelineDescriptor.h: Copied from Source/WebCore/platform/graphics/gpu/GPULibrary.h.
- platform/graphics/gpu/GPURenderPipelineState.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPULibrary.cpp.
(WebCore::GPURenderPipelineState::create):
(WebCore::GPURenderPipelineState::~GPURenderPipelineState):
(WebCore::GPURenderPipelineState::label):
(WebCore::GPURenderPipelineState::setLabel):
- platform/graphics/gpu/GPURenderPipelineState.h: Copied from Source/WebCore/platform/graphics/gpu/GPULibrary.h.
- platform/graphics/gpu/GPUTexture.cpp:
(WebCore::GPUTexture::createFromDrawable):
(WebCore::GPUTexture::createFromExistingTexture): Deleted.
- platform/graphics/gpu/GPUTexture.h:
- platform/graphics/gpu/GPUTextureDescriptor.cpp:
- platform/graphics/gpu/GPUTextureDescriptor.h:
- 8:16 PM Changeset in webkit [213779] by
-
- 5 edits2 adds in trunk
Simple line layout: Paginated content is not painted properly when font overflows line height.
https://bugs.webkit.org/show_bug.cgi?id=169516
Reviewed by Antti Koivisto.
Source/WebCore:
adjustLineIndexForStruts should take the IndexType::First/Last into account
when searching for the line index in a paginated context.
This also changes the the computed offset height from m_lineHeight to m_ascent + m_descent
so that we can find lines with large fonts (but small line height).
Test: fast/multicol/simple-line-layout-line-index-after-strut.html
- rendering/SimpleLineLayoutResolver.cpp:
(WebCore::SimpleLineLayout::RunResolver::adjustLineIndexForStruts):
(WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
(WebCore::SimpleLineLayout::RunResolver::rangeForRect):
- rendering/SimpleLineLayoutResolver.h:
LayoutTests:
- fast/multicol/simple-line-layout-line-index-after-strut-expected.html: Added.
- fast/multicol/simple-line-layout-line-index-after-strut.html: Added.
- 6:54 PM Changeset in webkit [213778] by
-
- 4 edits in trunk/Source/WebCore
Add full NSHTTPCookie fidelity to WebCore::Cookie.
https://bugs.webkit.org/show_bug.cgi?id=169514
Reviewed by Dean Jackson.
No new tests (Refactor, no testable behavior change for now).
- platform/Cookie.h:
(WebCore::Cookie::Cookie):
(WebCore::Cookie::encode):
(WebCore::Cookie::decode):
- platform/network/cocoa/CookieCocoa.mm:
(WebCore::portVectorFromList):
(WebCore::portStringFromVector):
(WebCore::Cookie::Cookie):
(WebCore::Cookie::operator NSHTTPCookie *):
- platform/network/mac/CookieJarMac.mm:
(WebCore::getRawCookies):
- 6:37 PM Changeset in webkit [213777] by
-
- 10 edits in trunk/Source/WebKit2
Transition GenericCallback from std::function to WTF::Function.
https://bugs.webkit.org/show_bug.cgi?id=169530
Reviewed by Dean Jackson.
- UIProcess/GenericCallback.h:
(WebKit::GenericCallback::create):
(WebKit::GenericCallback::performCallbackWithReturnValue):
(WebKit::GenericCallback::GenericCallback):
(WebKit::CallbackMap::put):
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
- UIProcess/WebCookieManagerProxy.h:
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::getWebArchive):
(WebKit::WebFrameProxy::getMainResourceData):
(WebKit::WebFrameProxy::getResourceData):
- UIProcess/WebFrameProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getSelectionAsWebArchiveData):
(WebKit::WebPageProxy::getMainResourceDataOfFrame):
(WebKit::WebPageProxy::getResourceDataFromFrame):
(WebKit::WebPageProxy::getWebArchiveOfFrame):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::getStatistics):
- UIProcess/WebProcessPool.h:
- 5:34 PM Changeset in webkit [213776] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Unbreak build with GTK+ >=3.20 after r213772
https://bugs.webkit.org/show_bug.cgi?id=169533
Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2017-03-12
Reviewed by Michael Catanzaro.
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewRunFileChooser): Add missing cast.
- 5:16 PM Changeset in webkit [213775] by
-
- 5 edits in trunk/LayoutTests
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=169534
Unreviewed GTK+ gardening.
Rebaseline tests:
LayoutTests/imported/w3c:
- imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive.html
- web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt:
LayoutTests:
- http/tests/xmlhttprequest/xmlhttprequest-test-custom-headers.html
- platform/gtk/TestExpectations:
- fast/text/font-selection-font-face-parse.html [ Skip ]
- platform/gtk/http/tests/xmlhttprequest/xmlhttprequest-test-custom-headers-expected.txt:
- 4:52 PM Changeset in webkit [213774] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r213764): Async image decoding is disabled for animated images
https://bugs.webkit.org/show_bug.cgi?id=169529
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-03-12
Reviewed by Jon Lee.
The change r213764 causes the animated images to be decoded synchronously
because we were calling frameImageAtIndex() with an empty sizeForDrawing
but with a valid subsamplingLevel. This call is translated to be synchronous
image decoding. The fix is get the current image frame without any decoding.
This is because are sure that in the case of animated image, the current
image frame can not be deleted.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::draw):
- 3:56 PM Changeset in webkit [213773] by
-
- 4 edits in trunk/Source/JavaScriptCore
Structure::willStoreValueSlow needs to keep the property table alive until the end
https://bugs.webkit.org/show_bug.cgi?id=169520
Reviewed by Michael Saboff.
We use pointers logically interior to
propertyTableafter doing a GC. We need to prevent the
compiler from optimizing away pointers topropertyTable.
- heap/HeapCell.cpp:
(JSC::HeapCell::use):
- heap/HeapCell.h:
(JSC::HeapCell::use): Introduce API for keeping a pointer alive until some point in execution.
- runtime/Structure.cpp:
(JSC::Structure::willStoreValueSlow): Use HeapCell::use() to keep the pointer alive.
- 1:19 PM Changeset in webkit [213772] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] File choosers should run as modal by default if possible
https://bugs.webkit.org/show_bug.cgi?id=169526
Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2017-03-12
Reviewed by Michael Catanzaro.
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewRunFileChooser): If a top-level window containing the web view is found, call
gtk_native_dialog_set_modal() to configure the dialog accordingly.
- 11:47 AM Changeset in webkit [213771] by
-
- 3 edits in trunk/Source/WebKit2
[iOS] Some more -respondsToSelector: checks are unnecessary
https://bugs.webkit.org/show_bug.cgi?id=169525
Reviewed by Tim Horton.
- Platform/spi/ios/UIKitSPI.h: Moved redeclarations of methods that are declared in the Apple internal SDK into the #if !USE(APPLE_INTERNAL_SDK) section.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]): Replaced unnecessary -respondsToSelector:
check with compile-time check for the deployment target.
(-[WKWebView _computedContentInset]): Ditto.
(activeMinimumLayoutSize): Ditto.
(-[WKWebView safeAreaInsetsDidChange]): Ditto.
- 10:27 AM Changeset in webkit [213770] by
-
- 9 edits in trunk
[Readable Streams API] Implement ReadableStreamBYOBRequest respond() (closed stream state)
https://bugs.webkit.org/show_bug.cgi?id=168781
Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2017-03-12
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Updated WPT expectations for readable byte streams tests.
- web-platform-tests/streams/readable-byte-streams/general-expected.txt:
- web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt:
Source/WebCore:
Implemented ReadableStreamBYOBRequest respond() method in the case of a closed stream.
Added tests related to respond() method and updated WPT imported tests expectations.
- Modules/streams/ReadableByteStreamInternals.js:
(readableByteStreamControllerRespond): Added.
(readableByteStreamControllerRespondInternal): Added.
(readableByteStreamControllerRespondInClosedState): Added.
(readableByteStreamControllerShiftPendingPullInto): Added.
(readableByteStreamControllerInvalidateBYOBRequest): Added.
(readableByteStreamControllerCommitPullIntoDescriptor): Added.
(readableByteStreamControllerConvertPullIntoDescriptor): Added.
(readableStreamFulfillReadIntoRequest): Added.
- Modules/streams/ReadableStreamBYOBRequest.js:
(respond): Implemented.
LayoutTests:
Added new tests related to ReadableStreamBYOBRequeset respond() method.
- streams/readable-stream-byob-request-expected.txt:
- streams/readable-stream-byob-request.js: