⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Mar 2, 2019:

6:50 PM Changeset in webkit [242324] by Alan Bujtas
  • 6 edits in trunk/Source

[ContentChangeObserver] Introduce ContentChangeObserver::MouseMovedScope
https://bugs.webkit.org/show_bug.cgi?id=195252
<rdar://problem/48539446>

Reviewed by Simon Fraser.

Source/WebCore:

Scope the mouse-moved event to make the callsites less error-prone.

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::startObservingMouseMoved):
(WebCore::ContentChangeObserver::stopObservingMouseMoved):
(WebCore::ContentChangeObserver::MouseMovedScope::MouseMovedScope):
(WebCore::ContentChangeObserver::MouseMovedScope::~MouseMovedScope):
(WebCore::ContentChangeObserver::startObservingContentChanges): Deleted.
(WebCore::ContentChangeObserver::stopObservingContentChanges): Deleted.

  • page/ios/ContentChangeObserver.h:
  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::mouseMoved):

Source/WebKit:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):

5:03 PM Changeset in webkit [242323] by Ross Kirsling
  • 2 edits in trunk/Tools

Unreviewed follow-up to r242292. Keep EXPECT_STREQ in tests per Darin's request.

  • TestWebKitAPI/Tests/WebKit/EnvironmentUtilitiesTest.cpp:

(TestWebKitAPI::TEST):

4:18 PM Changeset in webkit [242322] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Unexpectedly frequent flashing of DOM node attributes
https://bugs.webkit.org/show_bug.cgi?id=148049
<rdar://problem/22296830>

Reviewed by Joseph Pecoraro.

Save a timestamp of when the CSS animation began, so that if the attribute's node is replaced,
we can "resume" the CSS animation at the same point with the attribute's new node.

  • UserInterface/Views/DOMTreeElement.js:

(WI.DOMTreeElement):
(WI.DOMTreeElement.prototype.attributeDidChange):
(WI.DOMTreeElement.prototype._buildAttributeDOM):
(WI.DOMTreeElement.prototype._createModifiedAnimation):
(WI.DOMTreeElement.prototype._markNodeChanged): Deleted.
(WI.DOMTreeElement.prototype._nodeChangedAnimationEnd): Deleted.
(WI.DOMTreeElement.prototype._fireDidChange): Deleted.

4:15 PM Changeset in webkit [242321] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[ContentChangeObserver] Introduce ContentChangeObserver::adjustObservedState
https://bugs.webkit.org/show_bug.cgi?id=195244
<rdar://problem/48536737>

Reviewed by Simon Fraser.

Source/WebCore:

Move state change handling code to adjustObservedState() and introduce signalContentChangeIfNeeded() to
let the client know about the state change (or lack of state change).

Test: fast/events/touch/ios/visibility-change-happens-at-the-second-timer.html

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::didInstallDOMTimer):
(WebCore::ContentChangeObserver::didRemoveDOMTimer):
(WebCore::ContentChangeObserver::stopObservingDOMTimerExecute):
(WebCore::ContentChangeObserver::stopObservingStyleRecalc):
(WebCore::ContentChangeObserver::clearTimersAndReportContentChange):
(WebCore::ContentChangeObserver::didContentVisibilityChange):
(WebCore::ContentChangeObserver::addObservedDOMTimer):
(WebCore::ContentChangeObserver::removeObservedDOMTimer):
(WebCore::ContentChangeObserver::setShouldObserveStyleRecalc):
(WebCore::ContentChangeObserver::adjustObservedState):
(WebCore::ContentChangeObserver::signalContentChangeIfNeeded):

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::isObservingDOMTimerScheduling const):
(WebCore::ContentChangeObserver::addObservedDOMTimer): Deleted.
(WebCore::ContentChangeObserver::setShouldObserveStyleRecalc): Deleted.

LayoutTests:

  • fast/events/touch/ios/visibility-change-happens-at-the-second-timer-expected.txt: Added.
  • fast/events/touch/ios/visibility-change-happens-at-the-second-timer.html: Added.
4:02 PM Changeset in webkit [242320] by timothy_horton@apple.com
  • 6 edits
    1 add in trunk/Source/WebKit

Move EditingRange <-> Range methods to EditingRange instead of WebPage
https://bugs.webkit.org/show_bug.cgi?id=195201

Reviewed by Sam Weinig.

  • Shared/EditingRange.h:
  • Shared/EditingRange.cpp:

Also, modernize the coders.

  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::insertTextAsync):
(WebKit::WebPage::getMarkedRangeAsync):
(WebKit::WebPage::getSelectedRangeAsync):
(WebKit::WebPage::characterIndexForPointAsync):
(WebKit::WebPage::firstRectForCharacterRangeAsync):
(WebKit::WebPage::setCompositionAsync):
(WebKit::WebPage::rangeFromEditingRange): Deleted.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::insertDictatedTextAsync):
(WebKit::WebPage::attributedSubstringForCharacterRangeAsync):

2:57 PM Changeset in webkit [242319] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[ContentChangeObserver] Move away from WKContentChange values
https://bugs.webkit.org/show_bug.cgi?id=195240
<rdar://problem/48532358>

Reviewed by Simon Fraser.

This is in preparation for moving towards a state machine-like implementation.

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::didInstallDOMTimer): Do not install the timer if we are already in "hover" state.
(WebCore::ContentChangeObserver::didRemoveDOMTimer):
(WebCore::ContentChangeObserver::startObservingDOMTimerExecute):
(WebCore::ContentChangeObserver::stopObservingDOMTimerExecute):
(WebCore::ContentChangeObserver::startObservingStyleRecalc): No need to start observing the style recalc if we are already in "hover" state.
(WebCore::ContentChangeObserver::stopObservingStyleRecalc):
(WebCore::ContentChangeObserver::clearTimersAndReportContentChange):
(WebCore::ContentChangeObserver::didContentVisibilityChange):
(WebCore::ContentChangeObserver::startObservingContentChanges):
(WebCore::ContentChangeObserver::observedContentChange const):
(WebCore::ContentChangeObserver::removeObservedDOMTimer):
(WebCore::ContentChangeObserver::hasDeterminedState const):
(WebCore::ContentChangeObserver::observedContentChange): Deleted.
(WebCore::ContentChangeObserver::resetObservedContentChange): Deleted.
(WebCore::ContentChangeObserver::setObservedContentChange): Deleted.
(WebCore::ContentChangeObserver::addObservedDOMTimer): Deleted.

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::addObservedDOMTimer):
(WebCore::ContentChangeObserver::clearObservedDOMTimers):
(WebCore::ContentChangeObserver::hasVisibleChangeState const):
(WebCore::ContentChangeObserver::hasObservedDOMTimer const):
(WebCore::ContentChangeObserver::setHasNoChangeState):
(WebCore::ContentChangeObserver::setHasIndeterminateState):
(WebCore::ContentChangeObserver::setHasVisibleChangeState):
(WebCore::ContentChangeObserver::countOfObservedDOMTimers const): Deleted.

2:40 PM Changeset in webkit [242318] by Devin Rousso
  • 11 edits in trunk/Source/WebInspectorUI

Web Inspector: Debugger: DOM, URL, and Event breakpoints don't grey out when all breakpoints are disabled
https://bugs.webkit.org/show_bug.cgi?id=195170
<rdar://problem/48478193>

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/DOMBreakpointTreeElement.js:

(WI.DOMBreakpointTreeElement):
(WI.DOMBreakpointTreeElement.prototype.onattach):
(WI.DOMBreakpointTreeElement.prototype.ondetach):
(WI.DOMBreakpointTreeElement.prototype._updateStatus):

  • UserInterface/Views/EventBreakpointTreeElement.js:

(WI.EventBreakpointTreeElement):
(WI.EventBreakpointTreeElement.prototype.onattach):
(WI.EventBreakpointTreeElement.prototype.ondetach):
(WI.EventBreakpointTreeElement.prototype._updateStatus):

  • UserInterface/Views/URLBreakpointTreeElement.js:

(WI.URLBreakpointTreeElement):
(WI.URLBreakpointTreeElement.prototype.onattach):
(WI.URLBreakpointTreeElement.prototype.ondetach):
(WI.URLBreakpointTreeElement.prototype._updateStatus):
Remove the "resolved" class when the global "breakpoints enabled" state is changed.

  • UserInterface/Controllers/DOMDebuggerManager.js:

(WI.DOMDebuggerManager):
(WI.DOMDebuggerManager.prototype._handleDOMBreakpointDisabledStateChanged): Added.
(WI.DOMDebuggerManager.prototype._handleEventBreakpointDisabledStateChanged): Added.
(WI.DOMDebuggerManager.prototype._handleURLBreakpointDisabledStateChanged): Added.
(WI.DOMDebuggerManager.prototype._updateEventBreakpoint):
(WI.DOMDebuggerManager.prototype._updateURLBreakpoint):
(WI.DOMDebuggerManager.prototype._resolveEventBreakpoint):
(WI.DOMDebuggerManager.prototype._resolveURLBreakpoint):
(WI.DOMDebuggerManager.prototype._updateEventBreakpoint.breakpointUpdated): Deleted.
(WI.DOMDebuggerManager.prototype._updateURLBreakpoint.breakpointUpdated): Deleted.

  • UserInterface/Models/DOMBreakpoint.js:

