WebKit Bugzilla
Attachment 361841 Details for
Bug 194557
: Find on Page shouldn't zoom in on matches
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194557-20190212142512.patch (text/plain), 5.16 KB, created by
Tim Horton
on 2019-02-12 14:25:13 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Tim Horton
Created:
2019-02-12 14:25:13 PST
Size:
5.16 KB
patch
obsolete
>Subversion Revision: 241286 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 42533e35fc61ed9f26f7e8648112b03b1cbe88a7..882a5ac0002f57c20f7e56517f0d443d94ff5b60 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,19 @@ >+2019-02-12 Tim Horton <timothy_horton@apple.com> >+ >+ Find on Page shouldn't zoom in on matches >+ https://bugs.webkit.org/show_bug.cgi?id=194557 >+ <rdar://problem/42087017> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * UIProcess/ios/SmartMagnificationController.h: >+ * UIProcess/ios/SmartMagnificationController.messages.in: >+ * UIProcess/ios/SmartMagnificationController.mm: >+ (WebKit::SmartMagnificationController::scrollToRect): >+ * WebProcess/WebPage/ios/FindControllerIOS.mm: >+ (WebKit::FindController::updateFindIndicator): >+ Only scroll to reveal the find result, do not zoom in. >+ > 2019-02-11 Brian Burg <bburg@apple.com> > > [Cocoa] Web Automation: client callbacks are not called if delegate does not override >diff --git a/Source/WebKit/UIProcess/ios/SmartMagnificationController.h b/Source/WebKit/UIProcess/ios/SmartMagnificationController.h >index c9a513f7dd0f0e715125f93fdbf7ae1ac75e5f93..d18c622d800daa4d029f94b6ca8a64cfb3f4d1ee 100644 >--- a/Source/WebKit/UIProcess/ios/SmartMagnificationController.h >+++ b/Source/WebKit/UIProcess/ios/SmartMagnificationController.h >@@ -54,6 +54,7 @@ private: > > void didCollectGeometryForSmartMagnificationGesture(WebCore::FloatPoint origin, WebCore::FloatRect renderRect, WebCore::FloatRect visibleContentBounds, bool fitEntireRect, double viewportMinimumScale, double viewportMaximumScale); > void magnify(WebCore::FloatPoint origin, WebCore::FloatRect targetRect, WebCore::FloatRect visibleContentRect, double viewportMinimumScale, double viewportMaximumScale); >+ void scrollToRect(WebCore::FloatPoint origin, WebCore::FloatRect targetRect); > void adjustSmartMagnificationTargetRectAndZoomScales(bool addMagnificationPadding, WebCore::FloatRect& targetRect, double& minimumScale, double& maximumScale); > > WebPageProxy& m_webPageProxy; >diff --git a/Source/WebKit/UIProcess/ios/SmartMagnificationController.messages.in b/Source/WebKit/UIProcess/ios/SmartMagnificationController.messages.in >index 7a71c939d0898b3d6ed37328f13106c8263f2165..9bbcf15d8759b477018a2068913370a44cc2a60f 100644 >--- a/Source/WebKit/UIProcess/ios/SmartMagnificationController.messages.in >+++ b/Source/WebKit/UIProcess/ios/SmartMagnificationController.messages.in >@@ -25,6 +25,7 @@ > messages -> SmartMagnificationController { > DidCollectGeometryForSmartMagnificationGesture(WebCore::FloatPoint origin, WebCore::FloatRect renderRect, WebCore::FloatRect visibleContentBounds, bool fitEntireRect, double viewportMinimumScale, double viewportMaximumScale) > Magnify(WebCore::FloatPoint origin, WebCore::FloatRect targetRect, WebCore::FloatRect visibleContentRect, double viewportMinimumScale, double viewportMaximumScale) >+ ScrollToRect(WebCore::FloatPoint origin, WebCore::FloatRect targetRect) > } > > #endif >diff --git a/Source/WebKit/UIProcess/ios/SmartMagnificationController.mm b/Source/WebKit/UIProcess/ios/SmartMagnificationController.mm >index 9ca14dc0d19533022116bf5e01a9ea0801d32038..f88430b0b85bffa2f96f30555d08afbcda09cf47 100644 >--- a/Source/WebKit/UIProcess/ios/SmartMagnificationController.mm >+++ b/Source/WebKit/UIProcess/ios/SmartMagnificationController.mm >@@ -128,6 +128,11 @@ void SmartMagnificationController::magnify(FloatPoint origin, FloatRect targetRe > [m_contentView _zoomToRect:targetRect withOrigin:origin fitEntireRect:NO minimumScale:minimumScale maximumScale:maximumScale minimumScrollDistance:0]; > } > >+void SmartMagnificationController::scrollToRect(FloatPoint origin, FloatRect targetRect) >+{ >+ [m_contentView _scrollToRect:targetRect withOrigin:origin minimumScrollDistance:0]; >+} >+ > } // namespace WebKit > > #endif // PLATFORM(IOS_FAMILY) >diff --git a/Source/WebKit/WebProcess/WebPage/ios/FindControllerIOS.mm b/Source/WebKit/WebProcess/WebPage/ios/FindControllerIOS.mm >index 3c1b0eac5ef18c22871b78cd9d4352bfe556226d..dcb64e933c42091e56f402202a218c881071c6d0 100644 >--- a/Source/WebKit/WebProcess/WebPage/ios/FindControllerIOS.mm >+++ b/Source/WebKit/WebProcess/WebPage/ios/FindControllerIOS.mm >@@ -106,15 +106,12 @@ bool FindController::updateFindIndicator(Frame& selectedFrame, bool isShowingOve > m_findIndicatorOverlay->setNeedsDisplay(); > > if (shouldAnimate) { >- FloatRect visibleContentRect = m_webPage->mainFrameView()->unobscuredContentRectIncludingScrollbars(); >- > bool isReplaced; > const VisibleSelection& visibleSelection = selectedFrame.selection().selection(); > FloatRect renderRect = visibleSelection.start().containerNode()->renderRect(&isReplaced); >- > IntRect startRect = visibleSelection.visibleStart().absoluteCaretBounds(); > >- m_webPage->send(Messages::SmartMagnificationController::Magnify(startRect.center(), renderRect, visibleContentRect, m_webPage->minimumPageScaleFactor(), m_webPage->maximumPageScaleFactor())); >+ m_webPage->send(Messages::SmartMagnificationController::ScrollToRect(startRect.center(), renderRect)); > } > > m_isShowingFindIndicator = true;
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 194557
: 361841