Timeline
Apr 6, 2018:
- 9:08 PM Changeset in webkit [230367] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r228371): WebAutomationSession::deleteAllCookies doesn't delete some cookies
https://bugs.webkit.org/show_bug.cgi?id=184334
<rdar://problem/39212863>
Reviewed by Timothy Hatcher.
When WebDriver adds a cookie for 'localhost', it actually uses the domain '.localhost' per RFC.
When deleting cookies, we first fetch all cookies matching the document's hostname, and
then delete them one by one. However, this code path does not add the dot prefix. This causes
no cookies to match the requested domain, and thus none of them are deleted.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::domainByAddingDotPrefixIfNeeded): Extract this helper method.
(WebKit::WebAutomationSession::addSingleCookie): Use helper method.
(WebKit::WebAutomationSession::deleteAllCookies): Add a dot prefix when
requesting to delete all cookies for a hostname.
- 8:56 PM Changeset in webkit [230366] by
-
- 2 edits in trunk/Tools
Rebaseline LayoutReloaded patch file.
- LayoutReloaded/misc/LayoutReloadedWebKit.patch:
- 8:48 PM Changeset in webkit [230365] by
-
- 19 edits4 copies8 adds in trunk
Response headers should be filtered when sent from NetworkProcess to WebProcess
https://bugs.webkit.org/show_bug.cgi?id=184310
Reviewed by Ryosuke Niwa.
Source/WebCore:
Did some refactoring to allow ResourceResponse to use header value parsing routines.
We add sanitization levels for regular responses in case responses might be exposed to scripts or not.
If not exposed to scripts, additional filtering is done.
Add internal API to get unfiltered response headers from a fetch response.
Test: http/wpt/service-workers/header-filtering.https.html
- Modules/fetch/FetchResponse.h:
- loader/CrossOriginPreflightResultCache.cpp:
(WebCore::CrossOriginPreflightResultCacheItem::parse):
- platform/network/HTTPParsers.h:
(WebCore::addToAccessControlAllowList):
(WebCore::parseAccessControlAllowList):
- platform/network/ResourceResponseBase.cpp:
(WebCore::isSafeToKeepRedirectionResponseHeader):
(WebCore::isCrossOriginSafeToKeepResponseHeader):
(WebCore::ResourceResponseBase::sanitizeHTTPHeaderFields):
- platform/network/ResourceResponseBase.h:
- testing/ServiceWorkerInternals.cpp:
(WebCore::ServiceWorkerInternals::fetchResponseHeaderList):
- testing/ServiceWorkerInternals.h:
- testing/ServiceWorkerInternals.idl:
Source/WebKit:
Pass destination parameter to NetworkResourceLoader.
Use new sanitization routine to filter response headers as needed:
- Cross-origin routines are filtered by removing any non CORS allowed headers.
- Same-origin responses are filtered by removing non used headers, except when filtering would be visible by JS (XHR, fetch).
In all cases, Set-Cookie/Set-Cookie2 headers are filtered out.
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
- NetworkProcess/NetworkResourceLoadParameters.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::sanitizeResponseIfPossible):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
(WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry):
- NetworkProcess/NetworkResourceLoader.h:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::updatePreferencesStore):
LayoutTests:
Rebased tests for WK2 as Server response header is now filtered out for cross-origin and not fetch/XHR loads.
- http/wpt/service-workers/header-filtering-worker.js: Added.
- http/wpt/service-workers/header-filtering.https-expected.txt: Added.
Some tests are failing as navigation loads are not yet filtered and we
have no good way yet to detect cross origin loads.
- http/wpt/service-workers/header-filtering.https.html: Added.
- http/wpt/service-workers/resources/header-filtering-iframe.html: Added.
- http/wpt/service-workers/resources/response-full-of-headers.py: Added.
- http/tests/webarchive/cross-origin-stylesheet-crash-expected.txt: Added.
- http/tests/webarchive/test-preload-resources-expected.txt: Added.
- platform/mac-wk1/http/tests/webarchive/cross-origin-stylesheet-crash-expected.txt: Added.
- platform/mac-wk1/http/tests/webarchive/test-preload-resources-expected.txt: Added.
- platform/win/http/tests/webarchive/cross-origin-stylesheet-crash-expected.txt: Added.
- platform/win/http/tests/webarchive/test-preload-resources-expected.txt: Added.
- 5:33 PM Changeset in webkit [230364] by
-
- 2 edits in trunk/LayoutTests
Mark fast/loader/submit-form-while-parsing-2.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=184051
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 5:31 PM Changeset in webkit [230363] by
-
- 7 edits in branches/safari-605-branch/Source
Versioning.
- 5:30 PM Changeset in webkit [230362] by
-
- 1 copy in tags/Safari-605.2.3
Tag Safari-605.2.3.
- 5:20 PM Changeset in webkit [230361] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
Rebaseline imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer.html after r230350.
Unreviewed test gardening.
- web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt:
- 5:00 PM Changeset in webkit [230360] by
-
- 5 edits in trunk/Source
Source/bmalloc:
bmalloc virtual allocation API should not treat memory it vends as dirty with respect to how it drives the scavenger
https://bugs.webkit.org/show_bug.cgi?id=184342
Reviewed by Mark Lam.
Currently, the only user of this API is Wasm. Ideally, Wasm would tell
us exactly which page is dirtied. We should really do that at some point:
https://bugs.webkit.org/show_bug.cgi?id=184207
However, until we do that, it's better to treat none of the virtual memory
we vend as dirty, versus what we do now, which is treat it all as dirty.
This dirty memory tracking helps drive the scavenger, so on iOS, having the
scavenger think its under memory pressure because of memory it can't free isn't
useful.
- bmalloc/bmalloc.cpp:
(bmalloc::api::tryLargeZeroedMemalignVirtual):
(bmalloc::api::freeLargeVirtual):
- bmalloc/bmalloc.h:
Source/WTF:
bmalloc's tryLargeZeroedMemalignVirtual shouldn't treat the entire virtual size as dirty towards its footprint
https://bugs.webkit.org/show_bug.cgi?id=184207
Reviewed by Mark Lam.
- wtf/Gigacage.cpp:
(Gigacage::freeVirtualPages):
- 4:53 PM Changeset in webkit [230359] by
-
- 2 edits in trunk/Source/WebKit
Make all sync IPCs during ScriptDisallowedScope set DoNotProcessIncomingMessagesWhenWaitingForSyncReply
https://bugs.webkit.org/show_bug.cgi?id=182449
<rdar://problem/39222541>
Reviewed by Chris Dumez.
Release assert that a sync IPC inside ScriptDisallowedScope sets DoNotProcessIncomingMessagesWhenWaitingForSyncReply
to avoid executing arbitrary scripts as a result of processing incoming sync IPCs.
- Platform/IPC/Connection.h:
(IPC::Connection::sendSync): Added the release assertion.
- 4:26 PM Changeset in webkit [230358] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix unused parameter warning when credential storage is disabled
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::getCredentialFromPersistentStorage):
- 4:26 PM Changeset in webkit [230357] by
-
- 3 edits in trunk/Source/WebCore
[Extra zoom mode] Block playback until fullscreen begins
https://bugs.webkit.org/show_bug.cgi?id=184371
<rdar://problem/39250891>
Reviewed by Youenn Fablet.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updatePlayState): Return early when waiting to enter fullscreen.
(WebCore::HTMLMediaElement::enterFullscreen): Set m_waitingToEnterFullscreen.
(WebCore::HTMLMediaElement::exitFullscreen): Clear m_waitingToEnterFullscreen.
(WebCore::HTMLMediaElement::didBecomeFullscreenElement): Ditto.
- html/HTMLMediaElement.h:
- 3:54 PM Changeset in webkit [230356] by
-
- 3 edits in trunk/Source/WebCore
WebCore::screenSupportsExtendedColor improperly calls NSScreen functions in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=184364
<rdar://problem/39246314>
Reviewed by Per Arne Vollan.
The WebContent process is interacting directly with NSScreen to determine if the current screen
has extended color support. This should be brokered from the UIProcess.
Tested by fast/media/mq-color-gamut.html.
- platform/ScreenProperties.h:
(WebCore::ScreenProperties::encode const): Add screenSupportsExtendedColor.
(WebCore::ScreenProperties::decode): Ditto.
- platform/mac/PlatformScreenMac.mm:
(WebCore::getScreenProperties): Retrieve extended color support.
(WebCore::screenSupportsExtendedColor): Retrieve cached version when in the WebContent
process. Assert that NSScreen is not accessed in the WebContent process.
- 1:30 PM Changeset in webkit [230355] by
-
- 5 edits in trunk
[Win][WebCore] Expose a constant for scrollbar pixels per line (cScrollbarPixelsPerLine)
https://bugs.webkit.org/show_bug.cgi?id=184296
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (No behavior changes).
- platform/PlatformWheelEvent.h: Placed cScrollbarPixelsPerLine definition.
- platform/win/WheelEventWin.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent): Removed cScrollbarPixelsPerLine definition.
Tools:
- DumpRenderTree/win/EventSender.cpp:
(mouseScrollBy): Removed the duplicated cScrollbarPixelsPerLine
definition. Use WebCore::cScrollbarPixelsPerLine.
- 1:21 PM Changeset in webkit [230354] by
-
- 2 edits in trunk/LayoutTests
Mark three wpt LayoutTests as slow on iOS
https://bugs.webkit.org/show_bug.cgi?id=184278
Unreviewed test gardening.
These tests were marked as slow for macOS debug, but not for iOS.
- platform/ios/TestExpectations:
- 1:05 PM Changeset in webkit [230353] by
-
- 7 edits247 adds in trunk/LayoutTests
Import wpt webaudio tests
https://bugs.webkit.org/show_bug.cgi?id=184348
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- web-platform-tests/webaudio/: Added.
LayoutTests:
- TestExpectations:
- resources/testharnessreport.js: Mock AudioContext with webkitAudioContext for wpt tests only.
- 12:43 PM Changeset in webkit [230352] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed test fix after r230323
- platform/mac/PlatformScreenMac.mm:
(WebCore::screenSupportsExtendedColor): Remove assertion hit during test runs.
- 12:37 PM Changeset in webkit [230351] by
-
- 3 edits in trunk/Source/WebCore
WebCore::screenColorSpace is retrieving CGColorSpace from NSScreen directly
https://bugs.webkit.org/show_bug.cgi?id=184343
<rdar://problem/39224881>
Reviewed by Per Arne Vollan.
Revise ScreenProperties to serialize the screen's color space, and later
retrieve that in the WebContent process. This allows us to close off
the CGSWindowServer connection.
- platform/ScreenProperties.h:
(WebCore::ScreenProperties::encode const): Add CGColorSpaceRef support.
(WebCore::ScreenProperties::decode): Ditto.
- platform/mac/PlatformScreenMac.mm:
(WebCore::displayID): Add assertion to prevent use in WebContent process.
(WebCore::firstScreen): Ditto.
(WebCore::getScreenProperties): Add support for CGColorSpaceRef.
(WebCore::screenColorSpace): Retrieve cached version when in WebContent process.
Assert that NSScreen is not accessed in WebContent process.
- 12:33 PM Changeset in webkit [230350] by
-
- 12 edits in trunk
Implement createImageBitmap(Blob)
https://bugs.webkit.org/show_bug.cgi?id=183247
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
Update expectations.
- web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt:
- web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
Source/WebCore:
Tests:
- imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage.html
- imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args.html
- fileapi/FileReaderLoader.h:
(WebCore::FileReaderLoader::url): expose the Blob's URL.
- html/ImageBitmap.cpp: implement createImageBitmap(Blob).
- html/ImageBitmap.h: allow the BlobImageObserver class access to the creation function.
- loader/cache/CachedImage.cpp: reuse extracted code.
(WebCore::CachedImage::isPDFResource const):
(WebCore::CachedImage::isPostScriptResource const):
(WebCore::CachedImage::createImage):
- platform/graphics/Image.cpp: extract some code from CachedImage to reuse.
(WebCore::Image::create):
(WebCore::Image::isPDFResource):
(WebCore::Image::isPostScriptResource):
- platform/graphics/Image.h: add declarations.
LayoutTests:
Update expectations.
- platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
- 12:31 PM Changeset in webkit [230349] by
-
- 3 edits2 adds in trunk
Flex child does not get repainted when it is inserted back to the render tree.
https://bugs.webkit.org/show_bug.cgi?id=184361
<rdar://problem/34528716>
Reviewed by Antti Koivisto.
Source/WebCore:
As with any regular block children, we should issue full repaint for flexbox items on their
first layout (see RenderBlockFlow::layoutBlockChild()).
Test: fast/flexbox/missing-repaint-when-flext-item-never-had-layout.html
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
LayoutTests:
- fast/flexbox/missing-repaint-when-flext-item-never-had-layout-expected.txt: Added.
- fast/flexbox/missing-repaint-when-flext-item-never-had-layout.html: Added.
- 12:20 PM Changeset in webkit [230348] by
-
- 6 edits3 adds in trunk
Support transferring ImageBitmap objects
https://bugs.webkit.org/show_bug.cgi?id=183131
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:
- web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt: Added.
- web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer.html: Added.
- web-platform-tests/2dcontext/imagebitmap/transfer-worker.js: Added.
Source/WebCore:
Test: imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer.html
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize): thread through ImageBitmaps.
(WebCore::CloneSerializer::CloneSerializer): thread through ImageBitmaps.
(WebCore::CloneSerializer::fillTransferMap): don't require a mutable reference.
(WebCore::CloneSerializer::dumpImageBitmap): add.
(WebCore::CloneSerializer::dumpIfTerminal): check for ImageBitmap.
(WebCore::CloneDeserializer::deserialize): thread through ImageBitmaps.
(WebCore::CloneDeserializer::CloneDeserializer): thread through ImageBitmaps.
(WebCore::CloneDeserializer::readImageBitmap): add.
(WebCore::CloneDeserializer::readTerminal): check for ImageBitmap.
(WebCore::SerializedScriptValue::SerializedScriptValue): thread through ImageBitmaps.
(WebCore::SerializedScriptValue::create): thread through ImageBitmaps.
(WebCore::containsDuplicates): add.
(WebCore::SerializedScriptValue::deserialize): handle ImageBitmap arguments.
- bindings/js/SerializedScriptValue.h: update signatures, add member.
- html/ImageBitmap.cpp:
(WebCore::ImageBitmap::create): add.
(WebCore::ImageBitmap::detachBitmaps): add.
- html/ImageBitmap.h: add signatures.
- 12:19 PM Changeset in webkit [230347] by
-
- 7 edits in trunk/Source/WebCore
When recording the drawing, the DisplayList should be initialized with the GraphicsContextState of the underlying GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=184336
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-04-06
Reviewed by Antti Koivisto.
The state of the drawing context has to be transfered to the recording
DisplayList before recording. Many recording GraphicsContext functions
will behave wrongly if it gets the default state.
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::DisplayListDrawingContext::DisplayListDrawingContext):
(WebCore::CanvasRenderingContext2DBase::drawingContext const):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::Recorder):
- platform/graphics/displaylists/DisplayListRecorder.h:
(WebCore::DisplayList::Recorder::ContextState::ContextState):
(WebCore::DisplayList::Recorder::ContextState::cloneForSave const):
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::Replayer::replay):
- platform/graphics/displaylists/DisplayListReplayer.h:
(WebCore::DisplayList::Replayer::replay): If we do not have a clipping
rectangle and we want to record all the drawing, we need a default value
for the clipping rectangle and we want no clipping to happen.
- 12:15 PM Changeset in webkit [230346] by
-
- 11 edits3 adds in trunk
Emit a more informative message when a script is blocked due to "X-Content-Type: nosniff"
https://bugs.webkit.org/show_bug.cgi?id=184359
Reviewed by Per Arne Vollan.
Source/WebCore:
Emphasize in the message that the script was blocked from executing.
Test: http/tests/security/contentTypeOptions/nosniff-importScript-blocked.html
- dom/LoadableClassicScript.cpp:
(WebCore::LoadableClassicScript::notifyFinished):
- workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::didReceiveResponse):
LayoutTests:
Adds a test to ensure we block importing scripts into a Web Worker whose HTTP responses
include "X-Content-Type: nosniff" and have a non script MIME type.
Also update existing expected results.
- http/tests/security/contentTypeOptions/invalid-content-type-options-allowed-expected.txt:
- http/tests/security/contentTypeOptions/nosniff-dynamic-script-blocked-expected.txt:
- http/tests/security/contentTypeOptions/nosniff-importScript-blocked-expected.txt: Added.
- http/tests/security/contentTypeOptions/nosniff-importScript-blocked.html: Added.
- http/tests/security/contentTypeOptions/nosniff-script-allowed-expected.txt:
- http/tests/security/contentTypeOptions/nosniff-script-blocked-expected.txt:
- http/tests/security/contentTypeOptions/nosniff-script-without-content-type-blocked-expected.txt:
- http/tests/security/contentTypeOptions/resources/nosniff-importScript-blocked.js: Added.
(let.mimeType.of.unscriptyMIMETypes.catch):
- http/tests/security/contentTypeOptions/resources/script-with-header.pl:
- http/tests/security/module-correct-mime-types-expected.txt:
- 12:12 PM Changeset in webkit [230345] by
-
- 6 edits in trunk
importScripts() should throw exception with a reason when it fails to load a script from the network
https://bugs.webkit.org/show_bug.cgi?id=184345
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Currently importScripts() throws a NetworkError exception without a reason when
it fails to load a script from the network. It is ambiguous whether the load failed
due to an access control failure or some other error. Instead we should include
the reason the load failed in the thrown exception.
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::importScripts):
LayoutTests:
Update expected results.
- http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
- http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
- http/tests/workers/worker-importScripts-expected.txt:
- 12:08 PM Changeset in webkit [230344] by
-
- 2 edits in trunk/Tools
Rebaseline LayoutReloaded patch file.
- LayoutReloaded/misc/LayoutReloadedWebKit.patch:
- 12:07 PM Changeset in webkit [230343] by
-
- 2 edits in trunk/LayoutTests
Remove pass expectation for LayoutTest imported/w3c/web-platform-tests/FileAPI/url/sandboxed-iframe.html
https://bugs.webkit.org/show_bug.cgi?id=184362
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:26 AM Changeset in webkit [230342] by
-
- 2 edits in trunk/Source/WebCore
Attempt to fix the build after <https://trac.webkit.org/changeset/230338>
(https://bugs.webkit.org/show_bug.cgi?id=184360)
Make lambdas mutable so that we can WTFMove() their captured arguments.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionFailed):
(WebCore::LibWebRTCMediaEndpoint::setLocalSessionDescriptionFailed):
(WebCore::LibWebRTCMediaEndpoint::setRemoteSessionDescriptionFailed):
- 11:13 AM Changeset in webkit [230341] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore/PAL
Cherry-pick r230311. rdar://problem/39217770
Add necessary colon to CFNetwork selector
https://bugs.webkit.org/show_bug.cgi?id=184335
<rdar://problem/39213124>
Reviewed by Brent Fulgham.
- pal/spi/cf/CFNetworkSPI.h: (setIgnoreHSTS):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:11 AM WebKitGTK/2.20.x edited by
- (diff)
- 10:47 AM Changeset in webkit [230340] by
-
- 7 edits in tags/Safari-606.1.12.1/Source
Versioning.
- 10:45 AM Changeset in webkit [230339] by
-
- 1 copy in tags/Safari-606.1.12.1
New tag.
- 10:45 AM Changeset in webkit [230338] by
-
- 5 edits in trunk/Source/WebCore
Have class Exception take String by value instead of a String&&
https://bugs.webkit.org/show_bug.cgi?id=184360
Reviewed by Alexey Proskuryakov.
For convenience support instantiating an Exception with either an lvalue String or
rvalue String.
Although it can be argued that having Exception take a String by value instead of String&&
can lead to missed opportunities to WTFMove() a String object into Exception such mistakes
are just that, missed opportunities. That is, correctness is not affected and we may perform
an unnecessary ref/deref of the underlying StringImpl when instantiating an Exception. If
such missed opportunities show up in profiles and such mistakes happen often then we can
re-evaluate the decision to have Exception take a String by value.
- Modules/cache/DOMCache.cpp:
(WebCore::DOMCache::put): Simplify code now that Exception takes a String by value.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::BodyLoader::didFail): Ditto.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionFailed): Move String into Exception to avoid an
unnecessary ref/de-ref.
(WebCore::LibWebRTCMediaEndpoint::setLocalSessionDescriptionFailed): Ditto.
(WebCore::LibWebRTCMediaEndpoint::setRemoteSessionDescriptionFailed): Ditto.
- dom/Exception.h:
(WebCore::Exception::Exception): Take String by value. Also use uniform initializer syntax.
- 10:44 AM Changeset in webkit [230337] by
-
- 1 delete in tags/Safari-606.1.13
Delete tag.
- 10:42 AM Changeset in webkit [230336] by
-
- 1 copy in tags/Safari-606.1.13
New tag.
- 10:22 AM Changeset in webkit [230335] by
-
- 7 edits in branches/safari-605-branch/Source
Versioning.
- 9:29 AM Changeset in webkit [230334] by
-
- 10 edits in trunk/Source/WebCore
Tighten ImageSource to have BitmapImage pointer instead of Image
https://bugs.webkit.org/show_bug.cgi?id=184356
Reviewed by Said Abou-Hallawa.
ImageSource is an implementation detail of BitmapImage, not a generic type.
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::decode):
- platform/graphics/BitmapImage.h:
- platform/graphics/Image.h:
(WebCore::Image::decode): Deleted.
(WebCore::Image::imageFrameAvailableAtIndex): Deleted.
Also make some BitmapImage specific functions non-virtual and remove them from Image.
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::ImageSource):
- platform/graphics/ImageSource.h:
(WebCore::ImageSource::create):
Make constructors private.
- platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):
- 9:26 AM Changeset in webkit [230333] by
-
- 2 edits in trunk/JSTests
Add svn:eol-style to line-terminator-normalisation-CR.js
https://bugs.webkit.org/show_bug.cgi?id=184341
- test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js: Added property svn:eol-style.
- 9:16 AM Changeset in webkit [230332] by
-
- 2 edits in trunk/JSTests
Unreviewed, remove errant LF from existing test262 test for CR line endings.
- test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js:
- 9:07 AM Changeset in webkit [230331] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed test fix after r230323
- platform/mac/PlatformScreenMac.mm:
(WebCore::screen): Remove assertion we still hit due to event handling code.
- 8:53 AM Changeset in webkit [230330] by
-
- 99 edits2 moves34 adds10 deletes in trunk/LayoutTests
Sync 2dcontext, FileAPI, IndexedDB, background-fetch, credential-management, custom-elements, dom, encoding, and fetch web-platform-tests to 94b33b573a069ae5170104ca581a354a35762536
https://bugs.webkit.org/show_bug.cgi?id=184299
Patch by Brendan McLoughlin <brendan@bocoup.com> on 2018-04-06
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/2dcontext/imagebitmap/common.sub.js:
(makeMakeHTMLImage.return.new.Promise): Deleted.
- web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub.html:
- web-platform-tests/FileAPI/BlobURL/support/file_test1.js: Removed.
- web-platform-tests/FileAPI/BlobURL/support/file_test3.html: Removed.
- web-platform-tests/FileAPI/FileReader/w3c-import.log:
- web-platform-tests/FileAPI/blob/Blob-XHR-revoke-expected.txt: Removed.
- web-platform-tests/FileAPI/blob/Blob-XHR-revoke.html: Removed.
- web-platform-tests/FileAPI/blob/Blob-constructor-expected.txt:
- web-platform-tests/FileAPI/blob/Blob-constructor.html:
- web-platform-tests/FileAPI/blob/Blob-slice-overflow.html:
- web-platform-tests/FileAPI/blob/w3c-import.log:
- web-platform-tests/FileAPI/file/File-constructor-expected.txt:
- web-platform-tests/FileAPI/file/File-constructor.html:
- web-platform-tests/FileAPI/file/w3c-import.log:
- web-platform-tests/FileAPI/url/blob-url-in-sandboxed-iframe-expected.txt: Removed.
- web-platform-tests/FileAPI/url/blob-url-in-sandboxed-iframe.html: Removed.
- web-platform-tests/FileAPI/url/cross-global-revoke.sub-expected.txt: Added.
- web-platform-tests/FileAPI/url/cross-global-revoke.sub.html: Added.
- web-platform-tests/FileAPI/url/resources/create-helper.html: Added.
- web-platform-tests/FileAPI/url/resources/create-helper.js: Added.
- web-platform-tests/FileAPI/url/resources/fetch-tests.js: Added.
(fetch_tests):
- web-platform-tests/FileAPI/url/resources/revoke-helper.html: Added.
- web-platform-tests/FileAPI/url/resources/revoke-helper.js: Added.
- web-platform-tests/FileAPI/url/sandboxed-iframe-expected.txt: Added.
- web-platform-tests/FileAPI/url/sandboxed-iframe.html: Added.
- web-platform-tests/FileAPI/url/unicode-origin.sub-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/FileAPI/url/origin.sub-expected.txt.
- web-platform-tests/FileAPI/url/unicode-origin.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/FileAPI/url/origin.sub.html.
- web-platform-tests/FileAPI/url/url-format.any-expected.txt: Added.
- web-platform-tests/FileAPI/url/url-format.any.html: Added.
- web-platform-tests/FileAPI/url/url-format.any.js: Added.
(test):
- web-platform-tests/FileAPI/url/url-format.any.worker-expected.txt: Added.
- web-platform-tests/FileAPI/url/url-format.any.worker.html: Added.
- web-platform-tests/FileAPI/url/url-in-tags.window.js: Added.
(async_test.t.e.onload.t.step_func_done):
(async_test.t.frame.onload.t.step_func_done):
- web-platform-tests/FileAPI/url/url-lifetime-expected.txt: Added.
- web-platform-tests/FileAPI/url/url-lifetime.html: Added.
- web-platform-tests/FileAPI/url/url-with-fetch.any-expected.txt: Added.
- web-platform-tests/FileAPI/url/url-with-fetch.any.html: Added.
- web-platform-tests/FileAPI/url/url-with-fetch.any.js: Added.
(fetch_should_succeed):
(promise_test):
- web-platform-tests/FileAPI/url/url-with-fetch.any.worker-expected.txt: Added.
- web-platform-tests/FileAPI/url/url-with-fetch.any.worker.html: Added.
- web-platform-tests/FileAPI/url/url-with-xhr.any-expected.txt: Added.
- web-platform-tests/FileAPI/url/url-with-xhr.any.html: Added.
- web-platform-tests/FileAPI/url/url-with-xhr.any.js: Added.
(xhr_should_succeed):
(async_test.t.xhr.onloadend.t.step_func_done):
(async_test.t.xhr.onload.t.step_func_done):
- web-platform-tests/FileAPI/url/url-with-xhr.any.worker-expected.txt: Added.
- web-platform-tests/FileAPI/url/url-with-xhr.any.worker.html: Added.
- web-platform-tests/FileAPI/url/url_createobjecturl_blob-expected.txt: Removed.
- web-platform-tests/FileAPI/url/url_createobjecturl_blob.html: Removed.
- web-platform-tests/FileAPI/url/url_xmlhttprequest.html: Removed.
- web-platform-tests/FileAPI/url/url_xmlhttprequest_img.html:
- web-platform-tests/FileAPI/url/w3c-import.log:
- web-platform-tests/FileAPI/w3c-import.log:
- web-platform-tests/IndexedDB/README.md:
- web-platform-tests/IndexedDB/interleaved-cursors.html: Removed.
- web-platform-tests/IndexedDB/w3c-import.log:
- web-platform-tests/background-fetch/mixed-content-and-allowed-schemes.https.window.js:
(backgroundFetchTest):
- web-platform-tests/background-fetch/w3c-import.log:
- web-platform-tests/credential-management/credentialscontainer-create-basics.https-expected.txt:
- web-platform-tests/credential-management/credentialscontainer-create-basics.https.html:
- web-platform-tests/custom-elements/Document-createElement-expected.txt:
- web-platform-tests/custom-elements/Document-createElement.html:
- web-platform-tests/custom-elements/OWNERS:
- web-platform-tests/custom-elements/attribute-changed-callback-expected.txt:
- web-platform-tests/custom-elements/attribute-changed-callback.html:
- web-platform-tests/custom-elements/custom-element-registry/w3c-import.log:
- web-platform-tests/custom-elements/parser/parser-sets-attributes-and-children-expected.txt:
- web-platform-tests/custom-elements/parser/parser-sets-attributes-and-children.html:
- web-platform-tests/custom-elements/parser/parser-uses-registry-of-owner-document-expected.txt:
- web-platform-tests/custom-elements/parser/parser-uses-registry-of-owner-document.html:
- web-platform-tests/custom-elements/parser/w3c-import.log:
- web-platform-tests/custom-elements/reactions/CSSStyleDeclaration-expected.txt:
- web-platform-tests/custom-elements/reactions/CSSStyleDeclaration.html:
- web-platform-tests/custom-elements/reactions/Document.html:
- web-platform-tests/custom-elements/reactions/HTMLElement-expected.txt:
- web-platform-tests/custom-elements/reactions/HTMLElement.html:
- web-platform-tests/custom-elements/reactions/w3c-import.log:
- web-platform-tests/custom-elements/resources/custom-elements-helpers.js:
(CustomElement):
(CustomElement.prototype.attributeChangedCallback):
(CustomElement.prototype.connectedCallback):
(CustomElement.prototype.disconnectedCallback):
(CustomElement.prototype.adoptedCallback):
(document_types.return.create): Deleted.
(document_types.create): Deleted.
(document_types.): Deleted.
(document_types): Deleted.
- web-platform-tests/custom-elements/resources/w3c-import.log:
- web-platform-tests/custom-elements/upgrading/Node-cloneNode-expected.txt:
- web-platform-tests/custom-elements/upgrading/Node-cloneNode.html:
- web-platform-tests/custom-elements/upgrading/w3c-import.log:
- web-platform-tests/custom-elements/w3c-import.log:
- web-platform-tests/dom/nodes/Element-classlist.html:
- web-platform-tests/dom/nodes/w3c-import.log:
- web-platform-tests/encoding/big5-encoder-expected.txt:
- web-platform-tests/encoding/big5-encoder.html:
- web-platform-tests/encoding/gbk-encoder-expected.txt:
- web-platform-tests/encoding/gbk-encoder.html:
- web-platform-tests/fetch/README.md:
- web-platform-tests/fetch/api/abort/general.any.js:
- web-platform-tests/fetch/api/basic/integrity.js:
- web-platform-tests/fetch/api/cors/cors-expose-star.js:
(string_appeared_here.promise_test):
- web-platform-tests/fetch/api/cors/cors-filtering.js:
- web-platform-tests/fetch/api/cors/cors-preflight-star.any-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight-star.any.js:
- web-platform-tests/fetch/api/cors/cors-preflight-star.any.worker-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-location.js:
- web-platform-tests/fetch/api/redirect/redirect-method-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-method-worker-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-method.js:
(redirectMethod):
- web-platform-tests/fetch/api/redirect/redirect-mode-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-mode-worker-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-mode.js:
(redirectMode):
- web-platform-tests/fetch/api/request/request-disturbed-expected.txt:
- web-platform-tests/fetch/api/request/request-disturbed.html:
- web-platform-tests/fetch/api/request/request-keepalive-expected.txt:
- web-platform-tests/fetch/api/request/request-keepalive-quota-expected.txt:
- web-platform-tests/fetch/api/request/request-keepalive-quota.html:
- web-platform-tests/fetch/api/request/request-keepalive.html:
- web-platform-tests/fetch/api/resources/redirect.py:
(main):
- web-platform-tests/fetch/api/resources/trickle.py:
(main):
- web-platform-tests/fetch/api/response/response-consume.html:
- web-platform-tests/fetch/api/response/response-init-002-expected.txt:
- web-platform-tests/fetch/api/response/response-init-002.html:
- web-platform-tests/fetch/api/response/response-trailer-expected.txt:
- web-platform-tests/fetch/api/response/response-trailer.html:
- web-platform-tests/fetch/data-urls/resources/base64.json: Added.
- web-platform-tests/fetch/http-cache/cc-request.html:
- web-platform-tests/fetch/http-cache/heuristic.html:
- web-platform-tests/fetch/http-cache/partial.html:
- web-platform-tests/fetch/http-cache/vary-expected.txt:
- web-platform-tests/fetch/http-cache/vary.html:
- web-platform-tests/fetch/nosniff/importscripts.js:
(string_appeared_here.forEach):
- web-platform-tests/fetch/nosniff/resources/css.py:
(main):
- web-platform-tests/fetch/nosniff/script-expected.txt:
- web-platform-tests/fetch/nosniff/script.html:
- web-platform-tests/fetch/nosniff/stylesheet-expected.txt:
- web-platform-tests/fetch/nosniff/stylesheet.html:
- web-platform-tests/fetch/nosniff/worker-expected.txt:
- web-platform-tests/fetch/nosniff/worker.html:
LayoutTests:
- TestExpectations:
- platform/gtk/TestExpectations:
- platform/ios-simulator/TestExpectations:
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk1/imported/w3c/web-platform-tests/FileAPI/url/url-with-fetch.any-expected.txt: Added.
- platform/mac-wk1/imported/w3c/web-platform-tests/FileAPI/url/url-with-fetch.any.worker-expected.txt: Added.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- platform/wpe/TestExpectations:
Apr 5, 2018:
- 11:56 PM Changeset in webkit [230329] by
-
- 1 edit1 delete in trunk/JSTests
Unreviewed, rolling out r230320.
Revert fix, as the root cause lies elsewhere.
Reverted changeset:
"[test262] Mark line-terminator-normalisation-CR.js as a
binary file."
https://bugs.webkit.org/show_bug.cgi?id=184341
https://trac.webkit.org/changeset/230320
- 11:47 PM Changeset in webkit [230328] by
-
- 3 edits5 adds in trunk/LayoutTests
Add a test for scoped cookies used to load AppCache resources
https://bugs.webkit.org/show_bug.cgi?id=184315
Reviewed by Ryosuke Niwa.
- http/tests/appcache/document-cookie-http-only-expected.txt:
- http/tests/appcache/document-cookie-http-only.php:
- http/tests/appcache/resources/manifest-protected-script.php: Added.
- http/tests/appcache/resources/scope1/cookie-protected-manifest.php: Added.
- http/tests/appcache/resources/scope2/cookie-protected-script.php: Added.
- 11:18 PM Changeset in webkit [230327] by
-
- 2 edits in trunk/Source/JavaScriptCore
MacroAssemblerCodePtr::retagged() should not re-decorate the pointer on ARMv7.
https://bugs.webkit.org/show_bug.cgi?id=184347
<rdar://problem/39183165>
Reviewed by Michael Saboff.
- assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
(JSC::MacroAssemblerCodePtr::retagged const):
- 10:23 PM Changeset in webkit [230326] by
-
- 7 edits in trunk/Source
REGRESSION (r230223): LayoutTest http/tests/contentextensions/css-display-none-overflows-rule-data-1.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=184306
Reviewed by Ryosuke Niwa.
Source/WebCore:
Add an option to not compile CSS rules since they are not useful in NetworkProcess.
Covered by tests no longer crashing in Debug WK2 bots.
- contentextensions/ContentExtension.cpp:
(WebCore::ContentExtensions::ContentExtension::create):
(WebCore::ContentExtensions::ContentExtension::ContentExtension):
- contentextensions/ContentExtension.h:
- contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::addContentExtension):
- contentextensions/ContentExtensionsBackend.h:
Source/WebKit:
- NetworkProcess/NetworkContentRuleListManager.cpp:
(WebKit::NetworkContentRuleListManager::addContentRuleLists):
- 10:00 PM Changeset in webkit [230325] by
-
- 3 edits in trunk/Tools
Test expectation updater should handle Win bot results
https://bugs.webkit.org/show_bug.cgi?id=184274
Reviewed by Ryosuke Niwa.
Add processing of win bot results.
They will update platform/win results.
Updated the script so that if there is no mac-wk2 results, it will still process specific results.
- Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py:
(TestExpectationUpdater.init):
(TestExpectationUpdater._bot_type):
(TestExpectationUpdater.do_update):
- Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py:
(MockAttachment):
(MockAttachment.init):
(MockAttachment.contents):
(MockBugzilla):
(MockBugzilla.init):
(MockBugzilla.fetch_bug):
(MockBugzilla.attachments):
(MockZip):
(MockZip.init):
(MockZip.unzip):
(MockZip.read):
(TestExpectationUpdaterTest.test_update_test_expectations):
(TestExpectationUpdaterTest):
(TestExpectationUpdaterTest.test_update_win_future_test_expectations):
- 9:57 PM Changeset in webkit [230324] by
-
- 4 edits1 add in trunk/Tools
[LayoutReloaded] Fix static position for floating boxes when they don't fit the current line
https://bugs.webkit.org/show_bug.cgi?id=184354
Reviewed by Antti Koivisto.
Do not shrink the current line with the floating box unless it is on the current line.
- LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
(InlineFormattingContext.prototype._handleFloatingBox):
(InlineFormattingContext.prototype._mapFloatingVerticalPosition):
- LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
(Line.prototype.addFloatingBox):
(Line):
- LayoutReloaded/test/index.html:
- LayoutReloaded/test/inline-with-right-floats3.html: Added.
- 9:44 PM Changeset in webkit [230323] by
-
- 9 edits in trunk/Source
WebContent process is calling CGDisplayUsesInvertedPolarity
https://bugs.webkit.org/show_bug.cgi?id=184337
<rdar://problem/39215702>
Reviewed by Zalan Bujtas.
The PlatformScreenMac code is still calling display-related routines directly, specifically
CGDisplayUsesInvertedPolarity and CGDisplayUsesForceToGray. These should be brokered from
the UIProcess.
There's also no reason to avoid the brokering behavior on current WebKit builds. Remove
the compile guards so all macOS builds use this behavior.
Finally, add some ProcessPrivilege assertions to guard against accidentally calling these
routines in the future.
Source/WebCore:
Tested by existing regression tests.
- platform/PlatformScreen.h:
- platform/ScreenProperties.h:
(WebCore::ScreenProperties::encode const): Add new values.
(WebCore::ScreenProperties::decode):
- platform/mac/PlatformScreenMac.mm:
(WebCore::displayID): Add assertion that this is not calling display-related routines in
the WebContent process.
(WebCore::firstScreen): Ditto.
(WebCore::screenProperties): Moved higher in the file so it can be reused. Add calls to
CGDisplayUsesInvertedPolarity and CGDisplayUsesForceToGray.
(WebCore::getScreenProperties): Moved higher in the file so it can be reused. Stop
double-hashing displayID.
(WebCore::screenIsMonochrome): Use cached values in WebContent process. Assert if this
code attempts a display-related routine in the WebContent process.
(WebCore::screenHasInvertedColors): Ditto.
(WebCore::screenDepth): Add assertion that this is not calling display-related routines in
the WebContent process.
(WebCore::screenDepthPerComponent): Ditto.
(WebCore::screenRect): Ditto.
(WebCore::screenAvailableRect): Ditto.
(WebCore::screen): Ditto.
(WebCore::screenColorSpace): Ditto.
(WebCore::screenSupportsExtendedColor): Ditto.
Source/WebKit:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::initializeNewWebProcess): Activate screen brokering code for all builds.
- WebProcess/WebProcess.cpp: Ditto.
- WebProcess/WebProcess.h: Ditto.
- WebProcess/WebProcess.messages.in: Ditto.
- 8:18 PM Changeset in webkit [230322] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Fix a bug introduced in r230295 that A/B test result is not shown.
https://bugs.webkit.org/show_bug.cgi?id=184350
Reviewed by Ryosuke Niwa.
result.label should be assigned in
TestGroup._computeRequestedCommitSets
.
- public/v3/models/test-group.js:
(TestGroup.prototype._computeRequestedCommitSets):
- 8:10 PM Changeset in webkit [230321] by
-
- 4 edits2 adds in trunk/Tools
[LayoutReloaded] Add support for right floating boxes in inline formatting context
https://bugs.webkit.org/show_bug.cgi?id=184351
Reviewed by Antti Koivisto.
- LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
(InlineFormattingContext.prototype._handleFloatingBox):
(InlineFormattingContext.prototype._mapFloatingVerticalPosition):
- LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
(Line.prototype.addFloatingBox):
(Line):
- LayoutReloaded/test/index.html:
- LayoutReloaded/test/inline-with-right-float-simple.html: Added.
- LayoutReloaded/test/inline-with-right-floats2.html: Added.
- 7:38 PM Changeset in webkit [230320] by
-
- 1 edit1 add in trunk/JSTests
[test262] Mark line-terminator-normalisation-CR.js as a binary file.
https://bugs.webkit.org/show_bug.cgi?id=184341
Reviewed by Yusuke Suzuki.
This test is all about CR line endings, but
svn-apply
can't deal with them.
Treating the file as binary ensures that its contents never are never shown in a diff.
- .gitattributes: Added.
- 7:25 PM Changeset in webkit [230319] by
-
- 2 edits in trunk/Source/WebCore
Resource Load Statistics: Apply cookie blocking to setCookiesFromDOM()
https://bugs.webkit.org/show_bug.cgi?id=184346
<rdar://problem/39226036>
Reviewed by Brent Fulgham.
Since these cookies can't be seen and are not sent in requests, I
can't write an automated test for them. This really should have been
done as part of: https://bugs.webkit.org/show_bug.cgi?id=180682.
That said, I have tested this manually.
- platform/network/mac/CookieJarMac.mm:
(WebCore::setCookiesFromDOM):
- 7:12 PM Changeset in webkit [230318] by
-
- 5 edits1 add in trunk/Tools
[LayoutReloaded] Move floating box to the next line when needed
https://bugs.webkit.org/show_bug.cgi?id=184349
Reviewed by Antti Koivisto.
- LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
(InlineFormattingContext.prototype.layout):
(InlineFormattingContext.prototype._handleContent):
(InlineFormattingContext.prototype._handleText):
(InlineFormattingContext.prototype._handleFloatingBox):
(InlineFormattingContext.prototype._mapFloatingHorizontalPosition):
(InlineFormattingContext):
(InlineFormattingContext.prototype._handleFloatingBoxes): Deleted.
(InlineFormattingContext.prototype._floatingBoxes): Deleted.
- LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
(Line.prototype.addTextLineBox):
(Line.prototype.addFloatingBox):
(Line):
- LayoutReloaded/Utils.js:
(LayoutRect.prototype.moveHorizontally):
(LayoutRect.prototype.moveVertically):
- LayoutReloaded/test/index.html:
- LayoutReloaded/test/inline-with-floats-when-they-dont-fit.html: Added.
- 6:29 PM Changeset in webkit [230317] by
-
- 4 edits in trunk/Source/bmalloc
IsoHeapImpl not IsoHeapImplBase should add itself to AllIsoHeaps
https://bugs.webkit.org/show_bug.cgi?id=184174
Reviewed by Filip Pizlo.
Otherwise, another thread may see a non-fully formed IsoHeapImpl.
- bmalloc/IsoHeapImpl.cpp:
(bmalloc::IsoHeapImplBase::IsoHeapImplBase):
(bmalloc::IsoHeapImplBase::addToAllIsoHeaps):
- bmalloc/IsoHeapImpl.h:
- bmalloc/IsoHeapImplInlines.h:
(bmalloc::IsoHeapImpl<Config>::IsoHeapImpl):
- 5:45 PM Changeset in webkit [230316] by
-
- 1 copy in tags/Safari-605.2.2
Tag Safari-605.2.2.
- 4:18 PM Changeset in webkit [230315] by
-
- 4 edits in trunk
Process Swap on Navigation causes many webpages to hang due to attempted process swap for iframe navigations.
<rdar://problem/39162236> and https://bugs.webkit.org/show_bug.cgi?id=184318
Reviewed by Andy Estes.
Source/WebKit:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision): Don't consider a swap if the navigation is not in the main frame.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
(-[PSONScheme addMappingFromURLString:toData:]):
(-[PSONScheme webView:startURLSchemeTask:]):
- 2:21 PM Changeset in webkit [230314] by
-
- 3 edits in trunk/Source/WebKit
WebContent process sometimes hangs in WebProcess::ensureNetworkProcessConnection
https://bugs.webkit.org/show_bug.cgi?id=184326
Reviewed by Chris Dumez.
The hang was caused by UI process never sending the reply back to GetNetworkProcessConnection
due to m_pendingOutgoingMachMessage being set and the event handler for DISPATCH_MACH_SEND_POSSIBLE
never getting called. This is because the event handler registration happens asynchronously,
and may not have completed by the time we send the first IPC to the web content process
in which case it can timeout and we may never get the callback.
Fixed the hang by waiting for the event handler registration to be completed using
dispatch_source_set_registration_handler. To do this, this patch adds a new boolean instance variable,
m_isInitializingSendSource, to Connection which is set to true between the time mach port is created
and until the event handler registration has been completed. platformCanSendOutgoingMessages returns
false while m_isInitializingSendSource is set to prevent the attempt to send messages like we do when
m_pendingOutgoingMachMessage is set to true.
- Platform/IPC/Connection.h:
(IPC::Connection::m_isInitializingSendSource): Added.
- Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::platformInvalidate): Set m_isInitializingSendSource to false.
(IPC::Connection::sendMessage): Assert that m_isInitializingSendSource is false.
(IPC::Connection::platformCanSendOutgoingMessages const): Return false if m_isInitializingSendSource
is set to true.
(IPC::Connection::sendOutgoingMessage): Assert that m_isInitializingSendSource is false.
(IPC::Connection::initializeSendSource): Set m_isInitializingSendSource to true temporarily until
dispatch_source_set_registration_handler's callback is called. Resume and send any pending outgoing
messages.
(IPC::Connection::resumeSendSource): Extracted from initializeSendSource.
- 2:14 PM Changeset in webkit [230313] by
-
- 4 edits2 adds in trunk
Folding anonymous blocks should not result in deleting content.
https://bugs.webkit.org/show_bug.cgi?id=184339
<rdar://problem/37327428>
Reviewed by Antti Koivisto.
Source/WebCore:
While folding multiple anonymous blocks (moving the children from next sibling over to previous sibling)
we should ensure that the block we are about to destroy does not gain new descendants.
In case of 4 sibling anonymous blocks (A B C D), while destroying B
- we move C's children to A and destroy C.
- While destroying C, we notice B and C as sibling anonymous blocks and we move
D's children over to B (even though B is going to be destroyed as we climb back on the stack).
In this patch, B is detached from the tree before we start moving renderers around so that a subsequent folding won't
find B anymore as a candidate.
Test: fast/block/crash-while-folding-anonymous-blocks.html
- rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::RenderTreeBuilder::Block::detach):
LayoutTests:
- fast/block/crash-when-subtree-is-still-attached-expected.txt: Progressing. This test does not
intend to remove "foobar" text at all.
- fast/block/crash-while-folding-anonymous-blocks-expected.txt: Added.
- fast/block/crash-while-folding-anonymous-blocks.html: Added.
- 1:09 PM Changeset in webkit [230312] by
-
- 2 edits in trunk/Source/WebCore
Mark Payment Request as "Supported" in features.json
https://bugs.webkit.org/show_bug.cgi?id=184338
Reviewed by Anders Carlsson.
- features.json:
- 1:02 PM Changeset in webkit [230311] by
-
- 2 edits in trunk/Source/WebCore/PAL
Add necessary colon to CFNetwork selector
https://bugs.webkit.org/show_bug.cgi?id=184335
<rdar://problem/39213124>
Reviewed by Brent Fulgham.
- pal/spi/cf/CFNetworkSPI.h:
(setIgnoreHSTS):
- 12:12 PM Changeset in webkit [230310] by
-
- 3 edits in trunk/Source/JavaScriptCore
[MIPS] Optimize generated JIT code for branches
https://bugs.webkit.org/show_bug.cgi?id=183130
Patch by Stanislav Ocovaj <stanislav.ocovaj@rt-rk.com> on 2018-04-05
Reviewed by Yusuke Suzuki.
The patch https://bugs.webkit.org/show_bug.cgi?id=101328 added two nop instructions to
branchEqual() and branchNotEqual() in order to allow the code generated by branchPtrWithPatch()
to be reverted back to branchPtrWithPatch after replacing it with a 4-instruction jump.
However, this adds a significant overhead for all other types of branches. Since these nop's
protect the code that is generated by branchPtrWithPatch, this function seems like a better
place to add them.
- assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::repatchInt32):
(JSC::MIPSAssembler::revertJumpToMove):
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::branchAdd32):
(JSC::MacroAssemblerMIPS::branchMul32):
(JSC::MacroAssemblerMIPS::branchSub32):
(JSC::MacroAssemblerMIPS::branchNeg32):
(JSC::MacroAssemblerMIPS::branchPtrWithPatch):
(JSC::MacroAssemblerMIPS::branchEqual):
(JSC::MacroAssemblerMIPS::branchNotEqual):
- 12:03 PM WebKitGTK/2.20.x edited by
- (diff)
- 11:50 AM Changeset in webkit [230309] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r228334. rdar://problem/38712636
- 11:07 AM Changeset in webkit [230308] by
-
- 37 edits1 move1 delete in trunk/Source/bmalloc
bmalloc StaticMutex's constructor should be constexpr
https://bugs.webkit.org/show_bug.cgi?id=180600
Reviewed by Mark Lam.
StaticMutex and Mutex can be unified. This patch changes std::atomic_flag in StaticMutex
to std::atomic<bool> to add constexpr constructor to StaticMutex. Then, StaticMutex can
be initialized in static storage without calling any static initializers.
And we also rename StaticMutex to Mutex simply.
- CMakeLists.txt:
- bmalloc.xcodeproj/project.pbxproj:
- bmalloc/AllIsoHeaps.cpp:
(bmalloc::AllIsoHeaps::AllIsoHeaps):
- bmalloc/AllIsoHeaps.h:
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::tryAllocate):
(bmalloc::Allocator::allocateImpl):
(bmalloc::Allocator::reallocate):
(bmalloc::Allocator::refillAllocatorSlowCase):
(bmalloc::Allocator::allocateLarge):
- bmalloc/CryptoRandom.cpp:
(bmalloc::ARC4RandomNumberGenerator::ARC4RandomNumberGenerator):
- bmalloc/Deallocator.cpp:
(bmalloc::Deallocator::scavenge):
(bmalloc::Deallocator::processObjectLog):
(bmalloc::Deallocator::deallocateSlowCase):
- bmalloc/Deallocator.h:
(bmalloc::Deallocator::lineCache):
- bmalloc/DebugHeap.cpp:
(bmalloc::DebugHeap::DebugHeap):
- bmalloc/DebugHeap.h:
- bmalloc/Environment.cpp:
(bmalloc::Environment::Environment):
- bmalloc/Environment.h:
- bmalloc/Gigacage.cpp:
(Gigacage::disablePrimitiveGigacage):
(Gigacage::addPrimitiveDisableCallback):
(Gigacage::removePrimitiveDisableCallback):
- bmalloc/Heap.cpp:
(bmalloc::Heap::Heap):
(bmalloc::Heap::freeableMemory):
(bmalloc::Heap::scavenge):
(bmalloc::Heap::deallocateLineCache):
(bmalloc::Heap::allocateSmallChunk):
(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::deallocateSmallLine):
(bmalloc::Heap::allocateSmallBumpRangesByMetadata):
(bmalloc::Heap::allocateSmallBumpRangesByObject):
(bmalloc::Heap::splitAndAllocate):
(bmalloc::Heap::tryAllocateLarge):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::isLarge):
(bmalloc::Heap::largeSize):
(bmalloc::Heap::shrinkLarge):
(bmalloc::Heap::deallocateLarge):
(bmalloc::Heap::externalCommit):
(bmalloc::Heap::externalDecommit):
- bmalloc/Heap.h:
(bmalloc::Heap::mutex):
(bmalloc::Heap::allocateSmallBumpRanges):
(bmalloc::Heap::derefSmallLine):
- bmalloc/IsoDeallocator.h:
- bmalloc/IsoHeap.h:
- bmalloc/IsoTLSDeallocatorEntry.h:
- bmalloc/IsoTLSDeallocatorEntryInlines.h:
(bmalloc::IsoTLSDeallocatorEntry<Config>::IsoTLSDeallocatorEntry):
- bmalloc/IsoTLSInlines.h:
(bmalloc::IsoTLS::ensureHeap):
- bmalloc/IsoTLSLayout.cpp:
(bmalloc::IsoTLSLayout::IsoTLSLayout):
(bmalloc::IsoTLSLayout::add):
- bmalloc/IsoTLSLayout.h:
- bmalloc/Mutex.cpp: Renamed from Source/bmalloc/bmalloc/StaticMutex.cpp.
(bmalloc::Mutex::lockSlowCase):
- bmalloc/Mutex.h:
(bmalloc::sleep):
(bmalloc::waitUntilFalse):
(bmalloc::Mutex::try_lock):
(bmalloc::Mutex::lock):
(bmalloc::Mutex::unlock):
(bmalloc::Mutex::Mutex): Deleted.
- bmalloc/ObjectType.cpp:
(bmalloc::objectType):
- bmalloc/PerProcess.cpp:
(bmalloc::getPerProcessData):
- bmalloc/PerProcess.h:
(bmalloc::PerProcess::mutex):
(bmalloc::PerProcess::getSlowCase):
- bmalloc/Scavenger.cpp:
(bmalloc::Scavenger::Scavenger):
(bmalloc::Scavenger::scavenge):
(bmalloc::Scavenger::freeableMemory):
- bmalloc/Scavenger.h:
- bmalloc/SmallLine.h:
(bmalloc::SmallLine::refCount):
(bmalloc::SmallLine::ref):
(bmalloc::SmallLine::deref):
- bmalloc/SmallPage.h:
(bmalloc::SmallPage::refCount):
(bmalloc::SmallPage::hasFreeLines const):
(bmalloc::SmallPage::setHasFreeLines):
(bmalloc::SmallPage::ref):
(bmalloc::SmallPage::deref):
- bmalloc/StaticMutex.h: Removed.
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::VMHeap):
- bmalloc/VMHeap.h:
- bmalloc/Zone.cpp:
(bmalloc::Zone::Zone):
- bmalloc/Zone.h:
- bmalloc/bmalloc.cpp:
(bmalloc::api::tryLargeZeroedMemalignVirtual):
(bmalloc::api::freeLargeVirtual):
(bmalloc::api::isEnabled):
(bmalloc::api::setScavengerThreadQOSClass):
- bmalloc/bmalloc.h:
- 10:43 AM Changeset in webkit [230307] by
-
- 2 edits in trunk/Source/WebKit
WebRTC data channel only applications require capture permissions for direct connections
https://bugs.webkit.org/show_bug.cgi?id=174500
<rdar://problem/34134281>
Unreviewed.
Changed the code to suppress: "error: unused variable 'error' [-Werror,-Wunused-variable]"
Added some logging to this error case as a side bonus.
- NetworkProcess/webrtc/NetworkMDNSRegister.cpp:
(WebKit::NetworkMDNSRegister::registerMDNSName):
- 10:37 AM Changeset in webkit [230306] by
-
- 2 edits in trunk/JSTests
Fix testcase (missing try/catch).
https://bugs.webkit.org/show_bug.cgi?id=183657
Unreviewed.
- stress/large-unshift-splice.js
Patch by Robin Morisset <rmorisset@apple.com> on 2018-04-05
- 10:32 AM Changeset in webkit [230305] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r230042.
It is no longer needed now that it is safe to construct a
SecurityOrigin from an on-main thread
Reverted changeset:
"WebSocket::didReceiveMessage() may construct a SecurityOrigin
object on a non-main thread"
https://bugs.webkit.org/show_bug.cgi?id=184068
https://trac.webkit.org/changeset/230042
- 10:22 AM Changeset in webkit [230304] by
-
- 3 edits2 copies in trunk/LayoutTests
Rebaseline tests for High Sierra.
Unreviewed test gardening.
- platform/mac-sierra/fast/forms/input-table-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-table-expected.txt.
- platform/mac-sierra/tables/mozilla/bugs/bug30692-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug30692-expected.txt.
- platform/mac/fast/forms/input-table-expected.txt:
- platform/mac/tables/mozilla/bugs/bug30692-expected.txt:
- 10:22 AM Changeset in webkit [230303] by
-
- 74 edits in trunk
[WTF] Remove StaticLock
https://bugs.webkit.org/show_bug.cgi?id=184332
Reviewed by Mark Lam.
Source/JavaScriptCore:
- API/JSValue.mm:
(handerForStructTag):
- API/JSVirtualMachine.mm:
(+[JSVMWrapperCache addWrapper:forJSContextGroupRef:]):
(+[JSVMWrapperCache wrapperForJSContextGroupRef:]):
- API/glib/JSCVirtualMachine.cpp:
(addWrapper):
(removeWrapper):
- assembler/testmasm.cpp:
- b3/air/testair.cpp:
- b3/testb3.cpp:
- bytecode/SuperSampler.cpp:
- dfg/DFGCommon.cpp:
- dfg/DFGCommonData.cpp:
- dynbench.cpp:
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::tryCopyOtherThreadStacks):
- inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:
(Inspector::RemoteTargetHandleRunSourceGlobal):
(Inspector::RemoteTargetQueueTaskOnGlobalQueue):
- interpreter/CLoopStack.cpp:
- parser/SourceProvider.cpp:
- profiler/ProfilerDatabase.cpp:
- profiler/ProfilerUID.cpp:
(JSC::Profiler::UID::create):
- runtime/IntlObject.cpp:
(JSC::numberingSystemsForLocale):
- runtime/JSLock.cpp:
- runtime/JSLock.h:
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::registerForReportAtExit):
- runtime/VM.cpp:
- wasm/WasmFaultSignalHandler.cpp:
Source/WebCore:
No behavior change.
- Modules/webdatabase/Database.cpp:
(WebCore::Database::Database):
(WebCore::Database::performOpenAndVerify):
(WebCore::Database::closeDatabase):
(WebCore::Database::getCachedVersion const):
(WebCore::Database::setCachedVersion):
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::openDatabaseMutex):
- Modules/webdatabase/DatabaseTracker.h:
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::allActiveWebSocketsMutex):
- Modules/websockets/WebSocket.h:
- bridge/objc/WebScriptObject.mm:
- crypto/CryptoAlgorithmRegistry.cpp:
(WebCore::CryptoAlgorithmRegistry::identifier):
(WebCore::CryptoAlgorithmRegistry::name):
(WebCore::CryptoAlgorithmRegistry::create):
(WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
- dom/Node.cpp:
- platform/URL.cpp:
- platform/graphics/FontCache.cpp:
- platform/graphics/MediaPlayer.cpp:
- platform/ios/QuickLook.mm:
- platform/ios/WebSQLiteDatabaseTrackerClient.mm:
- platform/ios/wak/WebCoreThread.mm:
- platform/ios/wak/WebCoreThreadRun.cpp:
- platform/network/cf/LoaderRunLoopCF.cpp:
(WebCore::loaderRunLoop):
- platform/network/curl/CurlContext.cpp:
(WebCore::CurlShareHandle::mutexFor):
- platform/network/curl/CurlContext.h:
- platform/sql/SQLiteDatabaseTracker.cpp:
(WebCore::SQLiteDatabaseTracker::incrementTransactionInProgressCount):
(WebCore::SQLiteDatabaseTracker::decrementTransactionInProgressCount):
- platform/text/TextEncodingRegistry.cpp:
(WebCore::buildBaseTextCodecMaps):
(WebCore::newTextCodec):
(WebCore::atomicCanonicalTextEncodingName):
- workers/WorkerThread.cpp:
(WebCore::WorkerThread::workerThreadCount):
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::~WorkerThread):
(WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
Source/WebKitLegacy/ios:
- WebCoreSupport/WebFixedPositionContent.mm:
Source/WebKitLegacy/mac:
- DOM/DOMInternal.mm:
(getDOMWrapper):
(addDOMWrapper):
(removeDOMWrapper):
Source/WebKitLegacy/win:
- WebKitQuartzCoreAdditions/CAView.cpp:
(WKQCA::CAView::releaseAllD3DResources):
- WebLocalizableStrings.cpp:
Source/WTF:
Now, WTF::StaticLock is
using StaticLock = Lock
. Lock just works
in either static storage and dynamic storage. Remove StaticLock and
always use Lock.
We also remove StaticWordLock and StaticReadWriteLock. And we add
WTF::RecursiveLock, which is RecursiveLockAdapter<Lock>.
- wtf/HashTable.cpp:
(WTF::HashTableStats::recordCollisionAtCount):
(WTF::HashTableStats::dumpStats):
- wtf/Language.cpp:
(WTF::userPreferredLanguages):
- wtf/Lock.h:
- wtf/MainThread.cpp:
(WTF::dispatchFunctionsFromMainThread):
(WTF::callOnMainThread):
- wtf/ParkingLot.cpp:
- wtf/ReadWriteLock.h:
- wtf/RecursiveLockAdapter.h:
- wtf/StackStats.cpp:
(WTF::StackStats::CheckPoint::CheckPoint):
(WTF::StackStats::CheckPoint::~CheckPoint):
(WTF::StackStats::probe):
(WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):
(WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint):
- wtf/StackStats.h:
- wtf/ThreadMessage.cpp:
(WTF::sendMessageScoped):
- wtf/ThreadingPthreads.cpp:
- wtf/ThreadingWin.cpp:
- wtf/WordLock.h:
- wtf/cf/LanguageCF.cpp:
(WTF::languagePreferencesDidChange):
(WTF::platformUserPreferredLanguages):
- wtf/dtoa.cpp:
- wtf/text/AtomicStringImpl.cpp:
- wtf/text/StringView.cpp:
(WTF::StringView::invalidate):
(WTF::StringView::adoptUnderlyingString):
(WTF::StringView::setUnderlyingString):
- wtf/unicode/icu/CollatorICU.cpp:
(WTF::Collator::Collator):
(WTF::Collator::~Collator):
- wtf/win/LanguageWin.cpp:
(WTF::platformLanguage):
Tools:
- DumpRenderTree/JavaScriptThreading.cpp:
- 10:05 AM Changeset in webkit [230302] by
-
- 8 edits2 adds in branches/safari-605-branch
Cherry-pick r230287. rdar://problem/39208588
REGRESSION(r222563): removed DoubleReal type check causes tons of crashes because CSE has never known how to handle SaneChain
https://bugs.webkit.org/show_bug.cgi?id=184319
Reviewed by Saam Barati.
JSTests:
- stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js: Added. (foo): (bar):
- stress/array-push-nan-to-double-array.js: Added. (foo): (bar):
Source/JavaScriptCore:
In r222581, we replaced type checks about DoubleReal in ArrayPush in the DFG/FTL backends with
assertions. That's correct because FixupPhase was emitting those checks as Check(DoubleRealRep:) before
the ArrayPush.
But this revealed a longstanding CSE bug: CSE will happily match a SaneChain GetByVal with a InBounds
GetByVal. SaneChain can return NaN while InBounds cannot. This means that if we first use AI to
eliminate the Check(DoubleRealRep:) based on the input being a GetByVal(InBounds) but then replace that
with a GetByVal(SaneChain), then we will hit the assertion.
This teaches CSE to not replace GetByVal(InBounds) with GetByVal(SaneChain) and vice versa. That gets
tricky because PutByVal can match either. So, we use the fact that it's legal for a store to def() more
than once: PutByVal now defs() a HeapLocation for InBounds and a HeapLocation for SaneChain.
- dfg/DFGCSEPhase.cpp:
- dfg/DFGClobberize.h: (JSC::DFG::clobberize):
- dfg/DFGHeapLocation.cpp: (WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileArrayPush):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230287 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:05 AM Changeset in webkit [230301] by
-
- 4 edits7 adds in branches/safari-605-branch
Apply patch. rdar://problem/39191858
fix-httponly-cookie
- 8:50 AM Changeset in webkit [230300] by
-
- 4 edits1 add in trunk/Tools
[LayoutReloaded] Find the correct left edge for a line when floating boxes are in parent formatting context.
https://bugs.webkit.org/show_bug.cgi?id=184330
Reviewed by Antti Koivisto.
In inline formatting context, the floating boxes can come from the parent (block) formatting context. Let's
take them into account when computing the line edges.
- LayoutReloaded/FormattingContext/FloatingContext.js:
(FloatingContext.prototype.left):
(FloatingContext.prototype.right):
- LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
(InlineFormattingContext.prototype._createNewLine):
(InlineFormattingContext.prototype._mapFloatingVerticalPosition):
(InlineFormattingContext.prototype._mapFloatingHorizontalPosition):
(InlineFormattingContext.prototype._mapFloatingPosition): Deleted.
- LayoutReloaded/test/index.html:
- LayoutReloaded/test/multiple-left-floats-on-line-from-parent-formatting-context.html: Added.
- 8:21 AM Changeset in webkit [230299] by
-
- 4 edits1 add in trunk/Tools
[LayoutReloaded] Collect floating boxes in inline formatting context and layout them first.
https://bugs.webkit.org/show_bug.cgi?id=184329
Reviewed by Antti Koivisto.
Let's do this for now. There might be some cases where this violates layout.
- LayoutReloaded/FormattingContext/FormattingContext.js:
(FormattingContext.prototype._outOfFlowDescendants):
(FormattingContext):
- LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
(InlineFormattingContext.prototype.layout):
(InlineFormattingContext.prototype._handleFloatingBoxes):
(InlineFormattingContext.prototype._handleFloatingBox):
(InlineFormattingContext.prototype._floatingBoxes):
(InlineFormattingContext):
- LayoutReloaded/test/index.html:
- LayoutReloaded/test/multiple-left-floats-on-line-simple.html: Added.
- 2:01 AM Changeset in webkit [230298] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r229831): Test WebKit2.ProvisionalURLAfterWillSendRequestCallback times out since r229831
https://bugs.webkit.org/show_bug.cgi?id=184293
Reviewed by Alex Christensen.
The problem is that after willSendRequest callback changes the request, the load is cancelled while
transitioning to committed state. This happens because the load is not waiting for the response policy check, so
it continues and when transitioning to committed, FrameLoader::closeURL() invalidates the current policy check
that causes a load failure. The new request returned by the API doesn't have any requester, so it's no longer
considered a main resource load. In the network process the resource load task doesn't wait for the response
policy and continues the load, sending the data to the web process. Once the first data is received, the load
transitions to commit, but the response policy check is still ongoing. This can only happen when using the C API
(I don't know about the Cocoa API), but not with the GLib API because it doesn't allow to create a new request,
only to modify the passed in one. With the C API we loss other internal things of the request like the priority,
but I guess the most important one is the requester.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
- 1:00 AM Changeset in webkit [230297] by
-
- 2 edits4 adds in trunk/Source/ThirdParty/libwebrtc
[GTK] Add CMake package search for vpx and libevent libraries
https://bugs.webkit.org/show_bug.cgi?id=184257
Patch by Alejandro G. Castro <alex@igalia.com> on 2018-04-05
Reviewed by Michael Catanzaro.
Add new cmake search files for libevent, vpx and alsa-lib, this
makes a cleaner detection of the libraries.
- CMakeLists.txt: Use the new cmake find files to detect the
package and add a better error message when the library is not
there.
- Source/cmake/FindAlsaLib.cmake: Added.
- Source/cmake/FindLibEvent.cmake: Added.
- Source/cmake/FindVpx.cmake: Added.
Apr 4, 2018:
- 10:00 PM Changeset in webkit [230296] by
-
- 3 edits in trunk/LayoutTests
Update TestExpectations for http/tests/media/video-buffered-range-contains-currentTime.html.
https://trac.webkit.org/changeset/223243/webkit
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 9:49 PM Changeset in webkit [230295] by
-
- 13 edits in trunk/Websites/perf.webkit.org
Added UI to show potential regressions in chart with t-testing against segmentations.
https://bugs.webkit.org/show_bug.cgi?id=184131
Reviewed by Ryosuke Niwa.
Added UI in the chart-pane so that user can use new option in trendline which not only
shows the segmentation, but also t-test against potential changes indicated by segmentation.
Fix a bug in AnalysisTaskPage that chart is not updated when change type of task changes.
- public/shared/statistics.js: Added a function to t-test certain range based on segmentation results.
(Statistics.supportedOneSideTTestProbabilities):
(Statistics.findRangesForChangeDetectionsWithWelchsTTest): The argumentsegmentations
, every 2 items in the list defines
segmentation, that is why the index incremental is 2 in this funcion.
- public/v3/components/chart-pane-base.js: Will select the range if user clicks on a suggested annotation.
(ChartPaneBase.prototype.configure):
(ChartPaneBase.prototype._didClickAnnotation):
- public/v3/components/chart-styles.js:
(ChartStyles.annotationFillStyleForTask): Added 'annotationFillStyleForTask' to determine the fillStyle for annotation based on change type of a analysis task.
- public/v3/components/interactive-time-series-chart.js:
(InteractiveTimeSeriesChart.prototype._findAnnotation): Also need to search among suggested annotaions.
- public/v3/components/time-series-chart.js: Introduced 'suggested annotaion' which does not have an existing task and is suggested by t-test based on segmentation.
(TimeSeriesChart):
(TimeSeriesChart.prototype.setSuggestedAnnotations):
(TimeSeriesChart.prototype.allAnnotations): Returns both annotations with and without analysis task.
(TimeSeriesChart.prototype._layoutAnnotationBars): Should take all annotations in the calculation.
- public/v3/models/measurement-set.js:
(MeasurementSet.prototype.metricId): Returns metric id.
- public/v3/models/metric.js:
(Metric.prototype.summarizeForValues): Added helper function to summarize a given value
- public/v3/models/test-group.js:
(TestGroup.prototype.compareTestResults): Adapted to use 'Metric.summarizeForValues'.
- public/v3/pages/chart-pane.js: Added 'Segmentation with t-test analysis' to 'ChartTrendLineTypes'.
(ChartPane.prototype._renderTrendLinePopover):
(ChartPane.prototype.async._updateTrendLine): make it an async function.
- unit-tests/statistics-tests.js: Added unit tests for 'findRangesForChangeDetectionsWithWelchsTTest'.
- 9:30 PM Changeset in webkit [230294] by
-
- 34 edits1 delete in trunk/Source/JavaScriptCore
Add pointer profiling support to the DFG and supporting files.
https://bugs.webkit.org/show_bug.cgi?id=184316
<rdar://problem/39188524>
Reviewed by Filip Pizlo.
- Profile lots of pointers with PtrTags.
- Remove PtrTag.cpp and make ptrTagName() into an inline function. It's only used for debugging anyway, and not normally called in the code. Making it an inline function prevents it from taking up code space in builds when not in use.
- Change the call to the the arityFixupThunk in DFG code to be a near call. It doesn't need to be a far call.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- assembler/testmasm.cpp:
(JSC::testProbeModifiesProgramCounter):
- b3/B3LowerMacros.cpp:
- b3/air/AirCCallSpecial.cpp:
(JSC::B3::Air::CCallSpecial::generate):
- b3/air/AirCCallSpecial.h:
- b3/testb3.cpp:
(JSC::B3::testInterpreter):
- bytecode/AccessCase.cpp:
(JSC::AccessCase::generateImpl):
- bytecode/HandlerInfo.h:
(JSC::HandlerInfo::initialize):
- bytecode/PolymorphicAccess.cpp:
(JSC::PolymorphicAccess::regenerate):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileExceptionHandlers):
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compileFunction):
(JSC::DFG::JITCompiler::noticeCatchEntrypoint):
- dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::appendCall):
- dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
- dfg/DFGOSRExit.cpp:
(JSC::DFG::reifyInlinedCallFrames):
(JSC::DFG::adjustAndJumpToTarget):
(JSC::DFG::OSRExit::emitRestoreArguments):
(JSC::DFG::OSRExit::compileOSRExit):
- dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::handleExitCounts):
(JSC::DFG::reifyInlinedCallFrames):
(JSC::DFG::osrWriteBarrier):
(JSC::DFG::adjustAndJumpToTarget):
- dfg/DFGOperations.cpp:
- dfg/DFGSlowPathGenerator.h:
(JSC::DFG::CallResultAndArgumentsSlowPathGenerator::CallResultAndArgumentsSlowPathGenerator):
(JSC::DFG::CallResultAndArgumentsSlowPathGenerator::unpackAndGenerate):
(JSC::DFG::slowPathCall):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMathIC):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculativeJIT::appendCall):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGThunks.cpp:
(JSC::DFG::osrExitThunkGenerator):
(JSC::DFG::osrExitGenerationThunkGenerator):
(JSC::DFG::osrEntryThunkGenerator):
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitDumbVirtualCall):
- jit/JIT.cpp:
(JSC::JIT::emitEnterOptimizationCheck):
(JSC::JIT::compileWithoutLinking):
- jit/JITCall.cpp:
(JSC::JIT::compileOpCallSlowCase):
- jit/JITMathIC.h:
(JSC::isProfileEmpty):
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_catch):
(JSC::JIT::emitSlow_op_loop_hint):
- jit/JITOperations.cpp:
- jit/Repatch.cpp:
(JSC::linkSlowFor):
(JSC::linkFor):
(JSC::revertCall):
(JSC::unlinkFor):
(JSC::linkVirtualFor):
(JSC::linkPolymorphicCall):
- jit/ThunkGenerators.cpp:
(JSC::throwExceptionFromCallSlowPathGenerator):
(JSC::linkCallThunkGenerator):
(JSC::linkPolymorphicCallThunkGenerator):
(JSC::virtualThunkFor):
(JSC::arityFixupGenerator):
(JSC::unreachableGenerator):
- runtime/PtrTag.cpp: Removed.
- runtime/PtrTag.h:
(JSC::ptrTagName):
- runtime/VMEntryScope.cpp:
- wasm/js/WasmToJS.cpp:
(JSC::Wasm::wasmToJS):
- 8:15 PM Changeset in webkit [230293] by
-
- 30 edits in trunk/Source/WebKit
Unreviewed, rolling out r230283.
Caused webkitpy test failures.
Reverted changeset:
"Use CompletionHandlers for DelayedReplies"
https://bugs.webkit.org/show_bug.cgi?id=182269
https://trac.webkit.org/changeset/230283
- 7:40 PM Changeset in webkit [230292] by
-
- 2 edits in trunk/Source/WebKit
webrtc/video-update-often.html is flakily crashing on iOS simulator Debug
https://bugs.webkit.org/show_bug.cgi?id=184022
Reviewed by Jer Noble.
Remove client context once the new context identifier is set.
Covered by test no longer crashing locally.
- WebProcess/cocoa/PlaybackSessionManager.mm:
(WebKit::PlaybackSessionManager::setUpPlaybackControlsManager):
- 7:06 PM Changeset in webkit [230291] by
-
- 2 edits in trunk/LayoutTests
http/wpt/loading/redirect-headers.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=184317
Reviewed by Ryosuke Niwa.
Wait for the completion of the fetch to end the test.
- http/wpt/loading/redirect-headers.html:
- 7:05 PM Changeset in webkit [230290] by
-
- 31 edits1 copy7 adds in trunk
WebRTC data channel only applications require capture permissions for direct connections
https://bugs.webkit.org/show_bug.cgi?id=174500
<rdar://problem/34134281>
Reviewed by Eric Carlson.
Source/WebCore:
Test: webrtc/datachannel/mdns-ice-candidates.html
Add support at PeerConnectionBackend to obfuscate any gathered host candidate
by replacing the IP address with an opaque name that can be resolved by MDNS.
An opaque name is generated for each IP address and is scoped by the document owning the peer connection object.
Add support to resolve any such MDNS ICE candidate.
A limit of 250 ms is fixed for the resolution to happen.
After 250 ms, the candidate is discarded.
Add an experimental flag around this feature, off by default.
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::extractIPAddres):
(WebCore::PeerConnectionBackend::addIceCandidate):
(WebCore::PeerConnectionBackend::addIceCandidateSucceeded):
(WebCore::PeerConnectionBackend::addIceCandidateFailed):
(WebCore::PeerConnectionBackend::newICECandidate):
(WebCore::PeerConnectionBackend::doneGatheringCandidates):
(WebCore::PeerConnectionBackend::registerMDNSName):
(WebCore::PeerConnectionBackend::finishedRegisteringMDNSName):
- Modules/mediastream/PeerConnectionBackend.h:
- Modules/mediastream/RTCIceCandidate.h:
(WebCore::RTCIceCandidate::setCandidate):
- Modules/mediastream/RTCPeerConnection.h:
- dom/Document.cpp:
(WebCore::Document::prepareForDestruction):
(WebCore::Document::suspend):
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::mdnsICECandidatesEnabled const):
(WebCore::RuntimeEnabledFeatures::setMDNSICECandidatesEnabled):
- platform/mediastream/libwebrtc/LibWebRTCProvider.h:
Source/WebKit:
Add support for MDNS registration and resolution by NetworkProcess.
WebProcess gives instruction to do the actual registrations/resolutions.
- CMakeLists.txt:
- DerivedSources.make:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
- NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::mdnsRegister):
- NetworkProcess/webrtc/NetworkMDNSRegister.cpp: Added.
(WebKit::NetworkMDNSRegister::NetworkMDNSRegister):
(WebKit::NetworkMDNSRegister::~NetworkMDNSRegister):
(WebKit::NetworkMDNSRegister::unregisterMDNSNames):
(WebKit::PendingRegistrationRequest::PendingRegistrationRequest):
(WebKit::registerMDNSNameCallback):
(WebKit::NetworkMDNSRegister::registerMDNSName):
(WebKit::PendingResolutionRequest::PendingResolutionRequest):
(WebKit::PendingResolutionRequest::~PendingResolutionRequest):
(WebKit::PendingResolutionRequest::timeout):
(WebKit::resolveMDNSNameCallback):
(WebKit::NetworkMDNSRegister::resolveMDNSName):
- NetworkProcess/webrtc/NetworkMDNSRegister.h: Added.
- NetworkProcess/webrtc/NetworkMDNSRegister.messages.in: Added.
- Shared/WebPreferences.yaml:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetWebRTCMDNSICECandidatesEnabled):
(WKPreferencesGetWebRTCMDNSICECandidatesEnabled):
- UIProcess/API/C/WKPreferencesRef.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
- WebProcess/Network/webrtc/LibWebRTCNetwork.h:
(WebKit::LibWebRTCNetwork::mdnsRegister):
- WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
(WebKit::LibWebRTCProvider::unregisterMDNSNames):
(WebKit::LibWebRTCProvider::registerMDNSName):
(WebKit::LibWebRTCProvider::resolveMDNSName):
- WebProcess/Network/webrtc/LibWebRTCProvider.h:
- WebProcess/Network/webrtc/WebMDNSRegister.cpp: Added.
(WebKit::WebMDNSRegister::finishedRegisteringMDNSName):
(WebKit::WebMDNSRegister::finishedResolvingMDNSName):
(WebKit::WebMDNSRegister::unregisterMDNSNames):
(WebKit::WebMDNSRegister::registerMDNSName):
(WebKit::WebMDNSRegister::resolveMDNSName):
- WebProcess/Network/webrtc/WebMDNSRegister.h: Added.
- WebProcess/Network/webrtc/WebMDNSRegister.messages.in: Added.
Tools:
Adding options to enable MDNS ICE candidates.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setMediaDevicesEnabled):
(WTR::TestRunner::setMDNSICECandidatesEnabled):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
LayoutTests:
- webrtc/datachannel/mdns-ice-candidates-expected.txt: Added.
- webrtc/datachannel/mdns-ice-candidates.html: Added.
- 6:03 PM Changeset in webkit [230289] by
-
- 2 edits in trunk/LayoutTests
Mark storage/websql/database-lock-after-reload.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=173928
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 6:03 PM Changeset in webkit [230288] by
-
- 2 edits in trunk/Tools
Disable failing WKWebViewAutofillTests
https://bugs.webkit.org/show_bug.cgi?id=184196
Unreviewed test gardening.
- TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
(TestWebKitAPI::TEST):
- 5:30 PM Changeset in webkit [230287] by
-
- 8 edits2 adds in trunk
REGRESSION(r222563): removed DoubleReal type check causes tons of crashes because CSE has never known how to handle SaneChain
https://bugs.webkit.org/show_bug.cgi?id=184319
Reviewed by Saam Barati.
JSTests:
- stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js: Added.
(foo):
(bar):
- stress/array-push-nan-to-double-array.js: Added.
(foo):
(bar):
Source/JavaScriptCore:
In r222581, we replaced type checks about DoubleReal in ArrayPush in the DFG/FTL backends with
assertions. That's correct because FixupPhase was emitting those checks as Check(DoubleRealRep:) before
the ArrayPush.
But this revealed a longstanding CSE bug: CSE will happily match a SaneChain GetByVal with a InBounds
GetByVal. SaneChain can return NaN while InBounds cannot. This means that if we first use AI to
eliminate the Check(DoubleRealRep:) based on the input being a GetByVal(InBounds) but then replace that
with a GetByVal(SaneChain), then we will hit the assertion.
This teaches CSE to not replace GetByVal(InBounds) with GetByVal(SaneChain) and vice versa. That gets
tricky because PutByVal can match either. So, we use the fact that it's legal for a store to def() more
than once: PutByVal now defs() a HeapLocation for InBounds and a HeapLocation for SaneChain.
- dfg/DFGCSEPhase.cpp:
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArrayPush):
- 5:22 PM Changeset in webkit [230286] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa] WebDriver: test imported/w3c/webdriver/tests/cookies/add_cookie.py::test_add_non_session_cookie fails
https://bugs.webkit.org/show_bug.cgi?id=184314
<rdar://problem/39186578>
Reviewed by Timothy Hatcher.
Covered by several tests in add_cookie.py per the bug title.
- platform/network/cocoa/CookieCocoa.mm:
(WebCore::Cookie::operator NSHTTPCookie * const):
By converting an integral UNIX timestamp to |maxAge| fractional seconds into the future, we introduce unwanted
precision that is truncated when switching back to a UNIX timestamp later. Always round up maxAge so that
the truncated value and actual value are the same.
- 4:33 PM Changeset in webkit [230285] by
-
- 45 edits2 copies6 moves3 adds12 deletes in trunk/LayoutTests
Resync idlharness web-platform-tests up to 94b33b573a069ae5170104ca581a354a35762536
https://bugs.webkit.org/show_bug.cgi?id=184278
Patch by Brendan McLoughlin <brendan@bocoup.com> on 2018-04-04
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/FileAPI/idlharness-expected.txt:
- web-platform-tests/FileAPI/idlharness.html:
- web-platform-tests/FileAPI/idlharness.idl: Removed.
- web-platform-tests/FileAPI/idlharness.worker.js:
- web-platform-tests/IndexedDB/interfaces.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker-expected.txt.
- web-platform-tests/IndexedDB/interfaces.any.html: Copied from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.html.
- web-platform-tests/IndexedDB/interfaces.any.js: Added.
- web-platform-tests/IndexedDB/interfaces.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker-expected.txt.
- web-platform-tests/IndexedDB/interfaces.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker.html.
- web-platform-tests/IndexedDB/interfaces.html: Removed.
- web-platform-tests/IndexedDB/interfaces.idl: Removed.
- web-platform-tests/IndexedDB/interfaces.worker.js: Removed.
- web-platform-tests/WebCryptoAPI/WebCryptoAPI.idl: Removed.
- web-platform-tests/WebCryptoAPI/idlharness.html: Removed.
- web-platform-tests/WebCryptoAPI/idlharness.https.html:
- web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker-expected.txt.
- web-platform-tests/WebCryptoAPI/idlharness.https.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.html.
- web-platform-tests/WebCryptoAPI/idlharness.https.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.worker.js.
- web-platform-tests/WebIDL/interfaces-expected.txt:
- web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
- web-platform-tests/background-fetch/interfaces-expected.txt:
- web-platform-tests/background-fetch/interfaces.html:
- web-platform-tests/background-fetch/interfaces.idl: Removed.
- web-platform-tests/background-fetch/interfaces.worker.js:
(promise_test):
- web-platform-tests/css/geometry/interfaces-expected.txt:
- web-platform-tests/css/geometry/interfaces.html:
- web-platform-tests/css/geometry/interfaces.worker-expected.txt:
- web-platform-tests/css/geometry/support/interfaces.js:
(doTest):
- web-platform-tests/cssom-view/interfaces-expected.txt:
- web-platform-tests/cssom/interfaces-expected.txt:
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/encoding/idlharness-expected.txt:
- web-platform-tests/encoding/idlharness.html:
- web-platform-tests/encrypted-media/EncryptedMediaExtensions.idl: Removed.
- web-platform-tests/encrypted-media/idlharness.https-expected.txt: Added.
- web-platform-tests/encrypted-media/idlharness.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/encrypted-media/idlharness.html.
- web-platform-tests/eventsource/interfaces-expected.txt:
- web-platform-tests/eventsource/interfaces.html:
- web-platform-tests/fetch/api/request/request-idl.html:
- web-platform-tests/fetch/api/response/response-idl.html:
- web-platform-tests/hr-time/idlharness-expected.txt:
- web-platform-tests/hr-time/idlharness.html:
- web-platform-tests/html/webappapis/animation-frames/idlharness-expected.txt:
- web-platform-tests/html/webappapis/animation-frames/idlharness.html:
- web-platform-tests/interfaces/encoding.idl: Added.
- web-platform-tests/mediacapture-streams/MediaDevices-IDL-all-expected.txt:
- web-platform-tests/mediacapture-streams/MediaDevices-IDL-enumerateDevices-expected.txt:
- web-platform-tests/notifications/interfaces-expected.txt:
- web-platform-tests/notifications/interfaces.html:
- web-platform-tests/payment-request/interfaces.https-expected.txt:
- web-platform-tests/payment-request/interfaces.https.html:
- web-platform-tests/resources/idlharness.js:
(self.IdlHarnessError):
(IdlHarnessError.prototype.toString):
(IdlArray.prototype.add_untested_idls):
(IdlArray.prototype.internal_add_idls):
(IdlArray.prototype.recursively_get_implements):
(IdlArray.prototype.recursively_get_includes):
(set exposed_in):
(IdlArray.prototype.assert_throws):
(IdlArray.prototype.test):
(IdlArray.prototype.assert_type_is):
(IdlInterface.prototype.test_self):
(IdlInterface.prototype.test_member_const):
(IdlInterface.prototype.test_to_json_operation):
(IdlInterface.prototype.test_object):
- web-platform-tests/service-workers/service-worker/interfaces-window.https-expected.txt:
- web-platform-tests/url/interfaces.any-expected.txt:
- web-platform-tests/url/interfaces.any.js:
(promise_test.async):
- web-platform-tests/url/interfaces.any.worker-expected.txt:
- web-platform-tests/webrtc/RTCPeerConnection-idl-expected.txt: Removed.
- web-platform-tests/webrtc/RTCPeerConnection-idl.html: Removed.
- web-platform-tests/webrtc/datachannel-idlharness-expected.txt: Removed.
- web-platform-tests/webrtc/datachannel-idlharness.html: Removed.
- web-platform-tests/webrtc/interfaces.https-expected.txt:
- web-platform-tests/webrtc/interfaces.https.html:
LayoutTests:
- TestExpectations:
- http/wpt/webauthn/idl.https.html:
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- 4:28 PM Changeset in webkit [230284] by
-
- 7 edits in trunk/Source
Versioning.
- 4:20 PM Changeset in webkit [230283] by
-
- 30 edits in trunk/Source/WebKit
Use CompletionHandlers for DelayedReplies
https://bugs.webkit.org/show_bug.cgi?id=182269
Reviewed by Youenn Fablet.
DelayedReplies should be a noncopyable, non-refcountable type. They should be
called once and only once. This is what CompletionHandlers are for.
No change in behavior. Just cleaner code.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):
(WebKit::sendReplyToSynchronousRequest):
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
- NetworkProcess/NetworkResourceLoader.h:
- Platform/IPC/Connection.h:
- Platform/IPC/HandleMessage.h:
(IPC::callMemberFunctionImpl):
(IPC::callMemberFunction):
(IPC::handleMessageDelayed):
- PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::setInitializationReply):
(WebKit::PluginControllerProxy::takeInitializationReply):
- PluginProcess/PluginControllerProxy.h:
- PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::destroyPlugin):
(WebKit::WebProcessConnection::createPlugin):
(WebKit::WebProcessConnection::createPluginAsynchronously):
- PluginProcess/WebProcessConnection.h:
- Scripts/webkit/messages.py:
(message_to_struct_declaration):
(generate_message_handler):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
(WebKit::NetworkProcessProxy::networkProcessCrashed):
(WebKit::NetworkProcessProxy::networkProcessFailedToLaunch):
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Plugins/PluginProcessManager.cpp:
(WebKit::PluginProcessManager::getPluginProcessConnection):
- UIProcess/Plugins/PluginProcessManager.h:
- UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::getPluginProcessConnection):
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
(WebKit::PluginProcessProxy::didCreateWebProcessConnection):
- UIProcess/Plugins/PluginProcessProxy.h:
- UIProcess/Storage/StorageProcessProxy.cpp:
(WebKit::StorageProcessProxy::getStorageProcessConnection):
(WebKit::StorageProcessProxy::didClose):
(WebKit::StorageProcessProxy::didCreateStorageToWebProcessConnection):
- UIProcess/Storage/StorageProcessProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::ExceededDatabaseQuotaRecords::createRecord):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
(WebKit::WebPageProxy::webGLPolicyForURL):
(WebKit::WebPageProxy::resolveWebGLPolicyForURL):
(WebKit::WebPageProxy::getToolbarsAreVisible):
(WebKit::WebPageProxy::getMenuBarIsVisible):
(WebKit::WebPageProxy::getStatusBarIsVisible):
(WebKit::WebPageProxy::getWindowFrame):
(WebKit::WebPageProxy::screenToRootView):
(WebKit::WebPageProxy::rootViewToScreen):
(WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
(WebKit::WebPageProxy::exceededDatabaseQuota):
(WebKit::WebPageProxy::reachedApplicationCacheOriginQuota):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::networkProcessCrashed):
(WebKit::WebProcessPool::getNetworkProcessConnection):
(WebKit::WebProcessPool::getStorageProcessConnection):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getPluginProcessConnection):
(WebKit::WebProcessProxy::getNetworkProcessConnection):
(WebKit::WebProcessProxy::getStorageProcessConnection):
- UIProcess/WebProcessProxy.h:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::syncTerminateWorker):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::computePagesForPrintingAndDrawToPDF):
- 3:58 PM Changeset in webkit [230282] by
-
- 7 edits in tags/Safari-606.1.12/Source/WebKit
Cherry-pick r230268. rdar://problem/39164641
Fix the print formatter build
https://bugs.webkit.org/show_bug.cgi?id=184289
-and corresponding-
rdar://problem/39164641
Reviewed by Dan Bernstein.
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _webViewPrintFormatter]):
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/_WKWebViewPrintFormatter.h:
- UIProcess/_WKWebViewPrintFormatter.mm:
- UIProcess/_WKWebViewPrintFormatterInternal.h:
- UIProcess/ios/WKContentView.mm:
- UIProcess/ios/WKPDFView.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230268 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:58 PM Changeset in webkit [230281] by
-
- 2 edits in tags/Safari-606.1.12/Source/WebCore
Cherry-pick r230272. rdar://problem/39007591
RELEASE_ASSERT in CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF() when MediaToolbox.framework missing
https://bugs.webkit.org/show_bug.cgi?id=184247
<rdar://problem/39007591>
Rubber-stamped by Eric Carlson.
Use SOFT_LINK_FRAMEWORK_OPTIONAL for frameworks which are not guaranteed to be present.
- page/CaptionUserPreferencesMediaAF.cpp: (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:29 PM Changeset in webkit [230280] by
-
- 8 edits in trunk/Source/WebKit
Remove legacyCustomProtocolManager from NetworkSessionCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=182178
Reviewed by Youenn Fablet.
Now that we only make NetworkSessions in the NetworkProcess, we don't need to pass this parameter around.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
- NetworkProcess/NetworkSessionCreationParameters.h:
(WebKit::NetworkSessionCreationParameters::decode):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
- NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):
- Shared/WebsiteDataStoreParameters.cpp:
(WebKit::WebsiteDataStoreParameters::privateSessionParameters):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::parameters):
- 3:28 PM Changeset in webkit [230279] by
-
- 7 edits1 move in trunk/Source
Move PingHandle to WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=184145
Reviewed by Youenn Fablet.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
- platform/network/PingHandle.h: Removed.
Source/WebKit:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
Source/WebKitLegacy:
- WebCoreSupport/PingHandle.h: Copied from Source/WebCore/platform/network/PingHandle.h.
(): Deleted.
- WebCoreSupport/WebResourceLoadScheduler.cpp:
- WebKitLegacy.xcodeproj/project.pbxproj:
- 2:52 PM Changeset in webkit [230278] by
-
- 6 edits in trunk/Source/WebCore
The layout test fast/canvas/canvas-blending-global-alpha.html is failing when the WebContent process does not have WindowServer access.
https://bugs.webkit.org/show_bug.cgi?id=183752
Source/WebCore:
<rdar://problem/38635731>
The test is failing because the system is only providing software rendering when there is no access
to the WindowServer, and software rendering is producing slightly different results than hardware
rendering. To enable accelerated rendering, the GPU to be used for IOSurface rendering needs to be
selected by handing over the OpenGL display mask to the IOSurface CGContext.
Reviewed by Brent Fulgham.
No new tests, covered by existing tests.
- platform/graphics/GraphicsContext3D.h:
- platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
(WebCore::GraphicsContext3D::getOpenGLDisplayMask):
- platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::ensurePlatformContext):
Source/WebCore/PAL:
Reviewed by Brent Fulgham.
- pal/spi/cg/CoreGraphicsSPI.h:
- 2:20 PM Changeset in webkit [230277] by
-
- 2 edits in trunk/Websites/webkit.org
Unreviewed. Correct the path to merchant-validation-config.php.
- demos/payment-request/merchant-validation.php:
- 2:18 PM Changeset in webkit [230276] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r230016. rdar://problem/38154623
- 2:15 PM Changeset in webkit [230275] by
-
- 58 edits in tags/Safari-606.1.12/Source
Revert r230129. rdar://problem/39057300
- 1:56 PM Changeset in webkit [230274] by
-
- 4 edits1 add in trunk/Source/WebCore
Track the paint frequency through a new class named PaintFrequencyTracker
https://bugs.webkit.org/show_bug.cgi?id=184311
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-04-04
Reviewed by Antti Koivisto.
PaintFrequencyTracker is a class which detects when a layer is painted
frequently. SinglePaintFrequencyTracking is used in conjunction with
PaintFrequencyTracker to recored a single paint timing.
- rendering/PaintFrequencyTracker.h: Added.
(WebCore::PaintFrequencyTracker::begin):
(WebCore::PaintFrequencyTracker::end):
(WebCore::PaintFrequencyTracker::paintingFrequently const):
Simplify the logic for tracking the paint frequency and move it from
RenderLayer.cpp.
(WebCore::SinglePaintFrequencyTracking::SinglePaintFrequencyTracking):
(WebCore::SinglePaintFrequencyTracking::~SinglePaintFrequencyTracking):
A convenient way to bracket the begin() and the end() methods of
PaintFrequencyTracker.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::PaintFrequencyInfo::PaintFrequencyInfo): Deleted.
(WebCore::PaintFrequencyInfo::setPaintedCacheableResource): Deleted.
(WebCore::PaintFrequencyInfo::paintingFrequently const): Deleted.
(WebCore::PaintFrequencyInfo::updatePaintFrequency): Deleted.
(WebCore::PaintFrequencyInfo::paintingCacheableResource): Deleted.
- rendering/RenderLayer.h:
Rename PaintFrequencyInfo to PaintFrequencyTracker and move it a separate
header file.
- 1:29 PM Changeset in webkit [230273] by
-
- 18 edits in trunk/Source/JavaScriptCore
Remove poisoning of typed array vector
https://bugs.webkit.org/show_bug.cgi?id=184313
Reviewed by Saam Barati.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::checkArray):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpForTypedArrayIsNeuteredIfOutOfBounds):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):
(JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayByteOffset):
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
(JSC::FTL::DFG::LowerDFGToB3::speculateTypedArrayIsNotNeutered):
- jit/IntrinsicEmitter.cpp:
(JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter):
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emitIntTypedArrayGetByVal):
(JSC::JIT::emitFloatTypedArrayGetByVal):
(JSC::JIT::emitIntTypedArrayPutByVal):
(JSC::JIT::emitFloatTypedArrayPutByVal):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter64.asm:
- offlineasm/arm64.rb:
- offlineasm/x86.rb:
- runtime/CagedBarrierPtr.h:
- runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::JSArrayBufferView):
(JSC::JSArrayBufferView::finalize):
(JSC::JSArrayBufferView::neuter):
- runtime/JSArrayBufferView.h:
(JSC::JSArrayBufferView::vector const):
(JSC::JSArrayBufferView::offsetOfVector):
(JSC::JSArrayBufferView::offsetOfPoisonedVector): Deleted.
(JSC::JSArrayBufferView::poisonFor): Deleted.
(JSC::JSArrayBufferView::Poison::key): Deleted.
- runtime/JSCPoison.cpp:
(JSC::initializePoison):
- runtime/JSCPoison.h:
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::estimatedSize):
(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren):
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):
- runtime/JSObject.h:
- 1:19 PM Changeset in webkit [230272] by
-
- 2 edits in trunk/Source/WebCore
RELEASE_ASSERT in CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF() when MediaToolbox.framework missing
https://bugs.webkit.org/show_bug.cgi?id=184247
<rdar://problem/39007591>
Rubber-stamped by Eric Carlson.
Use SOFT_LINK_FRAMEWORK_OPTIONAL for frameworks which are not guaranteed to be present.
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
- 12:54 PM Changeset in webkit [230271] by
-
- 9 copies1 add in releases/Apple/Safari Technology Preview 53
Added a tag for Safari Technology Preview release 53.
- 12:51 PM Changeset in webkit [230270] by
-
- 1 edit6 adds in trunk/Websites/webkit.org
Add Payment Request demo content.
Rubber-stamped by Zalan Bujtas.
- demos/payment-request/demo.js: Added.
(string_appeared_here.async.applePayButtonClicked):
- demos/payment-request/index.html: Added.
- demos/payment-request/merchant-validation.php: Added.
- demos/payment-request/squirrelfish.png: Added.
- demos/payment-request/style.css: Added.
(@supports (-webkit-appearance: -apple-pay-button)):
(.apple-pay-not-supported::before):
(.hidden):
(#black-buttons > .apple-pay-button):
(#white-buttons > .apple-pay-button):
(#demo):
(#description):
- 12:43 PM Changeset in webkit [230269] by
-
- 54 edits2 moves in trunk/Source
Failures from mach port reference handling should be fatal
https://bugs.webkit.org/show_bug.cgi?id=184202
<rdar://problem/37771114>
Reviewed by Anders Carlsson.
Source/WebCore:
We may corrupt the Mach port space by improperly matching the equivalent of reference counting
retains (mach_port_mod_refs) with releases (mach_port_deallocate).
Our current implementation of MachSendRights::create does not grab a reference if the passed
port is MACH_PORT_DEAD, but we unconditionally call mach_port_deallocate on the port, which
could lead to a reference count mismatch.
Likewise, our MachSendRight destructor does not release the port if it has changed to MACH_PORT_DEAD
(e.g., if a child process dies), again leading to a mismatch in retain/releases.
Finally, failures in mach_port_deallocate should be fatal because they indicate that the
application was attempting to remove an unowned right. This is a fatal condition for Mach, and
should lead to an abort.
This patch does the following:
- It creates a helper function that does the right thing for safely deallocating a mach port.
- It uses it in multiple places.
- It revises 'MachSendRight::create" so that it properly handles the condition of a dead port.
- It revises the MachSendRight destructor to properly handle the condition of a dead port.
No new tests, no change in behavior expected.
- SourcesCocoa.txt: Update for move of MachSendRight files.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- page/cocoa/ResourceUsageThreadCocoa.mm:
(WebCore::getMachThreads): Added.
(WebCore::cpuUsage): Use the new cleanup helper function.
- platform/cocoa/MachSendRight.cpp: Removed.
- platform/cocoa/MachSendRight.h: Removed.
- platform/graphics/avfoundation/objc/VideoFullscreenLayerManagerObjC.mm:
(WebCore::VideoFullscreenLayerManagerObjC::setVideoFullscreenLayer):
- platform/graphics/cocoa/IOSurface.h:
- platform/graphics/cocoa/IOSurface.mm:
Source/WebKit:
Update for new location of MachSendRight.h. Switch to
#pragma once in a few places.
- Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::platformInvalidate): Adopt new 'safe mach_port_t deallocation' function.
(IPC::Connection::initializeSendSource): Ditto.
(IPC::Connection::receiveSourceEventHandler): Ditto.
- Platform/SharedMemory.h:
- Platform/cocoa/SharedMemoryCocoa.cpp:
(WebKit::SharedMemory::Handle::clear): Ditto.
(WebKit::makeMemoryEntry): Ditto.
(WebKit::SharedMemory::createSendRight const): Ditto.
- Platform/mac/LayerHostingContext.h:
- Platform/mac/LayerHostingContext.mm:
- PluginProcess/PluginControllerProxy.h:
- PluginProcess/PluginProcess.h:
(WebKit::PluginProcess::compositingRenderServerPort const):
- Scripts/messages.py:
(headers_for_type): Update for new location of MachSendRight.
- Shared/Plugins/PluginProcessCreationParameters.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::encode const):
- Shared/WebCoreArgumentCoders.h:
- Shared/WebProcessCreationParameters.h:
- Shared/mac/WebCoreArgumentCodersMac.mm:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
- UIProcess/DrawingAreaProxy.cpp:
- UIProcess/DrawingAreaProxy.h:
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess): Ditto. Remove uneeded mach_port_dealloc called after
xpc_dictionary_set_mach_send. While '..._set_mach_send' retains the send right, it gets automatically
released when the message is handled. We only want to manually deallocate the send right if
the message failed to send.
- UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
- UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
- UIProcess/mac/WKViewLayoutStrategy.mm:
- WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
- WebProcess/Plugins/Netscape/NetscapePlugin.h:
- WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
- WebProcess/Plugins/PluginController.h:
- WebProcess/Plugins/PluginView.h:
- WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::addFence):
(WebKit::DrawingArea::updateGeometry):
- WebProcess/WebPage/DrawingArea.messages.in:
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::updateGeometry):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setTopContentInsetFenced):
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
- WebProcess/WebProcess.h:
(WebKit::WebProcess::compositingRenderServerPort const):
- WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenManager::setVideoLayerFrameFenced):
Source/WebKitLegacy/mac:
- Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost): Adopt new 'safe mach_port_t deallocation' function.
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/MachSendRight.h: Copied from WebCore/platform/cocoa/MachSendRight.h.
(WebCore::MachSendRight::operator bool const): Deleted.
(WebCore::MachSendRight::sendRight const): Deleted.
- wtf/PlatformMac.cmake:
- wtf/cocoa/CPUTimeCocoa.mm:
(WTF::CPUTime::forCurrentThread): Do proper cleanup if the port is invalid.
- wtf/cocoa/MachSendRight.cpp: Copied from WebCore/platform/cocoa/MachSendRight.cpp.
(WTF::retainSendRight):
(WTF::releaseSendRight):
(WTF::deallocateSendRightSafely):
(WebCore::retainSendRight): Deleted.
(WebCore::releaseSendRight): Deleted.
(WebCore::MachSendRight::adopt): Deleted.
(WebCore::MachSendRight::create): Deleted.
(WebCore::MachSendRight::MachSendRight): Deleted.
(WebCore::MachSendRight::~MachSendRight): Deleted.
(WebCore::MachSendRight::operator=): Deleted.
(WebCore::MachSendRight::copySendRight const): Deleted.
(WebCore::MachSendRight::leakSendRight): Deleted.
- 11:28 AM Changeset in webkit [230268] by
-
- 7 edits in trunk/Source/WebKit
Fix the print formatter build
https://bugs.webkit.org/show_bug.cgi?id=184289
-and corresponding-
rdar://problem/39164641
Reviewed by Dan Bernstein.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _webViewPrintFormatter]):
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/_WKWebViewPrintFormatter.h:
- UIProcess/_WKWebViewPrintFormatter.mm:
- UIProcess/_WKWebViewPrintFormatterInternal.h:
- UIProcess/ios/WKContentView.mm:
- UIProcess/ios/WKPDFView.mm:
- 11:26 AM Changeset in webkit [230267] by
-
- 4 edits in trunk/Source/WebCore
Remove unused HTTP header names
https://bugs.webkit.org/show_bug.cgi?id=184272
Reviewed by Alex Christensen.
No change of behavior.
Removed some names that are not used in the code base.
This allows to strengthen filtering of responses sent to WebProcess.
Added two headers used by web inspector.
Updated existing code to use indexed HTTP header names.
- html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::init):
- inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::sourceMapURLForResource):
- platform/network/HTTPHeaderNames.in:
- 10:55 AM Changeset in webkit [230266] by
-
- 19 edits1 delete in trunk/Source/JavaScriptCore
Don't do index masking or poisoning for DirectArguments
https://bugs.webkit.org/show_bug.cgi?id=184280
Reviewed by Saam Barati.
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/AccessCase.cpp:
(JSC::AccessCase::generateWithGuard):
- dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h:
(JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator):
- dfg/DFGCallCreateDirectArgumentsWithKnownLengthSlowPathGenerator.h: Removed.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
(JSC::DFG::SpeculativeJIT::compileCreateDirectArguments):
(JSC::DFG::SpeculativeJIT::compileGetFromArguments):
(JSC::DFG::SpeculativeJIT::compilePutToArguments):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetArrayLength):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments):
(JSC::FTL::DFG::LowerDFGToB3::compileGetFromArguments):
(JSC::FTL::DFG::LowerDFGToB3::compilePutToArguments):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass):
(JSC::FTL::DFG::LowerDFGToB3::dynamicPoison):
(JSC::FTL::DFG::LowerDFGToB3::dynamicPoisonOnLoadedType):
(JSC::FTL::DFG::LowerDFGToB3::dynamicPoisonOnType):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedHeapCell): Deleted.
- heap/SecurityKind.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_from_arguments):
(JSC::JIT::emit_op_put_to_arguments):
(JSC::JIT::emitDirectArgumentsGetByVal):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_from_arguments):
(JSC::JIT::emit_op_put_to_arguments):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/DirectArguments.cpp:
(JSC::DirectArguments::DirectArguments):
(JSC::DirectArguments::createUninitialized):
(JSC::DirectArguments::create):
(JSC::DirectArguments::createByCopying):
(JSC::DirectArguments::estimatedSize):
(JSC::DirectArguments::visitChildren):
(JSC::DirectArguments::overrideThings):
(JSC::DirectArguments::copyToArguments):
(JSC::DirectArguments::mappedArgumentsSize):
- runtime/DirectArguments.h:
- runtime/JSCPoison.h:
- runtime/JSLexicalEnvironment.h:
- runtime/JSSymbolTableObject.h:
- 10:43 AM Changeset in webkit [230265] by
-
- 2 edits in trunk/Source/WebCore
Fix the !HAVE(AVFOUNDATION_VIDEO_OUTPUT) build
https://bugs.webkit.org/show_bug.cgi?id=184309
-and corresponding-
rdar://problem/39179126
Reviewed by Jer Noble.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoFullscreenInlineImage):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer):
- 10:42 AM Changeset in webkit [230264] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSArray::appendMemcpy seems to be missing a barrier
https://bugs.webkit.org/show_bug.cgi?id=184290
Reviewed by Mark Lam.
If you write to an array that may contain pointers and you didn't just allocate it, then you need to
barrier right after.
I don't know if this is really a bug - it's possible that all callers of appendMemcpy do things that
obviate the need for this barrier. But these barriers are cheap, so we should do them if in doubt.
- runtime/JSArray.cpp:
(JSC::JSArray::appendMemcpy):
- 10:41 AM Changeset in webkit [230263] by
-
- 1 edit2 adds in trunk/LayoutTests
Add a test for HttpOnly cookies used to load AppCache resources
https://bugs.webkit.org/show_bug.cgi?id=184305
<rdar://problem/39175648>
Reviewed by Brady Eidson.
- http/tests/appcache/document-cookie-http-only-expected.txt: Added.
- http/tests/appcache/document-cookie-http-only.php: Added.
- 10:34 AM Changeset in webkit [230262] by
-
- 3 edits in trunk/Source/WebCore
MockRealtimeVideoSourceMac should produce kCVPixelFormatType_420YpCbCr8Planar buffers
https://bugs.webkit.org/show_bug.cgi?id=184304
Reviewed by Eric Carlson.
Allows covering RealtimeOutgoingVideoSourceMac code path handling native buffers produced by capture video sources.
ARGB buffer coverage is done through canvas capture streams.
- platform/mediastream/mac/MockRealtimeVideoSourceMac.h:
- platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
(WebCore::MockRealtimeVideoSourceMac::CMSampleBufferFromPixelBuffer):
- 10:16 AM Changeset in webkit [230261] by
-
- 3 edits2 moves in trunk/Source/WebKit
[iOS] Rename WKPDFView to WKLegacyPDFView
https://bugs.webkit.org/show_bug.cgi?id=184286
Rubber-stamped by Wenson Hsieh.
A series of upcoming patches will implement a new WKPDFView based on PDFKit.
- UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm:
(-[WKWebViewContentProviderRegistry init]):
- UIProcess/ios/WKLegacyPDFView.h: Renamed from Source/WebKit/UIProcess/ios/WKPDFView.h.
- UIProcess/ios/WKLegacyPDFView.mm: Renamed from Source/WebKit/UIProcess/ios/WKPDFView.mm.
(-[WKLegacyPDFView _computeMatchesForString:options:maxCount:completionHandler:]):
- WebKit.xcodeproj/project.pbxproj:
- 10:00 AM Changeset in webkit [230260] by
-
- 1 edit2 adds in trunk/Source/WebKit
[WinCairo] Add WebKit Shared/win files for wincairo webkit
https://bugs.webkit.org/show_bug.cgi?id=183044
Reviewed by Alex Christensen.
- Shared/win/ChildProcessMainWin.cpp: Added.
- 9:40 AM Changeset in webkit [230259] by
-
- 9 edits in trunk
Introduce a ThreadSafeRefCounted parameter to ensure being destroyed on the main thread
https://bugs.webkit.org/show_bug.cgi?id=183988
Reviewed by Darin Adler.
Source/WebCore:
No change of behavior, TrackPrivate remains destroyed on the main thread.
- platform/graphics/TrackPrivateBase.h:
- platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:
(WebCore::AudioTrackPrivateMediaStreamCocoa::audioSamplesAvailable):
(WebCore::AudioTrackPrivateMediaStreamCocoa::render):
Source/WTF:
- wtf/ThreadSafeRefCounted.h:
(WTF::ThreadSafeRefCounted::deref const):
Tools:
- TestWebKitAPI/Tests/WTF/RefPtr.cpp:
(TestWebKitAPI::ThreadSafeRefCountedObject::create):
(TestWebKitAPI::ThreadSafeRefCountedObject::~ThreadSafeRefCountedObject):
(TestWebKitAPI::MainThreadSafeRefCountedObject::create):
(TestWebKitAPI::MainThreadSafeRefCountedObject::~MainThreadSafeRefCountedObject):
(TestWebKitAPI::TEST):
- 9:17 AM Changeset in webkit [230258] by
-
- 1 copy in tags/Safari-606.1.12
Tag Safari-606.1.12.
- 9:12 AM Changeset in webkit [230257] by
-
- 2 edits in trunk/Source/WebKit
[Extra zoom mode] Remove effective font size constraints when determining focus zoom scale
https://bugs.webkit.org/show_bug.cgi?id=184287
<rdar://problem/39063886>
Reviewed by Timothy Hatcher.
As it turns out, form controls on some important websites can be very wide, with a small font size, which
renders the approach taken in <https://trac.webkit.org/r230171> moot, since we'll just end up zooming to a scale
that is too large anyways. To mitigate this for now, remove the minimum font scaling threshold while we think of
more clever ways to account for this scenario.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _zoomToFocusRect:selectionRect:insideFixed:fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]):
- 8:20 AM Changeset in webkit [230256] by
-
- 2 edits in trunk/Source/WebKit
[Win] WebFrameLoaderClient: 'getpid': identifier not found
https://bugs.webkit.org/show_bug.cgi?id=184291
Patch by Fujii Hironori <Fujii Hironori> on 2018-04-04
Reviewed by Konstantin Tokarev.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
Use WTF::getCurrentProcessID() instead of getpid().
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.
- 8:00 AM Changeset in webkit [230255] by
-
- 3 edits1 add in trunk/Source/bmalloc
Enable Gigacage unconditionally when building JSCOnly on macOS (build fix)
https://bugs.webkit.org/show_bug.cgi?id=184301
Reviewed by Yusuke Suzuki.
bmalloc/ProcessCheck.mm implements specific behavior for Mac and iOS ports,
which is guarded with BPLATFORM(COCOA). if we don't enable BPLATFORM(MAC)
or BPLATFORM(IOS) in JSCOnly, then BPLATFORM(COCOA) won't be defined
as well, and code path from ProcessCheck.mm will not be taken.
- CMakeLists.txt: Exclude ProcessCheck.mm from port-independent file
list.
- PlatformMac.cmake: Build ProcessCheck.mm for Mac port.
- bmalloc/BPlatform.h: Don't enable BPLATFORM(MAC) or BPLATFORM(IOS)
when building JSCOnly port.
- 6:46 AM Changeset in webkit [230254] by
-
- 2 edits1 delete in trunk/Source/WTF
[WTF] Remove Atomics.cpp
https://bugs.webkit.org/show_bug.cgi?id=184300
Reviewed by Konstantin Tokarev.
This Atomics.cpp is a workaround for GCC which version is < 4.8.
Our compiler requirement is now 5.0.0. This workaround is no
longer necessary.
- wtf/Atomics.cpp: Removed.
- wtf/CMakeLists.txt:
- 6:34 AM Changeset in webkit [230253] by
-
- 7 edits in trunk
Test gardening for GTK.
https://bugs.webkit.org/show_bug.cgi?id=184298
Unreviewed test gardening.
LayoutTests/imported/w3c:
- web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin-expected.txt: update expectations: the test started passing in r230066, but this was not noticed because it is marked as flaky on macOS.
Tools:
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Add pointer to
https://bugs.webkit.org/show_bug.cgi?id=184295.
LayoutTests:
- platform/gtk/TestExpectations:
- update expectations for fast/mediastream tests for the libwebrtc integration in r230152
- skip http/wpt/loading/redirect-headers.html, which was added in r230224, because the API it uses is only implemented for cocoa (https://bugs.webkit.org/show_bug.cgi?id=184295)
- platform/wpe/TestExpectations:
- skip http/wpt/loading/redirect-headers.html, which was added in r230224, because the API it uses is only implemented for cocoa (https://bugs.webkit.org/show_bug.cgi?id=184295)
- 5:58 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 2:31 AM Changeset in webkit [230252] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix the build with libsoup < 2.49.91 after r230251.
Stop using ResourceHandle in SoupNetworkSession.
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::SoupNetworkSession):
(WebCore::authenticateCallback): Deleted.
(WebCore::requestStartedCallback): Deleted.
Apr 3, 2018:
- 11:55 PM Changeset in webkit [230251] by
-
- 4 edits in trunk/Source/WebCore
Remove unused libsoup ResourceHandle implementation
https://bugs.webkit.org/show_bug.cgi?id=184048
Patch by Alex Christensen <achristensen@webkit.org> on 2018-04-03
Reviewed by Michael Catanzaro.
This code is unused since r228901 so let's remove it!
- platform/network/ResourceHandle.h:
- platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::ResourceHandleInternal::soupSession):
(WebCore::ResourceHandle::cancelledOrClientless):
(WebCore::ResourceHandle::ensureReadBuffer):
(WebCore::ResourceHandle::currentStreamPosition const):
(WebCore::ResourceHandle::platformContinueSynchronousDidReceiveResponse):
(WebCore::ResourceHandle::didStartRequest):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::releaseForDownload):
(WebCore::ResourceHandle::sendPendingRequest):
(WebCore::ResourceHandle::cancel):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::receivedCancellation):
(WebCore::ResourceHandle::receivedChallengeRejection):
(WebCore::ResourceHandle::platformSetDefersLoading):
(WebCore::sessionFromContext): Deleted.
(WebCore::ResourceHandle::create): Deleted.
(WebCore::ResourceHandle::ResourceHandle): Deleted.
(WebCore::isAuthenticationFailureStatusCode): Deleted.
(WebCore::tlsErrorsChangedCallback): Deleted.
(WebCore::gotHeadersCallback): Deleted.
(WebCore::applyAuthenticationToRequest): Deleted.
(WebCore::restartedCallback): Deleted.
(WebCore::shouldRedirect): Deleted.
(WebCore::shouldRedirectAsGET): Deleted.
(WebCore::continueAfterWillSendRequest): Deleted.
(WebCore::doRedirect): Deleted.
(WebCore::redirectSkipCallback): Deleted.
(WebCore::wroteBodyDataCallback): Deleted.
(WebCore::cleanupSoupRequestOperation): Deleted.
(WebCore::nextMultipartResponsePartCallback): Deleted.
(WebCore::sendRequestCallback): Deleted.
(WebCore::continueAfterDidReceiveResponse): Deleted.
(WebCore::startingCallback): Deleted.
(WebCore::networkEventCallback): Deleted.
(WebCore::createSoupMessageForHandleAndRequest): Deleted.
(WebCore::createSoupRequestAndMessageForHandle): Deleted.
(WebCore::ResourceHandle::timeoutFired): Deleted.
(WebCore::waitingToSendRequest): Deleted.
(WebCore::readCallback): Deleted.
- 11:32 PM Changeset in webkit [230250] by
-
- 1 edit2 adds in branches/safari-605-branch/LayoutTests
Cherry-pick r230172. rdar://problem/39155049
Followup(r230063): Add test a layout test for https://bugs.webkit.org/show_bug.cgi?id=183972
https://bugs.webkit.org/show_bug.cgi?id=184162
Reviewed by Daniel Bates.
Without r230063, running run-webkit-tests -g for this test will crash.
- svg/dom/animated-tearoff-list-remove-target-expected.txt: Added.
- svg/dom/animated-tearoff-list-remove-target.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230172 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:32 PM Changeset in webkit [230249] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r230063. rdar://problem/39155049
The SVGAnimatedProperty wrappers have to be detached from the referenced values before the SVGAnimatedType is deleted
https://bugs.webkit.org/show_bug.cgi?id=183972
Reviewed by Daniel Bates.
If the SVGAnimatedType is a list type, e.g. SVGLengthListValues, the wrappers
of the animated properties have to be detached from the items in the list
before it's deleted.
- svg/SVGAnimateElementBase.cpp: (WebCore::SVGAnimateElementBase::clearAnimatedType):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230063 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:11 PM Changeset in webkit [230248] by
-
- 2 edits in branches/safari-605-branch/Source/WebKitLegacy/mac
Cherry-pick r229414. rdar://problem/38651634
Possible null dereference of the page under WebFrameNetworkingContext::storageSession()
https://bugs.webkit.org/show_bug.cgi?id=183455
<rdar://problem/38191749>
Reviewed by Youenn Fablet.
Add a null check for the page as we have evidence from crashes that it can be null.
Other functions in WebFrameNetworkingContext already null check the page as well,
not just the frame so this is consistent.
- WebCoreSupport/WebFrameNetworkingContext.mm: (WebFrameNetworkingContext::storageSession const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:11 PM Changeset in webkit [230247] by
-
- 5 edits4 adds in branches/safari-605-branch
Cherry-pick r230006. rdar://problem/38154623
CSS mask images should be retrieved using potentially CORS-enabled fetch
https://bugs.webkit.org/show_bug.cgi?id=179983
<rdar://problem/35678149>
Reviewed by Brent Fulgham.
Source/WebCore:
As per <https://drafts.fxtf.org/css-masking-1/#priv-sec> (Editor’s Draft, 23 December 2017)
we should fetch CSS mask images using a potentially CORS-enabled fetch.
Both cross-origin CSS shape-outside images and CSS mask images may be sensitive to timing
attacks that can be used to reveal their pixel data when retrieved without regard to CORS.
For the same reason that we fetch CSS shape-outside images using a potentially CORS-enabled
fetch we should fetch CSS mask the same way. This also makes the behavior of WebKit more
closely align with the behavior in the spec.
Test: http/tests/security/css-mask-image.html
- page/Settings.yaml: Add a setting for toggle "Anonymous" mode fetching of mask images (defaults: true). We need this setting to avoid breaking the developer convenience feature that some modern media controls layout tests employ to load assets from the filesystem as opposed to using the hardcoded data URLs baked into the WebKit binary.
- style/StylePendingResources.cpp: Substitute LoadPolicy::NoCORS and LoadPolicy::Anonymous for LoadPolicy::Normal and LoadPolicy::ShapeOutside, respectively, to match the terminology used in the HTML, CSS Shapes Module Level 1, and CSS Masking Module Level 1 specs. (WebCore::Style::loadPendingImage): Ditto. (WebCore::Style::loadPendingResources): Use load policy LoadPolicy::Anonymous when fetching a mask image or shape-outside image.
LayoutTests:
Add a test to ensure we do not fetch a cross-origin CSS mask image that does
not allow CORS access.
- http/tests/security/css-mask-image-expected.html: Added.
- http/tests/security/css-mask-image.html: Added.
- http/tests/security/resources/black-square.png: Added.
- http/tests/security/resources/fail-mask.png: Added.
- media/modern-media-controls/resources/media-controls-loader.js: Disable "Anonymous" mode fetching of mask images to allow modern media controls to load mask assets from the filesystem.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230006 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:11 PM Changeset in webkit [230246] by
-
- 4 edits3 adds in branches/safari-605-branch
Cherry-pick r229987. rdar://problem/39155464
DFG should know that CreateThis can be effectful
https://bugs.webkit.org/show_bug.cgi?id=184013
Reviewed by Saam Barati.
JSTests:
- stress/create-this-property-change.js: Added. (Foo): (RealBar): (get if):
- stress/create-this-structure-change-without-cse.js: Added. (Foo): (RealBar): (get if):
- stress/create-this-structure-change.js: Added. (Foo): (RealBar): (get if):
Source/JavaScriptCore:
As shown in the tests added in JSTests, CreateThis can be effectful if the constructor this
is a proxy.
- dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h: (JSC::DFG::clobberize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229987 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:02 PM Changeset in webkit [230245] by
-
- 5 edits in trunk
ASSERTION FAILED: !m_mainFrame->coreFrame()->loader().frameHasLoaded() !m_pendingNavigationID when reloading page while a page is loading https://bugs.webkit.org/show_bug.cgi?id=153210
Reviewed by Alex Christensen.
Source/WebKit:
The assert happens when WebPage::reload() is called twice and the first time the reload is ignored by
FrameLoader because the document URL is empty. In that case the pending navigation is not reset, because
FrameLoader::reload() returns before creating the document loader.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::reload): Check if the pending navigation has been reset after calling FrameLoader::reload()
and reset it otherwise.
Tools:
Add unit tests to WebKit C API and WebKitGLib.
- TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
(LoadTwiceAndReloadTest::reloadOnFinishLoad):
(LoadTwiceAndReloadTest::LoadTwiceAndReloadTest):
(LoadTwiceAndReloadTest::~LoadTwiceAndReloadTest):
(LoadTwiceAndReloadTest::waitUntilFinished):
(testWebViewLoadTwiceAndReload):
(beforeAll):
- 11:00 PM Changeset in webkit [230244] by
-
- 2 edits in trunk/Tools
[GTK] Test /webkit/WebKitWebPage/context-menu is failing since r229831
https://bugs.webkit.org/show_bug.cgi?id=184260
Reviewed by Michael Catanzaro.
This is not a regression introduced in r229831, though, it's a bug in the test itself revealed by r229831. We
should wait for the load to complete before trying to show the context menu.
- TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
(testContextMenuWebExtensionMenu):
- 9:36 PM Changeset in webkit [230243] by
-
- 6 edits1 add in trunk/Tools
[LayoutReloaded] Introduce floating to InlineFormattingContext
https://bugs.webkit.org/show_bug.cgi?id=184288
Reviewed by Antti Koivisto.
- LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
(BlockFormattingContext.prototype._computeFloatingWidth): Deleted.
(BlockFormattingContext.prototype._computeFloatingHeight): Deleted.
- LayoutReloaded/FormattingContext/FormattingContext.js:
(FormattingContext.prototype._computeFloatingWidth):
(FormattingContext.prototype._computeFloatingHeight):
- LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
(InlineFormattingContext.prototype.layout):
(InlineFormattingContext.prototype._handleFloatingBox):
- LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
(Line.prototype.addFloatingBox):
(Line):
- LayoutReloaded/test/float-is-inside-inline-formatting-context-simple.html: Added.
- LayoutReloaded/test/index.html:
- 8:27 PM Changeset in webkit [230242] by
-
- 5 edits in branches/safari-605-branch
Cherry-pick r230146. rdar://problem/39155245
Show punycode if URL contains hyphen character
https://bugs.webkit.org/show_bug.cgi?id=184221
<rdar://problem/38044633>
Reviewed by Darin Adler.
Source/WebCore:
Revise our "lookalike character" logic to include the hyphen,
non-breaking hyphen, and minus sign.
Test: fast/url/host.html
- platform/mac/WebCoreNSURLExtras.mm: (WebCore::isLookalikeCharacter):
LayoutTests:
- fast/url/host-expected.txt:
- fast/url/host.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230146 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:27 PM Changeset in webkit [230241] by
-
- 3 edits2 adds in branches/safari-605-branch
Cherry-pick r230143. rdar://problem/39155381
JSC crash in JIT code with for-of loop and Array/Set iterators
https://bugs.webkit.org/show_bug.cgi?id=183174
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/hoist-get-by-offset-tower-with-inferred-types.js: Added. This test shows that fixing the bug didn't break hoisting of GetByOffset with inferred types. I confirmed that if I did break it, this test slows down by >7x. (foo):
- stress/hoist-get-by-offset-with-control-dependent-inferred-type.js: Added. This test shows that the bug is fixed. (f):
Source/JavaScriptCore:
- dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): Fix the bug by making GetByOffset and friends verify that they are getting the type proof they want at the desired hoisting site.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:27 PM Changeset in webkit [230240] by
-
- 5 edits1 add in branches/safari-605-branch
Cherry-pick r230119. rdar://problem/39155070
WebAssembly compilation from DataView
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:27 PM Changeset in webkit [230239] by
-
- 28 edits1 copy1 add2 deletes in branches/safari-605-branch
Cherry-pick r230102. rdar://problem/38154594
A stack overflow in the parsing of a builtin (called by createExecutable) cause a crash instead of a catchable js exception
https://bugs.webkit.org/show_bug.cgi?id=184074
<rdar://problem/37165897>
Reviewed by Keith Miller.
JSTests:
- stress/stack-overflow-while-parsing-builtin.js: Added. (f):
Source/JavaScriptCore:
Fixing this requires getting the ParserError (with information about the failure) and an ExecState* (to throw an exception) in the same place.
It is surprisingly painful, with quite a long call stack between the last function with an access to an ExecState* and the first function with the ParserError.
Even worse, many of these functions are generated by macros, themselves generated by a maze of python scripts.
As a result, this patch is grotesquely large, while all it does is adding enough plumbing to throw a proper exception in this specific case.
There are now bare calls to '.value()' on several paths that may crash. It is not a problem in my opinion, since we previously crashed in every case regardless of the path that took us to createExecutable when encountering a stack overflow.
If we ever find an example that can cause these calls to fail, it should be doable to throw a proper exception there too.
Two other minor changes:
- I removed BuiltinExecutableCreator.{cpp, h} as it was nearly empty, and only used in one place. That place now includes BuiltinExecutables.h directly instead.
- I moved code from ParserError.h into a newly created ParserError.cpp, as I see no need to inline functions that are only used when encountering a parser error, and ParserError.h is now included in quite a few places.
- JavaScriptCore.xcodeproj/project.pbxproj:
- Scripts/builtins/builtins_generate_combined_header.py: (BuiltinsCombinedHeaderGenerator.generate_forward_declarations): (ParserError): (generate_section_for_object): Deleted. (generate_externs_for_object): Deleted. (generate_macros_for_object): Deleted. (generate_section_for_code_table_macro): Deleted. (generate_section_for_code_name_macro): Deleted. (generate_section_for_global_private_code_name_macro): Deleted.
- Scripts/builtins/builtins_generate_separate_header.py: (generate_secondary_header_includes):
- Scripts/builtins/builtins_templates.py:
- Sources.txt:
- builtins/BuiltinExecutableCreator.cpp: Removed.
- builtins/BuiltinExecutableCreator.h: Removed.
- builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): (JSC::BuiltinExecutables::createBuiltinExecutable): (JSC::createBuiltinExecutable): (JSC::BuiltinExecutables::createExecutableOrCrash): (JSC::BuiltinExecutables::createExecutable):
- builtins/BuiltinExecutables.h:
- bytecompiler/BytecodeGenerator.h:
- parser/ParserError.cpp: Added. (JSC::ParserError::toErrorObject): (JSC::ParserError::throwStackOverflowOrOutOfMemory): (WTF::printInternal):
- parser/ParserError.h: (JSC::ParserError::toErrorObject): Deleted. (WTF::printInternal): Deleted.
- runtime/AsyncIteratorPrototype.cpp: (JSC::AsyncIteratorPrototype::finishCreation):
- runtime/FunctionPrototype.cpp: (JSC::FunctionPrototype::addFunctionProperties):
- runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init):
- runtime/JSObject.cpp: (JSC::JSObject::getOwnStaticPropertySlot): (JSC::JSObject::reifyAllStaticProperties):
- runtime/JSObject.h: (JSC::JSObject::getOwnNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::getPropertySlot):
- runtime/JSObjectInlines.h: (JSC::JSObject::getNonIndexPropertySlot):
- runtime/JSTypedArrayViewPrototype.cpp: (JSC::JSTypedArrayViewPrototype::finishCreation):
- runtime/Lookup.cpp: (JSC::reifyStaticAccessor): (JSC::setUpStaticFunctionSlot):
- runtime/Lookup.h: (JSC::getStaticPropertySlotFromTable): (JSC::reifyStaticProperty):
- runtime/MapPrototype.cpp: (JSC::MapPrototype::finishCreation):
- runtime/SetPrototype.cpp: (JSC::SetPrototype::finishCreation):
- tools/JSDollarVM.cpp: (JSC::functionCreateBuiltin):
Source/WebCore:
I had to slightly change the type of some bindings between JSC and WebCore. No functional change intended on the WebCore side.
- bindings/js/JSReadableStreamPrivateConstructors.cpp: (WebCore::JSBuiltinReadableStreamDefaultReaderPrivateConstructor::initializeExecutable): (WebCore::JSBuiltinReadableStreamDefaultControllerPrivateConstructor::initializeExecutable): (WebCore::JSBuiltinReadableByteStreamControllerPrivateConstructor::initializeExecutable): (WebCore::JSBuiltinReadableStreamBYOBReaderPrivateConstructor::initializeExecutable): (WebCore::JSBuiltinReadableStreamBYOBRequestPrivateConstructor::initializeExecutable):
- bindings/scripts/CodeGeneratorJS.pm: (GenerateConstructorHelperMethods):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::JSTestClassWithJSBuiltinConstructorConstructor::initializeExecutable):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::JSTestJSBuiltinConstructorConstructor::initializeExecutable):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:27 PM Changeset in webkit [230238] by
-
- 5 edits1 add in branches/safari-605-branch
Cherry-pick r230101. rdar://problem/39155394
Out-of-bounds accesses due to a missing check for MAX_STORAGE_VECTOR_LENGTH in unshiftCountForAnyIndexingType
https://bugs.webkit.org/show_bug.cgi?id=183657
JSTests:
Reviewed by Keith Miller.
- stress/large-unshift-splice.js: Added. (make_contig_arr):
Source/JavaScriptCore:
<rdar://problem/38464399>
Reviewed by Keith Miller.
There was just a missing check in unshiftCountForIndexingType.
I've also replaced 'return false' by 'return true' in the case of an 'out-of-memory' exception, because 'return false' means 'please continue to the slow path',
and the slow path has an assert that there is no unhandled exception (line 360 of ArrayPrototype.cpp).
Finally, I made the assert in ensureLength a release assert as it would have caught this bug and prevented it from being a security risk.
- runtime/ArrayPrototype.cpp: (JSC::unshift):
- runtime/JSArray.cpp: (JSC::JSArray::unshiftCountWithAnyIndexingType):
- runtime/JSObject.h: (JSC::JSObject::ensureLength):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230101 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:27 PM Changeset in webkit [230237] by
-
- 4 edits3 adds in branches/safari-605-branch
Cherry-pick r230052. rdar://problem/39155251
WebSocket cookie incorrectly stored
https://bugs.webkit.org/show_bug.cgi?id=184100
<rdar://problem/37928715>
Reviewed by Brent Fulgham.
Source/WebCore:
A cookie received in a WebSocket response should be stored with respect to the
origin of the WebSocket server in order for it to be sent in a subsequent request.
Also removed a FIXME about implementing support for the long since
deprecated Set-Cookie2 header.
Test: http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior.html
- Modules/websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::processBuffer):
- Modules/websockets/WebSocketHandshake.h:
LayoutTests:
- http/tests/websocket/tests/hybi/cookie_wsh.py: Added. Downloaded from <https://github.com/w3c/pywebsocket/blob/b2e1d11086fdf00b33a0d30c504f227e7d4fa86b/src/example/cookie_wsh.py>. (_add_set_cookie): (web_socket_do_extra_handshake): (web_socket_transfer_data):
- http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior-expected.txt: Added.
- http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:27 PM Changeset in webkit [230236] by
-
- 6 edits1 add in branches/safari-605-branch
Cherry-pick r230026. rdar://problem/39155085
appendQuotedJSONString stops on arithmetic overflow instead of propagating it upwards
https://bugs.webkit.org/show_bug.cgi?id=183894
Reviewed by Saam Barati.
JSTests:
- stress/json-stringified-overflow.js: Added. (catch):
Source/JavaScriptCore:
Use the return value of appendQuotedJSONString to fail more gracefully when given a string that is too large to handle.
- runtime/JSONObject.cpp: (JSC::Stringifier::appendStringifiedValue):
Source/WTF:
appendQuotedJSONString now returns a bool indicating whether it succeeded, instead of silently failing when given a string too large
to fit in 4GB.
- wtf/text/StringBuilder.h:
- wtf/text/StringBuilderJSON.cpp: (WTF::StringBuilder::appendQuotedJSONString):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:27 PM Changeset in webkit [230235] by
-
- 2 edits in branches/safari-605-branch/Source/JavaScriptCore
Cherry-pick r229962. rdar://problem/39122091
r228149 accidentally removed code that resets m_emptyCursor at the end of a GC
https://bugs.webkit.org/show_bug.cgi?id=183995
Reviewed by Filip Pizlo.
The removal of this line of code was unintended and happened during some
refactoring Fil was doing. The consequence of removing this line of code
is that the m_emptyCursor became a monotonically increasing integer, leading
the cursor to usually being out of bounds of the block range (depending on
what the program is doing). This made the functionality of finding an empty
block to steal almost always fail.
- heap/BlockDirectory.cpp: (JSC::BlockDirectory::prepareForAllocation):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229962 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:27 PM Changeset in webkit [230234] by
-
- 3 edits1 add in branches/safari-605-branch
Cherry-pick r229850. rdar://problem/39155286
Race Condition in arrayProtoFuncReverse() causes wrong results or crash
https://bugs.webkit.org/show_bug.cgi?id=183901
Reviewed by Keith Miller.
JSTests:
New test.
- stress/array-reverse-doesnt-clobber.js: Added. (testArrayReverse): (createArrayOfArrays): (createArrayStorage):
Source/JavaScriptCore:
Added write barriers to ensure the reversed contents are properly marked.
- runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncReverse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:27 PM Changeset in webkit [230233] by
-
- 7 edits2 adds in branches/safari-605-branch
Cherry-pick r229830. rdar://problem/39155360
Disconnect the SVGPathSegList items from their SVGPathElement before rebuilding a new list
https://bugs.webkit.org/show_bug.cgi?id=183723
<rdar://problem/38517871>
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-03-21
Reviewed by Daniel Bates.
Source/WebCore:
When setting the "d" attribute directly on a path, we rebuild the list
of path segments held for creating the property tear off. The old path
segments need to get disconnected from the path element. We already do
that when a path segment is replaced or removed.
Test: svg/dom/reuse-pathseg-after-changing-d.html
- svg/SVGPathElement.cpp: (WebCore::SVGPathElement::svgAttributeChanged):
- svg/SVGPathSegList.cpp: (WebCore::SVGPathSegList::clear): SVGPathSegListValues::clearContextAndRoles() will now be called from SVGPathSegListValues::clear() via SVGListProperty::clearValues(). (WebCore::SVGPathSegList::replaceItem): (WebCore::SVGPathSegList::removeItem): (WebCore::SVGPathSegList::clearContextAndRoles): Deleted.
- svg/SVGPathSegList.h: SVGPathSegListValues::clearContextAndRoles() will now be called from SVGPathSegListValues::clear() via SVGListProperty::initializeValues().
- svg/SVGPathSegListValues.cpp: (WebCore::SVGPathSegListValues::clearItemContextAndRole): (WebCore::SVGPathSegListValues::clearContextAndRoles):
- svg/SVGPathSegListValues.h: (WebCore::SVGPathSegListValues::operator=): (WebCore::SVGPathSegListValues::clear):
LayoutTests:
- svg/dom/reuse-pathseg-after-changing-d-expected.txt: Added.
- svg/dom/reuse-pathseg-after-changing-d.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:03 PM Changeset in webkit [230232] by
-
- 3 edits in trunk/Source/WebKit
Make NetworkProcess get ContentBlocker information from UIProcess
https://bugs.webkit.org/show_bug.cgi?id=184205
<rdar://problem/39146551>
Unreviewed.
Updated decode/encode methods to not hit null identifier assertion.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::encode const):
(WebKit::WebPageGroupData::decode):
- 7:41 PM Changeset in webkit [230231] by
-
- 5 edits in trunk/Source/WebKit
[iOS] WKWebView shouldn't know about WKPDFView
https://bugs.webkit.org/show_bug.cgi?id=184283
Reviewed by Timothy Hatcher.
WKWebView shouldn't be checking if _customContentView is a particular kind of
class (e.g., WKPDFView). Instead, it should interact with the _customContentView
using the WKWebViewContentProvider protocol.
Reimplement -_isBackground, -_isDisplayingPDF, -_dataForDisplayedPDF, and
-_suggestedFilenameForDisplayedPDF using new WKWebViewContentProvider protocol
methods that WKPDFView implements.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _isBackground]):
(-[WKWebView _isDisplayingPDF]):
(-[WKWebView _dataForDisplayedPDF]):
(-[WKWebView _suggestedFilenameForDisplayedPDF]):
- UIProcess/Cocoa/WKWebViewContentProvider.h:
- UIProcess/ios/WKPDFView.h:
- UIProcess/ios/WKPDFView.mm:
(-[WKPDFView web_dataRepresentation]):
(-[WKPDFView web_suggestedFilename]):
(-[WKPDFView web_isBackground]):
(-[WKPDFView suggestedFilename]): Deleted.
(-[WKPDFView pdfDocument]): Deleted.
(-[WKPDFView isBackground]): Deleted.
- 6:19 PM Changeset in webkit [230230] by
-
- 2 edits in trunk/JSTests
Test js-fixed-array-out-of-memory.js should be excluded for memory limited devices.
https://bugs.webkit.org/show_bug.cgi?id=184284
Reviewed by Saam Barati.
- stress/js-fixed-array-out-of-memory.js:
- 5:56 PM Changeset in webkit [230229] by
-
- 21 edits in trunk/Source/WebCore
Add missing WEBCORE_EXPORTs (for Windows shared library build)
https://bugs.webkit.org/show_bug.cgi?id=184279
Reviewed by Alex Christensen.
- dom/Element.h:
- dom/Node.h:
- editing/FrameSelection.h:
- html/DOMURL.h:
- html/HTMLFormElement.h:
- html/canvas/CanvasRenderingContext.h:
- platform/graphics/GraphicsContext.h:
- platform/graphics/PlatformDisplay.h:
- platform/graphics/cairo/CairoOperations.h:
- platform/graphics/cairo/GraphicsContextImplCairo.h:
- platform/graphics/texmap/TextureMapperLayer.h:
- platform/network/HTTPHeaderMap.h:
- platform/network/ResourceRequestBase.h:
- platform/network/ResourceResponseBase.h:
- platform/network/curl/AuthenticationChallenge.h:
- platform/network/curl/CurlFormDataStream.h:
- platform/network/curl/CurlRequest.h:
- platform/network/curl/CurlSSLHandle.h:
- platform/network/curl/ResourceError.h:
- platform/network/curl/ResourceResponse.h:
- 5:46 PM Changeset in webkit [230228] by
-
- 4 edits in trunk/Source/WebInspectorUI
AX: Add Experimental setting for Accessibility Audit
https://bugs.webkit.org/show_bug.cgi?id=183646
<rdar://problem/38478583>
Patch by Aaron Chu <aaron_chu@apple.com> on 2018-04-03
Reviewed by Brian Burg.
Added experimental feature flag for Accessibility Audit work.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Setting.js:
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
- 5:44 PM Changeset in webkit [230227] by
-
- 9 edits in trunk/Source
RealtimeOutgoingVideoSourceMac should pass a ObjCFrameBuffer buffer
https://bugs.webkit.org/show_bug.cgi?id=184281
rdar://problem/39153262
Reviewed by Jer Noble.
Source/ThirdParty/libwebrtc:
Introduce a routine to create the wrapper around native pixel buffers as expected by the new libwebrtc H264 encoder.
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
- Source/webrtc/sdk/WebKit/WebKitUtilities.h:
- Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
(webrtc::pixelBufferToFrame):
Source/WebCore:
Covered by manual testing by going to WebRTC web sites.
- platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:
(WebCore::RealtimeOutgoingVideoSourceCocoa::sampleBufferUpdated):
- 4:52 PM Changeset in webkit [230226] by
-
- 30 edits6 deletes in trunk/Source
GC shouldn't do object distancing
https://bugs.webkit.org/show_bug.cgi?id=184195
Reviewed by Saam Barati.
Source/JavaScriptCore:
This rolls out SecurityKind/SecurityOriginToken, but keeps the TLC infrastructure. It seems
to be a small speed-up.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- heap/BlockDirectory.cpp:
(JSC::BlockDirectory::findBlockForAllocation):
(JSC::BlockDirectory::addBlock):
- heap/BlockDirectory.h:
- heap/CellAttributes.cpp:
(JSC::CellAttributes::dump const):
- heap/CellAttributes.h:
(JSC::CellAttributes::CellAttributes):
- heap/LocalAllocator.cpp:
(JSC::LocalAllocator::allocateSlowCase):
(JSC::LocalAllocator::tryAllocateWithoutCollecting):
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::Handle::didAddToDirectory):
- heap/MarkedBlock.h:
(JSC::MarkedBlock::Handle::securityOriginToken const): Deleted.
- heap/SecurityKind.cpp: Removed.
- heap/SecurityKind.h: Removed.
- heap/SecurityOriginToken.cpp: Removed.
- heap/SecurityOriginToken.h: Removed.
- heap/ThreadLocalCache.cpp:
(JSC::ThreadLocalCache::create):
(JSC::ThreadLocalCache::ThreadLocalCache):
- heap/ThreadLocalCache.h:
(JSC::ThreadLocalCache::securityOriginToken const): Deleted.
- runtime/JSDestructibleObjectHeapCellType.cpp:
(JSC::JSDestructibleObjectHeapCellType::JSDestructibleObjectHeapCellType):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::threadLocalCache const): Deleted.
- runtime/JSSegmentedVariableObjectHeapCellType.cpp:
(JSC::JSSegmentedVariableObjectHeapCellType::JSSegmentedVariableObjectHeapCellType):
- runtime/JSStringHeapCellType.cpp:
(JSC::JSStringHeapCellType::JSStringHeapCellType):
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
- runtime/VMEntryScope.cpp:
(JSC::VMEntryScope::VMEntryScope):
- wasm/js/JSWebAssemblyCodeBlockHeapCellType.cpp:
(JSC::JSWebAssemblyCodeBlockHeapCellType::JSWebAssemblyCodeBlockHeapCellType):
Source/WebCore:
No new tests because no change in behavior.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
- bindings/js/JSDOMGlobalObject.h:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase):
- dom/Document.cpp:
(WebCore::Document::threadLocalCache): Deleted.
- dom/Document.h:
- page/OriginThreadLocalCache.cpp: Removed.
- page/OriginThreadLocalCache.h: Removed.
- 4:50 PM Changeset in webkit [230225] by
-
- 10 edits in trunk/Source
Guard against keychain/certificate access outside the network process
https://bugs.webkit.org/show_bug.cgi?id=184214
<rdar://problem/38734795>
Reviewed by Youenn Fablet.
Use the ProcessPrivilege assertions to guard against accessing the Keychain from
a non-Networking process.
Source/WebCore:
- Modules/webauthn/cocoa/LocalAuthenticator.mm:
(WebCore::LocalAuthenticator::makeCredential): Assert if we access the keychain from
a proces other than the Network or UI process.
(WebCore::LocalAuthenticator::getAssertion): Ditto.
(WebCore::LocalAuthenticator::issueClientCertificate const): Ditto.
- crypto/mac/SerializedCryptoKeyWrapMac.mm:
(WebCore::createAndStoreMasterKey): Ditto.
(WebCore::findMasterKey): Ditto.
(WebCore::deleteDefaultWebCryptoMasterKey): Ditto.
- platform/mac/SSLKeyGeneratorMac.mm:
(WebCore::signedPublicKeyAndChallengeString): Ditto.
- platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::createPrivateStorageSession): Ditto.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Ditto.
Source/WebKit:
- Shared/cf/ArgumentCodersCF.cpp:
(IPC::encode): Assert if we access the keychain from a proces other than the Network or UI process.
(IPC::decode): Ditto.
- 3:20 PM Changeset in webkit [230224] by
-
- 23 edits3 adds in trunk
NetworkResourceLoader does not need to expose all redirect response headers
https://bugs.webkit.org/show_bug.cgi?id=184114
<rdar://problem/39010557>
Reviewed by Ryosuke Niwa.
Source/WebCore:
No JS observable change of behavior.
Behavior change is observable for injected bundles since they will no longer get access to the full response.
List of response headers correspond to the one currently being used/exposed for redirections.
Test: http/wpt/loading/redirect-headers.html
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setRestrictedHTTPResponseAccess):
(WebCore::RuntimeEnabledFeatures::restrictedHTTPResponseAccess const):
- platform/network/ResourceResponseBase.cpp:
(WebCore::isSafeToKeepRedirectionHeader):
(WebCore::ResourceResponseBase::sanitizeRedirectionHTTPHeaderFields):
- platform/network/ResourceResponseBase.h:
Source/WebKit:
WebProcess instructs NetworkProcess whether to sanitize response headers based on a runtime flag.
We sanitize redirection response headers in case this is not related to a navigation load.
Navigation loads may currently require the full response for content blockers.
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
- NetworkProcess/NetworkResourceLoadParameters.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::sanitizeRedirectResponseIfPossible):
(WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry):
- NetworkProcess/NetworkResourceLoader.h:
- Shared/WebPreferences.yaml:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetRestrictedHTTPResponseAccess):
(WKPreferencesGetRestrictedHTTPResponseAccess):
- UIProcess/API/C/WKPreferencesRef.h:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
(WebKit::WebLoaderStrategy::startPingLoad):
(WebKit::WebLoaderStrategy::preconnectTo):
Tools:
Add an option to dump the number of headers in a response.
This allows validating that filtering does happen or not.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::dumpResponseDescriptionSuitableForTestResult):
(WTR::InjectedBundlePage::responseHeaderCount):
(WTR::InjectedBundlePage::willSendRequestForFrame):
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
- WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::dumpAllHTTPRedirectedResponseHeaders):
(WTR::TestRunner::shouldDumpAllHTTPRedirectedResponseHeaders const):
- WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:
(WTR::InjectedBundlePage::responseHeaderCount):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
LayoutTests:
New test verifies that headers are filtered. Witout filtering, 9 headers would be visible to the injected bundle, while 6 headers reamin after filtering.
- http/wpt/loading/redirect-headers-expected.txt: Added.
- http/wpt/loading/redirect-headers.html: Added.
- platform/mac-wk1/TestExpectations: Skipped new test for WK1.
- 2:33 PM Changeset in webkit [230223] by
-
- 26 edits2 copies2 adds in trunk/Source/WebKit
Make NetworkProcess get ContentBlocker information from UIProcess
https://bugs.webkit.org/show_bug.cgi?id=184205
Reviewed by Alex Christensen.
Make NetworkProcess get content blockers from UIProcess directly.
Before that patch, WebProcess sent content blockers to NetworkProcess for each PingLoad.
Instead, WebProcess sends the content blocker identifier for each PingLoad and NetworkProcess fetches the content blocker once.
This is both more efficient than passing them for each PingLoad and safer in the sense
that a compromised WebProcess will not be able to bypass any of these.
In the future, NetworkProcess should get the content blocker identifier directly from the WebPageID attached to the request.
Covered by existing beacon+content blocker tests.
Did some refactoring to add a typed content blocker identifier.
Once NetworkProcess fetches a given content blocker, the content blocker will send any modification to NetworkProcess.
Introduced NetworkContentRuleListManager to handle the content blockers in NetworkProcess.
- CMakeLists.txt:
- DerivedSources.make:
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::checkRequest):
(WebKit::NetworkLoadChecker::continueCheckingRequest):
(WebKit::NetworkLoadChecker::processContentExtensionRulesForLoad):
- NetworkProcess/NetworkLoadChecker.h:
(WebKit::NetworkLoadChecker::setContentExtensionController):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage):
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::networkUserContentController):
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
- NetworkProcess/NetworkResourceLoadParameters.h:
- NetworkProcess/NetworkContentRuleListManager.cpp: Added.
(WebKit::NetworkContentRuleListManager::contentExtensionsBackend):
(WebKit::NetworkContentRuleListManager::addContentRuleLists):
(WebKit::NetworkContentRuleListManager::removeContentRuleList):
(WebKit::NetworkContentRuleListManager::removeAllContentRuleLists):
(WebKit::NetworkContentRuleListManager::remove):
- NetworkProcess/NetworkContentRuleListManager.h: Added.
- NetworkProcess/NetworkContentRuleListManager.messages.in: Added.
- NetworkProcess/PingLoad.cpp:
- Scripts/webkit/messages.py:
- Shared/UserContentControllerIdentifier.h: Added.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::decode):
- Shared/WebPageGroupData.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
(WebKit::NetworkProcessProxy::contentExtensionRules):
(WebKit::NetworkProcessProxy::didDestroyWebUserContentControllerProxy):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::get):
(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
(WebKit::WebUserContentControllerProxy::~WebUserContentControllerProxy):
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::removeProcess):
(WebKit::WebUserContentControllerProxy::addUserContentWorldUse):
(WebKit::WebUserContentControllerProxy::removeUserContentWorldUses):
(WebKit::WebUserContentControllerProxy::addUserScript):
(WebKit::WebUserContentControllerProxy::removeUserScript):
(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
(WebKit::WebUserContentControllerProxy::addUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
(WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler):
(WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName):
(WebKit::WebUserContentControllerProxy::removeAllUserMessageHandlers):
(WebKit::WebUserContentControllerProxy::addContentRuleList):
(WebKit::WebUserContentControllerProxy::removeContentRuleList):
(WebKit::WebUserContentControllerProxy::removeAllContentRuleLists):
- UIProcess/UserContent/WebUserContentControllerProxy.h:
(WebKit::WebUserContentControllerProxy::create):
(WebKit::WebUserContentControllerProxy::addNetworkProcess):
(WebKit::WebUserContentControllerProxy::removeNetworkProcess):
(WebKit::WebUserContentControllerProxy::contentExtensionRules):
(WebKit::WebUserContentControllerProxy::identifier const):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::startPingLoad):
- WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserContentController::getOrCreate):
(WebKit::WebUserContentController::WebUserContentController):
(WebKit::WebUserContentController::~WebUserContentController):
- WebProcess/UserContent/WebUserContentController.h:
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::userContentControllerIdentifier const):
- 1:41 PM Changeset in webkit [230222] by
-
- 2 edits in trunk/Source/bmalloc
totalPhysicalSize calculation when splitting a range must account for double rounding effects
https://bugs.webkit.org/show_bug.cgi?id=184275
Reviewed by Mark Lam.
The rounding error could happen when we split a range where the
range's total physical size equals the range's total size. The
rounding may cause the left size to lose a byte, and the right
size to gain a byte. This caused the right side to be a byte
large than its size.
- bmalloc/LargeRange.h:
(bmalloc::LargeRange::LargeRange):
(bmalloc::LargeRange::split const):
- 1:40 PM Changeset in webkit [230221] by
-
- 10 edits in trunk
[Mac] Prioritize file promises over filenames during drag and drop
https://bugs.webkit.org/show_bug.cgi?id=184237
<rdar://problem/38278076>
Reviewed by Wenson Hsieh.
Source/WebCore:
When performing a drag operation where the pasteboard contains both a file path and a file
promise, we have historically preferred to accept the file path. Some versions of Photos.app
will provide both a low-resolution thumbnail as a file path and its high-resolution
counterpart as a file promise when dragging a photo, and our current logic leads us to
choose the low-quality thumbnail.
This patch changes our logic to prefer file promises over file paths. This matches the
behavior of Finder and ensures we accept high-resolution assets from Photos.app.
Covered by existing file promise drag tests. beginDragWithFilePromises() was updated to
write a bogus file path to the pasteboard along with the legitimate file promise.
- platform/mac/DragDataMac.mm:
(WebCore::DragData::asFilenames const):
- platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::read):
(WebCore::Pasteboard::readFilePaths):
- platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::numberOfFiles const):
Source/WebKit:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::performDragOperation):
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(-[WebView performDragOperation:]):
Tools:
- DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController beginDragWithFilePromises:]):
- 1:22 PM Changeset in webkit [230220] by
-
- 58 edits in trunk/Source/WebCore
Fix mis-application of WTF_PREPARE_VTBL_POINTER_FOR_INSPECTION macro.
https://bugs.webkit.org/show_bug.cgi?id=184276
<rdar://problem/39109543>
Rubber-stamped by Michael Saboff.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- bindings/scripts/test/JS/JSInterfaceName.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSMapLike.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestSerialization.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::toJSNewlyCreated):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::toJSNewlyCreated):
- 1:01 PM Changeset in webkit [230219] by
-
- 9 edits in trunk
Make SessionStorage work with process swapping.
https://bugs.webkit.org/show_bug.cgi?id=184270
Reviewed by Andy Estes.
Source/WebKit:
Due to a minor process accounting error, WebPageProxys weren't always being reconnected with their
WebsiteDataStore's StorageManager when doing process swaps.
Fix that error, and SessionStorage "just works."
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::webProcessWillShutDown):
(WebKit::WebPageProxy::processDidTerminate): For NavigationSwap termination, make sure to tell the
process lifetime tracker that this page was removed.
- UIProcess/WebProcessLifetimeObserver.h:
(WebKit::WebProcessLifetimeObserver::webPageWasInvalidated): Renamed from "webPageWasRemoved"
(WebKit::WebProcessLifetimeObserver::webPageWasRemoved): Deleted.
- UIProcess/WebProcessLifetimeTracker.cpp:
(WebKit::WebProcessLifetimeTracker::webPageLeavingWebProcess): Renamed from "webProcessWillShutDown"
(WebKit::WebProcessLifetimeTracker::pageWasInvalidated):
(WebKit::WebProcessLifetimeTracker::webProcessWillShutDown): Deleted.
- UIProcess/WebProcessLifetimeTracker.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::webPageWasInvalidated):
(WebKit::WebsiteDataStore::webPageWasRemoved): Deleted.
- UIProcess/WebsiteData/WebsiteDataStore.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
- 12:58 PM Changeset in webkit [230218] by
-
- 26 edits4 deletes in trunk/Source/WebKit
Unreviewed, rolling out r230210.
https://bugs.webkit.org/show_bug.cgi?id=184277
it is breaking internal bots (Requested by youenn on #webkit).
Reverted changeset:
"Make NetworkProcess get ContentBlocker information from
UIProcess"
https://bugs.webkit.org/show_bug.cgi?id=184205
https://trac.webkit.org/changeset/230210
- 12:22 PM Changeset in webkit [230217] by
-
- 3 edits4 deletes in trunk/Source/WebKit
[Extra zoom mode] Update time picker to use platform view controller
https://bugs.webkit.org/show_bug.cgi?id=184252
<rdar://problem/38804795>
Reviewed by Andy Estes.
Adjust for some small WKTimePickerViewController changes, and remove some files that we no longer need.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView presentViewControllerForCurrentAssistedNode]):
(-[WKContentView textInputController:didCommitText:]): Deleted.
(-[WKContentView textInputController:didCommitText:withSuggestion:]): Deleted.
(-[WKContentView textInputControllerDidRequestDismissal:]): Deleted.
- UIProcess/ios/forms/WKTextFormControlViewController.h: Removed.
- UIProcess/ios/forms/WKTextFormControlViewController.mm: Removed.
- UIProcess/ios/forms/WKTextSuggestionButton.h: Removed.
- UIProcess/ios/forms/WKTextSuggestionButton.mm: Removed.
- WebKit.xcodeproj/project.pbxproj:
- 12:02 PM Changeset in webkit [230216] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/appcache/interrupted-update.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=184061
Unreviewed test gardening.
- 12:02 PM Changeset in webkit [230215] by
-
- 2 edits in trunk/LayoutTests
Mark storage/indexeddb/dont-wedge-private.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=184058
Unreviewed test gardening.
- 12:02 PM Changeset in webkit [230214] by
-
- 3 edits in trunk/LayoutTests
Mark http/tests/workers/service/service-worker-cache-api.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=184245
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 11:14 AM Changeset in webkit [230213] by
-
- 2 edits in trunk/Source/WebKit
Xcode prepends line comments from WTF/Compiler.h to *.sb files
https://bugs.webkit.org/show_bug.cgi?id=184166
Reviewed by Brent Fulgham.
- DerivedSources.make:
Strip ;-comments from *.sb.in files before preprocessing so we can stop treating Platform.h/Compiler.h as C89.
- 11:14 AM Changeset in webkit [230212] by
-
- 3 edits in trunk/Source/WebCore
[CMake] gperf path should be given when WebCore/css/makevalues.pl is executed
https://bugs.webkit.org/show_bug.cgi?id=184224
Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2018-04-03
Reviewed by Konstantin Tokarev.
When a building evironment doens't include a path to gperf,
WebCore/css/makevalue.pl failes due to failing to execute gperf,
so the full path to gperf should be given like WebCore/css/makeprop.pl.
No new tests, no Web-facing behavior change.
- CMakeLists.txt: gperf path is given to css/makevalues.pl.
- css/makevalues.pl: Add an argument to handle a given gperf path.
- 11:01 AM Changeset in webkit [230211] by
-
- 189 edits2 deletes in trunk
Drop MainFrame class
https://bugs.webkit.org/show_bug.cgi?id=184191
Reviewed by Darin Adler.
Source/WebCore:
Drop MainFrame class and move contents into Page / Frame since there is a 1:1
relationship between the Page and the MainFrame.
This is ground work for introducing LocalFrame / RemoteFrame concepts.
- Modules/applepay/ApplePaySession.cpp:
(WebCore::ApplePaySession::create):
(WebCore::ApplePaySession::supportsVersion):
(WebCore::ApplePaySession::canMakePayments):
(WebCore::ApplePaySession::canMakePaymentsWithActiveCard):
(WebCore::ApplePaySession::openPaymentSetup):
(WebCore::ApplePaySession::paymentCoordinator const):
- Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::paymentCoordinator):
- Modules/mediastream/MediaDevicesEnumerationRequest.cpp:
- Modules/mediastream/UserMediaRequest.cpp:
- Modules/plugins/QuickTimePluginReplacement.mm:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::mainFrame const):
(WebCore::AccessibilityObject::visiblePositionForBounds const):
- accessibility/AccessibilityObject.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
- bindings/js/ScriptController.cpp:
- bindings/js/ScriptState.cpp:
- contentextensions/ContentExtensionsBackend.cpp:
- css/MediaQueryEvaluator.cpp:
(WebCore::displayModeEvaluate):
- dom/DOMImplementation.cpp:
- dom/Document.cpp:
- dom/DocumentMarkerController.cpp:
- dom/Element.cpp:
(WebCore::Element::removedFromAncestor):
- dom/EventDispatcher.cpp:
- dom/ScriptedAnimationController.cpp:
- editing/Editor.cpp:
(WebCore::Editor::scanSelectionForTelephoneNumbers):
- editing/EditorCommand.cpp:
- editing/SelectionRectGatherer.cpp:
(WebCore::SelectionRectGatherer::Notifier::~Notifier):
- editing/cocoa/WebContentReaderCocoa.mm:
- editing/markup.cpp:
- history/CachedFrame.cpp:
- history/CachedPage.cpp:
- history/PageCache.cpp:
(WebCore::destroyRenderTree):
- html/HTMLMediaElement.cpp:
- html/HTMLPlugInImageElement.cpp:
- html/ImageDocument.cpp:
- html/MediaElementSession.cpp:
(WebCore::isMainContentForPurposesOfAutoplay):
- html/canvas/WebGLRenderingContextBase.cpp:
- inspector/InspectorClient.cpp:
- inspector/InspectorController.cpp:
- inspector/InspectorFrontendClientLocal.cpp:
- inspector/InspectorFrontendHost.cpp:
- inspector/InspectorInstrumentation.cpp:
- inspector/InspectorOverlay.cpp:
- inspector/PageScriptDebugServer.cpp:
- inspector/agents/InspectorApplicationCacheAgent.cpp:
- inspector/agents/InspectorCanvasAgent.cpp:
- inspector/agents/InspectorDOMAgent.cpp:
- inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::mainFrame):
- inspector/agents/InspectorPageAgent.h:
- inspector/agents/page/PageDebuggerAgent.cpp:
- inspector/agents/page/PageRuntimeAgent.cpp:
- loader/DocumentLoader.cpp:
- loader/DocumentWriter.cpp:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::setState):
- loader/HistoryController.cpp:
- loader/NavigationDisabler.h:
- loader/ProgressTracker.cpp:
- loader/ResourceLoadObserver.cpp:
- loader/ResourceLoader.cpp:
- loader/SubframeLoader.cpp:
- loader/SubresourceLoader.cpp:
- loader/appcache/ApplicationCacheHost.cpp:
- loader/archive/mhtml/MHTMLArchive.cpp:
- loader/cache/CachedResource.cpp:
- loader/cache/CachedResourceLoader.cpp:
- page/AutoscrollController.cpp:
- page/Chrome.cpp:
- page/ContextMenuController.cpp:
- page/DOMWindow.cpp:
- page/DebugPageOverlays.cpp:
(WebCore::MouseWheelRegionOverlay::updateRegion):
(WebCore::NonFastScrollableRegionOverlay::updateRegion):
(WebCore::RegionOverlay::create):
(WebCore::RegionOverlay::RegionOverlay):
(WebCore::RegionOverlay::~RegionOverlay):
(WebCore::DebugPageOverlays::ensureRegionOverlayForPage):
(WebCore::DebugPageOverlays::showRegionOverlay):
(WebCore::DebugPageOverlays::hideRegionOverlay):
(WebCore::DebugPageOverlays::regionChanged):
(WebCore::DebugPageOverlays::regionOverlayForPage const):
(WebCore::DebugPageOverlays::updateOverlayRegionVisibility):
(WebCore::DebugPageOverlays::settingsChanged):
- page/DebugPageOverlays.h:
(WebCore::DebugPageOverlays::hasOverlaysForPage const):
(WebCore::DebugPageOverlays::hasOverlays):
(WebCore::DebugPageOverlays::didLayout):
(WebCore::DebugPageOverlays::didChangeEventHandlers):
- page/DragController.cpp:
(WebCore::DragController::performDragOperation):
(WebCore::DragController::tryDHTMLDrag):
(WebCore::DragController::beginDrag):
(WebCore::DragController::doSystemDrag):
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::mouseMoved):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::clearLatchedState):
(WebCore::EventHandler::defaultWheelEventHandler):
- page/FocusController.cpp:
- page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::dropChildren):
(WebCore::Frame::selfOnlyRef):
(WebCore::Frame::selfOnlyDeref):
- page/Frame.h:
(WebCore::Frame::mainFrame const):
- page/FrameTree.cpp:
- page/FrameView.cpp:
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::setContentsSize):
(WebCore::FrameView::didChangeScrollOffset):
(WebCore::FrameView::setViewExposedRect):
- page/History.cpp:
- page/MainFrame.cpp: Removed.
- page/MainFrame.h: Removed.
- page/MemoryRelease.cpp:
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::m_applicationManifest):
(WebCore::Page::setDeviceScaleFactor):
(WebCore::Page::latchingState):
(WebCore::Page::pushNewLatchingState):
(WebCore::Page::resetLatchingState):
(WebCore::Page::popLatchingState):
(WebCore::Page::removeLatchingStateForTarget):
(WebCore::Page::setPaymentCoordinator):
- page/Page.h:
(WebCore::Page::mainFrame):
(WebCore::Page::mainFrame const):
(WebCore::Page::wheelEventDeltaFilter):
(WebCore::Page::pageOverlayController):
(WebCore::Page::servicesOverlayController):
(WebCore::Page::paymentCoordinator const):
(WebCore::Page::applicationManifest const):
(WebCore::Page::performanceLogging const):
- page/PageConsoleClient.cpp:
- page/PageDebuggable.cpp:
- page/PageGroup.cpp:
- page/PageGroupLoadDeferrer.cpp:
- page/PageOverlay.cpp:
(WebCore::PageOverlay::controller const):
- page/PageOverlayController.cpp:
(WebCore::PageOverlayController::PageOverlayController):
(WebCore::PageOverlayController::createRootLayersIfNeeded):
(WebCore::PageOverlayController::layerWithDocumentOverlays):
(WebCore::PageOverlayController::layerWithViewOverlays):
(WebCore::PageOverlayController::installPageOverlay):
(WebCore::PageOverlayController::updateForceSynchronousScrollLayerPositionUpdates):
(WebCore::PageOverlayController::didChangeViewExposedRect):
(WebCore::PageOverlayController::updateSettingsForLayer):
(WebCore::PageOverlayController::deviceScaleFactor const):
(WebCore::PageOverlayController::notifyFlushRequired):
(WebCore::PageOverlayController::tiledBackingUsageChanged):
- page/PageOverlayController.h:
- page/PageSerializer.cpp:
- page/PerformanceLogging.cpp:
(WebCore::PerformanceLogging::PerformanceLogging):
(WebCore::PerformanceLogging::didReachPointOfInterest):
- page/PerformanceLogging.h:
- page/PerformanceMonitor.cpp:
- page/ResourceUsageOverlay.cpp:
(WebCore::ResourceUsageOverlay::~ResourceUsageOverlay):
(WebCore::ResourceUsageOverlay::initialize):
- page/SettingsBase.cpp:
- page/SpatialNavigation.cpp:
- page/UserContentProvider.cpp:
- page/ios/FrameIOS.mm:
- page/mac/DragControllerMac.mm:
- page/mac/EventHandlerMac.mm:
(WebCore::latchingIsLockedToPlatformFrame):
(WebCore::latchingIsLockedToAncestorOfThisFrame):
(WebCore::EventHandler::clearOrScheduleClearingLatchedStateIfNeeded):
(WebCore::EventHandler::platformPrepareForWheelEvents):
(WebCore::EventHandler::platformRecordWheelEvent):
(WebCore::EventHandler::platformCompleteWheelEvent):
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent):
- page/mac/PageMac.mm:
- page/mac/ServicesOverlayController.h:
(WebCore::ServicesOverlayController::page const):
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::Highlight::Highlight):
(WebCore::ServicesOverlayController::Highlight::notifyFlushRequired):
(WebCore::ServicesOverlayController::Highlight::deviceScaleFactor const):
(WebCore::ServicesOverlayController::ServicesOverlayController):
(WebCore::ServicesOverlayController::invalidateHighlightsOfType):
(WebCore::ServicesOverlayController::buildPotentialHighlightsIfNeeded):
(WebCore::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown const):
(WebCore::ServicesOverlayController::buildPhoneNumberHighlights):
(WebCore::ServicesOverlayController::buildSelectionHighlight):
(WebCore::ServicesOverlayController::hasRelevantSelectionServices):
(WebCore::ServicesOverlayController::createOverlayIfNeeded):
(WebCore::ServicesOverlayController::telephoneNumberRangesForFocusedFrame):
(WebCore::ServicesOverlayController::findTelephoneNumberHighlightContainingSelectionHighlight):
(WebCore::ServicesOverlayController::mouseEvent):
(WebCore::ServicesOverlayController::handleClick):
(WebCore::ServicesOverlayController::mainFrame const):
- page/scrolling/AsyncScrollingCoordinator.cpp:
- page/scrolling/ScrollingCoordinator.cpp:
- page/scrolling/ios/ScrollingCoordinatorIOS.mm:
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
- platform/graphics/ca/win/CACFLayerTreeHost.cpp:
- plugins/DOMMimeType.cpp:
- plugins/PluginInfoProvider.cpp:
(WebCore::PluginInfoProvider::refresh):
- rendering/RenderBox.cpp:
- rendering/RenderLayer.cpp:
- rendering/RenderLayerBacking.cpp:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::hasAnyAdditionalCompositedLayers const):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::appendDocumentOverlayLayers):
(WebCore::RenderLayerCompositor::attachRootLayer):
(WebCore::RenderLayerCompositor::detachRootLayer):
(WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):
- rendering/RenderObject.cpp:
- replay/UserInputBridge.cpp:
- storage/StorageEventDispatcher.cpp:
- style/StyleTreeResolver.cpp:
(WebCore::Style::suspendMemoryCacheClientCalls):
- svg/SVGSVGElement.cpp:
- svg/graphics/SVGImage.cpp:
- testing/InternalSettings.cpp:
- testing/Internals.cpp:
(WebCore::Internals::Internals):
(WebCore::Internals::installMockPageOverlay):
(WebCore::Internals::pageOverlayLayerTreeAsText const):
- testing/MockPageOverlay.cpp:
- testing/MockPageOverlay.h:
- testing/MockPageOverlayClient.cpp:
(WebCore::MockPageOverlayClient::installOverlay):
(WebCore::MockPageOverlayClient::layerTreeAsText):
- testing/MockPageOverlayClient.h:
- testing/MockPaymentCoordinator.cpp:
(WebCore::MockPaymentCoordinator::MockPaymentCoordinator):
(WebCore::MockPaymentCoordinator::showPaymentUI):
(WebCore::MockPaymentCoordinator::completeMerchantValidation):
(WebCore::MockPaymentCoordinator::changeShippingOption):
(WebCore::MockPaymentCoordinator::changePaymentMethod):
(WebCore::MockPaymentCoordinator::acceptPayment):
(WebCore::MockPaymentCoordinator::cancelPayment):
- testing/MockPaymentCoordinator.h:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
Source/WebKit:
Drop MainFrame class and move contents into Page / Frame since there is a 1:1
relationship between the Page and the MainFrame.
This is ground work for introducing LocalFrame / RemoteFrame concepts.
- Shared/WebRenderLayer.cpp:
- Shared/WebRenderObject.cpp:
- WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::paymentCoordinator):
- WebProcess/Automation/WebAutomationSessionProxy.cpp:
- WebProcess/FullScreen/WebFullScreenManager.cpp:
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageInstallPageOverlay):
(WKBundlePageUninstallPageOverlay):
(WKBundlePageInstallPageOverlayWithAnimation):
(WKBundlePageUninstallPageOverlayWithAnimation):
- WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
- WebProcess/Plugins/PluginView.cpp:
- WebProcess/Plugins/WebPluginInfoProvider.cpp:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
- WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
- WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::~WebInspectorClient):
(WebKit::WebInspectorClient::highlight):
(WebKit::WebInspectorClient::hideHighlight):
(WebKit::WebInspectorClient::showPaintRect):
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
- WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp:
- WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
- WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
- WebProcess/WebPage/AcceleratedDrawingArea.cpp:
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
- WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindUIAfterPageScroll):
(WebKit::FindController::hideFindUI):
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
- WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:
- WebProcess/WebPage/WebBackForwardListProxy.cpp:
- WebProcess/WebPage/WebFrame.cpp:
- WebProcess/WebPage/WebInspector.cpp:
- WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.cpp:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mainFrame const):
(WebKit::WebPage::determinePrimarySnapshottedPlugIn):
(WebKit::WebPage::plugInIntersectsSearchRect):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp:
- WebProcess/WebPage/ios/FindControllerIOS.mm:
- WebProcess/WebPage/ios/WebPageIOS.mm:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
- WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:
- WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
(-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performImmediateActionHitTestAtLocation):
(WebKit::WebPage::dataDetectorsDidPresentUI):
(WebKit::WebPage::dataDetectorsDidChangeUI):
(WebKit::WebPage::dataDetectorsDidHideUI):
- WebProcess/WebProcess.cpp:
- WebProcess/WebStorage/StorageAreaMap.cpp:
Source/WebKitLegacy/mac:
Drop MainFrame class and move contents into Page / Frame since there is a 1:1
relationship between the Page and the MainFrame.
This is ground work for introducing LocalFrame / RemoteFrame concepts.
- WebCoreSupport/WebDragClient.mm:
- WebCoreSupport/WebFrameLoaderClient.mm:
- WebCoreSupport/WebInspectorClient.mm:
- WebCoreSupport/WebPlatformStrategies.mm:
- WebCoreSupport/WebPluginInfoProvider.mm:
- WebView/WebFrame.mm:
- WebView/WebFrameView.mm:
- WebView/WebHTMLView.mm:
- WebView/WebView.mm:
Source/WebKitLegacy/win:
Drop MainFrame class and move contents into Page / Frame since there is a 1:1
relationship between the Page and the MainFrame.
This is ground work for introducing LocalFrame / RemoteFrame concepts.
- WebCoreSupport/AcceleratedCompositingContext.cpp:
- WebCoreSupport/WebContextMenuClient.cpp:
- WebCoreSupport/WebDragClient.cpp:
- WebDropSource.cpp:
- WebFrame.cpp:
- WebView.cpp:
Tools:
- TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
- 10:58 AM Changeset in webkit [230210] by
-
- 26 edits2 copies2 adds in trunk/Source/WebKit
Make NetworkProcess get ContentBlocker information from UIProcess
https://bugs.webkit.org/show_bug.cgi?id=184205
Reviewed by Alex Christensen.
Make NetworkProcess get content blockers from UIProcess directly.
Before that patch, WebProcess sent content blockers to NetworkProcess for each PingLoad.
Instead, WebProcess sends the content blocker identifier for each PingLoad and NetworkProcess fetches the content blocker once.
This is both more efficient than passing them for each PingLoad and safer in the sense
that a compromised WebProcess will not be able to bypass any of these.
In the future, NetworkProcess should get the content blocker identifier directly from the WebPageID attached to the request.
Covered by existing beacon+content blocker tests.
Did some refactoring to add a typed content blocker identifier.
Once NetworkProcess fetches a given content blocker, the content blocker will send any modification to NetworkProcess.
Introduced NetworkContentRuleListManager to handle the content blockers in NetworkProcess.
- CMakeLists.txt:
- DerivedSources.make:
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::checkRequest):
(WebKit::NetworkLoadChecker::continueCheckingRequest):
(WebKit::NetworkLoadChecker::processContentExtensionRulesForLoad):
- NetworkProcess/NetworkLoadChecker.h:
(WebKit::NetworkLoadChecker::setContentExtensionController):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage):
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::networkUserContentController):
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
- NetworkProcess/NetworkResourceLoadParameters.h:
- NetworkProcess/NetworkContentRuleListManager.cpp: Added.
(WebKit::NetworkContentRuleListManager::contentExtensionsBackend):
(WebKit::NetworkContentRuleListManager::addContentRuleLists):
(WebKit::NetworkContentRuleListManager::removeContentRuleList):
(WebKit::NetworkContentRuleListManager::removeAllContentRuleLists):
(WebKit::NetworkContentRuleListManager::remove):
- NetworkProcess/NetworkContentRuleListManager.h: Added.
- NetworkProcess/NetworkContentRuleListManager.messages.in: Added.
- NetworkProcess/PingLoad.cpp:
- Scripts/webkit/messages.py:
- Shared/UserContentControllerIdentifier.h: Added.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::decode):
- Shared/WebPageGroupData.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
(WebKit::NetworkProcessProxy::contentExtensionRules):
(WebKit::NetworkProcessProxy::didDestroyWebUserContentControllerProxy):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::get):
(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
(WebKit::WebUserContentControllerProxy::~WebUserContentControllerProxy):
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::removeProcess):
(WebKit::WebUserContentControllerProxy::addUserContentWorldUse):
(WebKit::WebUserContentControllerProxy::removeUserContentWorldUses):
(WebKit::WebUserContentControllerProxy::addUserScript):
(WebKit::WebUserContentControllerProxy::removeUserScript):
(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
(WebKit::WebUserContentControllerProxy::addUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
(WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler):
(WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName):
(WebKit::WebUserContentControllerProxy::removeAllUserMessageHandlers):
(WebKit::WebUserContentControllerProxy::addContentRuleList):
(WebKit::WebUserContentControllerProxy::removeContentRuleList):
(WebKit::WebUserContentControllerProxy::removeAllContentRuleLists):
- UIProcess/UserContent/WebUserContentControllerProxy.h:
(WebKit::WebUserContentControllerProxy::create):
(WebKit::WebUserContentControllerProxy::addNetworkProcess):
(WebKit::WebUserContentControllerProxy::removeNetworkProcess):
(WebKit::WebUserContentControllerProxy::contentExtensionRules):
(WebKit::WebUserContentControllerProxy::identifier const):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::startPingLoad):
- WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserContentController::getOrCreate):
(WebKit::WebUserContentController::WebUserContentController):
(WebKit::WebUserContentController::~WebUserContentController):
- WebProcess/UserContent/WebUserContentController.h:
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::userContentControllerIdentifier const):
- 10:38 AM Changeset in webkit [230209] by
-
- 2 edits in tags/Safari-606.1.11.3/Source/WebKit
Cherry-pick r230204. rdar://problem/39078586
Fix the managed configurations build
https://bugs.webkit.org/show_bug.cgi?id=184253
-and corresponding-
rdar://problem/39078586
Reviewed by Dan Bernstein.
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView canPerformActionForWebView:withSender:]): (-[WKContentView _defineForWebView:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230204 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:15 AM Changeset in webkit [230208] by
-
- 17 edits1 add in trunk
The referer header is not set after redirect
https://bugs.webkit.org/show_bug.cgi?id=182644
<rdar://problem/37479048>
Patch by Sihui Liu <sihui_liu@apple.com> on 2018-04-03
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Rebaseline some tests for fetch api as they are passing now.
- web-platform-tests/fetch/api/basic/referrer.any-expected.txt:
- web-platform-tests/fetch/api/basic/referrer.any.worker-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-referrer-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-referrer-worker-expected.txt:
Source/WebCore:
Update referrer policy and recompute referrer in redirection check, so Referer header would be set after it's removed from cross-origin request.
Add support for Referrer-Policy header, so referrer policy would be changed based on redirect response.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.cpp:
(WebCore::Document::processReferrerPolicy):
- loader/CrossOriginAccessControl.cpp:
(WebCore::updateRequestReferrer):
- loader/CrossOriginAccessControl.h:
- loader/ResourceLoader.h:
(WebCore::ResourceLoader::setReferrerPolicy):
(WebCore::ResourceLoader::referrerPolicy const):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):
(WebCore::SubresourceLoader::updateReferrerPolicy):
- loader/SubresourceLoader.h:
- loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::setAsPotentiallyCrossOrigin):
(WebCore::CachedResourceRequest::updateForAccessControl):
(WebCore::CachedResourceRequest::updateReferrerOriginAndUserAgentHeaders):
- platform/ReferrerPolicy.cpp: Added.
(WebCore::parseReferrerPolicy):
- platform/ReferrerPolicy.h:
- platform/network/HTTPHeaderNames.in:
- 10:12 AM Changeset in webkit [230207] by
-
- 7 edits in tags/Safari-606.1.11.3/Source
Versioning.
- 10:07 AM Changeset in webkit [230206] by
-
- 1 copy in tags/Safari-606.1.11.3
New tag.
- 9:26 AM Changeset in webkit [230205] by
-
- 6 edits in trunk/Source/WebCore
Make SecurityOrigin safe to create and use from any thread
https://bugs.webkit.org/show_bug.cgi?id=184216
Reviewed by Youenn Fablet.
We found that we have a decent amount of code constructing and using SecurityOrigin
objects from non-main threads. Unfortunately, this was not safe, mostly due to
SecurityOrigin's reliance on the SchemeRegistry.
This patch makes it safe to construct a SecurityOrigin on any thread A and use
it later on the same thread A. However, developers still need to call isolatedCopy()
if they want to pass such object to another thread B.
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canDisplay const):
- page/SecurityOrigin.h:
- page/SecurityPolicy.cpp:
(WebCore::originAccessMapLock):
(WebCore::originAccessMap):
(WebCore::SecurityPolicy::isAccessWhiteListed):
(WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
(WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
(WebCore::SecurityPolicy::resetOriginAccessWhitelists):
- platform/SchemeRegistry.cpp:
(WebCore::schemeRegistryLock):
(WebCore::allBuiltinSchemes):
(WebCore::builtinLocalURLSchemes):
(WebCore::localURLSchemes):
(WebCore::displayIsolatedURLSchemes):
(WebCore::builtinSecureSchemes):
(WebCore::secureSchemes):
(WebCore::builtinSchemesWithUniqueOrigins):
(WebCore::schemesWithUniqueOrigins):
(WebCore::builtinEmptyDocumentSchemes):
(WebCore::emptyDocumentSchemes):
(WebCore::schemesForbiddenFromDomainRelaxation):
(WebCore::builtinCanDisplayOnlyIfCanRequestSchemes):
(WebCore::canDisplayOnlyIfCanRequestSchemes):
(WebCore::notAllowingJavascriptURLsSchemes):
(WebCore::SchemeRegistry::registerURLSchemeAsLocal):
(WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
(WebCore::schemesAllowingLocalStorageAccessInPrivateBrowsing):
(WebCore::schemesAllowingDatabaseAccessInPrivateBrowsing):
(WebCore::builtinCORSEnabledSchemes):
(WebCore::CORSEnabledSchemes):
(WebCore::ContentSecurityPolicyBypassingSchemes):
(WebCore::cachePartitioningSchemes):
(WebCore::serviceWorkerSchemes):
(WebCore::alwaysRevalidatedSchemes):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
(WebCore::SchemeRegistry::registerURLSchemeAsNoAccess):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
(WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
(WebCore::SchemeRegistry::registerURLSchemeAsSecure):
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
(WebCore::SchemeRegistry::canDisplayOnlyIfCanRequest):
(WebCore::SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):
(WebCore::SchemeRegistry::registerURLSchemeAsBypassingContentSecurityPolicy):
(WebCore::SchemeRegistry::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy):
(WebCore::SchemeRegistry::schemeShouldBypassContentSecurityPolicy):
(WebCore::SchemeRegistry::registerURLSchemeAsCachePartitioned):
(WebCore::SchemeRegistry::shouldPartitionCacheForURLScheme):
(WebCore::SchemeRegistry::registerURLSchemeServiceWorkersCanHandle):
(WebCore::SchemeRegistry::canServiceWorkersHandleURLScheme):
(WebCore::SchemeRegistry::isServiceWorkerContainerCustomScheme):
- platform/SchemeRegistry.h:
- 8:51 AM Changeset in webkit [230204] by
-
- 2 edits in trunk/Source/WebKit
Fix the managed configurations build
https://bugs.webkit.org/show_bug.cgi?id=184253
-and corresponding-
rdar://problem/39078586
Reviewed by Dan Bernstein.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView canPerformActionForWebView:withSender:]):
(-[WKContentView _defineForWebView:]):
- 8:09 AM Changeset in webkit [230203] by
-
- 8 edits1 add in trunk/Source/WebCore
[SOUP] Stop using ResourceHandle to load GResources
https://bugs.webkit.org/show_bug.cgi?id=184259
Reviewed by Sergio Villar Senin.
GResources are loaded in the WebProcess using ResourceHandle because soup handles them transparently. But now
that we no longer use ResourceHandle, we can add a simple loader for GResources, similar to the one used for
data URLS, since loading a GResource is a matter of calling g_resources_lookup_data() in the end.
- SourcesGTK.txt:
- SourcesWPE.txt:
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::start): Check if resource to load is a GResource and call loadGResource().
- loader/ResourceLoader.h:
- loader/soup/ResourceLoaderSoup.cpp: Added.
(WebCore::ResourceLoader::loadGResource): Load the GResource in a GTask thread.
- platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::DataSegment::data const):
(WebCore::SharedBuffer::DataSegment::size const):
- platform/SharedBuffer.h:
- platform/glib/SharedBufferGlib.cpp:
(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::create):
- 6:34 AM Changeset in webkit [230202] by
-
- 3 edits in trunk
[WPE] Add WPE port to garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=182998
Reviewed by Michael Catanzaro.
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
Add WPE as a port to check.
(config.kPlatforms.string_appeared_here._builderApplies): Use less
surprising equality operator.
(config.kPlatforms.string_appeared_here.resultsDirectoryNameFromBuilderName):
Ditto.
(config.kPlatforms.string_appeared_here.resultsDirectoryForBuildNumber):
Ditto.
- 5:51 AM Changeset in webkit [230201] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, mute the unused parameter compilation warning
Triggered on the PPC64 machine.
- wtf/ThreadingPthreads.cpp:
(WTF::Thread::signalHandlerSuspendResume):
- 5:42 AM Changeset in webkit [230200] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, fix the unused variable compilation warning
Move the ucontext_t code under the HAVE(MACHINE_CONTEXT). Triggered
on the PPC64 machine.
- wtf/ThreadingPthreads.cpp:
(WTF::Thread::signalHandlerSuspendResume):
- 4:14 AM Changeset in webkit [230199] by
-
- 2 edits in trunk/Tools
[GTK][JHBuild] Tools/gtk/install-dependencies: Replace libxfont with libxfont2 in Arch Linux
https://bugs.webkit.org/show_bug.cgi?id=184258
Reviewed by Carlos Alberto Lopez Perez.
- gtk/install-dependencies: Use libxfont2 on Arch Linux as well.
- 12:16 AM Changeset in webkit [230198] by
-
- 5 edits in trunk/Source
[Enchant] Clean up TextCheckerEnchant
https://bugs.webkit.org/show_bug.cgi?id=184233
Reviewed by Michael Catanzaro.
Source/WebCore:
Several cleanups and improvements:
- platform/text/enchant/TextCheckerEnchant.cpp:
(WebCore::TextCheckerEnchant::singleton): Make TextCheckerEnchant a singleton since it's always used as a
singleton.
(WebCore::TextCheckerEnchant::EnchantDictDeleter::operator() const):
(WebCore::TextCheckerEnchant::TextCheckerEnchant):
(WebCore::TextCheckerEnchant::ignoreWord): Convert to utf8 once instead of on every loop iteration.
(WebCore::TextCheckerEnchant::learnWord): Ditton.
(WebCore::TextCheckerEnchant::checkSpellingOfWord): m_enchantDictionaries is now a Vector of std::unique_ptr.
(WebCore::TextCheckerEnchant::getGuessesForWord): Convert to utf8 once instead of on every loop iteration.
(WebCore::TextCheckerEnchant::updateSpellCheckingLanguages): Get only the first language instead of building a
vector to get its first item. Use WTFMove to replace m_enchantDictionaries with the new Vector.
(WebCore::TextCheckerEnchant::loadedSpellCheckingLanguages const): Use a lambda to get the list of languages
already converted to String and iterate only once.
(WebCore::TextCheckerEnchant::availableSpellCheckingLanguages const): Ditto.
(WebCore::enchantDictDescribeCallback): Deleted.
(WebCore::TextCheckerEnchant::~TextCheckerEnchant): Deleted.
(WebCore::TextCheckerEnchant::freeEnchantBrokerDictionaries): Deleted.
- platform/text/enchant/TextCheckerEnchant.h:
Source/WebKit:
Use TextCheckerEnchant as a singleton now, instead of implementing the singleton here.
- UIProcess/gtk/TextCheckerGtk.cpp:
(WebKit::TextChecker::checkSpellingOfString):
(WebKit::TextChecker::getGuessesForWord):
(WebKit::TextChecker::learnWord):
(WebKit::TextChecker::ignoreWord):
(WebKit::TextChecker::setSpellCheckingLanguages):
(WebKit::TextChecker::loadedSpellCheckingLanguages):
(WebKit::enchantTextChecker): Deleted.
- 12:11 AM Changeset in webkit [230197] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Segfaults in enchant_broker_free_dict()
https://bugs.webkit.org/show_bug.cgi?id=183738
Reviewed by Michael Catanzaro.
Check enchant_broker_request_dict() didn't return nullptr before adding it to the m_enchantDictionaries vector.
- platform/text/enchant/TextCheckerEnchant.cpp:
(WebCore::TextCheckerEnchant::updateSpellCheckingLanguages):
- 12:09 AM Changeset in webkit [230196] by
-
- 6 edits in trunk/Source
[GTK] NetworkProcess from WebKitGtk+ 2.19.9x SIGSEVs in NetworkStorageSession (secret search callback)
https://bugs.webkit.org/show_bug.cgi?id=183346
Reviewed by Michael Catanzaro.
Source/WebCore:
This might happen if a request is cancelled right after the password request starts and before it finishes. We
should cancel the password search when the network request is cancelled, not only when the NetworkStorageSession
is destroyed.
- platform/network/NetworkStorageSession.h:
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::~NetworkStorageSession):
(WebCore::SecretServiceSearchData::SecretServiceSearchData): Helper struct to keep the request cancellable and
completion handler.
(WebCore::NetworkStorageSession::getCredentialFromPersistentStorage): Create a SecretServiceSearchData for the
request.
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Pass the request cancellable to
NetworkStorageSession::getCredentialFromPersistentStorage().
Source/WebKit:
Pass the request cancellable to NetworkStorageSession::getCredentialFromPersistentStorage().
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::authenticate):
Apr 2, 2018:
- 6:03 PM Changeset in webkit [230195] by
-
- 13 edits in trunk
Process swapping on navigation needs to handle server redirects.
<rdar://problem/38690465> and https://bugs.webkit.org/show_bug.cgi?id=184142
Reviewed by Alex Christensen.
Source/WebKit:
The same rules we apply to process swapping for basic navigations need to apply
to server redirects as well.
There's three interesting cases we need to support that are covered by new API tests:
1 - The initial load in a WKWebView redirects cross-origin.
2 - A WKWebView is showing content from a.com, we start a load to b.com, and that redirects to c.com
3 - A WKWebView is showing content from a.com, we start a load to a.com, that that redirects to b.com.
Supporting all 3 of these brought their own little challenges.
By teaching Navigation objects more about redirects I was able to support all 3 cases.
- UIProcess/API/APINavigation.cpp:
(API::Navigation::Navigation):
(API::Navigation::setCurrentRequest):
(API::Navigation::appendRedirectionURL):
(API::Navigation::loggingString const):
(API::Navigation::loggingURL const): Deleted.
- UIProcess/API/APINavigation.h:
(API::Navigation::originalRequest const):
(API::Navigation::currentRequest const):
(API::Navigation::currentRequestProcessIdentifier const):
(API::Navigation::setCurrentRequestIsRedirect):
(API::Navigation::currentRequestIsRedirect const):
(API::Navigation::request const): Deleted.
- UIProcess/API/Cocoa/WKNavigation.mm:
(-[WKNavigation _request]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::continueNavigationInNewProcess): If this continued navigation is currently in a server
redirect, save off a lambda to synthesize a "did receive server redirect" callback once the new WebProcess is running.
(WebKit::WebPageProxy::didCreateMainFrame):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Possibly ignore this notification if it is really a
cross-origin redirect that is just starting back up in a new WebProcess.
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::resetStateAfterProcessExited): Do not clear pageLoadState if the process is exitting for
a navigation swap, as we will need to pick up where we left off when the load continues in a new WebProcess.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigation): If a process has never committed any provisional load, it can always
be used to continue a navigation.
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::didCommitProvisionalLoad):
(WebKit::WebProcessProxy::hasCommittedAnyProvisionalLoads const):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONNavigationDelegate webView:didFinishNavigation:]):
(-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[PSONNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:]):
(-[PSONScheme addRedirectFromURLString:toURLString:]):
(-[PSONScheme webView:startURLSchemeTask:]):
- 5:50 PM Changeset in webkit [230194] by
-
- 27 edits in trunk/Source
[Extra zoom mode] Replace video with a placeholder image during fullscreen transition
https://bugs.webkit.org/show_bug.cgi?id=184188
<rdar://problem/38940307>
Reviewed by Youenn Fablet.
Source/WebCore:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::willExitFullscreen):
- html/HTMLMediaElement.h:
- platform/cocoa/VideoFullscreenChangeObserver.h:
- platform/cocoa/VideoFullscreenModelVideoElement.h:
- platform/cocoa/VideoFullscreenModelVideoElement.mm:
(VideoFullscreenModelVideoElement::willExitFullscreen):
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::updateVideoFullscreenInlineImage):
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::updateVideoFullscreenInlineImage):
- platform/graphics/VideoFullscreenLayerManager.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoFullscreenInlineImage):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastPixelBuffer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVideoFullscreenLayer):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVideoFullscreenLayer):
- platform/graphics/avfoundation/objc/VideoFullscreenLayerManagerObjC.h:
- platform/graphics/avfoundation/objc/VideoFullscreenLayerManagerObjC.mm:
(WebCore::VideoFullscreenLayerManagerObjC::setVideoLayer):
(WebCore::VideoFullscreenLayerManagerObjC::updateVideoFullscreenInlineImage):
(WebCore::VideoFullscreenLayerManagerObjC::setVideoFullscreenLayer):
- platform/ios/VideoFullscreenInterfaceAVKit.h:
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::exitFullscreen):
(VideoFullscreenInterfaceAVKit::preparedToExitFullscreen):
(VideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason):
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(VideoFullscreenControllerContext::willExitFullscreen):
Source/WebKit:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.messages.in:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenModelContext::willExitFullscreen):
(WebKit::VideoFullscreenManagerProxy::preparedToExitFullscreen):
(WebKit::VideoFullscreenManagerProxy::willExitFullscreen):
- WebProcess/cocoa/VideoFullscreenManager.h:
- WebProcess/cocoa/VideoFullscreenManager.messages.in:
- WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenManager::willExitFullscreen):
- 5:11 PM Changeset in webkit [230193] by
-
- 2 edits in trunk/Source/WebKit
[Cocoa] Fix some internal builds that consume WebDriver atoms
https://bugs.webkit.org/show_bug.cgi?id=184197
Reviewed by Dan Bernstein.
- WebKit.xcodeproj/project.pbxproj:
Use a Run Script phase to copy WebDriver atoms to WebKit.framework
private headers during the installhdrs phase.
- 4:12 PM Changeset in webkit [230192] by
-
- 7 edits in trunk/Tools
Add infrastructure to relax SSL for allowed hosts in DumpRenderTree and WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=184239
Reviewed by Alexey Proskuryakov.
Adds a new optional command line option --allow-any-certificate-for-allowed-hosts (defaults to disabled)
to allow the allowed hosts to accept any HTTPS certificate. You can specify an allowed host
by using the existing command line option --allowed-host.
Currently both DumpRenderTree and WebKitTestRunner relax SSL certificate validation
for 127.0.0.1 and localhost so that we can run HTTPS tests from these hosts using
a self-signed certificate. They do not relax these restrictions for any allowed host,
specified using the optional command line option --allowed-host. For testing purposes
it is useful to be able to run a local HTTPS server with a self-signed certificate and
mimic a non-localhost hostname (by adding an alias(es) for 127.0.0.1 to /etc/hosts).
We should support relaxing SSL restrictions for such testing purposes.
For example, to allow host example.test to present any HTTPS certificate when running
tests you would invoke:
run-webkit-tests --allowed-host example.test --additional-drt-flag '--allow-any-certificate-for-allowed-hosts'
- DumpRenderTree/mac/DumpRenderTree.mm:
(initializeGlobalsFromCommandLineOptions): Parse the command line option --allow-any-certificate-for-allowed-hosts.
(dumpRenderTree): Allow any HTTPS certificate from each allowed host.
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage): Clear out the existing list of allowed hosts
before appending entries to it to avoid growing the list of allowed hosts without bound. Call
platformAllowAnyHTTPSCertificateForAllowedHosts() to apply SSL relaxation for each allowed host.
- WebKitTestRunner/Options.cpp:
(WTR::handleOptionAllowAnyHTTPSCertificateForAllowedHosts): Added.
(WTR::handleOptionAllowedHost): Update code as needed now that Options::allowedHosts is a std::set.
(WTR::OptionsHandler::OptionsHandler):
- WebKitTestRunner/Options.h: Change the data type of allowedHosts from a std::vector to a std::set
so that we can make use of the convenience functon std::set::find() in TestController::canAuthenticateAgainstProtectionSpace().
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
(WTR::TestController::canAuthenticateAgainstProtectionSpace): Allow any HTTPS certificate from each allowed host.
- WebKitTestRunner/TestController.h:
- 4:09 PM Changeset in webkit [230191] by
-
- 13 edits in trunk
Unreviewed, rolling out r230174.
Caused LayoutTests to exit early with assertion failures.
Reverted changeset:
"Process swapping on navigation needs to handle server
redirects."
https://bugs.webkit.org/show_bug.cgi?id=184142
https://trac.webkit.org/changeset/230174
- 4:05 PM Changeset in webkit [230190] by
-
- 3 edits in trunk/Tools
Remove pre-Network Session code path for allowing any HTTPS certificate on Mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=184242
Reviewed by Alexey Proskuryakov.
Following r227364 we use the Network Session (NSURLSession) code path by default in
modern WebKit on Mac and iOS. That is, we no longer use {CF, NS}URLConnection in modern
WebKit on these platforms. So, we can remove code that used NSURLRequest SPI to allow
any HTTPS certificate from localhost and 127.0.0.1 when using {CF, NS}URLConnection.
The equivalent functionality is implemented in TestController::canAuthenticateAgainstProtectionSpace().
- WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm:
(WTR::InjectedBundle::platformInitialize):
- WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize):
- 2:59 PM Changeset in webkit [230189] by
-
- 2 edits in tags/Safari-606.1.11.2/Source/WebKit
Cherry-pick r230160. rdar://problem/39094484
Fixed the build when BOOL is not bool.
<rdar://problem/39094484>
Reviewed by Jer Noble.
- UIProcess/ios/fullscreen/WKFullScreenViewController.mm: (-[WKFullScreenViewController videoControlsManagerDidChange]): Removed the write-only ivar _hasControlsManager, the assignment to which was causing the compiler error.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230160 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:14 PM Changeset in webkit [230188] by
-
- 2 edits in trunk
Remove references to internal version of WebKitQuartzCoreAdditions in CMake files.
https://bugs.webkit.org/show_bug.cgi?id=184246
<rdar://problem/39116563>
Unreviewed build fix.
- Source/PlatformWin.cmake:
- 2:09 PM Changeset in webkit [230187] by
-
- 22 edits1 copy in trunk/Source
bmalloc should compute its own estimate of its footprint
https://bugs.webkit.org/show_bug.cgi?id=184121
Reviewed by Filip Pizlo.
Source/bmalloc:
This patch makes it so that bmalloc keeps track of its own physical
footprint.
Doing this for IsoHeaps is trivial. It allocates/deallocates fixed
page sizes at a time. IsoHeapImpl just updates a count every time
a page is committed/decommitted.
Making Heap keep its footprint was a bit trickier because of how
LargeRange is constructed. Before this patch, LargeRange kept track
of the amount of physical memory at the start of its range. This
patch extends large range to also keep track of the total physical memory
in the range just for footprint bookkeeping. This was needed to make
Heap's footprint come close to resembling reality, because as we merge and split
large ranges, the start physical size often becomes wildly inaccurate.
The total physical size number stored in LargeRange is still just an
estimate. It's possible that as ranges are split, that the total physical
size split amongst the two ranges doesn't resemble reality. This can
happen when the total physical size is really all in one end of the split,
but we mark it as being proportionally split amongst the resulting two
ranges. In practice, I did not notice this being a problem. The footprint
estimate tracks reality very closely (in my testing, within less than 1MB for
heaps with sizes upwards of 1GB). The other nice thing about total physical
size is that even if it diverges from reality in terms of how memory is
using up physical RAM, it stays internally consistent inside bmalloc's
own data structures.
The main oversight of this patch is how it deals with Wasm memory. All Wasm
memory will be viewed by bmalloc as taking up physical space even when it
may not be. Wasm memory starts off as taking up purely virtual pages. When a
page is first accessed, only then will the OS page it in and cause it to use
physical RAM. I opened a bug to come up with a solution to this problem:
https://bugs.webkit.org/show_bug.cgi?id=184207
- bmalloc.xcodeproj/project.pbxproj:
- bmalloc/AvailableMemory.cpp:
(bmalloc::memoryStatus):
- bmalloc/BPlatform.h:
- bmalloc/Heap.cpp:
(bmalloc::Heap::Heap):
(bmalloc::Heap::freeableMemory):
(bmalloc::Heap::footprint):
(bmalloc::Heap::scavenge):
(bmalloc::Heap::deallocateSmallChunk):
(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::splitAndAllocate):
(bmalloc::Heap::tryAllocateLarge):
(bmalloc::Heap::shrinkLarge):
(bmalloc::Heap::deallocateLarge):
(bmalloc::Heap::externalCommit):
(bmalloc::Heap::externalDecommit):
- bmalloc/Heap.h:
- bmalloc/IsoDirectory.h:
- bmalloc/IsoDirectoryInlines.h:
(bmalloc::passedNumPages>::takeFirstEligible):
(bmalloc::passedNumPages>::didDecommit):
(bmalloc::passedNumPages>::freeableMemory):
- bmalloc/IsoHeapImpl.h:
- bmalloc/IsoHeapImplInlines.h:
(bmalloc::IsoHeapImpl<Config>::freeableMemory):
(bmalloc::IsoHeapImpl<Config>::footprint):
(bmalloc::IsoHeapImpl<Config>::didCommit):
(bmalloc::IsoHeapImpl<Config>::didDecommit):
- bmalloc/LargeRange.h:
(bmalloc::LargeRange::LargeRange):
(bmalloc::LargeRange::startPhysicalSize const):
(bmalloc::LargeRange::setStartPhysicalSize):
(bmalloc::LargeRange::totalPhysicalSize const):
(bmalloc::LargeRange::setTotalPhysicalSize):
(bmalloc::merge):
(bmalloc::LargeRange::split const):
(bmalloc::LargeRange::physicalSize const): Deleted.
(bmalloc::LargeRange::setPhysicalSize): Deleted.
- bmalloc/PhysicalPageMap.h: Added.
This class is added for debugging purposes. It's useful when hacking
on the code that calculates the footprint to use this map as a sanity
check. It's just a simple implementation that has a set of all the committed pages.
(bmalloc::PhysicalPageMap::commit):
(bmalloc::PhysicalPageMap::decommit):
(bmalloc::PhysicalPageMap::footprint):
(bmalloc::PhysicalPageMap::forEachPhysicalPage):
- bmalloc/Scavenger.cpp:
(bmalloc::dumpStats):
(bmalloc::Scavenger::scavenge):
(bmalloc::Scavenger::freeableMemory):
This is here just for debugging for now. But we should implement an
efficient version of this to use when driving when to run the
scavenger.
(bmalloc::Scavenger::footprint):
(bmalloc::Scavenger::threadRunLoop):
- bmalloc/Scavenger.h:
- bmalloc/VMAllocate.h:
(bmalloc::physicalPageSizeSloppy):
- bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::tryAllocateLargeChunk):
- bmalloc/bmalloc.cpp:
(bmalloc::api::commitAlignedPhysical):
(bmalloc::api::decommitAlignedPhysical):
- bmalloc/bmalloc.h:
Source/JavaScriptCore:
- heap/IsoAlignedMemoryAllocator.cpp:
(JSC::IsoAlignedMemoryAllocator::~IsoAlignedMemoryAllocator):
(JSC::IsoAlignedMemoryAllocator::tryAllocateAlignedMemory):
(JSC::IsoAlignedMemoryAllocator::freeAlignedMemory):
Source/WTF:
- wtf/FastMalloc.cpp:
(WTF::fastCommitAlignedMemory):
(WTF::fastDecommitAlignedMemory):
- wtf/FastMalloc.h:
- 2:06 PM Changeset in webkit [230186] by
-
- 6 edits in tags/Safari-606.1.7.4/Source/WebKit
Cherry-pick r229684. rdar://problem/38516584
Add _useSystemAppearance to WKView
https://bugs.webkit.org/show_bug.cgi?id=183706
<rdar://problem/38516584>
Reviewed by Tim Horton.
Plumb useSystemAppearance and other supporting functions to WKView
- UIProcess/API/Cocoa/WKViewPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): (-[WKWebView _useSystemAppearance]): (-[WKWebView _setUseSystemAppearance:]): (-[WKWebView effectiveAppearanceDidChange]):
- UIProcess/API/mac/WKView.mm: (-[WKView effectiveAppearanceDidChange]): (-[WKView _setUseSystemAppearance:]): (-[WKView _useSystemAppearance]): (-[WKView _setDefaultAppearance:]):
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm: (WebKit::WebViewImpl::setUseSystemAppearance): (WebKit::WebViewImpl::useSystemAppearance): (WebKit::WebViewImpl::setDefaultAppearance):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:06 PM Changeset in webkit [230185] by
-
- 7 edits in tags/Safari-606.1.7.4/Source
Cherry-pick r229679. rdar://problem/38385900
Ensure that style is updated when the effective appearance changes
https://bugs.webkit.org/show_bug.cgi?id=183690
<rdar://problem/38385900>
Reviewed by Tim Horton and Wenson Hsieh.
Source/WebCore:
Only exposing a function to outside WebCore, no tests needed.
- page/Page.h:
Source/WebKit:
Respond to and respect the effective appearance changing.
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView effectiveAppearanceDidChange]):
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::setDefaultAppearance):
Source/WebKitLegacy/mac:
Respond to and respect the effective appearance changing.
- WebView/WebView.mm: (-[WebView _setUseSystemAppearance:]): (-[WebView effectiveAppearanceDidChange]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229679 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:06 PM Changeset in webkit [230184] by
-
- 28 edits2 copies in tags/Safari-606.1.7.4/Source
Cherry-pick r229654. rdar://problem/38382934
Create MediaQueryParserContext to provide additional context for the evaluation of media queries
https://bugs.webkit.org/show_bug.cgi?id=183677
Reviewed by Tim Horton.
We need additional context for parsing media queries to make sure they are parsed correctly and valid.
Source/WebCore:
Not currently testable, will add tests in a later patch.
- WebCore.xcodeproj/project.pbxproj:
- css/MediaList.cpp: (WebCore::MediaQuerySet::create): (WebCore::MediaQuerySet::set): (WebCore::MediaQuerySet::add): (WebCore::MediaQuerySet::remove):
- css/MediaList.h:
- css/MediaQueryEvaluator.cpp: (WebCore::MediaQueryEvaluator::mediaAttributeMatches):
- css/MediaQueryExpression.cpp: (WebCore::featureWithValidIdent): (WebCore::featureWithValidDensity): (WebCore::featureWithValidPositiveLength): (WebCore::featureWithPositiveInteger): (WebCore::featureWithPositiveNumber): (WebCore::featureWithZeroOrOne): (WebCore::isFeatureValidWithoutValue): (WebCore::MediaQueryExpression::MediaQueryExpression):
- css/MediaQueryExpression.h:
- css/MediaQueryMatcher.cpp: (WebCore::MediaQueryMatcher::matchMedia):
- css/MediaQueryParserContext.cpp: Added. (WebCore::MediaQueryParserContext::MediaQueryParserContext):
- css/MediaQueryParserContext.h: Added. (WebCore::MediaQueryParserContext::MediaQueryParserContext):
- css/StyleMedia.cpp: (WebCore::StyleMedia::matchMedium const):
- css/StyleRuleImport.cpp: (WebCore::StyleRuleImport::StyleRuleImport): (WebCore::StyleRuleImport::setCSSStyleSheet):
- css/parser/CSSParser.cpp: (WebCore::CSSParserContext::CSSParserContext): (WebCore::operator==):
- css/parser/CSSParserImpl.cpp: (WebCore::CSSParserImpl::consumeImportRule): (WebCore::CSSParserImpl::consumeMediaRule):
- css/parser/MediaQueryParser.cpp: (WebCore::MediaQueryParser::parseMediaQuerySet): (WebCore::MediaQueryParser::parseMediaCondition): (WebCore::MediaQueryParser::MediaQueryParser): (WebCore::MediaQueryData::addExpression):
- css/parser/MediaQueryParser.h: (WebCore::MediaQueryData::setMediaQueryParserContext):
- css/parser/SizesAttributeParser.cpp: (WebCore::SizesAttributeParser::parse):
- dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createCSSStyleSheet):
- dom/InlineStyleSheetOwner.cpp: (WebCore::InlineStyleSheetOwner::createSheet):
- dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::setCSSStyleSheet):
- html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
- html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process): (WebCore::HTMLLinkElement::initializeStyleSheet): (WebCore::HTMLLinkElement::setCSSStyleSheet):
- html/HTMLLinkElement.h:
- html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::selectNextSourceChild):
- html/HTMLSourceElement.cpp: (WebCore::HTMLSourceElement::parsedMediaAttribute const):
- html/HTMLSourceElement.h:
- html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::parseAttribute):
- html/parser/HTMLPreloadScanner.cpp: (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
Source/WebKitLegacy/mac:
- DOM/DOM.mm: (-[DOMHTMLLinkElement _mediaQueryMatches]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:06 PM Changeset in webkit [230183] by
-
- 17 edits in tags/Safari-606.1.7.4/Source
Cherry-pick r229511. rdar://problem/38326388
Media query for default appearance
https://bugs.webkit.org/show_bug.cgi?id=183539
<rdar://problem/38326388>
Reviewed by Tim Horton.
Source/WebCore:
Not currently testable, will add tests in a later patch.
Write a media query to evaluate appearance.
- css/CSSValueKeywords.in:
- css/MediaFeatureNames.h:
- css/MediaQueryEvaluator.cpp: (WebCore::defaultAppearanceEvaluate):
- css/MediaQueryExpression.cpp: (WebCore::featureWithValidIdent): (WebCore::isFeatureValidWithoutValue):
- page/Page.h: (WebCore::Page::defaultAppearance const): (WebCore::Page::setDefaultAppearance):
Source/WebKit:
Write a media query to evaluate appearance.
- Shared/WebPageCreationParameters.cpp: (WebKit::WebPageCreationParameters::encode const): (WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): (-[WKWebView _setUseSystemAppearance:]):
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::creationParameters): (WebKit::WebPageProxy::setDefaultAppearance):
- UIProcess/WebPageProxy.h: (WebKit::WebPageProxy::defaultAppearance const):
- WebProcess/WebPage/WebPage.cpp: (WebKit::m_credentialsMessenger): (WebKit::WebPage::setDefaultAppearance):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Source/WebKitLegacy/mac:
Write a media query to evaluate appearance.
- WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): (-[WebView _setUseSystemAppearance:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229511 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:06 PM Changeset in webkit [230182] by
-
- 45 edits in tags/Safari-606.1.7.4/Source
Cherry-pick r229448. rdar://problem/36975642
Allow WebViews to disable system appearance
https://bugs.webkit.org/show_bug.cgi?id=183418
<rdar://problem/36975642>
Reviewed by Tim Horton.
Source/WebCore:
Not currently testable, tests will be added in a later patch.
Allow webviews to choose whether or not to follow the default system appearance.
- css/StyleColor.cpp: (WebCore::StyleColor::colorFromKeyword):
- css/StyleColor.h:
- css/StyleResolver.cpp: (WebCore::StyleResolver::colorFromPrimitiveValue const):
- css/parser/CSSParser.cpp: (WebCore::CSSParser::parseSystemColor):
- css/parser/CSSParser.h:
- css/parser/CSSParserMode.h:
- html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawFocusIfNeededInternal):
- html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::setStrokeColor): (WebCore::CanvasRenderingContext2DBase::setFillColor):
- html/canvas/CanvasStyle.cpp: (WebCore::parseColor): (WebCore::parseColorOrCurrentColor): (WebCore::CanvasStyle::createFromString): (WebCore::CanvasStyle::createFromStringWithOverrideAlpha):
- html/canvas/CanvasStyle.h:
- page/Page.h: (WebCore::Page::useSystemAppearance const): (WebCore::Page::setUseSystemAppearance):
- platform/Theme.cpp: (WebCore::Theme::paint):
- platform/Theme.h:
- platform/mac/LocalDefaultSystemAppearance.h:
- platform/mac/LocalDefaultSystemAppearance.mm: (WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance): (WebCore::LocalDefaultSystemAppearance::~LocalDefaultSystemAppearance):
- platform/mac/ThemeMac.h:
- platform/mac/ThemeMac.mm: (-[WebCoreThemeView initWithUseSystemAppearance:]): (WebCore::paintToggleButton): (WebCore::paintButton): (WebCore::ThemeMac::ensuredView): (WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext): (WebCore::ThemeMac::paint): (-[WebCoreThemeView init]): Deleted.
- rendering/RenderTheme.cpp: (WebCore::RenderTheme::paint): (WebCore::RenderTheme::systemColor const): (WebCore::RenderTheme::focusRingColor):
- rendering/RenderTheme.h: (WebCore::RenderTheme::platformFocusRingColor const):
- rendering/RenderThemeIOS.mm: (WebCore::RenderThemeIOS::systemColor const):
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::documentViewFor const): (WebCore::RenderThemeMac::platformFocusRingColor const): (WebCore::RenderThemeMac::systemColor const): (WebCore::RenderThemeMac::paintCellAndSetFocusedElementNeedsRepaintIfNecessary): (WebCore::RenderThemeMac::paintSliderThumb):
- rendering/TextPaintStyle.cpp: (WebCore::computeTextPaintStyle):
Source/WebKit:
Allow webviews to choose whether or not to follow the default system appearance.
- Shared/WebPageCreationParameters.cpp: (WebKit::WebPageCreationParameters::encode const): (WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _useSystemAppearance]): (-[WKWebView _setUseSystemAppearance:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::creationParameters): (WebKit::WebPageProxy::setUseSystemAppearance):
- UIProcess/WebPageProxy.h: (WebKit::WebPageProxy::useSystemAppearance const):
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::setUseSystemAppearance):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Source/WebKitLegacy/mac:
Allow webviews to choose whether or not to follow the default system appearance.
- WebView/WebView.mm: (-[WebView _setUseSystemAppearance:]): (-[WebView _useSystemAppearance]):
- WebView/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229448 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:05 PM Changeset in webkit [230181] by
-
- 2 edits in tags/Safari-606.1.7.4/Source/WebCore
Cherry-pick r229438. rdar://problem/38274894
Ensure default appearance for selection form control
https://bugs.webkit.org/show_bug.cgi?id=183482
<rdar://problem/38274894>
Reviewed by Tim Horton.
The appearance for selection form controls was not set to default.
Not currently testable, will add tests in a later patch.
- rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:05 PM Changeset in webkit [230180] by
-
- 2 edits in tags/Safari-606.1.7.4/Source/WebCore
Cherry-pick r229430. rdar://problem/38210306
Ensure system appearance is default for legacy webkit
https://bugs.webkit.org/show_bug.cgi?id=183473
<rdar://problem/38210306>
Reviewed by Tim Horton.
Need to set the appearance on the window for legacy webkit due to differences in drawing.
Not currently testable, will add tests in a later patch.
- platform/mac/ThemeMac.mm: (WebCore::paintButton):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:05 PM Changeset in webkit [230179] by
-
- 4 edits2 adds in tags/Safari-606.1.7.4/Source/WebCore
Cherry-pick r229336. rdar://problem/36975571
Ensure system appearance is default for web content
https://bugs.webkit.org/show_bug.cgi?id=183354
<rdar://problem/36975571>
<rdar://problem/38162381>
Make sure the the system appearance for web content is default, and
consolidate that code to a single class.
Reviewed by Tim Horton.
Not currently testable, will add tests in a future patch.
- WebCore.xcodeproj/project.pbxproj:
- platform/mac/LocalDefaultSystemAppearance.h: Added.
- platform/mac/LocalDefaultSystemAppearance.mm: Added. (WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance): (WebCore::LocalDefaultSystemAppearance::~LocalDefaultSystemAppearance):
- platform/mac/ThemeMac.mm: (-[WebCoreThemeView init]): (WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):
- rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::systemColor const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:05 PM Changeset in webkit [230178] by
-
- 7 edits in tags/Safari-606.1.7.4/Source
Versioning.
- 1:34 PM Changeset in webkit [230177] by
-
- 9 edits in trunk/Source/WebCore
Define AVKit softlink macro
https://bugs.webkit.org/show_bug.cgi?id=184241
Reviewed by Jer Noble.
Source/WebCore:
No new tests, no functional change.
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
- platform/ios/PlaybackSessionInterfaceAVKit.mm:
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
- platform/ios/WebAVPlayerController.mm:
- platform/mac/PlaybackSessionInterfaceMac.mm:
- platform/mac/VideoFullscreenInterfaceMac.mm:
Source/WebCore/PAL:
- pal/cf/CoreMediaSoftLink.h:
- 1:27 PM Changeset in webkit [230176] by
-
- 6 edits in trunk/Source
[Extra zoom mode] Update date picker UI to latest specifications
https://bugs.webkit.org/show_bug.cgi?id=184234
<rdar://problem/38804760>
Reviewed by Timothy Hatcher.
Source/WebCore:
Tweak localizable strings. Day, month and year labels should be fully capitalized, and there needs to be a
string for the "Set" button title.
- English.lproj/Localizable.strings:
- platform/LocalizedStrings.cpp:
(WebCore::datePickerSetButtonTitle):
(WebCore::datePickerDayLabelTitle):
(WebCore::datePickerMonthLabelTitle):
(WebCore::datePickerYearLabelTitle):
- platform/LocalizedStrings.h:
Source/WebKit:
Rename WKTextFormControlListViewControllerDelegate to WKTextInputListViewControllerDelegate and adjust for the
new initializer of WKDatePickerViewController.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView presentViewControllerForCurrentAssistedNode]):
- 1:07 PM Changeset in webkit [230175] by
-
- 3 edits in trunk/Source/JavaScriptCore
We should not trash the stack pointer on OSR entry.
https://bugs.webkit.org/show_bug.cgi?id=184243
<rdar://problem/39114319>
Reviewed by Filip Pizlo.
In the DFG OSR entry path, we momentarily over-write the stack pointer with
returnValueGPR2. returnValueGPR2 contains a pointer to a side buffer we malloc'ed.
Hence, this assignment is wrong, and it turns out to be unnecessary as well.
The stack pointer does get corrected later in the thunk (generated by
osrEntryThunkGenerator()) that we jump to. This is why we don't see ill-effects
so far.
This bug only poses an issue if interrupts use the user stack for their stack
frame (e.g. linux), and when we do stack alignment tests during debugging.
The fix is simply to remove the assignment.
- dfg/DFGThunks.cpp:
(JSC::DFG::osrEntryThunkGenerator):
- jit/JIT.cpp:
(JSC::JIT::emitEnterOptimizationCheck):
- 1:05 PM Changeset in webkit [230174] by
-
- 13 edits in trunk
Process swapping on navigation needs to handle server redirects.
<rdar://problem/38690465> and https://bugs.webkit.org/show_bug.cgi?id=184142
Reviewed by Alex Christensen.
Source/WebKit:
The same rules we apply to process swapping for basic navigations need to apply
to server redirects as well.
There's three interesting cases we need to support that are covered by new API tests:
1 - The initial load in a WKWebView redirects cross-origin.
2 - A WKWebView is showing content from a.com, we start a load to b.com, and that redirects to c.com
3 - A WKWebView is showing content from a.com, we start a load to a.com, that that redirects to b.com.
Supporting all 3 of these brought their own little challenges.
By teaching Navigation objects more about redirects I was able to support all 3 cases.
- UIProcess/API/APINavigation.cpp:
(API::Navigation::Navigation):
(API::Navigation::setCurrentRequest):
(API::Navigation::appendRedirectionURL):
(API::Navigation::loggingString const):
(API::Navigation::loggingURL const): Deleted.
- UIProcess/API/APINavigation.h:
(API::Navigation::originalRequest const):
(API::Navigation::currentRequest const):
(API::Navigation::currentRequestProcessIdentifier const):
(API::Navigation::setCurrentRequestIsRedirect):
(API::Navigation::currentRequestIsRedirect const):
(API::Navigation::request const): Deleted.
- UIProcess/API/Cocoa/WKNavigation.mm:
(-[WKNavigation _request]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::continueNavigationInNewProcess): If this continued navigation is currently in a server
redirect, save off a lambda to synthesize a "did receive server redirect" callback once the new WebProcess is running.
(WebKit::WebPageProxy::didCreateMainFrame):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Possibly ignore this notification if it is really a
cross-origin redirect that is just starting back up in a new WebProcess.
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::resetStateAfterProcessExited): Do not clear pageLoadState if the process is exitting for
a navigation swap, as we will need to pick up where we left off when the load continues in a new WebProcess.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigation): If a process has never committed any provisional load, it can always
be used to continue a navigation.
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::didCommitProvisionalLoad):
(WebKit::WebProcessProxy::hasCommittedAnyProvisionalLoads const):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONNavigationDelegate webView:didFinishNavigation:]):
(-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[PSONNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:]):
(-[PSONScheme addRedirectFromURLString:toURLString:]):
(-[PSONScheme webView:startURLSchemeTask:]):
- 12:59 PM Changeset in webkit [230173] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r228260):WebHTMLView beeps at every keydown for Chinese/Japanese/Korean Input Method
https://bugs.webkit.org/show_bug.cgi?id=184231
Reviewed by Alexey Proskuryakov.
The bug was caused by EventHandler::internalKeyEvent calling setDefaultHandled and expecting it to stay true
after dispatching the event even though m_defaultHandled is always cleared after r228260. This results in
EventHandler::internalKeyEvent returning false, and resulting in a beep.
Unfortunately, no new tests since there is no facility to detect this case in layout tests, and we can't
easily emulate or trigger a real input method in API tests.
- page/EventHandler.cpp:
(WebCore::EventHandler::internalKeyEvent):
- 12:42 PM Changeset in webkit [230172] by
-
- 1 edit2 adds in trunk/LayoutTests
Followup(r230063): Add test a layout test for https://bugs.webkit.org/show_bug.cgi?id=183972
https://bugs.webkit.org/show_bug.cgi?id=184162
Reviewed by Daniel Bates.
Without r230063, running run-webkit-tests -g for this test will crash.
- svg/dom/animated-tearoff-list-remove-target-expected.txt: Added.
- svg/dom/animated-tearoff-list-remove-target.html: Added.
- 12:06 PM Changeset in webkit [230171] by
-
- 2 edits in trunk/Source/WebKit
[Extra zoom mode] Zoom level is sometimes excessive when zooming to focused form controls
https://bugs.webkit.org/show_bug.cgi?id=184222
<rdar://problem/39063886>
Reviewed by Timothy Hatcher.
Upon interactively focusing an element, we zoom and scroll to reveal that element. The heuristics introduced in
<https://trac.webkit.org/r168744> work by computing a target scale, and then a point to zoom to given that
scale. Currently, this scale is dependent on the computed font size of the form control, such that the form
control would be scaled to have an effective font size of 16.
However, in extra zoom mode, applying these same heuristics (ironically) results in excessive zoom levels, since
scaling the font up to 16 would cause most form controls to zoom so far in that we lose context of surrounding
elements such as labels and other form controls; the fact that the element is highlighted by the focused form
control overlay makes this even more confusing, since part of the focus overlay highlight rect often ends up
outside the viewport.
To fix this, we make a couple of tweaks to focus rect zooming in extra zoom mode. (1) Instead of computing
target zoom level based on font size, try to zoom such that the focused element rect fills up most of the
viewport (similar to double-tap zooming). This ensures that the focused form control overlay's highlight rect
makes sense in most cases, with few exceptions (e.g. the element frame is larger than the viewport). (2)
Introduce a minimum legible font size of 11, and compute the minimium scale needed such that the form control
font would appear to be at least this legible font size. Then, clamp the target scale chosen by (1) to this
minimum scale.
One additional consideration for (1) is that naively scaling to fit the element rect to the viewport (with some
fixed margins) would cause the viewport scale to always change when moving focus between form controls of
different dimensions, even if the current scale is more or less appropriate for all the focusable elements. To
address this, instead of computing a single target zoom scale for an element rect, compute a range of possible
target zoom scales (where the minimum and maximum values depend on the margin we add around the element rect).
If the current scale already falls within this target scale range, then we won't bother adjusting the scale at
all (unless the font size is too small — see (2)). If the current scale falls outside the target scale range, we
then make the minimal adjustment needed to ensure that the element rect fits well within the viewport without
being too small.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _zoomToFocusRect:selectionRect:insideFixed:fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]):
Move some logic around so that the target scale is computed after computing the visible size. Also renames some
constants local to this function (WKWebViewStandardFontSize, kMinimumHeightToShowContentAboveKeyboard,
UIWebFormAnimationDuration, CaretOffsetFromWindowEdge) such that they now share a consistent naming style.
- 12:01 PM Changeset in webkit [230170] by
-
- 1 copy in tags/Safari-606.1.7.4
New tag.
- 11:59 AM Changeset in webkit [230169] by
-
- 5 edits in trunk/Source
Enable Legacy EME for all WebKit & WebKitLegacy clients
https://bugs.webkit.org/show_bug.cgi?id=184018
<rdar://problem/34887387>
Reviewed by Eric Carlson.
Source/WebKit:
- Shared/WebPreferences.yaml:
- Shared/WebPreferencesDefaultValues.h:
Source/WebKitLegacy/mac:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
- 11:57 AM Changeset in webkit [230168] by
-
- 1 delete in tags/Safari-606.1.11.3
Delete tag.
- 11:34 AM Changeset in webkit [230167] by
-
- 2 edits in trunk/Tools
webkitpy: Use current environment value for GST_DEBUG(_FILE) and DOT_DIR env vars
https://bugs.webkit.org/show_bug.cgi?id=184036
Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-04-02
Reviewed by Philippe Normand.
Those variables are for debug purpose and should not change the behaviour
itself, and developers expect them to have effect.
- Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
- 11:09 AM Changeset in webkit [230166] by
-
- 3 edits in trunk/Tools
Remove Options constructor and use internal linkage for option handlers
https://bugs.webkit.org/show_bug.cgi?id=184229
Reviewed by Andy Estes.
Use C++11 default initializer syntax to remove the need to explicitly have a constructor
for the struct Options. Use internal linkage for option handler functions as these
are never invoked outside the translation unit they are defined in.
- WebKitTestRunner/Options.cpp:
(WTR::handleOptionNoTimeout):
(WTR::handleOptionVerbose):
(WTR::handleOptionGcBetweenTests):
(WTR::handleOptionPixelTests):
(WTR::handleOptionPrintSupportedFeatures):
(WTR::handleOptionComplexText):
(WTR::handleOptionAcceleratedDrawing):
(WTR::handleOptionRemoteLayerTree):
(WTR::handleOptionShowWebView):
(WTR::handleOptionShowTouches):
(WTR::handleOptionAllowedHost):
(WTR::handleOptionUnmatched):
(WTR::Options::Options): Deleted.
- WebKitTestRunner/Options.h:
- 10:51 AM Changeset in webkit [230165] by
-
- 1 copy in tags/Safari-606.1.11.3
New tag.
- 10:49 AM Changeset in webkit [230164] by
-
- 3 edits in trunk/Source/JavaScriptCore
[MIPS] Optimize JIT code generated by methods with TrustedImm32 operand
https://bugs.webkit.org/show_bug.cgi?id=183740
Patch by Stanislav Ocovaj <stanislav.ocovaj@rt-rk.com> on 2018-04-02
Reviewed by Yusuke Suzuki.
In many macro assembler methods with TrustedImm32 operand a move imm, immTemp (pseudo)instruction is
first generated and a register operand variant of the same method is called to generate the rest
of the code. If the immediate value can fit in 16 bits then we can skip the move instruction and
generate more efficient code using MIPS instructions with immediate operand.
- assembler/MIPSAssembler.h:
(JSC::MIPSAssembler::slti):
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::lshift32):
(JSC::MacroAssemblerMIPS::xor32):
(JSC::MacroAssemblerMIPS::branch8):
(JSC::MacroAssemblerMIPS::compare8):
(JSC::MacroAssemblerMIPS::branch32):
(JSC::MacroAssemblerMIPS::branch32WithUnalignedHalfWords):
(JSC::MacroAssemblerMIPS::branchTest32):
(JSC::MacroAssemblerMIPS::mask8OnTest):
(JSC::MacroAssemblerMIPS::branchTest8):
(JSC::MacroAssemblerMIPS::branchAdd32):
(JSC::MacroAssemblerMIPS::branchNeg32):
(JSC::MacroAssemblerMIPS::compare32):
(JSC::MacroAssemblerMIPS::test8):
- 10:45 AM Changeset in webkit [230163] by
-
- 3 edits in trunk/Source/WebKit
REGRESSION (229680): Fullscreen video does not work (youtube, netflix)
https://bugs.webkit.org/show_bug.cgi?id=184235
Reviewed by Eric Carlson.
Enable the Fullscreen API by default.
- Shared/WebPreferences.yaml:
- Shared/WebPreferencesDefaultValues.h:
- 10:44 AM Changeset in webkit [230162] by
-
- 2 edits in trunk/Source/WebKit
[Win] MSVC can't compile WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent
https://bugs.webkit.org/show_bug.cgi?id=184120
Reviewed by Alex Christensen.
It seems that MSVC can't compile the code using
this
in a
generalized lambda capture in another lambda.
In this case, there is no need to copy
protectedThis
for the
inner lambda. MoveprotectedThis
of the outer lambda to the
inner as well ascallback
.
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):
MovedprotectedThis
from the outer lambda to the inner.
- 10:16 AM Changeset in webkit [230161] by
-
- 3 edits in trunk/Source/WebKit
Build fix after r230121
- Configurations/WebKit.xcconfig: Disabled framework header postprocessing when building for iOS 11.*
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: Reverted r230159.
- 9:45 AM Changeset in webkit [230160] by
-
- 2 edits in trunk/Source/WebKit
Fixed the build when BOOL is not bool.
<rdar://problem/39094484>
Reviewed by Jer Noble.
- UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController videoControlsManagerDidChange]): Removed the write-only ivar
_hasControlsManager, the assignment to which was causing the compiler error.
- 9:41 AM Changeset in webkit [230159] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed build fix.
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: Update availability annotation.
- 8:40 AM Changeset in webkit [230158] by
-
- 4 edits2 adds in trunk
AudioBufferSourceNode start method causes OfflineAudioContext to start running
https://bugs.webkit.org/show_bug.cgi?id=181939
<rdar://problem/36755393>
Reviewed by Eric Carlson.
Source/WebCore:
Test: webaudio/offlineaudiocontext-restriction.html
Don't respect playback restrictions for offline AudioContexts.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::constructCommon):
- Modules/webaudio/AudioContext.h:
(WebCore::AudioContext::isOfflineContext const):
(WebCore::AudioContext::userGestureRequiredForAudioStart const):
(WebCore::AudioContext::pageConsentRequiredForAudioStart const):
(WebCore::AudioContext::isOfflineContext): Deleted.
LayoutTests:
- webaudio/offlineaudiocontext-restriction-expected.txt: Added.
- webaudio/offlineaudiocontext-restriction.html: Added.
- 7:55 AM Changeset in webkit [230157] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
Unreviewed fixing GTK port X86 32bits compilation after r230152.
- CMakeLists.txt:
- 7:42 AM Changeset in webkit [230156] by
-
- 2 edits in trunk/Source/WebKit
[GTK] DragAndDropHandler.cpp should include GUniquePtrGtk.h
https://bugs.webkit.org/show_bug.cgi?id=184119
Reviewed by Daniel Bates.
- UIProcess/gtk/DragAndDropHandler.cpp:
- 7:33 AM Changeset in webkit [230155] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
Unreviewed fixing GTK port ARM compilation after r230152.
- CMakeLists.txt: Properly avoid SSE implementations for ARM.
- 6:57 AM Changeset in webkit [230154] by
-
- 2 edits in trunk/Tools
Unreviewed GTK port dependencies fix after r230152.
Add alsa library dependency for gtk.
- gtk/install-dependencies:
- 5:45 AM Changeset in webkit [230153] by
-
- 5 edits in trunk/Source/WebKit
Fix warnings for unused lambda captures in Source/WebKit
https://bugs.webkit.org/show_bug.cgi?id=173555
Patch by Frederic Wang <fwang@igalia.com> on 2018-04-02
Reviewed by Konstantin Tokarev.
When release logs are disabled, several lambda captures are unused, causing compilation
failures with -Wunused-lambda-capture. This patch marks the corresponding variables as unused
in order to fix these warnings.
Based on initial patch by: Konstantin Tokarev <Konstantin Tokarev>
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::fetchWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::fetchWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView dragInteraction:willAnimateLiftWithAnimator:session:]):
- 4:29 AM Changeset in webkit [230152] by
-
- 20 edits1 copy9 adds in trunk
[GTK] Make libwebrtc backend buildable for GTK port
https://bugs.webkit.org/show_bug.cgi?id=178860
Patch by Alejandro G. Castro <alex@igalia.com> on 2018-04-02
Reviewed by Youenn Fablet.
.:
- Source/CMakeLists.txt: Add the libwebrtc directory to the compilation.
- Source/cmake/OptionsGTK.cmake: Add the USE_LIBWEBRTC option to
allow compilation of the specific code.
Source/ThirdParty/libwebrtc:
Modified the cmake file and added some assembly code to the
boringssl compilation required for the linux compilation generated
by libwebrtc.
- CMakeLists.txt: This cmake file was unused so we have modified
it completely to make it work for our port. It was originally
generated from the libwebrtc json file but not anymore. We could
change its structure at some point but current one seems a good
option for the moment.
- Source/webrtc/base/task_queue_libevent.cc: We use system
libevent for the moment so we needed to adapt the includes in this file.
- Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:
Readded lines removed by mistake in a previous commit.
Source/WebCore:
This is the first step to add webrtc support to the GTK port using
the libwebrtc backend.
No new tests, no new feature added, it should be tested by current
tests.
- CMakeLists.txt: Add the new files to the compilation and set the
new includes in the libwebrtc library.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
Reorder the includes alphabetically and add some that are missing.
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
Ditto.
- Sources.txt: Add new file to the compilation.
- platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp:
Added. Initial implementation for GTK and WPE.
- platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.h:
Added. Ditto.
- platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp:
Added. Ditto.
- platform/mediastream/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.h:
Added. Ditto.
- platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:
Added. Ditto.
- platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h:
Added. Ditto.
- platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.cpp:
Added. Ditto.
- platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceLibWebRTC.h:
Added. Ditto.
- platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp: Added includes
for the compilation.
- platform/mediastream/libwebrtc/LibWebRTCProviderGlib.h: Added, inherit from
the LibWebRTCProvider to adapt for glib.
Source/WebKit:
- CMakeLists.txt: Add RTC network classes to the compilation and
the libwebrtc includes.
- PlatformGTK.cmake: Add the libwebrtc directory.
- SourcesGTK.txt: Add RTC files to the compilation.
Tools:
- gstreamer/jhbuild.modules: Modified the libvpx module for the
libwebrtc compilation.
- gtk/install-dependencies: Add libevent as a system requirement.
- Scripts/webkitpy/style/checker.py: Added libwebrtc to the list of third
party libraries with reduced style checks.
- 2:09 AM Changeset in webkit [230151] by
-
- 5 edits in trunk/Websites/perf.webkit.org
Remove deprecated Buildbot 0.8 code from Perf syncing scripts
https://bugs.webkit.org/show_bug.cgi?id=183915
Reviewed by Ryosuke Niwa.
- server-tests/resources/mock-data.js:
(MockData.buildbotBuildersURLDeprecated): Deleted.
(MockData.mockBuildbotBuildersDeprecated): Deleted.
(MockData.pendingBuildDeprecated): Deleted.
(MockData.runningBuildDeprecated): Deleted.
(MockData.finishedBuildDeprecated): Deleted.
- tools/js/buildbot-syncer.js:
(BuildbotBuildEntryDeprecated): Deleted.
(BuildbotBuildEntryDeprecated.prototype.initialize): Deleted.
(BuildbotBuildEntryDeprecated.prototype.url): Deleted.
(BuildbotSyncer.prototype.scheduleBuildOnBuildbotDeprecated): Deleted.
(BuildbotSyncer.prototype._pullRecentBuildsDeprecated): Deleted.
(BuildbotSyncer.prototype.pathForPendingBuildsJSONDeprecated): Deleted.
(BuildbotSyncer.prototype.pathForBuildJSONDeprecated): Deleted.
(BuildbotSyncer.prototype.pathForForceBuildDeprecated): Deleted.
(BuildbotSyncer.prototype.url): Deleted.
(BuildbotSyncer.prototype.urlForBuildNumberDeprecated): Deleted.
- tools/js/buildbot-triggerable.js:
(BuildbotTriggerable.prototype.getBuilderNameToIDMapDeprecated): Deleted.
- unit-tests/buildbot-syncer-tests.js:
(smallPendingBuildDeprecated): Deleted.
(smallInProgressBuildDeprecated): Deleted.
(smallFinishedBuildDeprecated): Deleted.
(samplePendingBuildRequestDeprecated): Deleted.
(sampleInProgressBuildDeprecated): Deleted.
(sampleFinishedBuildDeprecated): Deleted.
- 12:51 AM Changeset in webkit [230150] by
-
- 5 edits in trunk/Source/JavaScriptCore
[DFG] More aggressive removal of duplicate 32bit DFG code
https://bugs.webkit.org/show_bug.cgi?id=184089
Reviewed by Saam Barati.
This patch more aggressively removes duplicate 32bit DFG code
by leveraging JSValueRegs and meta-programmed callOperation.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValWithThis):
(JSC::DFG::SpeculativeJIT::compileArithMinMax):
(JSC::DFG::SpeculativeJIT::compileNewArray):
(JSC::DFG::SpeculativeJIT::compileCheckCell):
(JSC::DFG::SpeculativeJIT::compileGetGlobalVariable):
(JSC::DFG::SpeculativeJIT::compilePutGlobalVariable):
(JSC::DFG::SpeculativeJIT::compileGetClosureVar):
(JSC::DFG::SpeculativeJIT::compilePutClosureVar):
(JSC::DFG::SpeculativeJIT::compileGetByOffset):
(JSC::DFG::SpeculativeJIT::compilePutByOffset):
(JSC::DFG::SpeculativeJIT::compileGetExecutable):
(JSC::DFG::SpeculativeJIT::compileNewArrayBuffer):
(JSC::DFG::SpeculativeJIT::compileToThis):
(JSC::DFG::SpeculativeJIT::compileIdentity):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):