(WI.DOMBreakpoint):
(WI.DOMBreakpoint.deserialize): Added.
(WI.DOMBreakpoint.prototype.set disabled):
(WI.DOMBreakpoint.prototype.set domNodeIdentifier):

  • UserInterface/Models/EventBreakpoint.js:

(WI.EventBreakpoint.deserialize): Added.
(WI.EventBreakpoint.prototype.set disabled):
(WI.EventBreakpoint.fromPayload): Deleted.

  • UserInterface/Models/URLBreakpoint.js:

(WI.URLBreakpoint.deserialize): Added.
(WI.URLBreakpoint.prototype.set disabled):

  • UserInterface/Views/DOMTreeContentView.js:

(WI.DOMTreeContentView):
(WI.DOMTreeContentView.prototype._handleDOMBreakpointDisabledStateChanged): Added.
(WI.DOMTreeContentView.prototype._handleDOMBreakpointDOMNodeChanged): Added.

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WI.DebuggerSidebarPanel.prototype._handleDOMBreakpointResolvedStateChanged): Added.

  • UserInterface/Views/SourcesNavigationSidebarPanel.js:

(WI.SourcesNavigationSidebarPanel):
(WI.SourcesNavigationSidebarPanel.prototype._handleDOMBreakpointResolvedStateChanged): Added.
Drive-by: rename all events with the name *DidChange to *Changed.
Drive-by: create static deserialize helper functions.

1:50 PM Changeset in webkit [242317] by Wenson Hsieh
  • 40 edits
    2 copies
    1 move in trunk

[iOS] Programmatic paste access should be granted when copying and pasting within the same origin
https://bugs.webkit.org/show_bug.cgi?id=195053
<rdar://problem/48134710>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Plumb the document pasteboard identifier through the client when making a DOM paste access request. See WebKit
ChangeLog for more details.

Test: editing/pasteboard/ios/dom-paste-same-origin.html

  • WebCore.xcodeproj/project.pbxproj:
  • dom/DOMPasteAccess.h: Renamed from Source/WebCore/dom/DOMPasteAccessPolicy.h.

Introduce DOMPasteAccessResponse, which is either DeniedForGesture, GrantedForCommand, or GrantedForGesture. In
particular, when pasteboard identifiers match, we only grant access for the current paste command, rather than
throughout the user gesture.

  • dom/UserGestureIndicator.h:

(WebCore::UserGestureToken::didRequestDOMPasteAccess):

  • loader/EmptyClients.cpp:
  • page/EditorClient.h:
  • page/Frame.cpp:

(WebCore::Frame::requestDOMPasteAccess):

Source/WebKit:

Add support for automatically granting programmatic pasteboard access when the pasteboard identifier of the
document requesting programmatic paste matches the identifier in the custom pasteboard data blob in the
UIPasteboard. To do this, we send the pasteboard identifier of the document requesting the DOM paste to the UI
process, and check this against the pasteboard identifiers for each item on the platform pasteboard. If all
items in the platform pasteboard match the given pasteboard identifier (since we don't support writing multiple
pasteboard items via bindings, this should only be a single item), we skip showing the paste callout and
immediately invoke the programmatic paste handler.

  • Scripts/webkit/messages.py:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::requestDOMPasteAccess):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/wpe/PageClientImpl.cpp:

(WebKit::PageClientImpl::requestDOMPasteAccess):

  • UIProcess/API/wpe/PageClientImpl.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestDOMPasteAccess):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:

Add plumbing to deliver the pasteboard identifier to the client when requesting DOM paste.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::requestDOMPasteAccess):

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView cleanupInteraction]):
(-[WKContentView resignFirstResponderForWebView]):
(-[WKContentView _webTouchEventsRecognized:]):
(-[WKContentView _willHideMenu:]):
(-[WKContentView pasteForWebView:]):
(-[WKContentView _handleDOMPasteRequestWithResult:]):
(-[WKContentView _willPerformAction:sender:]):
(-[WKContentView _didPerformAction:sender:]):
(-[WKContentView handleKeyWebEvent:withCompletionHandler:]):
(allPasteboardItemOriginsMatchOrigin):
(-[WKContentView _requestDOMPasteAccessWithElementRect:originIdentifier:completionHandler:]):
(-[WKContentView _requestDOMPasteAccessWithElementRect:completionHandler:]): Deleted.

Bail early in the case where all items' pasteboard identifiers (read via custom pasteboard data) match. When
this happens, we only grant access for the current paste command, rather than granting access for the user
gesture token.

  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/win/PageClientImpl.cpp:

(WebKit::PageClientImpl::requestDOMPasteAccess):

  • UIProcess/win/PageClientImpl.h:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::requestDOMPasteAccess):

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::requestDOMPasteAccess):

  • WebProcess/WebPage/WebPage.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebEditorClient.h:

Source/WebKitLegacy/win:

  • WebCoreSupport/WebEditorClient.h:

LayoutTests:

Adjust several existing DOM paste tests to copy text from a child frame that has a different origin as the main
frame, such that we'll trigger the paste callout menu when performing a programmatic paste. Also add a new
layout test that copies and programmatically pastes within the same document, to verify that no paste callout is
displayed and the paste is allowed.

  • editing/pasteboard/ios/dom-paste-confirmation-expected.txt:
  • editing/pasteboard/ios/dom-paste-confirmation.html:
  • editing/pasteboard/ios/dom-paste-consecutive-confirmations-expected.txt:
  • editing/pasteboard/ios/dom-paste-consecutive-confirmations.html:
  • editing/pasteboard/ios/dom-paste-rejection-expected.txt:
  • editing/pasteboard/ios/dom-paste-rejection.html:
  • editing/pasteboard/ios/dom-paste-requires-user-gesture-expected.txt:
  • editing/pasteboard/ios/dom-paste-requires-user-gesture.html:
  • editing/pasteboard/ios/dom-paste-same-origin-expected.txt: Copied from LayoutTests/editing/pasteboard/ios/dom-paste-confirmation-expected.txt.
  • editing/pasteboard/ios/dom-paste-same-origin.html: Copied from LayoutTests/editing/pasteboard/ios/dom-paste-confirmation.html.
12:54 PM Changeset in webkit [242316] by Darin Adler
  • 11 edits in trunk/Source

Fixed makeString(float) to do shortest-form serialization without first converting to double
https://bugs.webkit.org/show_bug.cgi?id=195142

Reviewed by Daniel Bates.

Source/WebCore:

  • platform/graphics/Color.cpp: Removed unneeded include of DecimalNumber.h.

Source/WebKit:

  • UIProcess/PerActivityStateCPUUsageSampler.cpp: Removed unneeded include of DecimalNumber.h.

Source/WTF:

  • wtf/DecimalNumber.cpp: Removed unneeded includes.
  • wtf/DecimalNumber.h: Removed unused constructors; over time we will be

deprecating DecimalNumber, so we should removed the unused parts. Also
marked the constructor explicit, removed types used only for arguments for
the constructors, and removed the sign, exponent, significand, and precision
member functions.

  • wtf/JSONValues.cpp:

(WTF::JSONImpl::Value::writeJSON const): Updated for changes to DecimalNumber
switched from NumberToLStringBuffer to NumberToStringBuffer, and for use of
std::array instead of C arrays.

  • wtf/dtoa.cpp: Removed unused dtoaRoundSF and dtoaRoundDP functions.

(WTF::dtoa): Updated to use std::array instead of C arrays.
(WTF::dtoaRoundSF): Removed.
(WTF::dtoaRoundDP): Removed.
(WTF::numberToString): Added an overload for float and updated to use std::array.
(WTF::formatStringTruncatingTrailingZerosIfNeeded): Updated to use std::array.
(WTF::numberToFixedPrecisionString): Ditto.
(WTF::numberToFixedWidthString): Ditto.

  • wtf/dtoa.h: Changed arrays to be std::array instead of C arrays so the

array types will be checked. Removed dtoaRoundSF and dtoaRoundDP.
Added float overloads for numberToString, numberToFixedPrecisionString,
and numberToFixedWidthString. The only one of these that is called at this
time is numberToString, called by the floating point StringTypeAdapter in
StringConcatenateNummbers.h.

  • wtf/text/StringConcatenateNumbers.h: Updated for std::array.
12:50 PM Changeset in webkit [242315] by Devin Rousso
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Sources: breakpoints should be disabled when an audit is running
https://bugs.webkit.org/show_bug.cgi?id=195105
<rdar://problem/48441373>

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/SourcesNavigationSidebarPanel.js:

