Timeline
Jul 7, 2019:
- 10:07 PM Changeset in webkit [247202] by
-
- 5 edits in branches/safari-607-branch/Source/JavaScriptCore
Cherry-pick r246801. rdar://problem/52505041
Structure::create should call didBecomePrototype()
https://bugs.webkit.org/show_bug.cgi?id=196315
Reviewed by Filip Pizlo.
Structure::create should also assert that the indexing type makes sense
for the prototype being used.
- runtime/JSObject.h:
- runtime/Structure.cpp: (JSC::Structure::isValidPrototype): (JSC::Structure::changePrototypeTransition):
- runtime/Structure.h: (JSC::Structure::create): Deleted.
- runtime/StructureInlines.h: (JSC::Structure::create): (JSC::Structure::setPrototypeWithoutTransition):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:03 PM Changeset in webkit [247201] by
-
- 7 edits in branches/safari-607-branch/Source
Versioning.
- 7:52 AM Changeset in webkit [247200] by
-
- 7 edits4 adds in trunk
[ContentChangeObserver] Difficult to control videos on iqiyi.com as the actions are mouse hover
https://bugs.webkit.org/show_bug.cgi?id=199542
<rdar://problem/51886813>
Reviewed by Simon Fraser.
Source/WebCore:
Decouple isVisuallyHidden and isConsideredVisible. Just because an element is not visually hidden (1px wide content)
it is not necessarily qualified to be visible in the context of hover heuristic (e.g. iqiyi.com brings up a 1px wide
clickable element when hovering over the scrubber. This element is clearly not designed to be actionable.)
Tests: fast/events/touch/ios/content-observation/tap-on-1px-height-content.html
fast/events/touch/ios/content-observation/tap-on-1px-width-content.html
- dom/Node.cpp:
(WebCore::Node::defaultEventHandler):
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::isVisuallyHidden):
(WebCore::ContentChangeObserver::isConsideredVisible):
(WebCore::ContentChangeObserver::didAddTransition):
(WebCore::ContentChangeObserver::didFinishTransition):
(WebCore::ContentChangeObserver::willDestroyRenderer):
(WebCore::ContentChangeObserver::StyleChangeScope::StyleChangeScope):
(WebCore::ContentChangeObserver::StyleChangeScope::~StyleChangeScope):
(WebCore::ContentChangeObserver::isConsideredHidden): Deleted.
- page/ios/ContentChangeObserver.h:
Source/WebKit:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleSyntheticClick):
LayoutTests:
- fast/events/touch/ios/content-observation/tap-on-1px-height-content-expected.txt: Added.
- fast/events/touch/ios/content-observation/tap-on-1px-height-content.html: Added.
- fast/events/touch/ios/content-observation/tap-on-1px-width-content-expected.txt: Added.
- fast/events/touch/ios/content-observation/tap-on-1px-width-content.html: Added.
- 6:49 AM Changeset in webkit [247199] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Introduce splitPosition to LineLayout
https://bugs.webkit.org/show_bug.cgi?id=199558
<rdar://problem/52737649>
Reviewed by Antti Koivisto.
This is in preparation for breaking runs at line end.
- layout/inlineformatting/InlineFormattingContext.h:
- layout/inlineformatting/InlineFormattingContextLineLayout.cpp:
(WebCore::Layout::InlineFormattingContext::LineLayout::LineInput::LineInput):
(WebCore::Layout::InlineFormattingContext::LineLayout::placeInlineItems const):
(WebCore::Layout::InlineFormattingContext::LineLayout::layout const):
(WebCore::Layout::InlineFormattingContext::LineLayout::computedIntrinsicWidth const):
- 6:47 AM Changeset in webkit [247198] by
-
- 6 edits in trunk/Source/WebCore
[LFC] Fix formatting context root for inflow positioned inline containers
https://bugs.webkit.org/show_bug.cgi?id=199551
<rdar://problem/52728868>
Reviewed by Antti Koivisto.
Relatively positioned (inflow) inline container lives in the formatting context where its parent lives unless
the parent establishes a formatting context. This is slightly different from the usual behavior which is containing block driven.
div id=outer style="position: absolute">><div id=inner><span style="position: relative">content</span></div></div>
While the relatively positioned inline container (span) is placed relative to its containing block "outer", it lives in the inline formatting context established by "inner".
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::formattingContextRoot const):
- layout/layouttree/LayoutBox.h:
- layout/layouttree/LayoutInlineContainer.cpp:
(WebCore::Layout::InlineContainer::formattingContextRoot const):
- layout/layouttree/LayoutInlineContainer.h:
- 1:12 AM Changeset in webkit [247197] by
-
- 5 edits2 adds in trunk/Source/WebKit
[Pointer Events] Use a gesture recognizer to prevent pinch-to-zoom behavior
https://bugs.webkit.org/show_bug.cgi?id=199543
Reviewed by Dean Jackson.
We used to set the "enabled" property on the main UIScrollView's UIPinchGestureRecognizer to disable pinch-to-zoom
behavior based on the "touch-action" CSS property. This was sub-optimal since this gesture recognizer can be publicly
accessible by third-party developers, but also because it set state instead of a run-time solution.
We now introduce a new WKTouchActionGestureRecognizer dedicated to preventing clearly identified gesture recognizers
from being recognized to disable some built-in behavior. As a new touch starts, we record the computed touch-action
property for the given touch identifier on the WKTouchActionGestureRecognizer, then WKTouchActionGestureRecognizer
determines, by implementing -[canPreventGestureRecognizer:], whether the possibly-prevented gesture recognizer
is known to lead to a pinch-to-zoom behavior and whether it contains a touch that should prevent it.
To support the WKTouchActionGestureRecognizer, WKContentViewInteraction implements the new WKTouchActionGestureRecognizerDelegate
protocol to indicate whether the possibly-prevented gesture recognizer is the main UIScrollView's UIPinchGestureRecognizer.
No new test since this changes the implementation of existing behavior.
- SourcesCocoa.txt:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView _handleTouchActionsForTouchEvent:]):
(-[WKContentView gestureRecognizerMayPinchToZoomWebView:]):
(-[WKContentView touchActionActiveTouches]):
- UIProcess/ios/WKTouchActionGestureRecognizer.h: Added.
- UIProcess/ios/WKTouchActionGestureRecognizer.mm: Added.
(-[WKTouchActionGestureRecognizer initWithTouchActionDelegate:]):
(-[WKTouchActionGestureRecognizer setTouchActions:forTouchIdentifier:]):
(-[WKTouchActionGestureRecognizer clearTouchActionsForTouchIdentifier:]):
(-[WKTouchActionGestureRecognizer touchesBegan:withEvent:]):
(-[WKTouchActionGestureRecognizer touchesMoved:withEvent:]):
(-[WKTouchActionGestureRecognizer touchesEnded:withEvent:]):
(-[WKTouchActionGestureRecognizer touchesCancelled:withEvent:]):
(-[WKTouchActionGestureRecognizer _updateState]):
(-[WKTouchActionGestureRecognizer canBePreventedByGestureRecognizer:]):
(-[WKTouchActionGestureRecognizer canPreventGestureRecognizer:]):
- WebKit.xcodeproj/project.pbxproj:
Jul 6, 2019:
- 7:09 PM Changeset in webkit [247196] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Styles: unbalanced quotes and parenthesis aren't displayed as property closed after editing values
https://bugs.webkit.org/show_bug.cgi?id=199090
<rdar://problem/51965431>
Reviewed by Devin Rousso.
}gets added by WI.tokenizeCSSValue (called by SpreadsheetStyleProperty.prototype._renderValue)
when it encounters unbalanced quotes. Fix unbalanced quotes by re-rendering the value from the model,
not the DOM content.
- UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
For consistency, render property name from the model as well.
- 5:20 PM Changeset in webkit [247195] by
-
- 5 edits in trunk
Long hang when loading a cnn.com page on iOS
https://bugs.webkit.org/show_bug.cgi?id=199556
Reviewed by Zalan Bujtas.
Source/WebCore:
Loading https://edition.cnn.com/travel/article/brussels-airlines-flight-to-nowhere/index.html in the iOS 13 sim
results in a long hang under OverlapMapContainer::append(). We were creating pathological clipping scopes with
thousands of entries, because OverlapMapContainer::mergeClippingScopesRecursive() had a logic error where
it added 'sourceScope' to the child instead of 'sourceChildScope'. Add a new assertion to detect that case.
I wasn't able to create a testcase that caused a hang, but a number of existing tests would have
hit the assertion.
- rendering/LayerOverlapMap.cpp:
(WebCore::OverlapMapContainer::ClippingScope::addChild):
(WebCore::OverlapMapContainer::mergeClippingScopesRecursive):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::flushPendingLayerChanges): Drive-by fix: m_overflowControlsHostLayer is null on iOS, so use rootGraphicsLayer().
Tools:
Add code to load a page by default in MobileMiniBrowser so it's easy to hack it
to load a test page of your choice.
- MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m:
(-[WebViewController viewDidLoad]):
- 6:34 AM Changeset in webkit [247194] by
-
- 5 edits1 add in trunk
switch(String) needs to check for exceptions when resolving the string
https://bugs.webkit.org/show_bug.cgi?id=199541
Reviewed by Mark Lam.
JSTests:
New tests.
- stress/switch-string-oom.js: Added.
(test):
(testLowerTiers):
(testFTL):
Source/JavaScriptCore:
Added exception checks for resolved Strings in switch processing for all tiers.
- dfg/DFGOperations.cpp:
- jit/JITOperations.cpp:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- 4:03 AM Changeset in webkit [247193] by
-
- 78 edits64 adds in trunk/LayoutTests
Import css/cssom-view testcases from WPT.
https://bugs.webkit.org/show_bug.cgi?id=199509
Patch by Cathie Chen <cathiechen> on 2019-07-06
Reviewed by Frédéric Wang.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- web-platform-tests/css/cssom-view/CaretPosition-001.html:
- web-platform-tests/css/cssom-view/DOMRectList.html:
- web-platform-tests/css/cssom-view/GetBoundingRect.html:
- web-platform-tests/css/cssom-view/HTMLBody-ScrollArea_quirksmode.html:
- web-platform-tests/css/cssom-view/MediaQueryList-001.html:
- web-platform-tests/css/cssom-view/MediaQueryList-with-empty-string.html:
- web-platform-tests/css/cssom-view/Screen-pixelDepth-Screen-colorDepth001.html:
- web-platform-tests/css/cssom-view/cssom-getBoundingClientRect-001.html:
- web-platform-tests/css/cssom-view/cssom-getBoundingClientRect-002.html:
- web-platform-tests/css/cssom-view/cssom-getBoxQuads-001.html:
- web-platform-tests/css/cssom-view/cssom-getClientRects-002.html:
- web-platform-tests/css/cssom-view/cssom-getClientRects.html:
- web-platform-tests/css/cssom-view/cssom-view-img-attributes-001.html:
- web-platform-tests/css/cssom-view/cssom-view-window-screen-interface.html:
- web-platform-tests/css/cssom-view/dom-element-scroll.html:
- web-platform-tests/css/cssom-view/elementFromPoint-001.html:
- web-platform-tests/css/cssom-view/elementFromPoint-002.html:
- web-platform-tests/css/cssom-view/elementFromPoint-003.html:
- web-platform-tests/css/cssom-view/elementFromPoint-dynamic-anon-box.html:
- web-platform-tests/css/cssom-view/elementFromPoint-mixed-font-sizes.html:
- web-platform-tests/css/cssom-view/elementFromPoint-parameters.html:
- web-platform-tests/css/cssom-view/elementFromPoint-subpixel-expected.txt: Added.
- web-platform-tests/css/cssom-view/elementFromPoint-subpixel.html: Added.
- web-platform-tests/css/cssom-view/elementFromPoint.html:
- web-platform-tests/css/cssom-view/elementFromPosition.html:
- web-platform-tests/css/cssom-view/elementScroll-002.html:
- web-platform-tests/css/cssom-view/elementScroll.html:
- web-platform-tests/css/cssom-view/elementsFromPoint-iframes.html:
- web-platform-tests/css/cssom-view/elementsFromPoint-inline-htb-ltr-expected.txt: Added.
- web-platform-tests/css/cssom-view/elementsFromPoint-inline-htb-ltr.html: Added.
- web-platform-tests/css/cssom-view/elementsFromPoint-inline-htb-rtl-expected.txt: Added.
- web-platform-tests/css/cssom-view/elementsFromPoint-inline-htb-rtl.html: Added.
- web-platform-tests/css/cssom-view/elementsFromPoint-inline-vlr-ltr-expected.txt: Added.
- web-platform-tests/css/cssom-view/elementsFromPoint-inline-vlr-ltr.html: Added.
- web-platform-tests/css/cssom-view/elementsFromPoint-inline-vlr-rtl-expected.txt: Added.
- web-platform-tests/css/cssom-view/elementsFromPoint-inline-vlr-rtl.html: Added.
- web-platform-tests/css/cssom-view/elementsFromPoint-inline-vrl-ltr-expected.txt: Added.
- web-platform-tests/css/cssom-view/elementsFromPoint-inline-vrl-ltr.html: Added.
- web-platform-tests/css/cssom-view/elementsFromPoint-inline-vrl-rtl-expected.txt: Added.
- web-platform-tests/css/cssom-view/elementsFromPoint-inline-vrl-rtl.html: Added.
- web-platform-tests/css/cssom-view/elementsFromPoint-invalid-cases.html:
- web-platform-tests/css/cssom-view/elementsFromPoint-shadowroot.html:
- web-platform-tests/css/cssom-view/elementsFromPoint-simple.html:
- web-platform-tests/css/cssom-view/elementsFromPoint-svg-text.html:
- web-platform-tests/css/cssom-view/elementsFromPoint-svg.html:
- web-platform-tests/css/cssom-view/elementsFromPoint-table.html:
- web-platform-tests/css/cssom-view/elementsFromPoint.html:
- web-platform-tests/css/cssom-view/getClientRects-br-htb-ltr-expected.txt: Added.
- web-platform-tests/css/cssom-view/getClientRects-br-htb-ltr.html: Added.
- web-platform-tests/css/cssom-view/getClientRects-br-htb-rtl-expected.txt: Added.
- web-platform-tests/css/cssom-view/getClientRects-br-htb-rtl.html: Added.
- web-platform-tests/css/cssom-view/getClientRects-br-vlr-ltr-expected.txt: Added.
- web-platform-tests/css/cssom-view/getClientRects-br-vlr-ltr.html: Added.
- web-platform-tests/css/cssom-view/getClientRects-br-vlr-rtl-expected.txt: Added.
- web-platform-tests/css/cssom-view/getClientRects-br-vlr-rtl.html: Added.
- web-platform-tests/css/cssom-view/getClientRects-br-vrl-ltr-expected.txt: Added.
- web-platform-tests/css/cssom-view/getClientRects-br-vrl-ltr.html: Added.
- web-platform-tests/css/cssom-view/getClientRects-br-vrl-rtl-expected.txt: Added.
- web-platform-tests/css/cssom-view/getClientRects-br-vrl-rtl.html: Added.
- web-platform-tests/css/cssom-view/getClientRects-inline-expected.html: Added.
- web-platform-tests/css/cssom-view/getClientRects-inline.html: Added.
- web-platform-tests/css/cssom-view/historical.html:
- web-platform-tests/css/cssom-view/htmlelement-offset-width-001.html:
- web-platform-tests/css/cssom-view/inheritance-expected.txt: Added.
- web-platform-tests/css/cssom-view/inheritance.html: Added.
- web-platform-tests/css/cssom-view/interfaces.html:
- web-platform-tests/css/cssom-view/long_scroll_composited-expected.html: Added.
- web-platform-tests/css/cssom-view/long_scroll_composited.html: Added.
- web-platform-tests/css/cssom-view/matchMedia-display-none-iframe-expected.txt: Added.
- web-platform-tests/css/cssom-view/matchMedia-display-none-iframe.html: Added.
- web-platform-tests/css/cssom-view/matchMedia.xht:
- web-platform-tests/css/cssom-view/matchMediaAddListener.html:
- web-platform-tests/css/cssom-view/mouseEvent.html:
- web-platform-tests/css/cssom-view/negativeMargins.html:
- web-platform-tests/css/cssom-view/offsetParent_element_test.html:
- web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline-expected.txt: Added.
- web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline-offset-expected.txt: Added.
- web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline-offset.html: Added.
- web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline.html: Added.
- web-platform-tests/css/cssom-view/offsetTopLeft-inline-expected.html: Added.
- web-platform-tests/css/cssom-view/offsetTopLeft-inline.html: Added.
- web-platform-tests/css/cssom-view/offsetTopLeft-leading-space-inline-expected.txt: Added.
- web-platform-tests/css/cssom-view/offsetTopLeft-leading-space-inline.html: Added.
- web-platform-tests/css/cssom-view/offsetTopLeft-trailing-space-inline-expected.txt: Added.
- web-platform-tests/css/cssom-view/offsetTopLeft-trailing-space-inline.html: Added.
- web-platform-tests/css/cssom-view/offsetTopLeftInScrollableParent.html:
- web-platform-tests/css/cssom-view/outer-svg-expected.txt: Added.
- web-platform-tests/css/cssom-view/outer-svg.html: Added.
- web-platform-tests/css/cssom-view/resize-event-on-initial-layout-expected.txt: Added.
- web-platform-tests/css/cssom-view/resize-event-on-initial-layout.html: Added.
- web-platform-tests/css/cssom-view/screenLeftTop-expected.txt: Added.
- web-platform-tests/css/cssom-view/screenLeftTop.html: Added.
- web-platform-tests/css/cssom-view/scroll-behavior-default-css.html:
- web-platform-tests/css/cssom-view/scroll-behavior-element.html:
- web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root.html:
- web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window.html:
- web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested.html:
- web-platform-tests/css/cssom-view/scroll-behavior-smooth-positions.html:
- web-platform-tests/css/cssom-view/scroll-behavior-smooth.html:
- web-platform-tests/css/cssom-view/scroll-behavior-subframe-root.html:
- web-platform-tests/css/cssom-view/scroll-behavior-subframe-window.html:
- web-platform-tests/css/cssom-view/scroll-no-layout-box.html:
- web-platform-tests/css/cssom-view/scrollIntoView-horizontal-tb-writing-mode-and-rtl-direction-expected.txt: Added.
- web-platform-tests/css/cssom-view/scrollIntoView-horizontal-tb-writing-mode-and-rtl-direction.html: Added.
- web-platform-tests/css/cssom-view/scrollIntoView-horizontal-tb-writing-mode-expected.txt: Added.
- web-platform-tests/css/cssom-view/scrollIntoView-horizontal-tb-writing-mode.html: Added.
- web-platform-tests/css/cssom-view/scrollIntoView-scrollMargin.html:
- web-platform-tests/css/cssom-view/scrollIntoView-scrollPadding.html:
- web-platform-tests/css/cssom-view/scrollIntoView-shadow.html:
- web-platform-tests/css/cssom-view/scrollIntoView-smooth.html:
- web-platform-tests/css/cssom-view/scrollIntoView-svg-shape-expected.txt: Added.
- web-platform-tests/css/cssom-view/scrollIntoView-svg-shape.html: Added.
- web-platform-tests/css/cssom-view/scrollIntoView-vertical-lr-writing-mode-and-rtl-direction-expected.txt: Added.
- web-platform-tests/css/cssom-view/scrollIntoView-vertical-lr-writing-mode-and-rtl-direction.html: Added.
- web-platform-tests/css/cssom-view/scrollIntoView-vertical-lr-writing-mode-expected.txt: Added.
- web-platform-tests/css/cssom-view/scrollIntoView-vertical-lr-writing-mode.html: Added.
- web-platform-tests/css/cssom-view/scrollIntoView-vertical-rl-writing-mode-expected.txt:
- web-platform-tests/css/cssom-view/scrollIntoView-vertical-rl-writing-mode.html:
- web-platform-tests/css/cssom-view/scrollWidthHeight.xht:
- web-platform-tests/css/cssom-view/scrollWidthHeightWhenNotScrollable.xht:
- web-platform-tests/css/cssom-view/scrolling-no-browsing-context.html:
- web-platform-tests/css/cssom-view/scrolling-quirks-vs-nonquirks.html:
- web-platform-tests/css/cssom-view/scrollingElement.html:
- web-platform-tests/css/cssom-view/scrollintoview.html:
- web-platform-tests/css/cssom-view/table-client-props.html:
- web-platform-tests/css/cssom-view/table-offset-props.html:
- web-platform-tests/css/cssom-view/table-scroll-props.html:
- web-platform-tests/css/cssom-view/ttwf-js-cssomview-getclientrects-length.html:
- web-platform-tests/css/cssom-view/w3c-import.log:
- web-platform-tests/css/cssom-view/window-screen-height-immutable.html:
- web-platform-tests/css/cssom-view/window-screen-height.html:
- web-platform-tests/css/cssom-view/window-screen-width-immutable.html:
- web-platform-tests/css/cssom-view/window-screen-width.html:
LayoutTests:
- TestExpectations:
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-leading-space-inline-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/css/cssom-view/scrollIntoView-horizontal-tb-writing-mode-and-rtl-direction-expected.txt: Added.
- tests-options.json:
- 1:14 AM Changeset in webkit [247192] by
-
- 4 edits in trunk/Source/WebKit
AX: CrashTracer: com.apple.WebKit.WebContent at WebKit: WebKit::WebSpeechSynthesisClient::speak
https://bugs.webkit.org/show_bug.cgi?id=199435
Reviewed by Ryosuke Niwa.
Ensure we don't access null observers in speech callbacks.
- WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp:
(WebKit::WebSpeechSynthesisClient::voiceList):
(WebKit::WebSpeechSynthesisClient::speak):
(WebKit::WebSpeechSynthesisClient::pause):
(WebKit::WebSpeechSynthesisClient::resume):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::speakingErrorOccurred):
(WebKit::WebPage::boundaryEventOccurred):
(WebKit::WebPage::voicesDidChange):