Timeline
Nov 17, 2019:
- 10:27 PM Changeset in webkit [252537] by
-
- 5 edits in trunk
Focusing a shadow host which delegates focus should skip inner shadow hosts which delegate focus
https://bugs.webkit.org/show_bug.cgi?id=203869
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Imported the latest test from https://github.com/web-platform-tests/wpt/pull/20079.
- web-platform-tests/shadow-dom/focus/focus-method-delegatesFocus-expected.txt:
- web-platform-tests/shadow-dom/focus/focus-method-delegatesFocus.html:
Source/WebCore:
Fixed the bug that WebKit doesn't skip a shadow host with delegatesFocus set when looking for
the first programatically focusable element.
Test: imported/w3c/web-platform-tests/shadow-dom/focus/focus-method-delegatesFocus.html
- dom/Element.cpp:
(WebCore::shadowRootWithDelegatesFocus): Added.
(WebCore::isProgramaticallyFocusable): Updated to return false on a shadow host with delegatesFocus.
(WebCore::Element::focus): Don't move the focus if the shadow host only contains a focused element
per https://github.com/w3c/webcomponents/issues/840.
- 5:12 PM Changeset in webkit [252536] by
-
- 3 edits in trunk/Source/WebKit
Better build fix attempt after r252434.
We do need this variant, it was a mistake to claim that it's "old".
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm:
(WebKit::decidePolicyForGeolocationRequestFromOrigin):
- 5:06 PM Changeset in webkit [252535] by
-
- 3 edits in trunk/Source/WebKit
Build fix attempt after r252434.
This variant of decidePolicyForGeolocationRequestFromOrigin doesn't exist in UIKit.
Removing dead code, but someone needs to take a look at what the original intent here was.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm:
(WebKit::decidePolicyForGeolocationRequestFromOrigin):
- 2:30 PM Changeset in webkit [252534] by
-
- 10 edits in trunk/Source/WebCore
[LFC] Move layout state initialization out of LayoutContext
https://bugs.webkit.org/show_bug.cgi?id=204285
<rdar://problem/57262858>
Reviewed by Antti Koivisto.
Move layout initialization to FrameViewLayoutContext::layoutUsingFormattingContext. This is now pretty close to
what the final initialization will look like.
- layout/LayoutContext.cpp:
(WebCore::Layout::initializeLayoutState): Deleted.
(WebCore::Layout::LayoutContext::runLayout): Deleted.
(WebCore::Layout::LayoutContext::runLayoutAndVerify): Deleted.
(WebCore::Layout::LayoutContext::createLayoutState): Deleted.
- layout/LayoutContext.h:
(WebCore::Layout::LayoutContext::layoutState):
- layout/LayoutState.cpp:
(WebCore::Layout::LayoutState::LayoutState):
- layout/LayoutState.h:
(WebCore::Layout::LayoutState::root const):
(WebCore::Layout::LayoutState::rootRenderer const):
(WebCore::Layout::LayoutState::setQuirksMode):
(WebCore::Layout::LayoutState::layoutBoxForRenderer const): Deleted.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::LayoutTreeContent::LayoutTreeContent):
(WebCore::Layout::TreeBuilder::buildLayoutTree):
(WebCore::Layout::TreeBuilder::buildTree):
(WebCore::Layout::TreeBuilder::createLayoutBox):
(WebCore::Layout::printLayoutTreeForLiveDocuments):
- layout/layouttree/LayoutTreeBuilder.h:
(WebCore::Layout::LayoutTreeContent::rootLayoutBox const):
(WebCore::Layout::LayoutTreeContent::rootLayoutBox):
(WebCore::Layout::LayoutTreeContent::rootRenderer const):
(WebCore::Layout::LayoutTreeContent::layoutBoxForRenderer):
(WebCore::Layout::LayoutTreeContent::addLayoutBoxForRenderer):
- page/FrameViewLayoutContext.cpp:
(WebCore::FrameViewLayoutContext::layoutUsingFormattingContext):
(WebCore::FrameViewLayoutContext::invalidateLayoutTreeContent):
- page/FrameViewLayoutContext.h:
(WebCore::FrameViewLayoutContext::layoutTreeContent const):
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateRendererStyle):
- 1:02 PM Changeset in webkit [252533] by
-
- 5 edits in trunk/Source/WebCore
[LFC] Pass in the content area to LayoutContext::layout
https://bugs.webkit.org/show_bug.cgi?id=204284
<rdar://problem/57262690>
Reviewed by Antti Koivisto.
Note that we never layout the root box. It has to have an already computed geometry (in case of ICB, it's the view geometry).
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::layout):
(WebCore::Layout::LayoutContext::runLayout):
(WebCore::Layout::LayoutContext::runLayoutAndVerify):
- layout/LayoutContext.h:
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::printLayoutTreeForLiveDocuments):
- page/FrameViewLayoutContext.cpp:
(WebCore::FrameViewLayoutContext::layoutUsingFormattingContext):
- 12:59 PM Changeset in webkit [252532] by
-
- 4 edits in trunk/Source/WebCore
[LFC][Out-of-flow] Collect out-of-flow boxes lazily
https://bugs.webkit.org/show_bug.cgi?id=204282
<rdar://problem/57259302>
Reviewed by Antti Koivisto.
Eventually we need to turn it into a register-self as boxes are being inserted.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::layoutOutOfFlowContent):
(WebCore::Layout::FormattingContext::collectOutOfFlowDescendantsIfNeeded):
- layout/FormattingContext.h:
- layout/LayoutContext.cpp:
(WebCore::Layout::initializeLayoutState):
- 12:54 PM Changeset in webkit [252531] by
-
- 5 edits in trunk/Source/WebCore
[LFC][Invalidation] Add support for simple inline invalidation
https://bugs.webkit.org/show_bug.cgi?id=204268
<rdar://problem/57248995>
Reviewed by Antti Koivisto.
Eventually invalidateFormattingState() will take care of cleaning up the state based on the current InvalidationState.
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):
- layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::invalidateFormattingState):
- layout/inlineformatting/InlineFormattingContext.h:
- layout/inlineformatting/InlineFormattingState.h:
(WebCore::Layout::InlineFormattingState::resetInlineRuns):
- 12:01 PM Changeset in webkit [252530] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Optimize Line::isVisuallyEmpty for the most common inline content.
https://bugs.webkit.org/show_bug.cgi?id=204259
<rdar://problem/57243610>
Reviewed by Antti Koivisto.
Move the check on text content to the front.
- layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::isVisuallyEmpty const):
Nov 16, 2019:
- 8:04 PM Changeset in webkit [252529] by
-
- 5 edits in trunk
REGRESSION (r243606): Interacting with date and time pickers hangs the UI process on watchOS
https://bugs.webkit.org/show_bug.cgi?id=204280
<rdar://problem/49718359>
Reviewed by Chris Dumez.
Source/WebKit:
After r243606, interacting with date and time inputs on watchOS hangs the UI process indefinitely while
attempting to create an input peripheral (WKFormInputControl) for the date or time picker. This is because, in
the process of setting up a new WKDateTimePicker, we call into +[UIKeyboard defaultSizeForInterfaceOrientation:]
which hangs when attempting to fetch the current UIKit keyboard layout type.
To address this, we simply avoid setting _inputPeripheral on watchOS, as we did prior to r243606. Covered by the
existing layout test fast/forms/watchos/time-picker-value-change.html, which currently times out.
- UIProcess/ios/WKContentViewInteraction.mm:
(createInputPeripheralWithView):
LayoutTests:
Clean up a few details in the layout test.
- fast/forms/watchos/time-picker-value-change-expected.txt:
- fast/forms/watchos/time-picker-value-change.html:
Tweak the test description, and simplify logic for completing the layout test.
- 4:09 PM Changeset in webkit [252528] by
-
- 10 edits in trunk
[iOS] [UIWKDocumentContext] Add the ability to request all marked text rects
https://bugs.webkit.org/show_bug.cgi?id=204278
<rdar://problem/56527803>
Reviewed by Tim Horton.
Source/WebCore:
Mark a constructor as WEBCORE_EXPORT. See WebKit ChangeLog for more details.
- editing/TextIterator.h:
Source/WebKit:
Add support for a new UIWKDocumentRequest option to request character rects for each character in the marked
text range. Unless UIWKDocumentRequestRects is additionally specified (in which case we'll return rects for
every single character in the editable root anyways), this option will ensure that all characters in the
composition range (which should match -[UIWKDocumentContext markedTextRange]) will have known character rects
that can be retrieved using -[UIWKDocumentContext enumerateLayoutRects:] (or one of the other helper methods
that utilize -enumerateLayoutRects:).
Test: WebKit.DocumentEditingContextWithMarkedText
- Platform/spi/ios/UIKitSPI.h:
Add a staging declaration for the new option.
- Shared/DocumentEditingContext.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(toWebDocumentRequestOptions):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestDocumentEditingContext):
Refactor logic that uses CharacterIterator to find rects for each character range into a lambda function, and
use this lambda function to handle UIWKDocumentRequestRects and the new UIWKDocumentRequestMarkedTextRects. The
marked text range is relative to the start of the context before the selection.
Tools:
Add an API test to exercise the new request option.
- TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(-[UIWKDocumentContext markedTextRects]):
- TestWebKitAPI/ios/UIKitSPI.h:
- 9:58 AM WebKitGTK/2.26.x edited by
- (diff)
- 9:57 AM WebKitGTK/2.26.x edited by
- (diff)
- 9:11 AM Changeset in webkit [252527] by
-
- 9 edits5 adds in trunk
Unreviewed, rolling out r252526.
broke iOS and mac builds
Reverted changeset:
"Unreviewed, rolling out r252455."
https://bugs.webkit.org/show_bug.cgi?id=204272
https://trac.webkit.org/changeset/252526
- 6:28 AM Changeset in webkit [252526] by
-
- 9 edits3 deletes in trunk
Unreviewed, rolling out r252455.
https://bugs.webkit.org/show_bug.cgi?id=204272
Broke a layout-test on iOS (Requested by aakashja_ on
#webkit).
Reverted changeset:
"[Web Animations] Retargeted transitions targeting accelerated
properties do not stop the original transition"
https://bugs.webkit.org/show_bug.cgi?id=204116
https://trac.webkit.org/changeset/252455