(WI.SourcesNavigationSidebarPanel):
(WI.SourcesNavigationSidebarPanel.prototype.closed):
(WI.SourcesNavigationSidebarPanel.prototype._updateTemporarilyDisabledBreakpointsButtons): Added.
(WI.SourcesNavigationSidebarPanel.prototype._updateBreakpointsDisabledBanner):
(WI.SourcesNavigationSidebarPanel.prototype._handleTimelineCapturingWillStart):
(WI.SourcesNavigationSidebarPanel.prototype._handleTimelineCapturingStopped):
(WI.SourcesNavigationSidebarPanel.prototype._handleAuditManagerTestScheduled): Added.
(WI.SourcesNavigationSidebarPanel.prototype._handleAuditManagerTestCompleted): Added.

  • UserInterface/Views/SourcesNavigationSidebarPanel.css:

(.sidebar > .panel.navigation.sources > .content > .warning-banner + .warning-banner): Added.

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WI.DebuggerSidebarPanel):

12:32 PM Changeset in webkit [242314] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Debugger: don't enable breakpoints when source location changes
https://bugs.webkit.org/show_bug.cgi?id=195081
<rdar://problem/48422701>

Reviewed by Joseph Pecoraro.

  • UserInterface/Controllers/DebuggerManager.js:

(WI.DebuggerManager.prototype._breakpointDisplayLocationDidChange):
(WI.DebuggerManager.prototype._breakpointEditablePropertyDidChange):

11:15 AM Changeset in webkit [242313] by Simon Fraser
  • 5 edits
    3 adds in trunk

REGRESSION (r242132): Incorrect positioning with multiple position:fixed elements
https://bugs.webkit.org/show_bug.cgi?id=195246

Reviewed by Frederic Wang.

Source/WebCore:

r242132 introduced a bug where the management of 'cumulativeDelta' in ScrollingTree::notifyRelatedNodesRecursive
was incorrect. This value should propagate from ancestors to descendants, but not between siblings in the scrolling
tree, which it did, causing sibling position:fixed to behave incorrectly.

Test: scrollingcoordinator/mac/multiple-fixed.html

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::notifyRelatedNodesRecursive):

  • page/scrolling/ScrollingTree.h:

LayoutTests:

Test that uses eventSender to scroll (and is thus macOS-only).

  • platform/ios-wk2/TestExpectations:
  • scrollingcoordinator/mac/multiple-fixed-expected.html: Added.
  • scrollingcoordinator/mac/multiple-fixed.html: Added.
9:50 AM Changeset in webkit [242312] by Adrian Perez de Castro
  • 4 edits
    2 adds in trunk/Source/WebKit

[WPE] Public API headers are missing autocleanup definitions
https://bugs.webkit.org/show_bug.cgi?id=195211

Reviewed by Philippe Normand.

  • PlatformWPE.cmake: List new API headers as installable.
  • UIProcess/API/wpe/WebKitAutocleanups.h: Added. This is a copy of the header from the GTK

port, adapted to fit the WPE port.

  • UIProcess/API/wpe/webkit.h: Add inclusion of WebKitAutocleanups.h
  • WebProcess/InjectedBundle/API/wpe/WebKitWebExtensionAutocleanups.h: Added. Also adapted

from the equivalent header of the GTK port.

  • WebProcess/InjectedBundle/API/wpe/webkit-web-extension.h: Add inclusion of

WebKitWebExtensionAutocleanups.h

9:33 AM Changeset in webkit [242311] by Darin Adler
  • 4 edits in trunk/Source/WebCore

Improve some comments
https://bugs.webkit.org/show_bug.cgi?id=195243

Reviewed by Daniel Bates.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _addAccessibilityObject:toTextMarkerArray:]):
Fix a typo in a comment.

  • dom/RadioButtonGroups.cpp: Fix a typo in a comment.

(WebCore::RadioButtonGroups::checkedButtonForGroup const): Use nullptr instead of 0.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::~HTMLInputElement): Improved a comment, but sadly made
it a bit longer. Use nullptr instead of 0.
(WebCore::HTMLInputElement::didMoveToNewDocument): Added a comment.

8:28 AM Changeset in webkit [242310] by Michael Catanzaro
  • 3 edits in trunk/Source/WebKit

Remove unused WebPageProxy::m_navigationID
https://bugs.webkit.org/show_bug.cgi?id=195209

Reviewed by Darin Adler.

WebPageProxy::m_navigationID is never assigned to and is only used once by mistake in a
debug LOG(). It must be a refactoring mistake.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):

  • UIProcess/WebPageProxy.h:

Mar 1, 2019:

10:09 PM Changeset in webkit [242309] by Wenson Hsieh
  • 5 edits in trunk

[Datalist] fast/forms/datalist/datalist-child-validation.html crashes with a debug assertion in isValidFormControlElement()
https://bugs.webkit.org/show_bug.cgi?id=190620
<rdar://problem/19226679>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Fixes and re-enables an existing layout test that is asserting on debug builds (and failing on release builds).
To understand why we hit this assertion, we first note several observations:

  • The validity of a form control (isValid()) depends on the value of willValidate().
  • Both of these results are cached in member variables: m_isValid and m_willValidate, respectively.
  • willValidate() changes the cached value of m_willValidate if necessary, but isValid() uses the

cached value without update.

Now, consider the following scenario:

  1. Something changes in the DOM that changes the result of willValidate(). This can happen as a result of

several things:

  1. The form control changes readonly state
  2. The form control changes disabled state
  3. The form control is added to a datalist element
  4. The form control is removed from a datalist element
  1. Call willValidate().
  2. Call isValid().

In scenarios (a) - (c), we ensure that cached form control validity (m_isValid) is updated alongside
m_willValidate by invoking setNeedsWillValidateCheck(), such that the result of isValid() matches the
result of m_isValid in step (3). However, in the last scenario (d), we don't do this, which causes form
control validity to fall out of sync with the result of isValid(). To fix the bug, we update willValidate and
isValid when a form control is removed from an ancestor, only if one of its ancestors is a datalist element.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::insertedIntoAncestor):
(WebCore::HTMLFormControlElement::removedFromAncestor):

Make a couple of minor tweaks:

  • Currently, we always invalidate m_dataListAncestorState by resetting the state to Unknown when the form control is removed from an ancestor or inserted. Instead, we only need to reset it when the form control already has an ancestor that is a datalist (in the case where it's being removed) or when the form control does not yet have an ancestor (in the case where it is being added).
  • If the form control was inside a datalist prior to removal, recompute its cached value of m_willValidate, as well as its cached validity (m_isValid).

LayoutTests:

Re-enables a crashing layout test. See WebCore ChangeLog for more details.

  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
9:45 PM Changeset in webkit [242308] by Darin Adler
  • 29 edits in trunk

Finish removing String::format
https://bugs.webkit.org/show_bug.cgi?id=194893

Reviewed by Daniel Bates.
Source/JavaScriptCore:

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::nameForRegister): Use makeString instead of String::format,
using the new "pad" function.

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::lastModified const): Use makeString and pad.

  • html/FTPDirectoryDocument.cpp:

(WebCore::processFileDateString): Ditto.

  • mathml/MathMLElement.cpp:

(WebCore::convertToPercentageIfNeeded): Use makeString and FormattedNumber.

  • page/cocoa/ResourceUsageOverlayCocoa.mm:

(WebCore::ResourceUsageOverlay::platformDraw): Use makeString and pad.

  • page/linux/ResourceUsageOverlayLinux.cpp:

(WebCore::cpuUsageString): Use makeString, FormattedNumber, and pad.
(WebCore::gcTimerString): Use String::number.

  • platform/DateComponents.cpp:

(WebCore::DateComponents::toStringForTime const): Use makeString and pad.
(WebCore::DateComponents::toString const): Ditto.

  • platform/LocalizedStrings.cpp: Removed comment that mentioned String::format,

and that was also inaccurate.

  • platform/audio/HRTFElevation.cpp:

(WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
Use makeString and pad.

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::drawText): Ditto.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::logLayerInfo): Ditto.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::formatMediaControlsTime const): Ditto.

Source/WebKit:

  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticator::getAssertion): Use makeString, attempting to fix
a problem where we passed an NSData * to format with a "%s"."

Source/WebKitLegacy/win:

  • FullscreenVideoController.cpp:

(timeToString): Use makeString and pad.

Source/WTF:

  • wtf/Assertions.cpp:

(WTF::createWithFormatAndArguments): Moved this here from WTFString.cpp.
(WTFLog): Use WTF::createWithFormatAndArguments instead of String::format.

  • wtf/HexNumber.h: Deleted unneeded toString function.
  • wtf/text/StringConcatenate.h: Got rid of unneeded forward declaration of

StringTypeAdapter, since that's now in Forward.h. Tweaked formatting of templates
a bit. Use function templates for writeTo functions rather than having two of each.
Removed unused toString functions. Optimized case where we use have a UChar* and
a length of zero to not force the result to be 16-bit. Also gets rid of a small
NO_RETURN_DUE_TO_CRASH mess that we don't need. Refactored constructors to use some
static member helper functions to compute string lengths. Added the pad function
and the PaddingSpecification struct template, so we can add padding to anything
we can turn into a string. Got rid of the special case overload for single
arguments, since it only worked for things that the String constructor can handle.
Instead we will now use StringTypeAdapter, which works for more types. Possibly
less optimal for some special cases, which we could specialize for later if we like.

  • wtf/text/StringConcatenateNumbers.h: Ditto.
  • wtf/text/StringOperators.h: Ditto.
  • wtf/text/StringView.h: Ditto.
  • wtf/text/WTFString.cpp:

