WebKit Bugzilla
Attachment 343283 Details for
Bug 186900
: Fix IBeam issues with iPad apps on Mac
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-186900-20180621161410.patch (text/plain), 4.34 KB, created by
Megan Gardner
on 2018-06-21 16:14:10 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Megan Gardner
Created:
2018-06-21 16:14:10 PDT
Size:
4.34 KB
patch
obsolete
>Subversion Revision: 233064 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 73aad945b2dd2dcead5f10051cb48e902a5cef6f..5f3b7b6c54fa1404107be15c8cd4b72474eb083c 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,16 @@ >+2018-06-21 Megan Gardner <megan_gardner@apple.com> >+ >+ Fix IBeam issues with iPad apps on Mac >+ https://bugs.webkit.org/show_bug.cgi?id=186900 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Just moving a method so iPad apps on Mac will compile. >+ >+ * page/EventHandler.cpp: >+ (WebCore::EventHandler::selectionExtentRespectingEditingBoundary): >+ * page/EventHandler.h: >+ > 2018-06-21 Jer Noble <jer.noble@apple.com> > > [Fullscreen] Page sometimes ends up with an incorrect zoom level after entering fullscreen >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 05aa2ff1519d440bb2bbc3af5f1e0d6ce90a5161..a23e83e844e6419b0960f9075c7ff98bd4a7e1f3 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,16 @@ >+2018-06-21 Megan Gardner <megan_gardner@apple.com> >+ >+ Fix iBeam issues with iPad apps on Mac >+ https://bugs.webkit.org/show_bug.cgi?id=186900 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ UIKit is using this function to determine if we should show an iBeam or not. >+ So we need to implement it, at least for this platform. >+ >+ * UIProcess/ios/WKContentViewInteraction.mm: >+ (-[WKContentView closestPositionToPoint:]): >+ > 2018-06-21 Commit Queue <commit-queue@webkit.org> > > Unreviewed, rolling out r232884. >diff --git a/Source/WebCore/page/EventHandler.cpp b/Source/WebCore/page/EventHandler.cpp >index 9b034d00ae7385721e877daa7303fd96bd80073c..af6d3cd0458705faba4e40f713d8e40dc008e42f 100644 >--- a/Source/WebCore/page/EventHandler.cpp >+++ b/Source/WebCore/page/EventHandler.cpp >@@ -989,6 +989,26 @@ void EventHandler::updateSelectionForMouseDrag(const HitTestResult& hitTestResul > FrameSelection::AdjustEndpointsAtBidiBoundary); > } > #endif // ENABLE(DRAG_SUPPORT) >+ >+VisiblePosition EventHandler::selectionExtentRespectingEditingBoundary(const VisibleSelection& selection, const LayoutPoint& localPoint, Node* targetNode) >+{ >+ FloatPoint selectionEndPoint = localPoint; >+ Element* editableElement = selection.rootEditableElement(); >+ >+ if (!targetNode || !targetNode->renderer()) >+ return VisiblePosition(); >+ >+ if (editableElement && !editableElement->contains(targetNode)) { >+ if (!editableElement->renderer()) >+ return VisiblePosition(); >+ >+ FloatPoint absolutePoint = targetNode->renderer()->localToAbsolute(FloatPoint(selectionEndPoint)); >+ selectionEndPoint = editableElement->renderer()->absoluteToLocal(absolutePoint); >+ targetNode = editableElement; >+ } >+ >+ return targetNode->renderer()->positionForPoint(LayoutPoint(selectionEndPoint), nullptr); >+} > > void EventHandler::lostMouseCapture() > { >diff --git a/Source/WebCore/page/EventHandler.h b/Source/WebCore/page/EventHandler.h >index 3ebe56f9b413de0bf3b292e998af86a8dcc2aba4..51032786b35ed7de8d53c0df35c5570aba42f152 100644 >--- a/Source/WebCore/page/EventHandler.h >+++ b/Source/WebCore/page/EventHandler.h >@@ -134,6 +134,7 @@ public: > #if ENABLE(DRAG_SUPPORT) > void updateSelectionForMouseDrag(); > #endif >+ WEBCORE_EXPORT VisiblePosition selectionExtentRespectingEditingBoundary(const VisibleSelection&, const LayoutPoint&, Node*); > > #if ENABLE(PAN_SCROLLING) > void didPanScrollStart(); >diff --git a/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm b/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm >index 266926d0b0009658f2c6c21a5739aef530dae6a8..488610a912d9bec4f7802a55ee0ba1248741b0df 100644 >--- a/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm >+++ b/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm >@@ -3319,6 +3319,14 @@ static void selectionChangedWithTouch(WKContentView *view, const WebCore::IntPoi > /* Hit testing. */ > - (UITextPosition *)closestPositionToPoint:(CGPoint)point > { >+#if ENABLE(MINIMAL_SIMULATOR) >+ InteractionInformationRequest request(roundedIntPoint(point)); >+ if (![self ensurePositionInformationIsUpToDate:request]) >+ return nil; >+ >+ if (_positionInformation.isSelectable) >+ return [WKTextPosition textPositionWithRect:_positionInformation.bounds]; >+#endif > return nil; > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 186900
:
343283
|
343286
|
343294
|
343434
|
343564
|
343570
|
343607
|
343643
|
343665
|
343770