Timeline
Aug 1, 2018:
- 11:28 PM Changeset in webkit [234496] by
-
- 6 edits in branches/safari-606-branch/Source/WebKit
Cherry-pick r234486. rdar://problem/42844004
Make sure cookies get flushed to disk before exiting or suspending the network process
https://bugs.webkit.org/show_bug.cgi?id=188241
<rdar://problem/42831831>
Reviewed by Alex Christensen and Geoffrey Garen.
Make sure cookies get flushed to disk before exiting or suspending the network process,
to make sure they do not get lost.
- NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::didClose): (WebKit::NetworkProcess::actualPrepareToSuspend): (WebKit::NetworkProcess::platformSyncAllCookies):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::syncAllCookies): (WebKit::NetworkProcess::platformSyncAllCookies):
- Shared/ChildProcess.cpp: (WebKit::ChildProcess::didClose): (WebKit::callExitNow): (WebKit::callExitSoon): (WebKit::ChildProcess::initialize): (WebKit::didCloseOnConnectionWorkQueue): Deleted.
- Shared/ChildProcess.h: (WebKit::ChildProcess::shouldCallExitWhenConnectionIsClosed const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234486 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:21 PM Changeset in webkit [234495] by
-
- 10 edits in branches/safari-606-branch
Cherry-pick r234466. rdar://problem/42843690
Hardcode some system colors to avoid fingerprinting exposure.
https://bugs.webkit.org/show_bug.cgi?id=188203
rdar://problem/42781630
Reviewed by Tim Horton.
Source/WebCore:
Passes existing tests with the hardcoded blue system appearance.
- rendering/RenderTheme.h:
- rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::systemColor const): Adds special handling for some system colors. Fixes -apple-system-selected-text-background to match the real selection color by using blendWithWhite().
LayoutTests:
- fast/css/apple-system-control-colors-expected.txt: Updated.
- fast/css/test-setting-canvas-color.html: Fixed for colors with alpha.
- platform/mac-highsierra/fast/css/apple-system-control-colors-expected.txt:
- platform/mac-sierra/fast/css/apple-system-control-colors-expected.txt: Updated.
- platform/mac/TestExpectations: Removed fast/css/test-setting-canvas-color.html.
- platform/mac/fast/css/apple-system-control-colors-expected.txt: Updated.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:20 PM Changeset in webkit [234494] by
-
- 2 edits in branches/safari-606-branch/Source/WebKit
Cherry-pick r234384. rdar://problem/42843520
REGRESSION (r230817): Terrible performance when selecting text on Stash code review
https://bugs.webkit.org/show_bug.cgi?id=188144
<rdar://problem/42642489>
Reviewed by Darin Adler.
After r230817, mouse events were serially dispatched to the web process and handled before the subsequent mouse
event. However, this resulted in rapid-fire mouse move events filling up the mouse event queue in the case where
mouse move events were being handled by the web process at a slower rate than the UI process was enqueueing
them. To mitigate this, r231511 introduced a mechanism for replacing the most recently enqueued mouse move event
with an incoming mouse move event.
However, when a user with a force-click-enabled trackpad performs a mouse drag, a rapid stream of
"mouseforcechanged" events is interleaved alongside the stream of "mousemove" events. This renders r231511
ineffective, since the most recently queued event is often a "mouseforcechanged" event instead of a "mousemove".
On the stash code review page, this can result in hundreds of mouse events being backed up in the mouse event
queue, causing perceived slowness when selecting text.
To fix this, we extend the mechanism introduced in r231511, such that it is capable of replacing both
"mouseforcechanged" and "mousemove" events in the queue. Rather than consider only the most recently queued
item, we instead find the most recently queued event that matches the type of the incoming event, remove it from
the queue, and then append the incoming event to the end of the queue. To avoid the risk of removing the only
"mousemove" or "mouseforcechanged" event in the middle of a mouse down and mouse up, we also bail when searching
backwards for an event to replace if we come across any event that is neither of these types.
This effectively throttles the rate at which mouseforcechanged or mousemove events are dispatched when a user
with force-click-enabled hardware clicks and drags the mouse across the page.
- UIProcess/WebPageProxy.cpp: (WebKit::removeOldRedundantEvent): (WebKit::WebPageProxy::handleMouseEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234384 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:24 PM Changeset in webkit [234493] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, revert TransformationMatrix::operator== change
https://bugs.webkit.org/show_bug.cgi?id=188197
This change partially revert cleaning up of TransformationMatrix since memcmp does not
follow double comparison algorithm. So semantics was accidentally changed.
- platform/graphics/transforms/TransformationMatrix.h:
(WebCore::TransformationMatrix::operator== const):
- 9:10 PM Changeset in webkit [234492] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, rename TransformationMatrix::Identity to TransformationMatrix::identity
https://bugs.webkit.org/show_bug.cgi?id=188204
Follow the coding style.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::transform const):
(WebCore::GraphicsLayer::childrenTransform const):
- platform/graphics/transforms/TransformationMatrix.cpp:
- platform/graphics/transforms/TransformationMatrix.h:
- 8:55 PM Changeset in webkit [234491] by
-
- 9 edits2 moves2 adds in trunk
Add self.queueMicrotask(f) on DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=188212
Reviewed by Ryosuke Niwa.
Source/JavaScriptCore:
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- runtime/JSGlobalObject.cpp:
(JSC::enqueueJob):
- runtime/JSMicrotask.cpp: Renamed from Source/JavaScriptCore/runtime/JSJob.cpp.
(JSC::createJSMicrotask):
Export them to WebCore.
(JSC::JSMicrotask::run):
- runtime/JSMicrotask.h: Renamed from Source/JavaScriptCore/runtime/JSJob.h.
Add another version of JSMicrotask which does not have arguments.
Source/WebCore:
This patch adds self.queueMicrotask(f) in DOMWindow, which takes a function and enqueue it into microtask queue.
We do not add this to Worker's global scope since our worker does not support microtasks correctly.
Tests: js/dom/queue-microtask-window.html
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::queueMicrotask):
Post a microtask to JSC's microtask mechanism. This will eventually go to WebCore's MicrotaskQueue code.
- page/DOMWindow.idl:
LayoutTests:
- js/dom/queue-microtask-window-expected.txt: Added.
- js/dom/queue-microtask-window.html: Added.
- 7:19 PM Changeset in webkit [234490] by
-
- 2 edits in trunk/Tools
TestWTF.WTF_NeverDestroyed.Construct output differs for MSVC in Debug mode
https://bugs.webkit.org/show_bug.cgi?id=188244
Reviewed by Daniel Bates.
Follow-up to r234179. MSVC chooses not to inline the lambda in Debug mode.
- TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp:
- 7:11 PM Changeset in webkit [234489] by
-
- 116 edits in trunk
[WTF] Rename String::format to String::deprecatedFormat
https://bugs.webkit.org/show_bug.cgi?id=188191
Reviewed by Darin Adler.
It should be replaced with string concatenation.
Source/JavaScriptCore:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::nameForRegister):
- inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::makeCall):
- inspector/InspectorBackendDispatcher.cpp:
(Inspector::BackendDispatcher::getPropertyValue):
- inspector/agents/InspectorConsoleAgent.cpp:
(Inspector::InspectorConsoleAgent::enable):
(Inspector::InspectorConsoleAgent::stopTiming):
- jsc.cpp:
(FunctionJSCStackFunctor::operator() const):
- parser/Lexer.cpp:
(JSC::Lexer<T>::invalidCharacterMessage const):
- runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
- runtime/IntlObject.cpp:
(JSC::canonicalizeLocaleList):
- runtime/LiteralParser.cpp:
(JSC::LiteralParser<CharType>::Lexer::lex):
(JSC::LiteralParser<CharType>::Lexer::lexStringSlow):
(JSC::LiteralParser<CharType>::parse):
- runtime/LiteralParser.h:
(JSC::LiteralParser::getErrorMessage):
Source/WebCore:
- Modules/indexeddb/IDBKeyData.cpp:
(WebCore::IDBKeyData::loggingString const):
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
- Modules/indexeddb/shared/IDBCursorInfo.cpp:
(WebCore::IDBCursorInfo::loggingString const):
- Modules/indexeddb/shared/IDBGetAllRecordsData.cpp:
(WebCore::IDBGetAllRecordsData::loggingString const):
- Modules/indexeddb/shared/IDBGetRecordData.cpp:
(WebCore::IDBGetRecordData::loggingString const):
- Modules/indexeddb/shared/IDBIndexInfo.cpp:
(WebCore::IDBIndexInfo::loggingString const):
(WebCore::IDBIndexInfo::condensedLoggingString const):
- Modules/indexeddb/shared/IDBIterateCursorData.cpp:
(WebCore::IDBIterateCursorData::loggingString const):
- Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:
(WebCore::IDBObjectStoreInfo::condensedLoggingString const):
- Modules/indexeddb/shared/IDBResourceIdentifier.cpp:
(WebCore::IDBResourceIdentifier::loggingString const):
- Modules/webdatabase/Database.cpp:
(WebCore::formatErrorMessage):
- Modules/webdatabase/SQLError.h:
(WebCore::SQLError::create):
- Modules/websockets/WebSocket.cpp:
(WebCore::encodeProtocolString):
- accessibility/win/AccessibilityObjectWrapperWin.cpp:
(WebCore::AccessibilityObjectWrapper::accessibilityAttributeValue):
- css/CSSUnicodeRangeValue.cpp:
(WebCore::CSSUnicodeRangeValue::customCSSText const):
- css/MediaQueryEvaluator.cpp:
(WebCore::aspectRatioValueAsString):
- css/parser/CSSParserToken.cpp:
(WebCore::CSSParserToken::serialize const):
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::parseHexColor):
- dom/Document.cpp:
(WebCore::Document::lastModified):
- html/FTPDirectoryDocument.cpp:
(WebCore::processFilesizeString):
(WebCore::processFileDateString):
- html/HTMLMediaElement.h:
(WTF::ValueToString<WebCore::TextTrackCue::string):
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::setLength):
- html/ImageDocument.cpp:
(WebCore::ImageDocument::imageUpdated):
- html/canvas/WebGLRenderingContextBase.cpp:
- html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::init):
- html/track/VTTCue.cpp:
(WebCore::VTTCueBox::applyCSSProperties):
- inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::setDockingUnavailable):
(WebCore::InspectorFrontendClientLocal::setAttachedWindow):
(WebCore::InspectorFrontendClientLocal::setDebuggingEnabled):
(WebCore::InspectorFrontendClientLocal::setTimelineProfilingEnabled):
(WebCore::InspectorFrontendClientLocal::showMainResourceForFrame):
- inspector/agents/InspectorCSSAgent.cpp:
- inspector/agents/InspectorIndexedDBAgent.cpp:
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::windowRoundedCornerRadiusCSS const):
- page/History.cpp:
(WebCore::History::stateObjectAdded):
- page/MemoryRelease.cpp:
(WebCore::logMemoryStatisticsAtTimeOfDeath):
- page/cocoa/ResourceUsageOverlayCocoa.mm:
(WebCore::formatByteNumber):
(WebCore::gcTimerString):
(WebCore::ResourceUsageOverlay::platformDraw):
- page/cocoa/ResourceUsageThreadCocoa.mm:
(WebCore::logFootprintComparison):
- page/linux/ResourceUsageOverlayLinux.cpp:
(WebCore::cpuUsageString):
(WebCore::formatByteNumber):
(WebCore::gcTimerString):
- page/scrolling/AxisScrollSnapOffsets.cpp:
(WebCore::snapOffsetsToString):
(WebCore::snapOffsetRangesToString):
(WebCore::snapPortOrAreaToString):
- platform/DateComponents.cpp:
(WebCore::DateComponents::toStringForTime const):
(WebCore::DateComponents::toString const):
- platform/LocalizedStrings.cpp:
- platform/animation/TimingFunction.cpp:
(WebCore::TimingFunction::cssText const):
- platform/audio/HRTFElevation.cpp:
(WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
- platform/cocoa/KeyEventCocoa.mm:
(WebCore::keyIdentifierForCharCode):
- platform/gamepad/mac/HIDGamepad.cpp:
(WebCore::HIDGamepad::HIDGamepad):
- platform/glib/UserAgentGLib.cpp:
(WebCore::platformVersionForUAString):
- platform/graphics/Color.cpp:
(WebCore::Color::nameForRenderTreeAsText const):
- platform/graphics/FloatPolygon.h:
(WTF::ValueToString<WebCore::FloatPolygonEdge::string):
- platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
(WebCore::AVTrackPrivateAVFObjCImpl::id const):
- platform/graphics/avfoundation/MediaSampleAVFObjC.h:
(WebCore::MediaSampleAVFObjC::MediaSampleAVFObjC):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setName):
(WebCore::GraphicsLayerCA::setContentsToSolidColor):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::updateContentsImage):
(WebCore::GraphicsLayerCA::updateContentsRects):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
- platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::simpleBusMessageCallback):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::load):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::handleStateChangeMessage):
(WebCore::AppendPipeline::resetPipeline):
- platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::load):
(WebCore::MediaPlayerPrivateGStreamerMSE::doSeek):
- platform/graphics/gtk/ImageBufferGtk.cpp:
(WebCore::encodeImage):
- platform/gtk/PlatformKeyboardEventGtk.cpp:
(WebCore::PlatformKeyboardEvent::keyIdentifierForGdkKeyCode):
- platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp:
(WebCore::GStreamerAudioCaptureSource::create):
- platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
(WebCore::webkitMediaStreamSrcAddPad):
- platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:
(WebCore::GStreamerVideoCaptureSource::create):
- platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:
(WebCore::GStreamerVideoEncoder::makeElement):
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::drawText):
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
- platform/network/ParsedContentRange.cpp:
(WebCore::ParsedContentRange::headerValue const):
- platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::switchToNewTestingSession):
- platform/sql/SQLiteDatabase.cpp:
(WebCore::unauthorizedSQLFunction):
- platform/text/PlatformLocale.cpp:
(WebCore::DateTimeStringBuilder::visitField):
- platform/win/GDIObjectCounter.cpp:
(WebCore::GDIObjectCounter::GDIObjectCounter):
- platform/win/KeyEventWin.cpp:
(WebCore::keyIdentifierForWindowsKeyCode):
- rendering/FloatingObjects.h:
(WTF::ValueToString<WebCore::FloatingObject::string):
- rendering/RenderFragmentedFlow.h:
(WTF::ValueToString<WebCore::RenderFragmentContainer::string):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::formatMediaControlsTime const):
- testing/Internals.cpp:
(WebCore::Internals::address):
- workers/service/server/RegistrationDatabase.cpp:
(WebCore::RegistrationDatabase::ensureValidRecordsTable):
(WebCore::RegistrationDatabase::importRecords):
Source/WebCore/PAL:
- pal/FileSizeFormatter.cpp:
(fileSizeDescription):
Source/WebKit:
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::buildAcceptLanguages):
- Platform/IPC/win/ConnectionWin.cpp:
(IPC::Connection::createServerAndClientIdentifiers):
- Shared/WebMemorySampler.cpp:
(WebKit::WebMemorySampler::writeHeaders):
- Shared/win/WebEventFactory.cpp:
(WebKit::keyIdentifierFromEvent):
- Shared/wpe/WebEventFactory.cpp:
(WebKit::identifierStringForKeyEvent):
- UIProcess/API/APINavigation.cpp:
(API::Navigation::loggingString const):
- UIProcess/API/glib/IconDatabase.cpp:
(WebKit::IconDatabase::performURLImport):
- UIProcess/Cocoa/ViewGestureController.cpp:
(WebKit::ViewGestureController::SnapshotRemovalTracker::startWatchdog):
- UIProcess/SuspendedPageProxy.cpp:
(WebKit::SuspendedPageProxy::loggingString const):
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::loggingString):
- UIProcess/WebInspectorUtilities.cpp:
(WebKit::inspectorPageGroupIdentifierForPage):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::startMemorySampler):
- UIProcess/gtk/InputMethodFilter.cpp:
(WebKit::InputMethodFilter::logHandleKeyboardEventForTesting):
(WebKit::InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting):
(WebKit::InputMethodFilter::logConfirmCompositionForTesting):
(WebKit::InputMethodFilter::logSetPreeditForTesting):
Source/WebKitLegacy/win:
- FullscreenVideoController.cpp:
(timeToString):
- WebView.cpp:
(webKitVersionString):
Source/WTF:
- wtf/Assertions.cpp:
- wtf/JSONValues.cpp:
- wtf/WorkQueue.cpp:
(WTF::WorkQueue::concurrentApply):
- wtf/dtoa.cpp:
(WTF::dtoa):
- wtf/text/WTFString.cpp:
(WTF::String::deprecatedFormat):
(WTF::String::format): Deleted.
- wtf/text/WTFString.h:
Tools:
- DumpRenderTree/win/DumpRenderTree.cpp:
(applicationId):
(main):
- TestWebKitAPI/win/PlatformUtilitiesWin.cpp:
(TestWebKitAPI::Util::createURLForResource):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::cacheTestRunnerCallback):
- WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
(WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::attributedStringForRange):
(WTR::AccessibilityUIElement::url):
(WTR::stringAtOffset):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveAuthenticationChallenge):
(WTR::TestController::downloadDidFail):
(WTR::originUserVisibleName):
(WTR::userMediaOriginHash):
(WTR::TestController::didNavigateWithNavigationData):
(WTR::TestController::didPerformClientRedirect):
(WTR::TestController::didPerformServerRedirect):
(WTR::TestController::didUpdateHistoryTitle):
- 5:30 PM Changeset in webkit [234488] by
-
- 8 edits2 adds in trunk/Source
Using the keyboard arrow keys to scroll a webpage is very slow, not smooth, takes too long
https://bugs.webkit.org/show_bug.cgi?id=188239
<rdar://problem/22997654>
Reviewed by Simon Fraser.
Source/WebCore/PAL:
- pal/spi/cocoa/QuartzCoreSPI.h:
Add a piece of SPI.
Source/WebKit:
Instead of depending on key repeat to drive scrolling with arrow keys held down,
run a display link that animates the scroll. We still do a single discrete scroll
first (so that you can tap the key and shift by line/page), but then on the first
repeat we ramp up to a constant velocity determined by the desired increment,
stopping when the key is lifted or a different key is pressed.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _scrollByContentOffset:animated:]):
(-[WKWebView _scrollByContentOffset:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
Add animated parameter to scrollByContentOffset, and plumb it through to UIScrollView.
- UIProcess/ios/WKContentViewInteraction.h:
Add a WKKeyboardScrollingAnimator member.
Conform to WKKeyboardScrollable.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
Install the WKKeyboardScrollingAnimator.
(-[WKContentView cleanupInteraction]):
Uninstall the WKKeyboardScrollingAnimator.
(-[WKContentView unscaledView]):
Fix a stupid style nit.
(-[WKContentView handleKeyWebEvent:]):
Give WKKeyboardScrollingAnimator the first shot at incoming keyboard events.
It will only consume events here if it's already performing a scrolling animation
(because otherwise they should go straight through to the page).
(-[WKContentView _interpretKeyEvent:isCharEvent:]):
Give WKKeyboardScrollingAnimator a shot at handling keyboard events that
the web content did not handle. We will only start a scrolling animation
if the page did not handle an event that would start a scroll.
(-[WKContentView isKeyboardScrollable]):
Part of WKKeyboardScrollable; only report ourselves as scrollable if
we would previously have allowed scrolling from keyboard events (if
we're not in contenteditable, and don't have a <select> focused).
(-[WKContentView distanceForScrollingIncrement:]):
Part of WKKeyboardScrollable; compute the distance for each scrolling increment.
(-[WKContentView scrollByContentOffset:animated:]):
Part of WKKeyboardScrollable; plumb scrolls up to WKWebView.
(-[WKContentView _scrollOffsetForEvent:]): Moved to WKKeyboardScrollingAnimator.mm.
- UIProcess/ios/WKKeyboardScrollingAnimator.h: Added.
- UIProcess/ios/WKKeyboardScrollingAnimator.mm: Added.
(-[WKKeyboardScrollingAnimator init]):
(-[WKKeyboardScrollingAnimator initWithScrollable:]):
(-[WKKeyboardScrollingAnimator invalidate]):
(-[WKKeyboardScrollingAnimator _scrollOffsetForEvent:]):
Compute the scroll offset given a particular event. This is moved from WKContentView;
otherwise the primary change is that it now asks the WKKeyboardScrollable
for the distance instead of computing it directly.
(-[WKKeyboardScrollingAnimator beginWithEvent:]):
If we're currently in the initial state (WaitingForFirstEvent), and
a given event should start a scroll, transition into WaitingForRepeat,
and do a single animated scroll of the appropriate distance.
(-[WKKeyboardScrollingAnimator handleKeyEvent:]):
If this key event should terminate a scroll (because it is either a keyup
or a non-scrolling keydown), shut down any running animations.
If this is the first key repeat after the initial scroll, start a scrolling
animation.
Eat the event if it either started or continued a scroll.
(-[WKKeyboardScrollingAnimator startAnimatedScroll]):
(-[WKKeyboardScrollingAnimator stopAnimatedScroll]):
Helpers to start and stop the display link and do some bookkeeping.
(-[WKKeyboardScrollingAnimator displayLinkFired:]):
Ask the WKKeyboardScrollable to scroll the content based on the frame time,
an acceleration curve, and the current animation's scrolling increment.
- WebKit.xcodeproj/project.pbxproj:
- 5:02 PM Changeset in webkit [234487] by
-
- 7 edits in branches/safari-606-branch/Source
Versioning.
- 4:45 PM Changeset in webkit [234486] by
-
- 6 edits in trunk/Source/WebKit
Make sure cookies get flushed to disk before exiting or suspending the network process
https://bugs.webkit.org/show_bug.cgi?id=188241
<rdar://problem/42831831>
Reviewed by Alex Christensen and Geoffrey Garen.
Make sure cookies get flushed to disk before exiting or suspending the network process,
to make sure they do not get lost.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::actualPrepareToSuspend):
(WebKit::NetworkProcess::platformSyncAllCookies):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::syncAllCookies):
(WebKit::NetworkProcess::platformSyncAllCookies):
- Shared/ChildProcess.cpp:
(WebKit::ChildProcess::didClose):
(WebKit::callExitNow):
(WebKit::callExitSoon):
(WebKit::ChildProcess::initialize):
(WebKit::didCloseOnConnectionWorkQueue): Deleted.
- Shared/ChildProcess.h:
(WebKit::ChildProcess::shouldCallExitWhenConnectionIsClosed const):
- 4:26 PM Changeset in webkit [234485] by
-
- 4 edits in trunk/LayoutTests
REGRESSION(r227983): fast/dom/adopt-node-crash-2.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=182589
Rebaseline the test and remove the flaky test expectation.
- fast/dom/adopt-node-crash-2-expected.txt:
- platform/ios-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 3:36 PM Changeset in webkit [234484] by
-
- 1 copy in tags/Safari-606.1.34
Tag Safari-606.1.34.
- 3:08 PM Changeset in webkit [234483] by
-
- 10 edits in trunk/Source
Move all calls to ResourceLoader::start to WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=184946
Reviewed by Andy Estes.
Source/WebCore:
This is in preparation for moving ResourceLoader::start to WebKitLegacy along with all ResourceHandle code.
I move the code that moves m_deferredRequest into m_request into WebKitLegacy, which won't change behavior for
modern WebKit because modern WebKit never calls ResourceLoader::start, the only place where m_deferredRequest
is ever set. This won't change behavior for WebKitLegacy because the same operations happen in the same order.
- loader/LoaderStrategy.h:
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::setDefersLoading):
- loader/ResourceLoader.h:
(WebCore::ResourceLoader::setRequest):
(WebCore::ResourceLoader::deferredRequest const):
(WebCore::ResourceLoader::takeDeferredRequest):
Source/WebKit:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::setDefersLoading):
- WebProcess/Network/WebLoaderStrategy.h:
Source/WebKitLegacy:
- WebCoreSupport/WebResourceLoadScheduler.cpp:
(WebResourceLoadScheduler::setDefersLoading):
- WebCoreSupport/WebResourceLoadScheduler.h:
- 3:07 PM Changeset in webkit [234482] by
-
- 21 edits4 adds in trunk
AX: AOM: Add ARIA IDL Attribute Reflection
https://bugs.webkit.org/show_bug.cgi?id=184676
<rdar://problem/39476882>
Source/WebCore:
Reviewed by Chris Fleizach.
Test: accessibility/ARIA-reflection.html
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AccessibilityRole.idl: Added.
- accessibility/AriaAttributes.idl: Added.
- dom/Element.idl:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setAriaReflectionEnabled):
(WebCore::RuntimeEnabledFeatures::ariaReflectionEnabled const):
Source/WebKit:
Added ARIA property string reflection on Element, behind
a new runtime flag.
Spec: https://w3c.github.io/aria/#idl-interface
Reviewed by Chris Fleizach.
- Shared/WebPreferences.yaml:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAriaReflectionEnabled):
(WKPreferencesGetAriaReflectionEnabled):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
Source/WebKitLegacy/mac:
Reviewed by Chris Fleizach.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences ariaReflectionEnabled]):
(-[WebPreferences setAriaReflectionEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Tools:
Reviewed by Chris Fleizach.
- DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
LayoutTests:
Reviewed by Chris Fleizach.
- accessibility/ARIA-reflection-expected.txt: Added.
- accessibility/ARIA-reflection.html: Added.
- js/dom/dom-static-property-for-in-iteration.html:
- platform/win/TestExpectations:
- 2:46 PM Changeset in webkit [234481] by
-
- 4 edits in trunk/Source/WebCore
[LFC][Floating] Revert back to only one list for the all the floatings.
https://bugs.webkit.org/show_bug.cgi?id=188232
Reviewed by Antti Koivisto.
If the combined floating list turns out to be a performance bottleneck, we can still split it into left and right. However at this point
having 2 dedicated lists just makes the implementation more complicated.
- layout/FloatingContext.cpp:
(WebCore::Layout::begin):
(WebCore::Layout::end):
(WebCore::Layout::FloatingPair::FloatingPair):
(WebCore::Layout::FloatingPair::left const):
(WebCore::Layout::FloatingPair::right const):
(WebCore::Layout::Iterator::Iterator):
(WebCore::Layout::previousFloatingIndex):
(WebCore::Layout::Iterator::operator++):
(WebCore::Layout::Iterator::set):
(WebCore::Layout::floatingDisplayBox): Deleted.
- layout/FloatingState.cpp:
(WebCore::Layout::FloatingState::remove):
(WebCore::Layout::FloatingState::append):
- layout/FloatingState.h:
(WebCore::Layout::FloatingState::isEmpty const):
(WebCore::Layout::FloatingState::floatings const):
(WebCore::Layout::FloatingState::last const):
- 2:36 PM Changeset in webkit [234480] by
-
- 5 edits in trunk/Source/WebCore
[Curl] Change synchronous request logic using MessageQueue to match with Mac port.
https://bugs.webkit.org/show_bug.cgi?id=188206
Reviewed by Alex Christensen.
Port synchronous request logic from ResourceHandleMac to use MessageQueue for
client callback invocation. This makes simplify the logic of CurlRequest because
now every requests are handled in Curl thread and there's no difference between
sync and async requests.
Test: Covered by these tests:
- http\tests\xmlhttprequest\simple-sync.html
- http\tests\xmlhttprequest\xmlhttprequest-unsafe-redirect.html
- platform/network/ResourceHandleInternal.h:
- platform/network/curl/CurlRequest.cpp: Remove synchronous request logics.
(WebCore::CurlRequest::CurlRequest):
(WebCore::CurlRequest::invalidateClient):
(WebCore::CurlRequest::start):
(WebCore::CurlRequest::cancel):
(WebCore::CurlRequest::runOnMainThread): Added message queue handling.
(WebCore::CurlRequest::runOnWorkerThreadIfRequired):
(WebCore::CurlRequest::didReceiveData):
(WebCore::CurlRequest::invokeDidReceiveResponseForFile):
(WebCore::CurlRequest::completeDidReceiveResponse):
(WebCore::CurlRequest::updateHandlePauseState):
(WebCore::CurlRequest::isHandlePaused const):
- platform/network/curl/CurlRequest.h:
(WebCore::CurlRequest::create):
(WebCore::CurlRequest::resourceRequest const):
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::createCurlRequest):
(WebCore::ResourceHandle::restartRequestWithCredential):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
(WebCore::ResourceHandle::platformContinueSynchronousDidReceiveResponse):
(WebCore::ResourceHandle::continueAfterDidReceiveResponse):
(WebCore::ResourceHandle::continueAfterWillSendRequest):
(WebCore::ResourceHandle::handleDataURL):
- 2:33 PM Changeset in webkit [234479] by
-
- 2 edits in trunk/LayoutTests
Layout Test editing/selection/update-selection-by-style-change.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=187649
Unreviewed test gardening, re-marked test as flaky.
- platform/mac-wk2/TestExpectations:
- 2:31 PM Changeset in webkit [234478] by
-
- 3 edits in trunk/Source/WebCore
[LFC][Floating] Use margin box consistently while placing a floating.
https://bugs.webkit.org/show_bug.cgi?id=188222
Reviewed by Antti Koivisto.
The floating box fits when its margin box fits.
- layout/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::computePosition const):
(WebCore::Layout::FloatingContext::floatingPosition const):
(WebCore::Layout::FloatingContext::initialVerticalPosition const):
(WebCore::Layout::FloatingContext::alignWithContainingBlock const):
(WebCore::Layout::FloatingContext::alignWithFloatings const):
(WebCore::Layout::FloatingPair::intersects const):
- layout/displaytree/DisplayBox.h:
(WebCore::Display::Box::rectWithMargin const):
- 2:21 PM Changeset in webkit [234477] by
-
- 3 edits in trunk/Source/JavaScriptCore
[INTL] Allow "unknown" formatToParts types
https://bugs.webkit.org/show_bug.cgi?id=188176
Patch by Andy VanWagoner <andy@vanwagoner.family> on 2018-08-01
Reviewed by Darin Adler.
Originally extra unexpected field types were marked as "literal", since
the spec did not account for these. The ECMA 402 spec has since been updated
to specify "unknown" should be used in these cases.
Currently there is no known way to reach these cases, so no tests can
account for them. Theoretically they shoudn't exist, but they are specified,
just to be safe. Marking them as "unknown" instead of "literal" hopefully
will make such cases easy to identify if they ever happen.
- runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::partTypeString):
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::partTypeString):
- 2:20 PM Changeset in webkit [234476] by
-
- 5 edits in trunk/Source/WebCore
[LFC] Add FormattingContext::mapToAncestor geometry mapping function
https://bugs.webkit.org/show_bug.cgi?id=188188
Reviewed by Antti Koivisto.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::mapToAncestor):
- layout/FormattingContext.h:
- layout/displaytree/DisplayBox.cpp:
(WebCore::Display::Box::clone const):
- layout/displaytree/DisplayBox.h:
- 2:19 PM Changeset in webkit [234475] by
-
- 11 edits in trunk
[INTL] Implement hourCycle in DateTimeFormat
https://bugs.webkit.org/show_bug.cgi?id=188006
Patch by Andy VanWagoner <andy@vanwagoner.family> on 2018-08-01
Reviewed by Darin Adler.
JSTests:
Removed fixed hourCycle expectations.
- test262/expectations.yaml:
Source/JavaScriptCore:
Implemented hourCycle, updating both the skeleton and the final pattern.
Changed resolveLocale to assume undefined options are not given and null
strings actually mean null, which removes the tag extension.
- runtime/CommonIdentifiers.h:
- runtime/IntlCollator.cpp:
(JSC::IntlCollator::initializeCollator):
- runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDTFInternal::localeData):
(JSC::IntlDateTimeFormat::setFormatsFromPattern):
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
(JSC::IntlDateTimeFormat::resolvedOptions):
- runtime/IntlDateTimeFormat.h:
- runtime/IntlObject.cpp:
(JSC::resolveLocale):
LayoutTests:
Added tests for hourCycle.
- js/intl-datetimeformat-expected.txt:
- js/script-tests/intl-datetimeformat.js:
- 2:16 PM Changeset in webkit [234474] by
-
- 2 edits in trunk/Source/WebCore
[Curl] Bugfix on ResourceHandle::cancel()
https://bugs.webkit.org/show_bug.cgi?id=188234
Reviewed by Darin Adler.
Trivial bug. The actual request was not cancelled correctly.
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::cancel):
- 2:13 PM Changeset in webkit [234473] by
-
- 11 edits in trunk/LayoutTests
number-toLocaleString.js test fails on ARM Linux buildbots
https://bugs.webkit.org/show_bug.cgi?id=154533
Patch by Andy VanWagoner <andy@vanwagoner.family> on 2018-08-01
Reviewed by Yusuke Suzuki.
Removed assumed default locale in Intl tests. The default is tested to
verify that it is a string, and a canonicalized language tag. All other
test cases explicitly use a locale when they expect a localized value.
- js/intl-collator-expected.txt:
- js/intl-datetimeformat-expected.txt:
- js/intl-default-locale-expected.txt:
- js/intl-default-locale.html:
- js/intl-numberformat-expected.txt:
- js/intl-pluralrules-expected.txt:
- js/script-tests/intl-collator.js:
- js/script-tests/intl-datetimeformat.js:
- js/script-tests/intl-numberformat.js:
- js/script-tests/intl-pluralrules.js:
- 2:05 PM Changeset in webkit [234472] by
-
- 9 copies1 add in releases/Apple/Safari Technology Preview 62
Added a tag for Safari Technology Preview release 62.
- 1:53 PM Changeset in webkit [234471] by
-
- 4 edits in trunk/Source/WebCore
[LFC][Floating] FloatingState should take the formatting root box.
https://bugs.webkit.org/show_bug.cgi?id=188214
Reviewed by Antti Koivisto.
This will be taken into use when FormattingContext takes all boxes in the coordinate system of the formatting root.
- layout/FloatingState.cpp:
(WebCore::Layout::FloatingState::FloatingState):
(WebCore::Layout::belongsToThisFloatingContext):
(WebCore::Layout::FloatingState::append):
- layout/FloatingState.h:
(WebCore::Layout::FloatingState::create):
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::establishedFormattingState):
- 1:52 PM Changeset in webkit [234470] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Floating] Align new floating with the bottom of the existing floatings.
https://bugs.webkit.org/show_bug.cgi?id=188213
Reviewed by Antti Koivisto.
When the incoming floating does not fit at all, align its top with the bottom of the existing floatings.
- layout/FloatingContext.cpp:
(WebCore::Layout::FloatingContext::floatingPosition const):
(WebCore::Layout::FloatingPair::bottom const):
- 1:48 PM Changeset in webkit [234469] by
-
- 2 edits in trunk/Source/WebCore
Always use MediaPlayback audio category when playing to AppleTV
https://bugs.webkit.org/show_bug.cgi?id=188230
<rdar://problem/42497809>
Reviewed by Jer Noble.
- platform/audio/cocoa/MediaSessionManagerCocoa.cpp:
(PlatformMediaSessionManager::updateSessionState): Check session.isPlayingToWirelessPlaybackTarget().
- 1:33 PM Changeset in webkit [234468] by
-
- 4 edits in trunk/Source/JavaScriptCore
JSArrayBuffer should have its own JSType
https://bugs.webkit.org/show_bug.cgi?id=188231
Reviewed by Saam Barati.
- runtime/JSArrayBuffer.cpp:
(JSC::JSArrayBuffer::createStructure):
- runtime/JSCast.h:
- runtime/JSType.h:
- 1:29 PM Changeset in webkit [234467] by
-
- 2 edits in trunk/Tools
Use iPhone SE as the default simulated device
https://bugs.webkit.org/show_bug.cgi?id=188227
Reviewed by Aakash Jain.
- Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort):
- 12:07 PM Changeset in webkit [234466] by
-
- 10 edits in trunk
Hardcode some system colors to avoid fingerprinting exposure.
https://bugs.webkit.org/show_bug.cgi?id=188203
rdar://problem/42781630
Reviewed by Tim Horton.
Source/WebCore:
Passes existing tests with the hardcoded blue system appearance.
- rendering/RenderTheme.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor const):
Adds special handling for some system colors. Fixes -apple-system-selected-text-background
to match the real selection color by using blendWithWhite().
LayoutTests:
- fast/css/apple-system-control-colors-expected.txt: Updated.
- fast/css/test-setting-canvas-color.html: Fixed for colors with alpha.
- platform/mac-highsierra/fast/css/apple-system-control-colors-expected.txt:
- platform/mac-sierra/fast/css/apple-system-control-colors-expected.txt: Updated.
- platform/mac/TestExpectations: Removed fast/css/test-setting-canvas-color.html.
- platform/mac/fast/css/apple-system-control-colors-expected.txt: Updated.
- 11:12 AM Changeset in webkit [234465] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Dark Mode: SourceCodeTextEditor thread indicator widget is too light
https://bugs.webkit.org/show_bug.cgi?id=188119
<rdar://problem/42670811>
Reviewed by Matt Baker.
Make the background of the thread indicator widget darker.
Reduce the number of HTML elements and simplify CSS by removing the HTML element that drew an arrow and using clip-path on inline widgets instead.
- UserInterface/Views/DarkMode.css:
(@media (prefers-dark-interface)):
(.text-editor > .CodeMirror .execution-line):
(.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
- UserInterface/Views/SourceCodeTextEditor.css:
(.source-code.text-editor .CodeMirror-linewidget):
(.source-code.text-editor > .CodeMirror .line-indicator-widget.inline):
(@media (prefers-dark-interface)):
(.source-code.text-editor > .CodeMirror .thread-widget.inline):
- UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype._updateThreadIndicatorWidget):
(WI.SourceCodeTextEditor.prototype._updateIssueWidgetForIssues):
- UserInterface/Views/TextEditor.css:
(@media (prefers-dark-interface)):
(.text-editor > .CodeMirror .execution-line.primary .CodeMirror-linenumber::after):
- UserInterface/Views/Variables.css:
(:root):
- 11:09 AM Changeset in webkit [234464] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Dark Mode: disabled breakpoints banner is too light
https://bugs.webkit.org/show_bug.cgi?id=188120
<rdar://problem/42671348>
Reviewed by Matt Baker.
- UserInterface/Views/DebuggerSidebarPanel.css:
(@media (prefers-dark-interface)):
(.sidebar > .panel.navigation.debugger .warning-banner):
- 11:07 AM Changeset in webkit [234463] by
-
- 4 edits in trunk/Source/WebCore
[iOS] Remove the delay before setting audio session category added in r233535
https://bugs.webkit.org/show_bug.cgi?id=188225
Reviewed by Jer Noble.
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::beginInterruption): scheduleUpdateSessionState -> updateSessionState.
(WebCore::PlatformMediaSessionManager::addSession): Ditto.
(WebCore::PlatformMediaSessionManager::removeSession): Ditto.
(WebCore::PlatformMediaSessionManager::sessionStateChanged): Ditto.
(WebCore::PlatformMediaSessionManager::sessionCanProduceAudioChanged): Ditto.
(WebCore::PlatformMediaSessionManager::updateSessionState): Ditto.
(WebCore::PlatformMediaSessionManager::audioOutputDeviceChanged): Ditto.
(WebCore::PlatformMediaSessionManager::scheduleUpdateSessionState): Deleted.
- platform/audio/PlatformMediaSessionManager.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.cpp:
(PlatformMediaSessionManager::updateSessionState):
(PlatformMediaSessionManager::scheduleUpdateSessionState): Deleted.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateClipRects):
- 11:04 AM Changeset in webkit [234462] by
-
- 2 edits in trunk/Source/WebKit
Allow WebFramePolicyListenerProxy to be used multiple times
https://bugs.webkit.org/show_bug.cgi?id=188229
Reviewed by Chris Dumez.
This fixes a regression from r234210 in clients that misuse the API.
- UIProcess/WebFramePolicyListenerProxy.cpp:
(WebKit::WebFramePolicyListenerProxy::use):
(WebKit::WebFramePolicyListenerProxy::download):
(WebKit::WebFramePolicyListenerProxy::ignore):
- 10:26 AM Changeset in webkit [234461] by
-
- 3 edits in trunk/Source/WebKit
[iOS] Color picker should have a border when presented in a popover
https://bugs.webkit.org/show_bug.cgi?id=188207
Patch by Aditya Keerthi <Aditya Keerthi> on 2018-08-01
Reviewed by Wenson Hsieh.
The color picker should have a border when presented in a popover. This matches
the behavior of color pickers in other parts of iOS.
Since the popover will resize its view to fill its size, we first place the
color picker in a container view. The container view can then fill the popover,
while the smaller color picker is centered in it's container - creating the
appearance of a border.
- UIProcess/ios/forms/WKFormColorControl.mm:
(-[WKColorPopover initWithView:]):
- UIProcess/ios/forms/WKFormColorPicker.mm:
- 9:01 AM Changeset in webkit [234460] by
-
- 4 edits in trunk/Source/WebCore
Add TransformationMatrix::Identity
https://bugs.webkit.org/show_bug.cgi?id=188204
Reviewed by Simon Fraser.
This patch adds TransformationMatrix::Identity, which is a static const variable holding an identity matrix.
No behavior change.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::transform const):
(WebCore::GraphicsLayer::childrenTransform const):
(): Deleted.
- platform/graphics/transforms/TransformationMatrix.cpp:
- platform/graphics/transforms/TransformationMatrix.h:
- 8:47 AM Changeset in webkit [234459] by
-
- 13 edits1 delete in trunk
Unreviewed, rolling out r234443 and r234445.
https://bugs.webkit.org/show_bug.cgi?id=188224
Revision caused 3 api failures across all platforms.
(Requested by Truitt on #webkit).
Reverted changesets:
"Add configuration for automatic process pre-warming"
https://bugs.webkit.org/show_bug.cgi?id=187108
https://trac.webkit.org/changeset/234443
"Add configuration for automatic process pre-warming"
https://bugs.webkit.org/show_bug.cgi?id=187108
https://trac.webkit.org/changeset/234445
- 8:40 AM Changeset in webkit [234458] by
-
- 3 edits in trunk/Source/WebKit
[iOS] WKColorPicker's selection indicator doesn't always cover the selected swatch
https://bugs.webkit.org/show_bug.cgi?id=188124
Patch by Aditya Keerthi <Aditya Keerthi> on 2018-08-01
Reviewed by Wenson Hsieh.
- On iPhone, the size of an individual color swatch can change on rotation. In
this case, we should resize the selection indicator along with the swatch. Added
a new delegate method to WKColorMatrixViewDelegate to notify the color picker if
the matrix was redrawn. We then resize the selection indicator to match the
selected swatch's size.
- On iPad, the selection indicator should have rounded corners if it's at the
corner of the color picker. Otherwise, part of the indicator will be hidden by
the popover. The selected swatch's position is checked before drawing the
indicator. If it's at one of the four corners of the picker, the appropriate mask
is applied to the color selection indicator's border.
- UIProcess/ios/forms/WKFormColorPicker.h:
- UIProcess/ios/forms/WKFormColorPicker.mm:
(-[WKColorMatrixView layoutSubviews]):
(-[WKColorPicker initWithView:]):
(-[WKColorPicker drawSelectionIndicatorForColorButton:]):
(-[WKColorPicker colorMatrixViewDidLayoutSubviews:]):
(-[WKColorPicker colorMatrixView:didTapColorButton:]):
(-[WKColorPicker didPanColors:]):
- 6:35 AM Changeset in webkit [234457] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Make sure that first buffer running time is 0 in GStreamerMediaStreamSource
https://bugs.webkit.org/show_bug.cgi?id=188210
This is a live source and the first frame is the beginning of the stream,
but that doesn't mean that the incoming stream from the camera didn't start
before. We need to set a pad offset on each srcpad of the source to compensate
for that. This is the exact same logic as in webrtc GStreamerVideo/Enc/Dec/oder.
Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-08-01
Reviewed by Alejandro G. Castro.
- platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
(WebCore::webkit_media_stream_src_init):
(WebCore::webkitMediaStreamSrcPushVideoSample):
(WebCore::webkitMediaStreamSrcPushAudioSample):
- 5:10 AM Changeset in webkit [234456] by
-
- 2 edits in trunk/LayoutTests
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=188221
- platform/gtk/TestExpectations:
- 1:01 AM Changeset in webkit [234455] by
-
- 7 edits2 adds2 deletes in trunk/Source
[CoordGraphics] Move CoordinatedBackingStore to WebCore
https://bugs.webkit.org/show_bug.cgi?id=188158
Reviewed by Carlos Garcia Campos.
Move the CoordinatedBackingStore class from WebKit to WebCore. It has no
dependency on anything in the WebKit layer, and it's more suitable to
future needs to keep it in the WebCore layer.
Source/WebCore:
- platform/TextureMapper.cmake:
- platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp: Renamed from Source/WebKit/Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp.
- platform/graphics/texmap/coordinated/CoordinatedBackingStore.h: Renamed from Source/WebKit/Shared/CoordinatedGraphics/CoordinatedBackingStore.h.
(WebCore::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
(WebCore::CoordinatedBackingStore::rect const):
Source/WebKit:
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
- SourcesGTK.txt:
- SourcesWPE.txt:
Jul 31, 2018:
- 11:47 PM Changeset in webkit [234454] by
-
- 12 edits in branches/safari-606-branch/Source
Cherry-pick r234447. rdar://problem/42802126
REGRESSION (r231107): MoviStar+ launches to a blank black screen
https://bugs.webkit.org/show_bug.cgi?id=188139
Reviewed by Brent Fulgham.
Source/WebCore:
For this app, revert behavior to how it was before r231107 with a linked-on-or-before check.
r231107 increased our fetch spec conformance, which we intend to keep. This makes a low-risk
targeted fix that will fix the affected app until they update.
I manually verified this fixes the app.
- loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
- platform/RuntimeApplicationChecks.h:
- platform/cocoa/RuntimeApplicationChecksCocoa.mm: (WebCore::applicationSDKVersionOverride): (WebCore::setApplicationSDKVersion): (WebCore::applicationSDKVersion): (WebCore::IOSApplication::isMoviStarPlus):
Source/WebKit:
Add infrastructure to check UIProcess SDK from the WebProcess and NetworkProcess for linked-on-or-after checks.
- NetworkProcess/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode const): (WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
- Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode const): (WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeWebProcess): (WebKit::WebProcessPool::platformInitializeNetworkProcess):
- WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 PM Changeset in webkit [234453] by
-
- 3 edits in branches/safari-606-branch/Source/WebCore
Cherry-pick r234432. rdar://problem/42802123
Don't call RenderTheme::platformColorsDidChange() during printing.
https://bugs.webkit.org/show_bug.cgi?id=188181
rdar://problem/42360070
Reviewed by Tim Horton.
- inspector/agents/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::setEmulatedMedia): Call m_page.updateStyleAfterChangeInEnvironment() instead of going to styleStope() and remove call to RenderTheme::platformColorsDidChange().
- page/FrameView.cpp: (WebCore::FrameView::adjustMediaTypeForPrinting): Remove call RenderTheme::platformColorsDidChange().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 PM Changeset in webkit [234452] by
-
- 2 edits in branches/safari-606-branch/Source/WebInspectorUI
Cherry-pick r234394. rdar://problem/42802129
Web Inspector: Dark Mode: Search sidebar panel text field has a white background
https://bugs.webkit.org/show_bug.cgi?id=188128
<rdar://problem/42678270>
Reviewed by Matt Baker.
Make the search bar in Search tab match the style of the filter bar.
- UserInterface/Views/DarkMode.css: (@media (prefers-dark-interface)): (:matches(.search-bar, .filter-bar) > input[type="search"],): (:matches(.search-bar, .filter-bar) > input[type="search"]::placeholder): (:matches(.search-bar, .filter-bar) > input[type="search"]:focus): (.filter-bar > input[type="search"]): Deleted. (.filter-bar > input[type="search"]::placeholder): Deleted. (.filter-bar > input[type="search"]:focus): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:44 PM Changeset in webkit [234451] by
-
- 7 edits in branches/safari-606-branch/Source
Versioning.
- 10:34 PM Changeset in webkit [234450] by
-
- 2 edits1 add1 delete in trunk/LayoutTests
[WinCairo] Unreviewed test gardening.
- platform/wincairo/TestExpectations:
- platform/wincairo/css2.1/20110323/replaced-intrinsic-ratio-001-expected.png: Added.
- platform/wincairo/css3/masking/clip-path-circle-margin-box-expected.txt: Removed.
- 10:21 PM Changeset in webkit [234449] by
-
- 3 edits in trunk/LayoutTests
Tidy up a layout test introduced in r234436.
https://bugs.webkit.org/show_bug.cgi?id=188107
<rdar://problem/42354250>
Reviewed by Daniel Bates.
The expected output of a test that uses js-test.js should include a description, plus a line that states that
there will be a series of PASS messages, PASS/FAIL output, a successfully parsed line and finally a TEST
COMPLETE line. This patch adjusts a newly introduced test to follow this convention.
- fast/forms/ios/click-should-not-suppress-misspelling-expected.txt:
- fast/forms/ios/click-should-not-suppress-misspelling.html:
- 10:11 PM Changeset in webkit [234448] by
-
- 4 edits in trunk
[WIN] Fix tests for text with initial advances
https://bugs.webkit.org/show_bug.cgi?id=188099
Reviewed by Darin Adler.
Fixup after r234318.
Tests: fast/text/complex-first-glyph-with-initial-advance.html
fast/text/initial-advance-in-intermediate-run-complex.html
- platform/graphics/ComplexTextController.cpp:
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::drawGlyphBuffer const):
- 8:57 PM Changeset in webkit [234447] by
-
- 12 edits in trunk/Source
REGRESSION (r231107): MoviStar+ launches to a blank black screen
https://bugs.webkit.org/show_bug.cgi?id=188139
Reviewed by Brent Fulgham.
Source/WebCore:
For this app, revert behavior to how it was before r231107 with a linked-on-or-before check.
r231107 increased our fetch spec conformance, which we intend to keep. This makes a low-risk
targeted fix that will fix the affected app until they update.
I manually verified this fixes the app.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
- platform/RuntimeApplicationChecks.h:
- platform/cocoa/RuntimeApplicationChecksCocoa.mm:
(WebCore::applicationSDKVersionOverride):
(WebCore::setApplicationSDKVersion):
(WebCore::applicationSDKVersion):
(WebCore::IOSApplication::isMoviStarPlus):
Source/WebKit:
Add infrastructure to check UIProcess SDK from the WebProcess and NetworkProcess for linked-on-or-after checks.
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 8:04 PM Changeset in webkit [234446] by
-
- 7 edits in branches/safari-606-branch/Source/WebCore
<rdar://problem/40844658> Crash in WebCore::EventTarget::dispatchEvent
Reviewed by Chris Dumez.
Like https://trac.webkit.org/r233496.
The null pointer crash was caused by some GenericEventQueue dispatching an event in a stopped document,
which does not have a valid script execution context because some uses of GenericEventQueue in media code
was not closing the queue upon stopping of all active DOM objects.
Fixed close GenericEventQueue when the script execution context is destoryed in WebKitMediaKeySession,
SourceBuffer, SourceBufferList, and TrackListBase.
No new tests since r233496 relied on a debug assertion for testing but we can't add the same assertion here
since we'll continue to enqueue events after the document had stopped but not yet destroyed.
- Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
(WebCore::WebKitMediaKeySession::stop):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::stop):
- Modules/mediasource/SourceBufferList.cpp:
(WebCore::SourceBufferList::contextDestroyed):
- Modules/mediasource/SourceBufferList.h:
- html/track/TrackListBase.cpp:
(TrackListBase::contextDestroyed):
- html/track/TrackListBase.h:
- 7:53 PM Changeset in webkit [234445] by
-
- 2 edits in trunk/Source/WebKit
Add configuration for automatic process pre-warming
https://bugs.webkit.org/show_bug.cgi?id=187108
Reviewed by Ryosuke Niwa.
Added the missing availability macros.
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- 7:29 PM Changeset in webkit [234444] by
-
- 2 edits in trunk/Source/WebCore
[Cocoa] Addressing post-review comments on r234158
https://bugs.webkit.org/show_bug.cgi?id=188202
Reviewed by Darin Adler.
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontCache::lastResortFallbackFont):
- 7:15 PM Changeset in webkit [234443] by
-
- 13 edits1 add in trunk
Add configuration for automatic process pre-warming
https://bugs.webkit.org/show_bug.cgi?id=187108
Patch by Ben Richards <benton_richards@apple.com> on 2018-07-31
Reviewed by Ryosuke Niwa.
Source/WebKit:
Added configurations to allow setting the maximum number of processes that should be automatically prewarmed.
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/C/WKContext.cpp:
(WKContextSetMaximumNumberOfPrewarmedProcesses):
- UIProcess/API/C/WKContextPrivate.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration setMaximumPrewarmedProcessCount:]):
(-[_WKProcessPoolConfiguration maximumPrewarmedProcessCount]):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFinishLoadForFrame): Moved call to notifyProcessPoolToPrewarm from didFirstVisuallyNonEmptyLayoutForFrame to here.
This is to try to ensure that frame loading and prewarming don't happen at the same time as this would be heavy for some devices.
(WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::setMaximumNumberOfProcesses): Condition changed so that calling setMaximumNumberOfProcesses after warmInitialProcess
doesn't result in a crash.
(WebKit::WebProcessPool::setMaximumNumberOfPrewarmedProcesses):
(WebKit::WebProcessPool::warmInitialProcess):
(WebKit::WebProcessPool::didReachGoodTimeToPrewarm):
- UIProcess/WebProcessPool.h:
Tools:
Added new test case for setting maximum prewarmed process count and updated test case for process swap on navigation to set the maximum prewarmed process count to be 1 where relevant.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- TestWebKitAPI/Tests/WebKitCocoa/SetMaximumPrewarmedProcessCount.mm: Added.
(TEST):
- 6:40 PM Changeset in webkit [234442] by
-
- 6 edits2 adds in trunk/Source/WebKit
[WinCairo] <select> elements do not popup options
https://bugs.webkit.org/show_bug.cgi?id=188172
Reviewed by Fujii Hironori.
- PlatformWin.cmake: Add WebPopupMenuProxyWin
- Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::encode const): Encode
windows parameters
(WebKit::PlatformPopupMenuData::decode): Decode windows
parameters
- Shared/PlatformPopupMenuData.h: Add the windows specific
parameters (based on removed Windows implementation)
- UIProcess/win/PageClientImpl.cpp:
(WebKit::PageClientImpl::createPopupMenuProxy):
- UIProcess/win/WebPopupMenuProxyWin.cpp: Added. (based on
removed Windows implementation plus some fixes/api changes
since the removal)
(WebKit::isASCIIPrintable):
(WebKit::translatePoint):
(WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWndProc):
(WebKit::WebPopupMenuProxyWin::wndProc):
(WebKit::WebPopupMenuProxyWin::registerWindowClass):
(WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWin):
(WebKit::WebPopupMenuProxyWin::~WebPopupMenuProxyWin):
(WebKit::WebPopupMenuProxyWin::showPopupMenu):
(WebKit::WebPopupMenuProxyWin::hidePopupMenu):
(WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
(WebKit::WebPopupMenuProxyWin::clientRect const):
(WebKit::WebPopupMenuProxyWin::invalidateItem):
(WebKit::WebPopupMenuProxyWin::scrollSize const):
(WebKit::WebPopupMenuProxyWin::setScrollOffset):
(WebKit::WebPopupMenuProxyWin::visibleSize const):
(WebKit::WebPopupMenuProxyWin::contentsSize const):
(WebKit::WebPopupMenuProxyWin::scrollableAreaBoundingBox const):
(WebKit::WebPopupMenuProxyWin::scrollTo):
(WebKit::WebPopupMenuProxyWin::invalidateScrollbarRect):
(WebKit::WebPopupMenuProxyWin::onMouseActivate):
(WebKit::WebPopupMenuProxyWin::onSize):
(WebKit::WebPopupMenuProxyWin::onKeyDown):
(WebKit::WebPopupMenuProxyWin::onChar):
(WebKit::WebPopupMenuProxyWin::onMouseMove):
(WebKit::WebPopupMenuProxyWin::onLButtonDown):
(WebKit::WebPopupMenuProxyWin::onLButtonUp):
(WebKit::WebPopupMenuProxyWin::onMouseWheel):
(WebKit::WebPopupMenuProxyWin::onPaint):
(WebKit::WebPopupMenuProxyWin::onPrintClient):
(WebKit::WebPopupMenuProxyWin::down):
(WebKit::WebPopupMenuProxyWin::up):
(WebKit::WebPopupMenuProxyWin::paint):
(WebKit::WebPopupMenuProxyWin::setFocusedIndex):
(WebKit::WebPopupMenuProxyWin::visibleItems const):
(WebKit::WebPopupMenuProxyWin::listIndexAtPoint const):
(WebKit::WebPopupMenuProxyWin::focusedIndex const):
(WebKit::WebPopupMenuProxyWin::focusFirst):
(WebKit::WebPopupMenuProxyWin::focusLast):
(WebKit::WebPopupMenuProxyWin::incrementWheelDelta):
(WebKit::WebPopupMenuProxyWin::reduceWheelDelta):
(WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
- UIProcess/win/WebPopupMenuProxyWin.h: Added. (based on
removed Windows implementation plus some fixes/api changes
since then)
(WebKit::WebPopupMenuProxyWin::create):
(WebKit::WebPopupMenuProxyWin::hide):
(WebKit::WebPopupMenuProxyWin::scrollbar const):
(WebKit::WebPopupMenuProxyWin::itemHeight const):
(WebKit::WebPopupMenuProxyWin::windowRect const):
(WebKit::WebPopupMenuProxyWin::wheelDelta const):
(WebKit::WebPopupMenuProxyWin::setWasClicked):
(WebKit::WebPopupMenuProxyWin::wasClicked const):
(WebKit::WebPopupMenuProxyWin::scrollbarCapturingMouse const):
(WebKit::WebPopupMenuProxyWin::setScrollbarCapturingMouse):
- WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
(WebKit::WebPopupMenu::setUpPlatformData): Make the data to
pass between processes.
- 5:38 PM Changeset in webkit [234441] by
-
- 2 edits in trunk/LayoutTests
Layout Test svg/animations/smil-leak-element-instances-noBaseValRef.svg is flaky
https://bugs.webkit.org/show_bug.cgi?id=180997
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations: Remove flaky expectation.
- 4:23 PM Changeset in webkit [234440] by
-
- 102 edits19 moves5 adds13 deletes in trunk
Resource Load Statistics: Remove partitioned cookies for reduced complexity, lower memory footprint, and ability to support more platforms
https://bugs.webkit.org/show_bug.cgi?id=188109
<rdar://problem/42664391>
Reviewed by Brent Fulgham, Chris Dumez, and Alex Christensen.
Source/WebCore:
Tests: http/tests/resourceLoadStatistics/cookie-deletion.html
http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction.html
http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction.html
http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-pop-window.html
http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe.html
http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame.html
http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame.html
http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction.html
http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction.html
http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe.html
http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe.html
This patch removes cookie partitioning which reduces the model to just
blocked cookies (in third-party contexts) and first-party cookie access.
Several of the changes are renaming to reflect that there are no more
cookie partitions. However, the compile-time check remains for now since
this change is not ready to ship.
The test cases mentioned about are not new. They are just renamed to
reflect the code changes and to shorten their names (as requested by
non-Cocoa platforms).
- loader/ResourceLoadStatistics.cpp:
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::ResourceLoadStatistics::merge):
Removed the use of isMarkedForCookiePartitioning.
- loader/ResourceLoadStatistics.h:
Removed isMarkedForCookiePartitioning.
- platform/network/NetworkStorageSession.h:
- platform/network/ResourceHandle.h:
Renamed applySniffingPoliciesAndStoragePartitionIfNeeded() to
applySniffingPoliciesIfNeeded().
- platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::getPartitioningDomain):
(WebCore::NetworkStorageSession::shouldBlockCookies const):
Now takes a frame ID and a page ID to be able to support
the Storage Access API. This was previously handled by
shouldPartitionCookies() which is now deleted.
(WebCore::NetworkStorageSession::setPrevalentDomainsToBlockCookiesFor):
Renamed from setPrevalentDomainsToPartitionOrBlockCookies().
(WebCore::NetworkStorageSession::removePrevalentDomains):
No longer needs to clear the member variable for partitioned cookie domains.
(WebCore::NetworkStorageSession::setCookieStoragePartitioningEnabled): Deleted.
(WebCore::NetworkStorageSession::cookieStoragePartition const): Deleted.
(WebCore::NetworkStorageSession::shouldPartitionCookies const): Deleted.
(WebCore::NetworkStorageSession::setPrevalentDomainsToPartitionOrBlockCookies): Deleted.
Renamed to setPrevalentDomainsToBlockCookiesFor().
- platform/network/mac/CookieJarMac.mm:
(WebCore::cookiesForURL):
Now calls session.shouldBlockCookies() instead of the
wrapper cookiesAreBlockedForURL().
(WebCore::setCookiesFromDOM):
No longer checks for partition.
(WebCore::applyPartitionToCookies): Deleted.
(WebCore::cookiesAreBlockedForURL): Deleted.
This was just a wrapper for session.shouldBlockCookies().
(WebCore::cookiesInPartitionForURL): Deleted.
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::applySniffingPoliciesIfNeeded):
Renamed from applySniffingPoliciesAndStoragePartitionIfNeeded().
(WebCore::ResourceHandle::createNSURLConnection):
Consequence of function name change.
(WebCore::ResourceHandle::applySniffingPoliciesAndStoragePartitionIfNeeded): Deleted.
Renamed to applySniffingPoliciesIfNeeded().
Source/WebKit:
This patch removes cookie partitioning which reduces the model to just
blocked cookies (in third-party contexts) and first-party cookie access.
Several of the changes are renaming to reflect that there are no more
cookie partitions. However, the compile-time check remains for now since
this change is not ready to ship.
The API changes are mostly in C APIs used for layout tests. The slight
change in Cocoa API is that there no longer is a functionality to
"enable" cookie partitioning. The boolean member is still there but it
no longer does anything.
The functional changes are in WebKit::ResourceLoadStatisticsMemoryStore
and WebKit::NetworkDataTaskCocoa where cookie partitioning used to be
managed and applied respectively. The IPC communication has changed to
reflect this.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::updatePrevalentDomainsToBlockCookiesFor):
Name change from updatePrevalentDomainsToPartitionOrBlockCookies().
No longer supports the partitioned category.
(WebKit::NetworkProcess::removeAllStorageAccess):
Now supports a completion handler. This change was made to address
flakiness that came after layout test changes that were needed because
of the removal of partitioned cookies.
(WebKit::NetworkProcess::updatePrevalentDomainsToPartitionOrBlockCookies): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
Partitioning removed from message name.
RemoveAllStorageAccess message now supports a completion handler
as explained above
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
Removed parameter cookieStoragePartitioningEnabled.
(WebKit::NetworkProcessCreationParameters::decode):
Removed parameter cookieStoragePartitioningEnabled.
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::logCookieInformation):
No longer takes partitioning into account.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
Now only applies cookie blocking.
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
Now only applies cookie blocking.
(WebKit::NetworkDataTaskCocoa::applyCookiePartitioningPolicy): Deleted.
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
Removed the call to setCookieStoragePartitioningEnabled().
(WebKit::NetworkProcess::setCookieStoragePartitioningEnabled): Deleted.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
WebCore::NetworkStorageSession::shouldBlockCookies() now takes a
frame ID and page ID to resolve cookie access with the Storage
Access API. This was previously handled by
WebCore::NetworkStorageSession::cookieStoragePartition().
- UIProcess/API/C/WKCookieManager.cpp:
(WKCookieManagerSetCookieStoragePartitioningEnabled): Deleted.
- UIProcess/API/C/WKCookieManager.h:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreStatisticsUpdateCookieBlocking):
(WKWebsiteDataStoreSetStatisticsHasHadNonRecentUserInteraction): Deleted.
There is no longer a difference between recent and non-recent
user interaction so this test function was removed.
(WKWebsiteDataStoreSetStatisticsTimeToLiveCookiePartitionFree): Deleted.
(WKWebsiteDataStoreStatisticsUpdateCookiePartitioning): Deleted.
(WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHost): Deleted.
Deleted because partitioning is no longer a thing.
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
Deprecated _isCookieStoragePartitioningEnabled() and
_setCookieStoragePartitioningEnabled() via WK_API_DEPRECATED.
- UIProcess/Cocoa/ResourceLoadStatisticsMemoryStoreCocoa.mm:
(WebKit::ResourceLoadStatisticsMemoryStore::registerUserDefaultsIfNeeded):
Removed support for ResourceLoadStatisticsTimeToLiveCookiePartitionFree.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
No longer sets a parameter based on cookieStoragePartitioningEnabled().
(WebKit::WebProcessPool::setCookieStoragePartitioningEnabled):
Added a FIXME comment that this setter no longer does anything meaningful.
Removed the IPC call to the network process to propagate the setting.
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::clearCallbackStates):
Name change from m_updatePartitionOrBlockCookiesCallbackMap to
m_updateBlockCookiesCallbackMap.
(WebKit::NetworkProcessProxy::updatePrevalentDomainsToBlockCookiesFor):
Name change plus it now just takes one vector of strings named domainsToBlock.
(WebKit::NetworkProcessProxy::didUpdateBlockCookies):
Name change from didUpdatePartitionOrBlockCookies().
(WebKit::NetworkProcessProxy::storageAccessRequestResult):
Just moved to its right place.
(WebKit::NetworkProcessProxy::removeAllStorageAccess):
Now take a completion handler.
(WebKit::NetworkProcessProxy::didRemoveAllStorageAccess):
To call the completion handler.
(WebKit::NetworkProcessProxy::updatePrevalentDomainsToPartitionOrBlockCookies): Deleted.
Name change.
(WebKit::NetworkProcessProxy::didUpdatePartitionOrBlockCookies): Deleted.
Name change.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
Name change and added completion handler message for removeAllStorageAccess().
- UIProcess/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccessUnderOpener):
(WebKit::ResourceLoadStatisticsMemoryStore::scheduleStatisticsProcessingRequestIfNecessary):
(WebKit::ResourceLoadStatisticsMemoryStore::logUserInteraction):
(WebKit::ResourceLoadStatisticsMemoryStore::mergeWithDataFromDecoder):
(WebKit::ResourceLoadStatisticsMemoryStore::clear):
(WebKit::ResourceLoadStatisticsMemoryStore::wasAccessedAsFirstPartyDueToUserInteraction const):
(WebKit::ResourceLoadStatisticsMemoryStore::shouldBlockAndKeepCookies):
(WebKit::ResourceLoadStatisticsMemoryStore::shouldBlockAndPurgeCookies):
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookieBlocking):
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookieBlockingForDomains):
(WebKit::ResourceLoadStatisticsMemoryStore::clearBlockingStateForDomains):
(WebKit::ResourceLoadStatisticsMemoryStore::resetCookieBlockingState):
(WebKit::ResourceLoadStatisticsMemoryStore::removeAllStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::logNonRecentUserInteraction): Deleted.
There is no longer a difference between recent and non-recent
user interaction so this test function was removed.
(WebKit::ResourceLoadStatisticsMemoryStore::setTimeToLiveCookiePartitionFree): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::shouldPartitionCookies): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::shouldBlockCookies): Deleted.
Now split into shouldBlockAndKeepCookies() and shouldBlockAndPurgeCookies().
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookiePartitioning): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookiePartitioningForDomains): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::clearPartitioningStateForDomains): Deleted.
(WebKit::ResourceLoadStatisticsMemoryStore::resetCookiePartitioningState): Deleted.
- UIProcess/ResourceLoadStatisticsMemoryStore.h:
- UIProcess/ResourceLoadStatisticsPersistentStorage.cpp:
(WebKit::ResourceLoadStatisticsPersistentStorage::startMonitoringDisk):
Added an empty completion handler to the m_memoryStore.clear() call.
- UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::setCookieStoragePartitioningEnabled): Deleted.
- UIProcess/WebCookieManagerProxy.h:
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
(WebKit::WebResourceLoadStatisticsStore::removeAllStorageAccess):
Now has a completion handler.
(WebKit::WebResourceLoadStatisticsStore::scheduleCookieBlockingUpdate):
(WebKit::WebResourceLoadStatisticsStore::scheduleCookieBlockingUpdateForDomains):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearBlockingStateForDomains):
(WebKit::WebResourceLoadStatisticsStore::scheduleCookieBlockingStateReset):
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemory):
Now supports a completion handler for removeAllStorageAccess().
(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebResourceLoadStatisticsStore::callUpdatePrevalentDomainsToBlockCookiesForHandler):
(WebKit::WebResourceLoadStatisticsStore::logNonRecentUserInteraction): Deleted.
There is no longer a difference between recent and non-recent
user interaction so this test function was removed.
(WebKit::WebResourceLoadStatisticsStore::scheduleCookiePartitioningUpdate): Deleted.
Renamed to scheduleCookieBlockingUpdate().
(WebKit::WebResourceLoadStatisticsStore::scheduleCookiePartitioningUpdateForDomains): Deleted.
Renamed to scheduleCookieBlockingUpdateForDomains().
(WebKit::WebResourceLoadStatisticsStore::scheduleClearPartitioningStateForDomains): Deleted.
Renamed to scheduleClearBlockingStateForDomains().
(WebKit::WebResourceLoadStatisticsStore::scheduleCookiePartitioningStateReset): Deleted.
Renamed to scheduleCookieBlockingStateReset().
(WebKit::WebResourceLoadStatisticsStore::setTimeToLiveCookiePartitionFree): Deleted.
(WebKit::WebResourceLoadStatisticsStore::callUpdatePrevalentDomainsToPartitionOrBlockCookiesHandler): Deleted.
Renamed callUpdatePrevalentDomainsToBlockCookiesForHandler().
- UIProcess/WebResourceLoadStatisticsStore.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::updatePrevalentDomainsToBlockCookiesFor):
(WebKit::WebsiteDataStore::removeAllStorageAccessHandler):
Now supports a completion handler for removeAllStorageAccess().
(WebKit::WebsiteDataStore::networkProcessDidCrash):
Name change in function called to get rid of "partitioning."
(WebKit::WebsiteDataStore::updatePrevalentDomainsToPartitionOrBlockCookies): Deleted.
Renamed updatePrevalentDomainsToBlockCookiesFor().
- UIProcess/WebsiteData/WebsiteDataStore.h:
Tools:
This patch removes cookie partitioning which reduces the model to just
blocked cookies (in third-party contexts) and first-party cookie access.
Several of the changes are renaming to reflect that there are no more
cookie partitions.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
Removed or renamed functions to reflect that there are no more
partitioned cookies.
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsUpdateCookieBlocking):
(WTR::TestRunner::statisticsCallDidSetBlockCookiesForHostCallback):
(WTR::TestRunner::setCookieStoragePartitioningEnabled): Deleted.
(WTR::TestRunner::setStatisticsHasHadNonRecentUserInteraction): Deleted.
(WTR::TestRunner::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
(WTR::TestRunner::statisticsUpdateCookiePartitioning): Deleted.
(WTR::TestRunner::statisticsSetShouldPartitionCookiesForHost): Deleted.
(WTR::TestRunner::statisticsCallDidSetPartitionOrBlockCookiesForHostCallback): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::statisticsUpdateCookieBlocking):
(WTR::TestController::setStatisticsHasHadNonRecentUserInteraction): Deleted.
(WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
(WTR::TestController::statisticsUpdateCookiePartitioning): Deleted.
(WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Deleted.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::didSetBlockCookiesForHost):
(WTR::TestInvocation::didSetHasHadUserInteraction):
(WTR::TestInvocation::didSetPartitionOrBlockCookiesForHost): Deleted.
(WTR::TestInvocation::didSetHasHadNonRecentUserInteraction): Deleted.
- WebKitTestRunner/TestInvocation.h:
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
LayoutTests:
This patch removes cookie partitioning which reduces the model to just
blocked cookies (in third-party contexts) and first-party cookie access.
Several of the changes are renaming to reflect that there are no more
cookie partitions.
The changes to the Storage Access API tests also involve fixes for potential
flakiness by adopting several completion handlers in test functions.
- http/tests/resourceLoadStatistics/add-blocking-to-redirect.html:
- http/tests/resourceLoadStatistics/add-partitioning-to-redirect-expected.txt: Removed.
- http/tests/resourceLoadStatistics/add-partitioning-to-redirect.html: Removed.
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion.html:
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent.html:
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion.html:
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent.html:
- http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to.html:
- http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics.html:
- http/tests/resourceLoadStatistics/cookie-deletion-expected.txt: Renamed from LayoutTests/http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion-expected.txt.
- http/tests/resourceLoadStatistics/cookie-deletion.html: Renamed from LayoutTests/http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html.
- http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction-expected.txt: Added.
- http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction.html: Renamed from LayoutTests/http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html.
- http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect.html:
- http/tests/resourceLoadStatistics/enable-debug-mode.html:
- http/tests/resourceLoadStatistics/grandfathering.html:
- http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html:
- http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html:
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-expected.txt:
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html:
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
- http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
- http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt: Removed.
- http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html: Removed.
- http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-blocking-in-redirect-expected.txt:
- http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html:
- http/tests/resourceLoadStatistics/remove-partitioning-in-redirect-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-partitioning-in-redirect.html: Removed.
- http/tests/resourceLoadStatistics/resources/get-cookies.php:
- http/tests/resourceLoadStatistics/resources/set-cookie-on-redirect.php: Added.
- http/tests/resourceLoadStatistics/resources/util.js: Added.
(setEnableFeature):
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
- http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
- http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html:
- http/tests/resourceLoadStatistics/set-custom-prevalent-resource-in-debug-mode.html:
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-redirects.html:
- http/tests/resourceLoadStatistics/strip-referrer-to-origin-for-prevalent-subresource-requests.html:
- http/tests/resourceLoadStatistics/telemetry-generation.html:
- http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction-expected.txt: Removed.
- http/tests/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html: Removed.
- http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html:
- http/tests/resourceLoadStatistics/user-interaction-only-reported-once-within-short-period-of-time.html:
- http/tests/resourceLoadStatistics/user-interaction-reported-after-website-data-removal.html:
- http/tests/storageAccess/deny-storage-access-under-opener.html:
- http/tests/storageAccess/grant-storage-access-under-opener-expected.txt:
- http/tests/storageAccess/grant-storage-access-under-opener.html:
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-non-recent-user-interaction-expected.txt: Removed.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-non-recent-user-interaction.html: Removed.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-recent-user-interaction.html: Removed.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-recent-user-interaction-expected.txt.
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction.html: Added.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-pop-window-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-pop-window-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe-pop-window.html: Added.
- http/tests/storageAccess/request-and-grant-access-cross-origin-non-sandboxed-iframe.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe.html.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame.html.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-but-try-access-from-wrong-frame-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-but-access-from-wrong-frame.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-but-try-access-from-wrong-frame.html.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-recent-user-interaction-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-recent-user-interaction.html.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction.html.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe-expected.txt.
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-nested-iframe.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe.html.
- http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access-expected.txt:
- http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html:
- http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access.html:
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-pop-window.html: Removed.
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html:
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html:
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture.html:
- http/tests/storageAccess/request-storage-access-same-origin-iframe.html:
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html:
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe.html:
- http/tests/storageAccess/request-storage-access-top-frame.html:
- http/tests/storageAccess/resources/nesting-iframe.html:
- platform/ios/TestExpectations:
Test case renaming.
webkit.org/b/183216 removed since it's resolved.
- platform/mac-wk2/TestExpectations:
Test case renaming.
- platform/wk2/TestExpectations:
Test case renaming.
- 1:37 PM Changeset in webkit [234439] by
-
- 2 edits in trunk/Tools
Build fix. Remove unused variable.
- TestWebKitAPI/Tests/WebCore/TransformationMatrix.cpp:
(TestWebKitAPI::TEST):
transform was never used. It was introduced in r205871
Apparently I'm the first one to build in a certain configuration that found it.
- 1:24 PM Changeset in webkit [234438] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed 32-bit build fix...
- dfg/DFGSpeculativeJIT32_64.cpp:
- 1:21 PM Changeset in webkit [234437] by
-
- 4 edits in trunk/Source/JavaScriptCore
Long compiling JSC files should not be unified
https://bugs.webkit.org/show_bug.cgi?id=188205
Reviewed by Saam Barati.
The DFGSpeculativeJIT and FTLLowerDFGToB3 files take a long time
to compile. Unifying them means touching anything in the same
bundle as those files takes a long time to incrementally build.
This patch separates those files so they build standalone.
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- dfg/DFGSpeculativeJIT64.cpp:
- 1:19 PM Changeset in webkit [234436] by
-
- 3 edits2 adds in trunk
[iOS] Spelling suggestions cannot be selected in focused form controls when zoomed in
https://bugs.webkit.org/show_bug.cgi?id=188107
<rdar://problem/42354250>
Reviewed by Tim Horton.
Source/WebCore:
After r232040, the synthetic click gesture recognizer was enabled when tapping inside of the focused element,
which allows the page to handle click events inside editable content. However, this means that codepaths in
EventHandler that are responsible for changing selection due to default click event behaviors on macOS are now
active on iOS; this conflicts with selection changes due to text interaction gestures, which are the existing
mechanism for modifying the selection on iOS.
To address this, we defer selection changes when clicking to text interaction gestures on iOS by tweaking the
default behavior of a click on iOS to /not/ change selection when moving within the same editable root. This is
similar to r233311, but in a different codepath that specifically handles selection changes when clicking on
content that is already selected.
Test: fast/forms/ios/click-should-not-suppress-misspelling.html
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseReleaseEvent):
LayoutTests:
Adds a new test to verify that tapping in a misspelled word to bring up the spelling correction callout and
selection view does not immediately cause the selection to dismiss.
- fast/forms/ios/click-should-not-suppress-misspelling-expected.txt: Added.
- fast/forms/ios/click-should-not-suppress-misspelling.html: Added.
- 12:30 PM Changeset in webkit [234435] by
-
- 1 edit1 delete in trunk/LayoutTests
Need a short description (OOPS!).
Need the bug URL (OOPS!).
Reviewed by NOBODY (OOPS!).
- platform/mac-yosemite: Removed.
- 11:48 AM Changeset in webkit [234434] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Remove unnecessary cellLock() in JSObject's GC marking if IndexingType is contiguous
https://bugs.webkit.org/show_bug.cgi?id=188201
Reviewed by Keith Miller.
We do not reuse the existing butterfly with Contiguous shape for new ArrayStorage butterfly.
When converting the butterfly with Contiguous shape to ArrayStorage, we always allocate a
new one. So this cellLock() is unnecessary for contiguous shape since contigous shaped butterfly
never becomes broken state. This patch removes unnecessary locking.
- runtime/JSObject.cpp:
(JSC::JSObject::visitButterflyImpl):
- 11:37 AM Changeset in webkit [234433] by
-
- 3 edits in trunk/Source/WebCore
Clean up TransformationMatrix implementation
https://bugs.webkit.org/show_bug.cgi?id=188197
Reviewed by Simon Fraser.
We perform cleaning up of TransformationMatrix.
- We drop user-defined operator= and copy constructor. Default ones works well for TransformationMatrix.
- Remove unused setMatrix. We explicitly use memcpy in TransformationMatrix.cpp (only one place).
- Use memcmp for implementing operator==.
In (2) and (3), we use
memcpy(&matrix[0][0], &tmp[0][0], sizeof(Matrix4))instead ofmemcpy(matrix, tmp, sizeof(Matrix4)),
since they both are non nullptr and the former is easier to understand.
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::multiply):
- platform/graphics/transforms/TransformationMatrix.h:
(WebCore::TransformationMatrix::setMatrix):
(WebCore::TransformationMatrix::operator== const):
(WebCore::TransformationMatrix::operator =): Deleted.
- 11:23 AM Changeset in webkit [234432] by
-
- 3 edits in trunk/Source/WebCore
Don't call RenderTheme::platformColorsDidChange() during printing.
https://bugs.webkit.org/show_bug.cgi?id=188181
rdar://problem/42360070
Reviewed by Tim Horton.
- inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::setEmulatedMedia): Call m_page.updateStyleAfterChangeInEnvironment()
instead of going to styleStope() and remove call to RenderTheme::platformColorsDidChange().
- page/FrameView.cpp:
(WebCore::FrameView::adjustMediaTypeForPrinting): Remove call RenderTheme::platformColorsDidChange().
- 11:23 AM Changeset in webkit [234431] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Include a full URL tooltip when hovering the name in the Network Tab
https://bugs.webkit.org/show_bug.cgi?id=188199
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-07-31
Reviewed by Matt Baker.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._populateNameCell):
Give a tooltip to the entire cell since the entire cell has interactivity.
- 11:07 AM Changeset in webkit [234430] by
-
- 2 edits in trunk/Tools
server_process.py should print returncode in debug log if the process crashed
https://bugs.webkit.org/show_bug.cgi?id=188160
Reviewed by Konstantin Tokarev.
- Scripts/webkitpy/port/server_process.py:
(ServerProcess.has_crashed): Put self._proc.returncode into the debug log message.
- 10:52 AM Changeset in webkit [234429] by
-
- 2 edits in branches/safari-606-branch/LayoutTests
Cherry-pick r234428. rdar://problem/42387347
Layout Test media/video-add-autoplay-user-gesture.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=174591
Reviewed by Darin Adler.
Remove the 1000ms restriction for this test to complete in order to eliminate flakiness.
- media/video-add-autoplay-user-gesture.html:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@234428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:52 AM Changeset in webkit [234428] by
-
- 2 edits in trunk/LayoutTests
Layout Test media/video-add-autoplay-user-gesture.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=174591
Reviewed by Darin Adler.
Remove the 1000ms restriction for this test to complete in order to eliminate flakiness.
- media/video-add-autoplay-user-gesture.html:
- 9:31 AM Changeset in webkit [234427] by
-
- 3 edits in trunk/Source/WebCore
Use static const global variable for TransformationMatrix instead of NeverDestroyed
https://bugs.webkit.org/show_bug.cgi?id=188195
Reviewed by Darin Adler.
Since TransformationMatrix does not have a non-trivial destructor, we can put it
as static const global variable if its constructor is constexpr. This patch makes
some of constructors constexpr and makes identityTransform static const global variable
instead of NeverDestroyed<> + static function. This removes unnecessary static function
and lazy initialization.
No behavior change.
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::transform const):
(WebCore::GraphicsLayer::childrenTransform const):
(WebCore::identityTransform): Deleted.
- platform/graphics/transforms/TransformationMatrix.h:
(WebCore::TransformationMatrix::TransformationMatrix):
- 8:57 AM Changeset in webkit [234426] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC] Remove gcc warnings for 32-bit platforms
https://bugs.webkit.org/show_bug.cgi?id=187803
Reviewed by Yusuke Suzuki.
- assembler/MacroAssemblerPrinter.cpp:
(JSC::Printer::printPCRegister):
(JSC::Printer::printRegisterID):
(JSC::Printer::printAddress):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateNumber):
(JSC::DFG::SpeculativeJIT::speculateMisc):
- jit/CCallHelpers.h:
(JSC::CCallHelpers::calculatePokeOffset):
- runtime/Options.cpp:
(JSC::parse):
- 8:29 AM Changeset in webkit [234425] by
-
- 2 edits1 copy in branches/safari-606-branch/LayoutTests
Cherry-pick r234379. rdar://problem/42387347
Rebaseline fast/forms/file/input-file-re-render.html for Mojave.
Unreviewed test gardening.
- platform/mac-highsierra/fast/forms/file/input-file-re-render-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/file/input-file-re-render-expected.txt.
- platform/mac/fast/forms/file/input-file-re-render-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@234379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:29 AM Changeset in webkit [234424] by
-
- 2 edits in branches/safari-606-branch/LayoutTests
Cherry-pick r234378. rdar://problem/42387347
Update TestExpectations for mac-wk1.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@234378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:02 AM Changeset in webkit [234423] by
-
- 8 edits in trunk/Source/WebCore
[LFC][Floating] Add basic left/right floating positioning.
https://bugs.webkit.org/show_bug.cgi?id=188148
Reviewed by Antti Koivisto.
This patch implements simple floating positioning.
(Floatings with different containing blocks do not work yet.)
- layout/FloatingContext.cpp:
(WebCore::Layout::FloatingPair::isEmpty const):
(WebCore::Layout::Iterator::current const):
(WebCore::Layout::Iterator::verticalPosition const):
(WebCore::Layout::FloatingContext::FloatingContext):
(WebCore::Layout::FloatingContext::computePosition const):
(WebCore::Layout::FloatingContext::floatingPosition const):
(WebCore::Layout::FloatingContext::initialVerticalPosition const):
(WebCore::Layout::FloatingContext::alignWithContainingBlock const):
(WebCore::Layout::FloatingContext::alignWithFloatings const):
(WebCore::Layout::floatingDisplayBox):
(WebCore::Layout::FloatingPair::FloatingPair):
(WebCore::Layout::FloatingPair::left const):
(WebCore::Layout::FloatingPair::right const):
(WebCore::Layout::FloatingPair::intersects const):
(WebCore::Layout::Iterator::Iterator):
(WebCore::Layout::Iterator::operator++):
(WebCore::Layout::Iterator::set):
(WebCore::Layout::FloatingContext::computePosition): Deleted.
- layout/FloatingContext.h:
- layout/FloatingState.cpp:
(WebCore::Layout::FloatingState::append):
- layout/FloatingState.h:
(WebCore::Layout::FloatingState::floatings const):
(WebCore::Layout::FloatingState::last const):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layout const):
(WebCore::Layout::BlockFormattingContext::layoutFormattingContextRoot const):
- layout/displaytree/DisplayBox.cpp:
(WebCore::Display::Box::Rect::Rect):
- layout/displaytree/DisplayBox.h:
(WebCore::Display::Box::Rect::intersects const):
(WebCore::Display::Box::rect const):
- 5:01 AM Changeset in webkit [234422] by
-
- 4 edits in trunk/Source
Remove ResourceResponse::cacheBodyKey API
https://bugs.webkit.org/show_bug.cgi?id=188192
Patch by Rob Buis <rbuis@igalia.com> on 2018-07-31
Reviewed by Frédéric Wang.
Source/WebCore:
Removed unused API.
No new tests needed since this API is not used.
- platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::encode const):
(WebCore::ResourceResponseBase::decode):
(WebCore::ResourceResponseBase::cacheBodyKey const): Deleted.
(WebCore::ResourceResponseBase::setCacheBodyKey): Deleted.
Source/WebKit:
Remove unused API.
- NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::decodeStorageRecord):
- 3:39 AM Changeset in webkit [234421] by
-
- 2 edits2 adds in trunk/LayoutTests
[WPE] webanimations/partly-accelerated-transition-by-removing-property.html is failing since added in r234250 "[Web Animations] REGRESSION: transition added immediately after element creation doesn't work"
https://bugs.webkit.org/show_bug.cgi?id=188058
Unreviewed. Adding custom test expectation for WPE, as it never leaves AC mode.
- platform/wpe/TestExpectations:
- platform/wpe/webanimations/partly-accelerated-transition-by-removing-property-expected.txt: Added.
- 2:25 AM Changeset in webkit [234420] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20/Source/WebKit
Merge r233353 - [WPE] Some frames are dropped when using rAF to animate an element
https://bugs.webkit.org/show_bug.cgi?id=187175
Always call renderNextFrame in ThreadedCompositor::requestDisplayRefreshMonitorUpdate()
so we have to process any pending layer flush request.
Reviewed by Žan Doberšek.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::handleDisplayRefreshMonitorUpdate):
- 2:25 AM WebKitGTK/2.20.x edited by
- (diff)
- 2:25 AM Changeset in webkit [234419] by
-
- 6 edits in releases/WebKitGTK/webkit-2.20/Source
Merge r233193 - [GTK] Many webpages can crash the browser in WebCore::CoordinatedGraphicsLayer::transformedVisibleRect
https://bugs.webkit.org/show_bug.cgi?id=179304
Reviewed by Michael Catanzaro.
Source/WebCore:
When adding new CoordinatedGraphicsLayers to the tree, check that they have the appropriate
CompositingCoordinator. If that's not the case, set the appropriate one to the layer and its
children and set the state of those layers so they are rendered properly.
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::addChild):
(WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
(WebCore::CoordinatedGraphicsLayer::addChildAbove):
(WebCore::CoordinatedGraphicsLayer::addChildBelow):
(WebCore::CoordinatedGraphicsLayer::replaceChild):
(WebCore::CoordinatedGraphicsLayer::setCoordinatorIncludingSubLayersIfNeeded):
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
Source/WebKit:
Add a way to attach to the CompositingCoordinator layers that were not created by it.
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::attachLayer):
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
- 2:25 AM Changeset in webkit [234418] by
-
- 3 edits in releases/WebKitGTK/webkit-2.20/Source/ThirdParty
Merge r233404 - Fix off-by-one error in xdg_mime_get_simple_globs
https://bugs.webkit.org/show_bug.cgi?id=186554
Reviewed by Daniel Bates.
We have an off-by-one error here in some code that was added for WebKit. (This is not an
issue with upstream xdgmime.)
No new tests. This problem is caught by TestDownloads, but only when running with ASan
enabled.
- xdgmime/src/xdgmimecache.c:
(get_simple_globs):
- xdgmime/src/xdgmimeglob.c:
(get_simple_globs):
- 2:25 AM Changeset in webkit [234417] by
-
- 10 edits2 adds in releases/WebKitGTK/webkit-2.20
Merge r232313 - LLInt get_by_id prototype caching doesn't properly handle changes
https://bugs.webkit.org/show_bug.cgi?id=186112
Reviewed by Filip Pizlo.
JSTests:
- stress/llint-proto-get-by-id-cache-change-prototype.js: Added.
(foo):
- stress/llint-proto-get-by-id-cache-intercept-value.js: Added.
(foo):
Source/JavaScriptCore:
The caching would sometimes fail to track that a prototype had changed
and wouldn't update its set of watchpoints.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeLLIntInlineCaches):
- bytecode/CodeBlock.h:
- bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h:
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::key const):
- bytecode/ObjectPropertyConditionSet.h:
(JSC::ObjectPropertyConditionSet::size const):
- bytecode/Watchpoint.h:
(JSC::Watchpoint::Watchpoint): Deleted.
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setupGetByIdPrototypeCache):
Source/WTF:
Mark some methods const.
- wtf/Bag.h:
(WTF::Bag::begin const):
(WTF::Bag::end const):
(WTF::Bag::unwrappedHead const):
(WTF::Bag::end): Deleted.
(WTF::Bag::unwrappedHead): Deleted.
- 2:25 AM Changeset in webkit [234416] by
-
- 5 edits1 add in releases/WebKitGTK/webkit-2.20
Merge r232219 - for-in loops should preserve and restore the TDZ stack for each of its internal loops.
https://bugs.webkit.org/show_bug.cgi?id=185995
<rdar://problem/40173142>
Reviewed by Saam Barati.
JSTests:
- stress/regress-185995.js: Added.
Source/JavaScriptCore:
This is because there's no guarantee that any of the loop bodies will be
executed. Hence, there's no guarantee that the TDZ variables will have been
initialized after each loop body.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::preserveTDZStack):
(JSC::BytecodeGenerator::restoreTDZStack):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::ForInNode::emitBytecode):
- 2:24 AM Changeset in webkit [234415] by
-
- 7 edits in releases/WebKitGTK/webkit-2.20/Source/JavaScriptCore
Merge r231518 - Deferred firing of structure transition watchpoints is racy
https://bugs.webkit.org/show_bug.cgi?id=185438
Reviewed by Saam Barati.
Changed DeferredStructureTransitionWatchpointFire to take the watchpoints to fire
and fire them in the destructor. When the watchpoints are taken from the
original WatchpointSet, that WatchpointSet if marked invalid.
- bytecode/Watchpoint.cpp:
(JSC::WatchpointSet::fireAllSlow):
(JSC::WatchpointSet::take):
(JSC::DeferredWatchpointFire::DeferredWatchpointFire):
(JSC::DeferredWatchpointFire::~DeferredWatchpointFire):
(JSC::DeferredWatchpointFire::fireAll):
(JSC::DeferredWatchpointFire::takeWatchpointsToFire):
- bytecode/Watchpoint.h:
(JSC::WatchpointSet::fireAll):
(JSC::InlineWatchpointSet::fireAll):
- runtime/JSObject.cpp:
(JSC::JSObject::setPrototypeDirect):
(JSC::JSObject::convertToDictionary):
- runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectInternal):
- runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::DeferredStructureTransitionWatchpointFire::DeferredStructureTransitionWatchpointFire):
(JSC::DeferredStructureTransitionWatchpointFire::~DeferredStructureTransitionWatchpointFire):
(JSC::DeferredStructureTransitionWatchpointFire::dump const):
(JSC::Structure::didTransitionFromThisStructure const):
(JSC::DeferredStructureTransitionWatchpointFire::add): Deleted.
- runtime/Structure.h:
(JSC::DeferredStructureTransitionWatchpointFire::structure const):
- 2:24 AM Changeset in webkit [234414] by
-
- 6 edits5 adds in releases/WebKitGTK/webkit-2.20
Merge r231513 - Mute MediaElementSourceNode when tainted.
https://bugs.webkit.org/show_bug.cgi?id=184866
Reviewed by Eric Carlson.
Source/WebCore:
Test: http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin.html
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::wouldTaintOrigin const):
- Modules/webaudio/AudioContext.h:
- Modules/webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::setFormat):
(WebCore::MediaElementAudioSourceNode::wouldTaintOrigin):
(WebCore::MediaElementAudioSourceNode::process):
- Modules/webaudio/MediaElementAudioSourceNode.h:
LayoutTests:
- http/tests/media/resources/1000Hz-sin.wav: Added.
- http/tests/security/webaudio-render-remote-audio-allowed-crossorigin-expected.txt: Added.
- http/tests/security/webaudio-render-remote-audio-allowed-crossorigin.html: Added.
- http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin-expected.txt: Added.
- http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin.html: Added.
- 2:24 AM Changeset in webkit [234413] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.20
Merge r231441 - WebGL: Reset simulated values after validation fails
https://bugs.webkit.org/show_bug.cgi?id=185363
<rdar://problem/39733417>
Reviewed by Anders Carlsson.
Source/WebCore:
While fixing a previous bug, I forgot to reset some values
when validation fails. This caused a bug where a subsequent
invalid call might use those values and escape detection.
Test: fast/canvas/webgl/index-validation-with-subsequent-draws.html
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::simulateVertexAttrib0): Reset the
sizes when validation fails.
- html/canvas/WebGLRenderingContextBase.h:
LayoutTests:
- fast/canvas/webgl/index-validation-with-subsequent-draws-expected.txt: Added.
- fast/canvas/webgl/index-validation-with-subsequent-draws.html: Added.
- 2:24 AM Changeset in webkit [234412] by
-
- 4 edits in releases/WebKitGTK/webkit-2.20/Source/WebCore
Merge r231335 - Widgets should hold a WeakPtr to their parents
https://bugs.webkit.org/show_bug.cgi?id=185239
<rdar://problem/39741250>
Reviewed by Zalan Bujtas.
- platform/ScrollView.h:
(WebCore::ScrollView::weakPtrFactory): Added.
- platform/Widget.cpp:
(WebCore::Widget::init): Don't perform an unnecessary assignment.
(WebCore::Widget::setParent): Grab a WeakPtr to the parent ScrollView.
- platform/Widget.h:
(WebCore::Widget::parent const): Change type to a WeakPtr.
- 2:20 AM Changeset in webkit [234411] by
-
- 5 edits in trunk
[WTF] String::formatWithArguments() is unused
https://bugs.webkit.org/show_bug.cgi?id=187955
Reviewed by Darin Adler.
Source/WTF:
This method is unused, remove it.
- wtf/text/WTFString.cpp:
(WTF::String::formatWithArguments): Deleted.
- wtf/text/WTFString.h:
Tools:
Remove tests for WTF::String::formatWithArguments() as it's unused and
we are removing it.
- TestWebKitAPI/Tests/WTF/WTFString.cpp:
- 12:23 AM Changeset in webkit [234410] by
-
- 23 edits in releases/WebKitGTK/webkit-2.20/Source/WebCore
Merge r232496 - REGRESSION(r231291): InputType should hold a WeakPtr to its HTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=186096
<rdar://problem/40651015>
Reviewed by Ryosuke Niwa.
Now that the InputType may be kept alive as part of in-flight form submissions, we
shouldn't assume that the referenced HTMLInputElement is still valid before using it.
The only time we should be lacking a referencing element is in cases where the InputType
is changing, either through a change in the HTMLInputElement's type attribute. In those
cases we should check for a valid HTMLInputElement. In other cases, we should ASSERT.
- html/BaseButtonInputType.cpp:
(WebCore::BaseButtonInputType::createInputRenderer):
(WebCore::BaseButtonInputType::setValue):
- html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::saveFormControlState const):
(WebCore::BaseCheckableInputType::restoreFormControlState):
(WebCore::BaseCheckableInputType::appendFormData const):
(WebCore::BaseCheckableInputType::handleKeydownEvent):
(WebCore::BaseCheckableInputType::accessKeyAction):
(WebCore::BaseCheckableInputType::setValue):
- html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::attributeChanged): Add a nullptr check
here, since this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
- html/BaseClickableWithKeyInputType.cpp:
(WebCore::BaseClickableWithKeyInputType::handleKeydownEvent):
(WebCore::BaseClickableWithKeyInputType::handleKeypressEvent):
(WebCore::BaseClickableWithKeyInputType::accessKeyAction):
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::attributeChanged): Add a nullptr check
here, since this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
- html/BaseTextInputType.cpp:
(WebCore::BaseTextInputType::patternMismatch const):
- html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::valueMissing const):
(WebCore::CheckboxInputType::willDispatchClick):
(WebCore::CheckboxInputType::didDispatchClick):
(WebCore::CheckboxInputType::shouldAppearIndeterminate const):
- html/ColorInputType.cpp:
(WebCore::ColorInputType::valueAsColor const):
(WebCore::ColorInputType::createShadowSubtree):
(WebCore::ColorInputType::handleDOMActivateEvent):
(WebCore::ColorInputType::didChooseColor):
(WebCore::ColorInputType::updateColorSwatch):
(WebCore::ColorInputType::shadowColorSwatch const):
(WebCore::ColorInputType::elementRectRelativeToRootView const):
(WebCore::ColorInputType::shouldShowSuggestions const):
(WebCore::ColorInputType::suggestions const):
- html/EmailInputType.cpp:
(WebCore::EmailInputType::typeMismatchFor const):
(WebCore::EmailInputType::typeMismatch const):
(WebCore::EmailInputType::typeMismatchText const):
(WebCore::EmailInputType::sanitizeValue const):
- html/FileInputType.cpp:
(WebCore::FileInputType::appendFormData const):
(WebCore::FileInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::FileInputType::valueMissing const):
(WebCore::FileInputType::valueMissingText const):
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::createInputRenderer):
(WebCore::FileInputType::setValue):
(WebCore::FileInputType::createShadowSubtree):
(WebCore::FileInputType::disabledAttributeChanged):
(WebCore::FileInputType::multipleAttributeChanged):
(WebCore::FileInputType::allowsDirectories const):
(WebCore::FileInputType::setFiles):
(WebCore::FileInputType::iconLoaded):
(WebCore::FileInputType::receiveDroppedFiles):
(WebCore::FileInputType::defaultToolTip const):
- html/HTMLInputElement.h:
(WebCore::HTMLInputElement::weakPtrFactory const):
- html/HiddenInputType.cpp:
(WebCore::HiddenInputType::saveFormControlState const):
(WebCore::HiddenInputType::restoreFormControlState):
(WebCore::HiddenInputType::setValue):
(WebCore::HiddenInputType::appendFormData const):
- html/ImageInputType.cpp:
(WebCore::ImageInputType::appendFormData const):
(WebCore::ImageInputType::handleDOMActivateEvent):
(WebCore::ImageInputType::createInputRenderer):
(WebCore::ImageInputType::altAttributeChanged):
(WebCore::ImageInputType::srcAttributeChanged):
(WebCore::ImageInputType::attach):
(WebCore::ImageInputType::height const):
(WebCore::ImageInputType::width const):
- html/InputType.cpp:
(WebCore::InputType::saveFormControlState const):
(WebCore::InputType::restoreFormControlState):
(WebCore::InputType::isFormDataAppendable const):
(WebCore::InputType::appendFormData const):
(WebCore::InputType::sizeShouldIncludeDecoration const):
(WebCore::InputType::validationMessage const):
(WebCore::InputType::createInputRenderer):
(WebCore::InputType::blur):
(WebCore::InputType::destroyShadowSubtree):
(WebCore::InputType::dispatchSimulatedClickIfActive const):
(WebCore::InputType::chrome const):
(WebCore::InputType::isKeyboardFocusable const):
(WebCore::InputType::isMouseFocusable const):
(WebCore::InputType::accessKeyAction):
(WebCore::InputType::setValue):
(WebCore::InputType::visibleValue const):
(WebCore::InputType::applyStep):
(WebCore::InputType::stepUpFromRenderer):
- html/InputType.h:
(WebCore::InputType::InputType):
(WebCore::InputType::element const):
- html/NumberInputType.cpp:
(WebCore::NumberInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::NumberInputType::setValue):
(WebCore::NumberInputType::valueAsDouble const):
(WebCore::NumberInputType::setValueAsDouble const):
(WebCore::NumberInputType::setValueAsDecimal const):
(WebCore::NumberInputType::typeMismatch const):
(WebCore::NumberInputType::createStepRange const):
(WebCore::NumberInputType::sizeShouldIncludeDecoration const):
(WebCore::NumberInputType::decorationWidth const):
(WebCore::NumberInputType::localizeValue const):
(WebCore::NumberInputType::visibleValue const):
(WebCore::NumberInputType::convertFromVisibleValue const):
(WebCore::NumberInputType::hasBadInput const):
(WebCore::NumberInputType::minOrMaxAttributeChanged):
(WebCore::NumberInputType::stepAttributeChanged):
- html/RadioInputType.cpp:
(WebCore::RadioInputType::valueMissing const):
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::handleKeyupEvent):
(WebCore::RadioInputType::isKeyboardFocusable const):
(WebCore::RadioInputType::shouldSendChangeEventAfterCheckedChanged):
(WebCore::RadioInputType::willDispatchClick):
(WebCore::RadioInputType::didDispatchClick):
(WebCore::RadioInputType::matchesIndeterminatePseudoClass const):
- html/RangeInputType.cpp:
(WebCore::RangeInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::RangeInputType::valueAsDouble const):
(WebCore::RangeInputType::setValueAsDecimal const):
(WebCore::RangeInputType::createStepRange const):
(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::handleTouchEvent):
(WebCore::RangeInputType::handleKeydownEvent):
(WebCore::RangeInputType::createShadowSubtree):
(WebCore::RangeInputType::sliderTrackElement const):
(WebCore::RangeInputType::createInputRenderer):
(WebCore::RangeInputType::accessKeyAction):
(WebCore::RangeInputType::minOrMaxAttributeChanged):
(WebCore::RangeInputType::setValue):
(WebCore::RangeInputType::updateTickMarkValues):
- html/ResetInputType.cpp:
(WebCore::ResetInputType::handleDOMActivateEvent):
- html/SearchInputType.cpp:
(WebCore::SearchInputType::addSearchResult):
(WebCore::SearchInputType::maxResultsAttributeChanged):
(WebCore::SearchInputType::createInputRenderer):
(WebCore::SearchInputType::createShadowSubtree):
(WebCore::SearchInputType::handleKeydownEvent):
(WebCore::SearchInputType::startSearchEventTimer):
(WebCore::SearchInputType::searchEventTimerFired):
(WebCore::SearchInputType::searchEventsShouldBeDispatched const):
(WebCore::SearchInputType::didSetValueByUserEdit):
(WebCore::SearchInputType::sizeShouldIncludeDecoration const):
- html/SubmitInputType.cpp:
(WebCore::SubmitInputType::appendFormData const):
(WebCore::SubmitInputType::handleDOMActivateEvent):
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::attributeChanged): Add a nullptr check here, since
this is called directly by code that causes the old InputType to be removed,
which could leave us with a nullptr element().
(WebCore::TextFieldInputType::isKeyboardFocusable const):
(WebCore::TextFieldInputType::isMouseFocusable const):
(WebCore::TextFieldInputType::valueMissing const):
(WebCore::TextFieldInputType::setValue):
(WebCore::TextFieldInputType::handleKeydownEvent):
(WebCore::TextFieldInputType::handleKeydownEventForSpinButton):
(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::elementDidBlur):
(WebCore::TextFieldInputType::handleFocusEvent):
(WebCore::TextFieldInputType::handleBlurEvent):
(WebCore::TextFieldInputType::createInputRenderer):
(WebCore::TextFieldInputType::shouldHaveSpinButton const):
(WebCore::TextFieldInputType::shouldHaveCapsLockIndicator const):
(WebCore::TextFieldInputType::createShadowSubtree):
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
(WebCore::TextFieldInputType::updatePlaceholderText):
(WebCore::TextFieldInputType::appendFormData const):
(WebCore::TextFieldInputType::subtreeHasChanged):
(WebCore::TextFieldInputType::didSetValueByUserEdit):
(WebCore::TextFieldInputType::updateInnerTextValue):
(WebCore::TextFieldInputType::focusAndSelectSpinButtonOwner):
(WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents):
(WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents):
(WebCore::TextFieldInputType::shouldDrawCapsLockIndicator const):
(WebCore::TextFieldInputType::shouldDrawAutoFillButton const):
(WebCore::TextFieldInputType::autoFillButtonElementWasClicked):
(WebCore::TextFieldInputType::createContainer):
(WebCore::TextFieldInputType::createAutoFillButton):
(WebCore::TextFieldInputType::updateAutoFillButton):
- html/URLInputType.cpp:
(WebCore::URLInputType::typeMismatch const):
- 12:23 AM Changeset in webkit [234409] by
-
- 6 edits2 adds in releases/WebKitGTK/webkit-2.20
Merge r231291 - Use RetainPtr for form input type
https://bugs.webkit.org/show_bug.cgi?id=185210
<rdar://problem/39734040>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Refactor our HTMLInputElement class to store its InputType member as a RefPtr.
Test: fast/forms/access-key-mutation-2.html.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::didAddUserAgentShadowRoot):
(WebCore::HTMLInputElement::accessKeyAction):
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::appendFormData):
- html/HTMLInputElement.h:
- html/InputType.cpp:
(WebCore::createInputType):
(WebCore::InputType::create):
(WebCore::InputType::createText):
- html/InputType.h:
LayoutTests:
- fast/forms/access-key-mutation-2-expected.txt: Added.
- fast/forms/access-key-mutation-2.html: Added.
- 12:01 AM Changeset in webkit [234408] by
-
- 6 edits2 adds in releases/WebKitGTK/webkit-2.20
Merge r231236 - Prevent Debug ASSERT when changing forms
https://bugs.webkit.org/show_bug.cgi?id=185173
<rdar://problem/39738669>
Reviewed by Ryosuke Niwa.
Form submission could trigger a debug assertion during validation when
a form is changed during an input submission. Fix this by cleaning up
the event handling logic and make it more consistent with modern WebKit
coding style.
Test: fast/forms/form-submission-crash-3.html
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultEventHandler): Make sure layout runs before
attempting to perform event handling.
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::reportValidity): Ditto.
(WebCore::HTMLFormElement::validateInteractively): Remove call to perform layout here,
since we expect this to happen earlier in the layout pass. Add an assertion that the
tree is not dirty.
- html/ImageInputType.cpp:
(WebCore::ImageInputType::handleDOMActivateEvent): Make sure layout runs before
attempting to perform event handling.
- html/SubmitInputType.cpp:
(WebCore::SubmitInputType::handleDOMActivateEvent): Ditto.
LayoutTests:
Prevent assertion when changing forms
https://bugs.webkit.org/show_bug.cgi?id=185173
<rdar://problem/39738669>
Reviewed by Ryosuke Niwa.
- fast/forms/form-submission-crash-3-expected.txt: Added.
- fast/forms/form-submission-crash-3.html: Added.
- 12:01 AM Changeset in webkit [234407] by
-
- 4 edits1 add in releases/WebKitGTK/webkit-2.20
Merge r231145 - We don't model regexp effects properly
https://bugs.webkit.org/show_bug.cgi?id=185059
<rdar://problem/39736150>
Reviewed by Filip Pizlo.
JSTests:
- stress/regexp-exec-test-effectful-last-index.js: Added.
(assert):
(foo):
(i.regexLastIndex.toString):
(bar):
Source/JavaScriptCore:
RegExp exec/test can do arbitrary effects when toNumbering the lastIndex if
the regexp is global.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- 12:00 AM Changeset in webkit [234406] by
-
- 4 edits1 add in releases/WebKitGTK/webkit-2.20
Merge r231034 - In FTLLowerDFGToB3.cpp::compileCreateRest, always use a contiguous array as the indexing type when under isWatchingHavingABadTimeWatchpoint
https://bugs.webkit.org/show_bug.cgi?id=184773
<rdar://problem/37773612>
Reviewed by Filip Pizlo.
JSTests:
This bug requires a race between the thread doing FTL compilation and the main thread, but it triggers in 100% of cases (before the fix) on my machine
so I decided to add it to the stress tests nonetheless.
- stress/create-rest-while-having-a-bad-time.js: Added.
(f):
(g):
(h):
Source/JavaScriptCore:
We were calling restParameterStructure(), which returns arrayStructureForIndexingTypeDuringAllocation(ArrayWithContiguous).
arrayStructureForIndexingTypeDuringAllocation uses m_arrayStructureForIndexingShapeDuringAllocation, which is set to SlowPutArrayStorage when we are 'having a bad time'.
This is problematic, because the structure is then passed to allocateUninitializedContiguousJSArray, which ASSERTs that the indexing type is contiguous (or int32).
We solve the problem by using originalArrayStructureForIndexingType which always returns a structure with the right indexing type (contiguous), even if we are having a bad time.
This is safe, as we are under isWatchingHavingABadTimeWatchpoint, so if we have a bad time, the code we generate will never be installed.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCreateRest):
- 12:00 AM Changeset in webkit [234405] by
-
- 3 edits in releases/WebKitGTK/webkit-2.20/JSTests
Merge r230972 - Gardening: test fix after r230863.
https://bugs.webkit.org/show_bug.cgi?id=184846
<rdar://problem/39390672>
Not reviewed.
- stress/json-stringified-overflow-2.js:
(catch):
- stress/json-stringified-overflow.js:
(catch):
- 12:00 AM Changeset in webkit [234404] by
-
- 4 edits1 add in releases/WebKitGTK/webkit-2.20
Merge r230863 - Handle more JSON stringify OOM
https://bugs.webkit.org/show_bug.cgi?id=184846
<rdar://problem/39390672>
Reviewed by Mark Lam.
JSTests:
- stress/json-stringified-overflow-2.js: Added. Same as the one
below, but with a bigger input which will trigger a different code
path.
(catch):
- stress/json-stringified-overflow.js: Modify the test to only
catch OOM on stringification. not on string creation.
Source/WTF:
JSON stringification can OOM easily. Here's another case.
- wtf/text/StringBuilderJSON.cpp:
(WTF::StringBuilder::appendQuotedJSONString):
- 12:00 AM Changeset in webkit [234403] by
-
- 3 edits4 adds in releases/WebKitGTK/webkit-2.20
Merge r230740 - A put is not an ExistingProperty put when we transition a structure because of an attributes change
https://bugs.webkit.org/show_bug.cgi?id=184706
<rdar://problem/38871451>
Reviewed by Saam Barati.
JSTests:
- stress/put-by-id-direct-strict-transition.js: Added.
(const.foo):
(j.const.obj.set hello):
- stress/put-by-id-direct-transition.js: Added.
(const.foo):
(j.const.obj.set hello):
- stress/put-getter-setter-by-id-strict-transition.js: Added.
(const.foo):
(j.const.obj.set hello):
- stress/put-getter-setter-by-id-transition.js: Added.
(const.foo):
(j.const.obj.set hello):
Source/JavaScriptCore:
When putting a property on a structure and the slot is a different
type, the slot can't be said to have already been existing.
- runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectInternal):
- 12:00 AM Changeset in webkit [234402] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20/Source/JavaScriptCore
Merge r231171 - Remove unneeded exception check from String.fromCharCode
https://bugs.webkit.org/show_bug.cgi?id=185083
Reviewed by Mark Lam.
- runtime/StringConstructor.cpp:
(JSC::stringFromCharCode):