(WTF::createWithFormatAndArguments): Deleted.
(WTF::String::format): Deleted.

  • wtf/text/WTFString.h: Deleted declaration of String::format.
7:44 PM Changeset in webkit [242307] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Do not attempt to set WAL Journal mode on a readonly SQLite database
https://bugs.webkit.org/show_bug.cgi?id=195237

Reviewed by Simon Fraser.

This avoids logging errors when opening the database.

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::open):
(WebCore::SQLiteDatabase::useWALJournalMode):

  • platform/sql/SQLiteDatabase.h:
7:27 PM Changeset in webkit [242306] by chris.reid@sony.com
  • 6 edits
    1 move
    14 adds in trunk/Source

[PlayStation] Upstream playstation's remote inspector server
https://bugs.webkit.org/show_bug.cgi?id=193806

Reviewed by Joseph Pecoraro.

Upstreaming PlayStation's Remote Inspector implementation.
It is using a JSON RPC protocol over TCP sockets.
This inspector implementation is planned to also support running on a WinCairo Client and Server.

  • PlatformPlayStation.cmake:
  • SourcesGTK.txt:
  • SourcesWPE.txt:
  • inspector/remote/RemoteConnectionToTarget.cpp: Renamed from Source/JavaScriptCore/inspector/remote/glib/RemoteConnectionToTargetGlib.cpp.
  • inspector/remote/RemoteInspector.h:
  • inspector/remote/playstation/RemoteInspectorConnectionClient.h: Added.
  • inspector/remote/playstation/RemoteInspectorConnectionClientPlayStation.cpp: Added.
  • inspector/remote/playstation/RemoteInspectorMessageParser.h: Added.
  • inspector/remote/playstation/RemoteInspectorMessageParserPlayStation.cpp: Added.
  • inspector/remote/playstation/RemoteInspectorPlayStation.cpp: Added.
  • inspector/remote/playstation/RemoteInspectorServer.h: Added.
  • inspector/remote/playstation/RemoteInspectorServerPlayStation.cpp: Added.
  • inspector/remote/playstation/RemoteInspectorSocket.h: Added.
  • inspector/remote/playstation/RemoteInspectorSocketClient.h: Added.
  • inspector/remote/playstation/RemoteInspectorSocketClientPlayStation.cpp: Added.
  • inspector/remote/playstation/RemoteInspectorSocketPlayStation.cpp: Added.
  • inspector/remote/playstation/RemoteInspectorSocketServer.h: Added.
  • inspector/remote/playstation/RemoteInspectorSocketServerPlayStation.cpp: Added.
7:12 PM Changeset in webkit [242305] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed Windows build fix after r242302.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

6:41 PM Changeset in webkit [242304] by achristensen@apple.com
  • 3 edits in trunk/Source/WebKit

NetworkDataTask redirection should not keep alive its NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=194927

Reviewed by Darin Adler.

This should fix rdar://problem/47580502

  • NetworkProcess/NetworkDataTask.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):

6:29 PM Changeset in webkit [242303] by achristensen@apple.com
  • 15 edits in trunk/Source

Revert r241223, r241235, and r241287
https://bugs.webkit.org/show_bug.cgi?id=194427
<rdar://48045861>

Source/WebKit:

This caused crashes, and feature design has evolved away from needing the daemon in this form.

  • NetworkProcess/EntryPoint/Cocoa/Daemon/DaemonEntryPoint.mm:

(WebKit::DaemonMain):

  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceEventHandler):
(WebKit::XPCServiceMain):
(WebKit::XPCEventHandler): Deleted.
(WebKit::XPCInitializationHandler): Deleted.

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration usesNetworkingDaemon]): Deleted.
(-[_WKProcessPoolConfiguration setUsesNetworkingDaemon:]): Deleted.

  • UIProcess/AuxiliaryProcessProxy.cpp:

(WebKit::AuxiliaryProcessProxy::getLaunchOptions):

  • UIProcess/Launcher/ProcessLauncher.h:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::serviceName):
(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::getLaunchOptions):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::usesNetworkingDaemon const): Deleted.

  • UIProcess/WebProcessPool.h:

Source/WTF:

  • wtf/spi/darwin/XPCSPI.h:
6:27 PM Changeset in webkit [242302] by achristensen@apple.com
  • 10 edits in trunk

Add setters on WKWebsiteDataStore for sourceApplicationBundleIdentifier and sourceApplicationSecondaryIdentifier
https://bugs.webkit.org/show_bug.cgi?id=195229
<rdar://problem/48520362>

Reviewed by Chris Dumez.

Source/WebKit:

Just like _setBoundInterfaceIdentifier, we need a way to set these properties after instantiation of a WKWebsiteDataStore,
but we need to make sure we don't set it after the parameters have been copied to the NetworkProcess.

Functionality verified by manual testing. See radar.
Added an API test that verifies the setter restrictions work as expected.

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _sourceApplicationBundleIdentifier]):
(-[WKWebsiteDataStore _setSourceApplicationBundleIdentifier:]):
(-[WKWebsiteDataStore _sourceApplicationSecondaryIdentifier]):
(-[WKWebsiteDataStore _setSourceApplicationSecondaryIdentifier:]):

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:

(WebKit::toPKPaymentRequest):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::WebsiteDataStore):
(WebKit::WebsiteDataStore::setSourceApplicationSecondaryIdentifier):
(WebKit::WebsiteDataStore::setSourceApplicationBundleIdentifier):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::sourceApplicationBundleIdentifier):
(WebKit::WebsiteDataStore::sourceApplicationSecondaryIdentifier):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:

(TEST):

5:33 PM Changeset in webkit [242301] by sbarati@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Create SPI to crash if a JSC VM is created
https://bugs.webkit.org/show_bug.cgi?id=195231
<rdar://problem/47717990>

Reviewed by Mark Lam.

  • API/JSVirtualMachine.mm:

(+[JSVirtualMachine setCrashOnVMCreation:]):

  • API/JSVirtualMachinePrivate.h:
  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::setCrashOnVMCreation):

  • runtime/VM.h:
5:18 PM Changeset in webkit [242300] by Joseph Pecoraro
  • 8 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: CPU Usage - Energy Impact Section
https://bugs.webkit.org/show_bug.cgi?id=195151

Reviewed by Devin Rousso.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:

New strings and resources.

  • UserInterface/Views/CPUTimelineView.css:

(.timeline-view.cpu > .content .subtitle > .info):
(@media (prefers-color-scheme: dark)):
(.energy-info-popover-content):
(.timeline-view.cpu > .content > .overview > .divider):
(body[dir=ltr] .timeline-view.cpu > .content > .overview > .divider):
(body[dir=rtl] .timeline-view.cpu > .content > .overview > .divider):
(.timeline-view.cpu :matches(.area-chart, .stacked-area-chart) svg > path):
(.timeline-view.cpu .gauge-chart:not(.empty) > svg > path.low):
(.timeline-view.cpu .gauge-chart:not(.empty) > svg > path.medium):
(.timeline-view.cpu .gauge-chart:not(.empty) > svg > path.high):
(.timeline-view.cpu .gauge-chart:not(.empty) > svg > polygon.needle):
(.timeline-view.cpu .energy):
(.timeline-view.cpu .energy .energy-impact):
(.timeline-view.cpu .energy .energy-impact.low):
(.timeline-view.cpu .energy .energy-impact.medium):
(.timeline-view.cpu .energy .energy-impact.high):
(.timeline-view.cpu .energy .energy-impact-number):
Styling the chart and text for the different energy impact levels.

  • UserInterface/Views/CPUTimelineView.js:

(WI.CPUTimelineView.prototype.get lowEnergyValue):
(WI.CPUTimelineView.prototype.get highEnergyValue):
(WI.CPUTimelineView.prototype.initialLayout):
(WI.CPUTimelineView.prototype.layout):
(WI.CPUTimelineView.prototype._layoutEnergyChart.mapWithBias):
(WI.CPUTimelineView.prototype._layoutEnergyChart.valuesForGauge):
(WI.CPUTimelineView.prototype._layoutEnergyChart):
(WI.CPUTimelineView.prototype._clearEnergyImpactText):
New gauge chart and associated popover.
We do a bit of biasing of the data for each of the sections
in the gauge chart. Each section biases toward the cap of the
section so that:

  • we encourage lower power usage (sub 3%)
  • the gauge needle quickly moves past the low value of a range
  • UserInterface/Views/GaugeChart.css: Added.

(.gauge-chart):
(body[dir=rtl] .gauge-chart):
(.gauge-chart > svg > path,):
(.gauge-chart > svg > polygon.needle):
(.gauge-chart.empty > svg > polygon.needle):
(@media (prefers-color-scheme: dark)):

  • UserInterface/Views/GaugeChart.js: Added.

(WI.GaugeChart.prototype.get size):
(WI.GaugeChart.prototype.get segments):
(WI.GaugeChart.prototype.get value):
(WI.GaugeChart.prototype.set value):
(WI.GaugeChart.prototype.clear):
(WI.GaugeChart.prototype.initialLayout):
(WI.GaugeChart.prototype.layout):
(WI.GaugeChart.prototype._validateSegments):
(WI.GaugeChart.prototype._createSegmentPathData):
GaugeChart with variable number of sections and a
current value needle. It has a bit of customization
when drawing the arc at the start of each segment.

  • UserInterface/Views/Variables.css:

(:root):
(@media (prefers-color-scheme: dark)):
New CPU colors for the different energy impact levels.

5:05 PM Changeset in webkit [242299] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Fix FTL build on ARM32_64 by adding stubs for JSRopeString::offsetOfXXX
https://bugs.webkit.org/show_bug.cgi?id=195235

Reviewed by Saam Barati.

This is a workaround until https://bugs.webkit.org/show_bug.cgi?id=195234 is done.

  • runtime/JSString.h:
5:04 PM Changeset in webkit [242298] by Kocsen Chung
  • 1 copy in tags/Safari-607.1.40.0.3

Tag Safari-607.1.40.0.3.

4:50 PM Changeset in webkit [242297] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[iOS] Turn mouse event simulation on by default
https://bugs.webkit.org/show_bug.cgi?id=195218
<rdar://problem/48516794>

Patch by Antoine Quint <Antoine Quint> on 2019-03-01
Reviewed by Dean Jackson.

Source/WebCore:

  • page/RuntimeEnabledFeatures.h:

Source/WebKit:

  • Shared/WebPreferences.yaml:
4:37 PM Changeset in webkit [242296] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Data grid border colors don't match accent colors
https://bugs.webkit.org/show_bug.cgi?id=195232

Reviewed by Matt Baker.

  • UserInterface/Views/DataGrid.css:

(.data-grid:focus tr.selected td:not(:last-child)):
(body[dir=ltr] .data-grid:focus tr.selected td:not(:last-child)):
(body[dir=rtl] .data-grid:focus tr.selected td:not(:last-child)):

4:30 PM Changeset in webkit [242295] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Disable NetworkStateNotifier::singleton()'s isMainThread() assertion when the WebThread is enabled
https://bugs.webkit.org/show_bug.cgi?id=195230
<rdar://problem/47925359>

Reviewed by Ryosuke Niwa.

Disable NetworkStateNotifier::singleton()'s isMainThread() assertion when the WebThread is enabled
to address crashes on iOS WK1.

  • platform/network/NetworkStateNotifier.cpp:

(WebCore::shouldSuppressThreadSafetyCheck):
(WebCore::NetworkStateNotifier::singleton):

4:23 PM Changeset in webkit [242294] by Simon Fraser
  • 4 edits in trunk

Add a system trace scope for event region building
https://bugs.webkit.org/show_bug.cgi?id=195226

Reviewed by Jon Lee.

This trace scope measures the time spend converting element rects into Region objects,
which can be large on some pages.

The value for "Display Refresh Dispatch to main thread" was wrong and I fixed it.

Source/WTF:

  • wtf/SystemTracing.h:

Tools:

  • Tracing/SystemTracePoints.plist:
4:23 PM Changeset in webkit [242293] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Show mouse event regions in the overlay
https://bugs.webkit.org/show_bug.cgi?id=195227

Reviewed by Tim Horton.

Enhance event region overlays to show more kinds of events.

  • page/DebugPageOverlays.cpp:

(WebCore::touchEventRegionColors):
(WebCore::NonFastScrollableRegionOverlay::drawRect):

3:30 PM Changeset in webkit [242292] by Ross Kirsling
  • 8 edits in trunk

EnvironmentUtilities::stripValuesEndingWithString isn't thread-safe
https://bugs.webkit.org/show_bug.cgi?id=194612

Reviewed by Alex Christensen.

Source/WebKit:

This API test really shouldn't be verifying that the actual environment was successfully modified.

At its core, stripValuesEndingWithString is really just split-filter-join. By replacing it with a pair of
simple functions -- one for string processing, one for environment processing -- the API test only needs to
worry about the former.

  • Platform/unix/EnvironmentUtilities.cpp:

(WebKit::EnvironmentUtilities::stripEntriesEndingWith):
(WebKit::EnvironmentUtilities::removeValuesEndingWith):
(WebKit::EnvironmentUtilities::stripValuesEndingWithString): Deleted.

  • Platform/unix/EnvironmentUtilities.h:

Replace old function with a pair of simpler ones.

  • NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkServiceEntryPoint.mm:

(NetworkServiceInitializer):

  • PluginProcess/EntryPoint/Cocoa/XPCService/PluginServiceEntryPoint.mm:

(PluginServiceInitializer):

  • WebProcess/EntryPoint/Cocoa/XPCService/WebContentServiceEntryPoint.mm:

(WebContentServiceInitializer):
Update function name.

Tools:

  • TestWebKitAPI/Tests/WebKit/EnvironmentUtilitiesTest.cpp:

Just test the new string-processing function and don't touch the actual environment.
(Test cases are all as before, but based on operator== instead of strcmp.)

3:09 PM Changeset in webkit [242291] by aakash_jain@apple.com
  • 7 edits in trunk/Tools

[ews-app] Update primary keys for handling multiple Buildbot instances
https://bugs.webkit.org/show_bug.cgi?id=195120

Reviewed by Stephanie Lewis.

Use a new primary key uid for build and step tables. Previous primary keys build_id and step_id
were not enough to handle multiple buildbot instances. This new primary key uid would be generated
by a combination of buildbot_instance_id and current primary key. e.g.: buildbot_instance_id + build_id

  • BuildSlaveSupport/ews-app/ews/models/build.py: Added new primary key uid.
  • BuildSlaveSupport/ews-app/ews/models/step.py: Ditto.
  • BuildSlaveSupport/ews-app/ews/models/buildbotinstance.py: Generate uid and instance_id.
  • BuildSlaveSupport/ews-app/ews/views/results.py: Updated to receive hostname in events.
  • BuildSlaveSupport/ews-build/events.py: Send hostname along-with events.
  • BuildSlaveSupport/ews-build/master.cfg: Ditto.
2:48 PM Changeset in webkit [242290] by Alan Bujtas
  • 5 edits
    2 adds in trunk

[ContentChangeObserver] Check for pending style recalcs at the end of each timer run.
https://bugs.webkit.org/show_bug.cgi?id=195220
<rdar://problem/48518979>

Reviewed by Simon Fraser.

Source/WebCore:

didScheduleStyleRecalc callback was introduced to see if a style recalc is scheduled while firing the DOM timer. However it does not handle the case
when in addition to this style recalc scheduling, something later (though during the same timer firing) triggers a sync style recalc.
Let's just check if we've got a pending style recalc when the DOM timer comes back.

Test: fast/events/touch/ios/style-recalc-schedule-and-force-relalc.html

  • dom/Document.cpp:

(WebCore::Document::scheduleStyleRecalc):

  • page/ios/ContentChangeObserver.cpp:

(WebCore::hasPendingStyleRecalc):
(WebCore::ContentChangeObserver::startObservingDOMTimerExecute):
(WebCore::ContentChangeObserver::stopObservingDOMTimerExecute):
(WebCore::ContentChangeObserver::startObservingContentChanges):
(WebCore::ContentChangeObserver::didScheduleStyleRecalc): Deleted.

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::startObservingStyleRecalcScheduling): Deleted.
(WebCore::ContentChangeObserver::stopObservingStyleRecalcScheduling): Deleted.
(WebCore::ContentChangeObserver::isObservingStyleRecalcScheduling const): Deleted.

LayoutTests:

  • fast/events/touch/ios/style-recalc-schedule-and-force-relalc-expected.txt: Added.
  • fast/events/touch/ios/style-recalc-schedule-and-force-relalc.html: Added.
2:18 PM Changeset in webkit [242289] by don.olmstead@sony.com
  • 5 edits in trunk/Source/WebKit

Unify WebsiteDataStore::defaultDataStoreConfiguration across ports
https://bugs.webkit.org/show_bug.cgi?id=194844

Reviewed by Youenn Fablet.

Move the Cocoa implementation into APIWebsiteDataStore.cpp as the source of truth and
append configuration for Glib's DeviceIdHashSalts storage directory. This also fixes
a crash in Windows when running a Service Worker.

  • UIProcess/API/APIWebsiteDataStore.cpp:

(API::WebsiteDataStore::defaultDeviceIdHashSaltsStorageDirectory):
(API::WebsiteDataStore::defaultDataStoreConfiguration):

  • UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:

(API::WebsiteDataStore::defaultDeviceIdHashSaltsStorageDirectory): Deleted.
(API::WebsiteDataStore::defaultDataStoreConfiguration): Deleted.

  • UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp:

(API::WebsiteDataStore::defaultDataStoreConfiguration): Deleted.

  • UIProcess/API/win/APIWebsiteDataStoreWin.cpp:

(API::WebsiteDataStore::defaultDeviceIdHashSaltsStorageDirectory): Deleted.
(API::WebsiteDataStore::defaultDataStoreConfiguration): Deleted.

2:11 PM Changeset in webkit [242288] by wilander@apple.com
  • 20 edits
    10 adds in trunk

Resource Load Statistics: Further restrict client-side cookie persistence after cross-site navigations with link decoration
https://bugs.webkit.org/show_bug.cgi?id=195196
<rdar://problem/48006419>

Reviewed by Brent Fulgham.

Source/WebCore:

Tests: http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-decoration-same-site.html

http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource.html
http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource.html
http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource.html
http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource.html

Trackers abuse link query parameters to transport user identifiers cross-site.
This patch detects such navigations and applies further restrictions to
client-site cookies on the destination page.

  • platform/network/NetworkStorageSession.cpp:

(WebCore::NetworkStorageSession::setAgeCapForClientSideCookies):

Now sets the regular 7-day cap and a reduced 1-day cap.

(WebCore::NetworkStorageSession::clearPageSpecificDataForResourceLoadStatistics):

Renamed NetworkStorageSession::removeStorageAccessForAllFramesOnPage() to
NetworkStorageSession::clearPageSpecificDataForResourceLoadStatistics since
it now clears out two types of page-specific data.

(WebCore::NetworkStorageSession::committedCrossSiteLoadWithLinkDecoration):

This function receives a cross-site navigation and checks if the originating
site is a prevalent resource. If so, it marks the page or stricter cookie
rules.

(WebCore::NetworkStorageSession::resetCrossSiteLoadsWithLinkDecorationForTesting):

Test infrastructure. This sets a state that overrides the regular per-page
clear of data. The reason is that the double clear was racy and caused test
failures.

(WebCore::NetworkStorageSession::clientSideCookieCap const):

New function that returns the current cookie lifetime cap.

(WebCore::NetworkStorageSession::removeStorageAccessForAllFramesOnPage): Deleted.

Renamed to NetworkStorageSession::clearPageSpecificDataForResourceLoadStatistics().

  • platform/network/NetworkStorageSession.h:
  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::NetworkStorageSession::setCookiesFromDOM const):

Now calls NetworkStorageSession::clientSideCookieCap() to set the cap.

Source/WebKit:

Trackers abuse link query parameters to transport user identifiers cross-site.
This patch detects such navigations and applies further restrictions to
client-site cookies on the destination page.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::clearPageSpecificDataForResourceLoadStatistics):
(WebKit::NetworkConnectionToWebProcess::removeStorageAccessForAllFramesOnPage): Deleted.

Renamed NetworkConnectionToWebProcess::clearPageSpecificDataForResourceLoadStatistics().

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::committedCrossSiteLoadWithLinkDecoration):

Reporting IPC message when a link decorated cross-site navigation happens.

(WebKit::NetworkProcess::resetCrossSiteLoadsWithLinkDecorationForTesting):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreStatisticsResetToConsistentState):

Added clearing of the new state between test runs.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::resetCrossSiteLoadsWithLinkDecorationForTesting):

Test infrastructure.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::isNonUniqueNavigationWithLinkDecoration):

Convenience function.

(WebKit::WebPageProxy::didCommitLoadForFrame):

This function now reports to the network process when a link decorated
cross-site navigation happens.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::resetCrossSiteLoadsWithLinkDecorationForTesting):

Test infrastructure.

  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::close):

Name change of function called.

LayoutTests:

  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-decoration-same-site-expected.txt: Added.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-decoration-same-site.html: Added.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource-expected.txt: Added.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource.html: Added.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource-expected.txt: Added.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource.html: Added.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource-expected.txt: Added.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource.html: Added.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource-expected.txt: Added.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource.html: Added.
  • http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js.html:

Now clears cookies after the test.

1:58 PM Changeset in webkit [242287] by timothy_horton@apple.com
  • 5 edits
    1 delete in trunk/Source

Remove unused code in WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=189614

Reviewed by Simon Fraser.

Source/WebKit:

  • mac/MigrateHeadersFromWebKitLegacy.make:

Source/WebKitLegacy:

  • WebKitLegacy.xcodeproj/project.pbxproj:

Source/WebKitLegacy/mac:

  • Carbon/CarbonUtils.h: Removed.
  • Carbon/CarbonUtils.m: Removed.
  • Carbon/CarbonWindowAdapter.h: Removed.
  • Carbon/CarbonWindowAdapter.mm: Removed.
  • Carbon/CarbonWindowContentView.h: Removed.
  • Carbon/CarbonWindowContentView.m: Removed.
  • Carbon/CarbonWindowFrame.h: Removed.
  • Carbon/CarbonWindowFrame.m: Removed.
  • Carbon/HIViewAdapter.h: Removed.
  • Carbon/HIViewAdapter.m: Removed.
  • Carbon/HIWebView.h: Removed.
  • Carbon/HIWebView.mm: Removed.
  • Configurations/WebKitLegacy.xcconfig:
  • WebKit.mac.exp:
1:46 PM Changeset in webkit [242286] by ysuzuki@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

[JSC] Use runtime calls for DFG MakeRope if !CPU(ADDRESS64)
https://bugs.webkit.org/show_bug.cgi?id=195221

Reviewed by Mark Lam.

ARM32_64 builds DFG 64bit, but the size of address is 32bit. Make DFG MakeRope a runtime call not only for DFG 32_64,
but also DFG 64 with !CPU(ADDRESS64). This patch unifies compileMakeRope again, and use a runtime call for !CPU(ADDRESS64).

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileMakeRope):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compileMakeRope): Deleted.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileMakeRope): Deleted.

1:37 PM Changeset in webkit [242285] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit

Modernize WebKit::AttributedString a little bit
https://bugs.webkit.org/show_bug.cgi?id=195200

Reviewed by Wenson Hsieh.

  • Shared/mac/AttributedString.h:

(WebKit::AttributedString::AttributedString):
(WebKit::AttributedString::operator NSAttributedString * const):

  • Shared/mac/AttributedString.mm:

(IPC::ArgumentCoder<WebKit::AttributedString>::encode):
(IPC::ArgumentCoder<WebKit::AttributedString>::decode):
(WebKit::AttributedString::encode const): Deleted.
(WebKit::AttributedString::decode): Deleted.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::attributedSubstringForProposedRange):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::attributedSubstringForCharacterRangeAsync):
Modern coders, and a constructor and cast operator to/from NSAttributedString.
Also adopt those in a few places just for fun.

1:32 PM Changeset in webkit [242284] by commit-queue@webkit.org
  • 9 edits in trunk

Adjust XMLHttpRequest Content-Type handling
https://bugs.webkit.org/show_bug.cgi?id=184645

Patch by Rob Buis <rbuis@igalia.com> on 2019-03-01
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Sync test and update test expectation (all PASSes).

  • web-platform-tests/xhr/send-content-type-charset-expected.txt:
  • web-platform-tests/xhr/send-content-type-charset.htm:

Source/WebCore:

Implement steps 4.4.1.2 and 4.4.1.3 of send() [1].

Test: web-platform-tests/xhr/send-content-type-charset.htm

[1] https://xhr.spec.whatwg.org/#dom-xmlhttprequest-send

  • platform/network/ParsedContentType.cpp:

(WebCore::ParsedContentType::setCharset):

  • platform/network/ParsedContentType.h:
  • xml/XMLHttpRequest.cpp:

(WebCore::replaceCharsetInMediaTypeIfNeeded):
(WebCore::XMLHttpRequest::send):
(WebCore::replaceCharsetInMediaType): Deleted.

LayoutTests:

Fix 2 subtest expectations.

  • http/tests/xmlhttprequest/request-encoding2.html:
1:31 PM Changeset in webkit [242283] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Update originsMatch to handle the case of file origins which enforce file path separation
https://bugs.webkit.org/show_bug.cgi?id=195216

Reviewed by Brady Eidson.

Covered by the assertion and existing tests like fast/xmlhttprequest/xmlhttprequest-no-file-access.html.
Make sure originsMatch returns true if either compared origins are the same object
or they have the same file path separation behavior.

  • page/SecurityOrigin.cpp:

(WebCore::areOriginsMatching):
(WebCore::originsMatch):

1:00 PM Changeset in webkit [242282] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Continued gardening of storage/indexeddb/ crashes after r242189
https://bugs.webkit.org/show_bug.cgi?id=195210

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
12:36 PM Changeset in webkit [242281] by youenn@apple.com
  • 8 edits in trunk/Source

Serialize IndexedDB::ObjectStoreOverwriteMode as an enum
https://bugs.webkit.org/show_bug.cgi?id=195213

Reviewed by Alex Christensen.

Source/WebCore:

Add traits to enable enum IPC encoding.
No change of behavior.

  • Modules/indexeddb/IndexedDB.h:

Source/WebKit:

Make use of enum trait to automatically check for correct enum value when receiving a putOrAdd message.

  • NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp:

(WebKit::WebIDBConnectionToClient::putOrAdd):

  • NetworkProcess/IndexedDB/WebIDBConnectionToClient.h:
  • NetworkProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
  • Scripts/webkit/messages.py:
  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:

(WebKit::WebIDBConnectionToServer::putOrAdd):

12:18 PM Changeset in webkit [242280] by dinfuehr@igalia.com
  • 2 edits in trunk/JSTests

Unskip test read-dead-bytecode-locals-in-must-have-handle-values2.js on ARM/MIPS
https://bugs.webkit.org/show_bug.cgi?id=195207

Unreviewed. After test runtime was reduced in r242213, test can be
run again on ARM/MIPS.

  • stress/read-dead-bytecode-locals-in-must-handle-values2.js:
11:58 AM Changeset in webkit [242279] by don.olmstead@sony.com
  • 17 edits in trunk

[WinCairo] Enable service worker
https://bugs.webkit.org/show_bug.cgi?id=188318

Reviewed by Youenn Fablet.

.:

  • Source/cmake/OptionsWin.cmake:

Source/WebCore:

  • WebCorePrefix.h:
  • testing/ServiceWorkerInternals.h:
  • workers/service/context/SWContextManager.cpp:

(WebCore::SWContextManager::serviceWorkerFailedToTerminate):

  • workers/service/context/SWContextManager.h:

Source/WebKit:

  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::terminateProcess):

  • WebProcess/Storage/WebSWContextManagerConnection.h:
  • config.h:

Tools:

  • DumpRenderTree/DumpRenderTreePrefix.h:
  • TestWebKitAPI/PlatformWin.cmake:
  • TestWebKitAPI/win/TestWebKitAPIPrefix.h:
  • WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.h:
  • WebKitTestRunner/WebKitTestRunnerPrefix.h:
11:55 AM Changeset in webkit [242278] by sihui_liu@apple.com
  • 7 edits in trunk/Source/WebCore

Add a quirk for bostongloble.com and latimes.com
https://bugs.webkit.org/show_bug.cgi?id=195155

Reviewed by Geoffrey Garen.

Covered by manual testing.

  • Modules/webdatabase/DOMWindowWebDatabase.idl:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateRuntimeEnableConditionalString):

  • bindings/scripts/IDLAttributes.json:
  • bindings/scripts/preprocess-idls.pl:

(GenerateConstructorAttributes):

  • page/Quirks.cpp:

(WebCore::Quirks::hasWebSQLSupportQuirk const):

  • page/Quirks.h:
11:33 AM Changeset in webkit [242277] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Flaky API Test TestWebKitAPI.ProcessSwap.LoadUnload
https://bugs.webkit.org/show_bug.cgi?id=195110

Reviewed by Ryosuke Niwa.

The test was attempting to disable PageCache via view preferences instead of using the
process pool configuration flag. This would fail to disable PageCache because the
usesPageCache preference would not prevent the creation of SuspendedPageProxy objects.
As a result, the firing on the unload event would get delayed until the SuspendedPageProxy
objects would get destroyed, which would lead to flakiness.

This patch updates WebPageProxy::suspendCurrentPageIfPossible() to not create suspended
pages proxies when the usesPageCache preference is set to false.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::suspendCurrentPageIfPossible):

11:24 AM Changeset in webkit [242276] by rmorisset@apple.com
  • 3 edits
    1 add in trunk

DFG: Loop-invariant code motion (LICM) should not hoist dead code
https://bugs.webkit.org/show_bug.cgi?id=194945
<rdar://problem/48311657>

Reviewed by Saam Barati.

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::run):

11:23 AM Changeset in webkit [242275] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[ContentChangeObserver] Rename members and move implementation to header.
https://bugs.webkit.org/show_bug.cgi?id=195198
<rdar://problem/48499967>

Reviewed by Simon Fraser.

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::startObservingDOMTimerExecute):
(WebCore::ContentChangeObserver::stopObservingDOMTimerExecute):
(WebCore::ContentChangeObserver::startObservingStyleRecalc):
(WebCore::ContentChangeObserver::stopObservingStyleRecalc):
(WebCore::ContentChangeObserver::startObservingContentChanges):
(WebCore::ContentChangeObserver::stopObservingContentChanges):
(WebCore::ContentChangeObserver::StyleRecalcScope::StyleRecalcScope):
(WebCore::ContentChangeObserver::StyleRecalcScope::~StyleRecalcScope):
(WebCore::ContentChangeObserver::startObservingStyleResolve): Deleted.
(WebCore::ContentChangeObserver::stopObservingStyleResolve): Deleted.
(WebCore::ContentChangeObserver::isObservingContentChanges): Deleted.
(WebCore::ContentChangeObserver::startObservingDOMTimerScheduling): Deleted.
(WebCore::ContentChangeObserver::stopObservingDOMTimerScheduling): Deleted.
(WebCore::ContentChangeObserver::isObservingDOMTimerScheduling): Deleted.
(WebCore::ContentChangeObserver::startObservingStyleRecalcScheduling): Deleted.
(WebCore::ContentChangeObserver::stopObservingStyleRecalcScheduling): Deleted.
(WebCore::ContentChangeObserver::isObservingStyleRecalcScheduling): Deleted.
(WebCore::ContentChangeObserver::setShouldObserveNextStyleRecalc): Deleted.
(WebCore::ContentChangeObserver::shouldObserveNextStyleRecalc): Deleted.
(WebCore::ContentChangeObserver::countOfObservedDOMTimers): Deleted.
(WebCore::ContentChangeObserver::clearObservedDOMTimers): Deleted.
(WebCore::ContentChangeObserver::containsObservedDOMTimer): Deleted.

  • page/ios/ContentChangeObserver.h:

(WebCore::ContentChangeObserver::startObservingDOMTimerScheduling):
(WebCore::ContentChangeObserver::stopObservingDOMTimerScheduling):
(WebCore::ContentChangeObserver::isObservingDOMTimerScheduling const):
(WebCore::ContentChangeObserver::containsObservedDOMTimer const):
(WebCore::ContentChangeObserver::startObservingStyleRecalcScheduling):
(WebCore::ContentChangeObserver::stopObservingStyleRecalcScheduling):
(WebCore::ContentChangeObserver::isObservingStyleRecalcScheduling const):
(WebCore::ContentChangeObserver::setShouldObserveStyleRecalc):
(WebCore::ContentChangeObserver::shouldObserveStyleRecalc const):
(WebCore::ContentChangeObserver::isObservingContentChanges const):
(WebCore::ContentChangeObserver::countOfObservedDOMTimers const):
(WebCore::ContentChangeObserver::clearObservedDOMTimers):

11:21 AM Changeset in webkit [242274] by bshafiei@apple.com
  • 6 edits
    4 adds in branches/safari-607.1.40.0-branch

Cherry-pick r242248. rdar://problem/48503712

[iOS] Dark flash when opening Google AMP pages
https://bugs.webkit.org/show_bug.cgi?id=195193
rdar://problem/48326442

Reviewed by Zalan Bujtas.

Source/WebCore:

After the incremental compositing updates changes, it was possible for a change in the size
of an overflow:hidden element to fail to update the "ancestor clipping layer" geometry on
a composited descendant that is not a descendant in z-order. When Google search results
create the <iframe> that contain AMP contents, we'd fail to update a zero-sized clipping layer,
leaving the #222 background of an intermediate element visible.

Fix by setting a flag in RenderLayer::updateLayerPosition() (which is called in containing block order)
that sets the "needs geometry update" dirty bit on containing-block-descendant layers. Currently
this flag affects all descendants; in future, we might be able to clear it for grand-children.

Tests: compositing/geometry/ancestor-clip-change-interleaved-stacking-context.html

compositing/geometry/ancestor-clip-change.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): (WebCore::RenderLayer::updateLayerPosition):
  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateAfterLayout):
  • rendering/RenderLayerBacking.h:

LayoutTests:

Tests that change the size of a clipping layer with non-z-order composited descendant, with
a couple of layer tree configurations.

  • compositing/geometry/ancestor-clip-change-expected.html: Added.
  • compositing/geometry/ancestor-clip-change-interleaved-stacking-context-expected.html: Added.
  • compositing/geometry/ancestor-clip-change-interleaved-stacking-context.html: Added.
  • compositing/geometry/ancestor-clip-change.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242248 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:21 AM Changeset in webkit [242273] by rniwa@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Codify the naming convention for fooIfExists
https://bugs.webkit.org/show_bug.cgi?id=194930

Reviewed by Darin Adler.

Updating the coding style guideline after the discussion following
https://lists.webkit.org/pipermail/webkit-dev/2013-June/025056.html

  • code-style.md:
11:19 AM Changeset in webkit [242272] by bshafiei@apple.com
  • 7 edits in branches/safari-607.1.40.0-branch/Source

Versioning.

11:14 AM Changeset in webkit [242271] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[ContentChangeObserver] ContentChangeObserver::StyleChangeScope should not set WKContentVisibilityChange directly
https://bugs.webkit.org/show_bug.cgi?id=195197
<rdar://problem/48498332>

Reviewed by Simon Fraser.

Add didContentVisibilityChange to hide WKContentVisibilityChange value. We might also want to add some logic to didContentVisibilityChange at some point.

  • page/ios/ContentChangeObserver.cpp:

(WebCore::ContentChangeObserver::didContentVisibilityChange):
(WebCore::ContentChangeObserver::StyleChangeScope::~StyleChangeScope):

  • page/ios/ContentChangeObserver.h:
11:10 AM Changeset in webkit [242270] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[EME] Make sure the hasSessionSemaphore is set even if HAVE(AVSTREAMSESSION) is false
https://bugs.webkit.org/show_bug.cgi?id=195217

Reviewed by Eric Carlson.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):

11:03 AM Changeset in webkit [242269] by Adrian Perez de Castro
  • 1 copy in releases/WebKitGTK/webkit-2.22.7

WebKitGTK 2.22.7

11:02 AM Changeset in webkit [242268] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.22.5

WPE WebKit 2.22.5

10:59 AM Changeset in webkit [242267] by Adrian Perez de Castro
  • 6 edits in releases/WebKitGTK/webkit-2.22

Unreviewed. Release WebKitGTK 2.22.7 and WPE WebKit 2.22.5

.:

  • Source/cmake/OptionsGTK.cmake: Bump version to 2.22.7
  • Source/cmake/OptionsWPE.cmake: Bump version to 2.22.5

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.22.7
  • wpe/NEWS: Add release notes for 2.22.5
10:08 AM Changeset in webkit [242266] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

[ThreadedCompositor] Simply the compositing run loop worker thread
https://bugs.webkit.org/show_bug.cgi?id=195208

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-03-01
Reviewed by Don Olmstead.

We can remove the WorkQueuePool, since we never really supported more than one thread, and now that single
process model non longer exists it doesn't even make sense. We can simply use a RunLoop instead of a WorkQueue
so that the implementation is not specific to the generic WorkQueue implementation.

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:

(WebKit::createRunLoop): Helper function to create the RunLoop in a worker thread before m_updateTimer is initialized.
(WebKit::CompositingRunLoop::CompositingRunLoop): Use createRunLoop().
(WebKit::CompositingRunLoop::~CompositingRunLoop): Stop the worker thread run loop in the next main run loop iteration.
(WebKit::CompositingRunLoop::performTask): Use m_runLoop.
(WebKit::CompositingRunLoop::performTaskSync): Ditto.
(WebKit::WorkQueuePool::singleton): Deleted.
(WebKit::WorkQueuePool::dispatch): Deleted.
(WebKit::WorkQueuePool::runLoop): Deleted.
(WebKit::WorkQueuePool::invalidate): Deleted.
(WebKit::WorkQueuePool::WorkQueuePool): Deleted.
(WebKit::WorkQueuePool::getOrCreateWorkQueueForContext): Deleted.
(): Deleted.

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:
9:57 AM Changeset in webkit [242265] by commit-queue@webkit.org
  • 5 edits in trunk/LayoutTests

Enable WPT Pointer Events tests
https://bugs.webkit.org/show_bug.cgi?id=195204
<rdar://problem/48502751>

Patch by Antoine Quint <Antoine Quint> on 2019-03-01
Reviewed by Dean Jackson.

The touch-action property has been enabled as part of the work on webkit.org/b/195008 but the WPT tests
LayoutTests/imported/w3c:

had not been enabled yet, so we're now adding the progressions made.

  • web-platform-tests/pointerevents/extension/pointerevent_touch-action-verification-expected.txt:
  • web-platform-tests/pointerevents/pointerevent_touch-action-verification-expected.txt:

LayoutTests:

had not been enabled yet.

  • platform/mac/TestExpectations:
9:08 AM Changeset in webkit [242264] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: (r242189): Six Layout Tests in storage/indexeddb/ are crashing after r242189
https://bugs.webkit.org/show_bug.cgi?id=195210

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
9:05 AM Changeset in webkit [242263] by Justin Fan
  • 12 edits in trunk

[Web GPU] 32-bit builds broken by attempt to disable WebGPU on 32-bit
https://bugs.webkit.org/show_bug.cgi?id=195191

Rubber-stamped by Dean Jackson.

Dropping support for 32-bit entirely, so I'm intentionally leaving 32-bit broken.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3:43 AM Changeset in webkit [242262] by dinfuehr@igalia.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix debug builds with GCC
https://bugs.webkit.org/show_bug.cgi?id=195205

Unreviewed. Fix debug builds in GCC by removing
the constexpr-keyword for this function.

  • runtime/CachedTypes.cpp:

(JSC::tagFromSourceCodeType):

1:55 AM WikiStart edited by Fujii Hironori
Renamed GTK+ to GTK. (diff)
1:53 AM CoordinatedGraphicsSystem edited by Fujii Hironori
Added PageOutline (diff)
1:51 AM WebKitGTK edited by Fujii Hironori
GTK+ → GTK (diff)
1:50 AM Changeset in webkit [242261] by dinfuehr@igalia.com
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Fix assembler warnings in ctiMasmProbeTrampoline
https://bugs.webkit.org/show_bug.cgi?id=195164

Reviewed by Mark Lam.

Short branches in IT blocks are deprecated in AArch32. In addition the
the conditional branch was the only instruction in the IT block. Short
branches are able to encode the condition code themselves, the additional
IT instruction is not needed.

The assembler was also warning that writing into APSR without a bitmask
was deprecated. Therefore use APSR_nzcvq instead, this generates the same
instruction encoding.

  • assembler/MacroAssemblerARMv7.cpp:
1:34 AM CoordinatedGraphicsSystem edited by Fujii Hironori
Coordinated Compositing (diff)
1:09 AM CoordinatedGraphicsSystem edited by Fujii Hironori
Removed TextureMapperGL's obsolete future plan. (diff)
1:02 AM CoordinatedGraphicsSystem edited by Fujii Hironori
(diff)
1:01 AM CoordinatedGraphicsSystem edited by Fujii Hironori
Fixed BitmapTexture path (diff)
12:41 AM Changeset in webkit [242260] by ysuzuki@apple.com
  • 2 edits in trunk/Tools

Unreviewed, fix lldb webkitpy tests
https://bugs.webkit.org/show_bug.cgi?id=194375

Since we changed the value of Is8Bit flag in StringImpl, we change lldb webkitpy tests accordingly.

  • lldb/lldb_webkit.py:

(WTFStringImplProvider.is_8bit):

12:39 AM Changeset in webkit [242259] by bshafiei@apple.com
  • 7 edits in branches/safari-607-branch/Source

Versioning.

12:38 AM Changeset in webkit [242258] by bshafiei@apple.com
  • 6 edits
    4 adds in branches/safari-607-branch

Cherry-pick r242248. rdar://problem/48503715

[iOS] Dark flash when opening Google AMP pages
https://bugs.webkit.org/show_bug.cgi?id=195193
rdar://problem/48326442

Reviewed by Zalan Bujtas.

Source/WebCore:

After the incremental compositing updates changes, it was possible for a change in the size
of an overflow:hidden element to fail to update the "ancestor clipping layer" geometry on
a composited descendant that is not a descendant in z-order. When Google search results
create the <iframe> that contain AMP contents, we'd fail to update a zero-sized clipping layer,
leaving the #222 background of an intermediate element visible.

Fix by setting a flag in RenderLayer::updateLayerPosition() (which is called in containing block order)
that sets the "needs geometry update" dirty bit on containing-block-descendant layers. Currently
this flag affects all descendants; in future, we might be able to clear it for grand-children.

Tests: compositing/geometry/ancestor-clip-change-interleaved-stacking-context.html

compositing/geometry/ancestor-clip-change.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): (WebCore::RenderLayer::updateLayerPosition):
  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateAfterLayout):
  • rendering/RenderLayerBacking.h:

LayoutTests:

Tests that change the size of a clipping layer with non-z-order composited descendant, with
a couple of layer tree configurations.

  • compositing/geometry/ancestor-clip-change-expected.html: Added.
  • compositing/geometry/ancestor-clip-change-interleaved-stacking-context-expected.html: Added.
  • compositing/geometry/ancestor-clip-change-interleaved-stacking-context.html: Added.
  • compositing/geometry/ancestor-clip-change.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242248 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:30 AM CoordinatedGraphicsSystem edited by Fujii Hironori
Coordinated Compositing (diff)
12:28 AM CoordinatedGraphicsSystem edited by Fujii Hironori
Texture Mapper (diff)
12:12 AM CoordinatedGraphicsSystem edited by Fujii Hironori
Overview (diff)
12:05 AM CoordinatedGraphicsSystem edited by Fujii Hironori
(diff)
Note: See TracTimeline for information about the timeline view.