Diff
Modified: branches/safari-601-branch/Source/WebKit2/ChangeLog (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/ChangeLog 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/ChangeLog 2015-12-06 07:27:45 UTC (rev 193569)
@@ -1,5 +1,9 @@
2015-12-05 Matthew Hanson <matthew_han...@apple.com>
+ Rollout r193475. rdar://problem/23732400
+
+2015-12-05 Matthew Hanson <matthew_han...@apple.com>
+
Rollout r193476. rdar://problem/23732400
2015-12-05 Matthew Hanson <matthew_han...@apple.com>
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2015-12-06 07:27:45 UTC (rev 193569)
@@ -1005,7 +1005,7 @@
}
}
- [_contentView _setDoubleTapGesturesEnabled:self._viewportIsUserScalable];
+ [_contentView _setDoubleTapGesturesEnabled:[_scrollView isZoomEnabled] && [_scrollView minimumZoomScale] < [_scrollView maximumZoomScale]];
[self _updateScrollViewBackground];
@@ -1392,13 +1392,12 @@
force:YES];
}
-- (CGFloat)_contentZoomScale
+- (BOOL)_zoomToRect:(WebCore::FloatRect)targetRect withOrigin:(WebCore::FloatPoint)origin fitEntireRect:(BOOL)fitEntireRect minimumScale:(double)minimumScale maximumScale:(double)maximumScale minimumScrollDistance:(float)minimumScrollDistance
{
- return contentZoomScale(self);
-}
+ const float maximumScaleFactorDeltaForPanScroll = 0.02;
-- (CGFloat)_targetContentZoomScaleForRect:(const WebCore::FloatRect&)targetRect currentScale:(double)currentScale fitEntireRect:(BOOL)fitEntireRect minimumScale:(double)minimumScale maximumScale:(double)maximumScale
-{
+ double currentScale = contentZoomScale(self);
+
WebCore::FloatSize unobscuredContentSize([self _contentRectForUserInteraction].size);
double horizontalScale = unobscuredContentSize.width() * currentScale / targetRect.width();
double verticalScale = unobscuredContentSize.height() * currentScale / targetRect.height();
@@ -1406,16 +1405,7 @@
horizontalScale = std::min(std::max(horizontalScale, minimumScale), maximumScale);
verticalScale = std::min(std::max(verticalScale, minimumScale), maximumScale);
- return fitEntireRect ? std::min(horizontalScale, verticalScale) : horizontalScale;
-}
-
-- (BOOL)_zoomToRect:(WebCore::FloatRect)targetRect withOrigin:(WebCore::FloatPoint)origin fitEntireRect:(BOOL)fitEntireRect minimumScale:(double)minimumScale maximumScale:(double)maximumScale minimumScrollDistance:(float)minimumScrollDistance
-{
- const float maximumScaleFactorDeltaForPanScroll = 0.02;
-
- double currentScale = contentZoomScale(self);
- double targetScale = [self _targetContentZoomScaleForRect:targetRect currentScale:currentScale fitEntireRect:fitEntireRect minimumScale:minimumScale maximumScale:maximumScale];
-
+ double targetScale = fitEntireRect ? std::min(horizontalScale, verticalScale) : horizontalScale;
if (fabs(targetScale - currentScale) < maximumScaleFactorDeltaForPanScroll) {
if ([self _scrollToRect:targetRect origin:origin minimumScrollDistance:minimumScrollDistance])
return true;
@@ -3064,11 +3054,6 @@
return _viewportMetaTagWidth;
}
-- (BOOL)_viewportIsUserScalable
-{
- return [_scrollView isZoomEnabled] && [_scrollView minimumZoomScale] < [_scrollView maximumZoomScale];
-}
-
- (_WKWebViewPrintFormatter *)_webViewPrintFormatter
{
UIViewPrintFormatter *viewPrintFormatter = self.viewPrintFormatter;
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h 2015-12-06 07:27:45 UTC (rev 193569)
@@ -109,9 +109,6 @@
- (void)_navigationGestureDidBegin;
- (void)_navigationGestureDidEnd;
-- (CGFloat)_contentZoomScale;
-- (CGFloat)_targetContentZoomScaleForRect:(const WebCore::FloatRect&)targetRect currentScale:(double)currentScale fitEntireRect:(BOOL)fitEntireRect minimumScale:(double)minimumScale maximumScale:(double)maximumScale;
-
@property (nonatomic, readonly) UIEdgeInsets _computedContentInset;
#else
@property (nonatomic, setter=_setIgnoresNonWheelEvents:) BOOL _ignoresNonWheelEvents;
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h 2015-12-06 07:27:45 UTC (rev 193569)
@@ -128,7 +128,6 @@
// The viewport meta tag width is negative if the value is not defined.
@property (nonatomic, readonly) CGFloat _viewportMetaTagWidth;
-@property (nonatomic, readonly) BOOL _viewportIsUserScalable;
@property (nonatomic, readonly) _WKWebViewPrintFormatter *_webViewPrintFormatter;
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/PageClient.h (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/PageClient.h 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/PageClient.h 2015-12-06 07:27:45 UTC (rev 193569)
@@ -278,7 +278,6 @@
virtual void showPlaybackTargetPicker(bool hasVideo, const WebCore::IntRect& elementRect) = 0;
virtual void zoomToRect(WebCore::FloatRect, double minimumScale, double maximumScale) = 0;
virtual void didChangeViewportMetaTagWidth(float) = 0;
- virtual void disableDoubleTapGesturesUntilTapIsFinishedIfNecessary(uint64_t requestID, bool allowsDoubleTapZoom, const WebCore::FloatRect& targetRect, bool isReplacedElement, double minimumScale, double maximumScale) = 0;
virtual double minimumZoomScale() const = 0;
virtual WebCore::FloatRect documentRect() const = 0;
virtual void overflowScrollViewWillStartPanGesture() = 0;
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.h (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.h 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.h 2015-12-06 07:27:45 UTC (rev 193569)
@@ -519,7 +519,6 @@
void commitPotentialTapFailed();
void didNotHandleTapAsClick(const WebCore::IntPoint&);
void viewportMetaTagWidthDidChange(float width);
- void disableDoubleTapGesturesUntilTapIsFinishedIfNecessary(uint64_t requestID, bool allowsDoubleTapZoom, const WebCore::FloatRect& targetRect, bool isReplacedElement, double minimumScale, double maximumScale);
void didFinishDrawingPagesToPDF(const IPC::DataReference&);
void contentSizeCategoryDidChange(const String& contentSizeCategory);
void getLookupContextAtPoint(const WebCore::IntPoint&, std::function<void(const String&, CallbackBase::Error)>);
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.messages.in (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.messages.in 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/WebPageProxy.messages.in 2015-12-06 07:27:45 UTC (rev 193569)
@@ -189,7 +189,6 @@
CommitPotentialTapFailed()
DidNotHandleTapAsClick(WebCore::IntPoint point)
ViewportMetaTagWidthDidChange(float width)
- DisableDoubleTapGesturesUntilTapIsFinishedIfNecessary(uint64_t requestID, bool allowsDoubleTapZoom, WebCore::FloatRect targetRect, bool isReplacedElement, double minimumScale, double maximumScale)
DidFinishDrawingPagesToPDF(IPC::DataReference pdfData)
#endif
#if PLATFORM(GTK)
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/ios/PageClientImplIOS.h (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/ios/PageClientImplIOS.h 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/ios/PageClientImplIOS.h 2015-12-06 07:27:45 UTC (rev 193569)
@@ -134,7 +134,6 @@
virtual bool handleRunOpenPanel(WebPageProxy*, WebFrameProxy*, WebOpenPanelParameters*, WebOpenPanelResultListenerProxy*) override;
virtual void didChangeViewportMetaTagWidth(float) override;
- virtual void disableDoubleTapGesturesUntilTapIsFinishedIfNecessary(uint64_t requestID, bool allowsDoubleTapZoom, const WebCore::FloatRect& targetRect, bool isReplacedElement, double minimumScale, double maximumScale) override;
virtual double minimumZoomScale() const override;
virtual WebCore::FloatRect documentRect() const override;
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm 2015-12-06 07:27:45 UTC (rev 193569)
@@ -270,14 +270,6 @@
[m_webView _setViewportMetaTagWidth:newWidth];
}
-void PageClientImpl::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary(uint64_t requestID, bool allowsDoubleTapZoom, const WebCore::FloatRect& targetRect, bool isReplacedElement, double minimumScale, double maximumScale)
-{
- if (!m_webView._viewportIsUserScalable)
- return;
-
- [m_contentView _disableDoubleTapGesturesUntilTapIsFinishedIfNecessary:requestID allowsDoubleTapZoom:allowsDoubleTapZoom targetRect:targetRect isReplaced:isReplacedElement minimumScale:minimumScale maximumScale:maximumScale];
-}
-
double PageClientImpl::minimumZoomScale() const
{
if (UIScrollView *scroller = [m_webView scrollView])
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/ios/SmartMagnificationController.h (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/ios/SmartMagnificationController.h 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/ios/SmartMagnificationController.h 2015-12-06 07:27:45 UTC (rev 193569)
@@ -48,7 +48,6 @@
void handleSmartMagnificationGesture(WebCore::FloatPoint origin);
void handleResetMagnificationGesture(WebCore::FloatPoint origin);
- void adjustSmartMagnificationTargetRectAndZoomScales(bool addMagnificationPadding, WebCore::FloatRect& targetRect, double& minimumScale, double& maximumScale);
private:
// IPC::MessageReceiver.
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/ios/SmartMagnificationController.mm (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/ios/SmartMagnificationController.mm 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/ios/SmartMagnificationController.mm 2015-12-06 07:27:45 UTC (rev 193569)
@@ -78,17 +78,6 @@
[m_contentView _zoomOutWithOrigin:origin];
}
-void SmartMagnificationController::adjustSmartMagnificationTargetRectAndZoomScales(bool addMagnificationPadding, WebCore::FloatRect& targetRect, double& minimumScale, double& maximumScale)
-{
- if (addMagnificationPadding) {
- targetRect.inflateX(smartMagnificationElementPadding * targetRect.width());
- targetRect.inflateY(smartMagnificationElementPadding * targetRect.height());
- }
-
- minimumScale = std::max(minimumScale, smartMagnificationMinimumScale);
- maximumScale = std::min(maximumScale, smartMagnificationMaximumScale);
-}
-
void SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture(FloatPoint origin, FloatRect targetRect, FloatRect visibleContentRect, bool isReplacedElement, double viewportMinimumScale, double viewportMaximumScale)
{
if (targetRect.isEmpty()) {
@@ -96,10 +85,15 @@
[m_contentView _zoomOutWithOrigin:origin];
return;
}
- double minimumScale = viewportMinimumScale;
- double maximumScale = viewportMaximumScale;
- adjustSmartMagnificationTargetRectAndZoomScales(!isReplacedElement, targetRect, minimumScale, maximumScale);
+ if (!isReplacedElement) {
+ targetRect.inflateX(smartMagnificationElementPadding * targetRect.width());
+ targetRect.inflateY(smartMagnificationElementPadding * targetRect.height());
+ }
+
+ double maximumScale = std::min(viewportMaximumScale, smartMagnificationMaximumScale);
+ double minimumScale = std::max(viewportMinimumScale, smartMagnificationMinimumScale);
+
// FIXME: Check if text selection wants to consume the double tap before we attempt magnification.
// If the content already fits in the scroll view and we're already zoomed in to the target scale,
@@ -124,9 +118,12 @@
void SmartMagnificationController::magnify(FloatPoint origin, FloatRect targetRect, FloatRect visibleContentRect, double viewportMinimumScale, double viewportMaximumScale)
{
- double maximumScale = viewportMaximumScale;
- double minimumScale = viewportMinimumScale;
- adjustSmartMagnificationTargetRectAndZoomScales(true, targetRect, minimumScale, maximumScale);
+ targetRect.inflateX(smartMagnificationElementPadding * targetRect.width());
+ targetRect.inflateY(smartMagnificationElementPadding * targetRect.height());
+
+ double maximumScale = std::min(viewportMaximumScale, smartMagnificationMaximumScale);
+ double minimumScale = std::max(viewportMinimumScale, smartMagnificationMinimumScale);
+
[m_contentView _zoomToRect:targetRect withOrigin:origin fitEntireRect:NO minimumScale:minimumScale maximumScale:maximumScale minimumScrollDistance:0];
}
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.h 2015-12-06 07:27:45 UTC (rev 193569)
@@ -129,7 +129,7 @@
id <UITextInputDelegate> _inputDelegate;
- uint64_t _latestTapID;
+ uint64_t _latestTapHighlightID;
struct TapHighlightInformation {
WebCore::Color color;
Vector<WebCore::FloatQuad> quads;
@@ -185,7 +185,6 @@
- (void)_commitPotentialTapFailed;
- (void)_didGetTapHighlightForRequest:(uint64_t)requestID color:(const WebCore::Color&)color quads:(const Vector<WebCore::FloatQuad>&)highlightedQuads topLeftRadius:(const WebCore::IntSize&)topLeftRadius topRightRadius:(const WebCore::IntSize&)topRightRadius bottomLeftRadius:(const WebCore::IntSize&)bottomLeftRadius bottomRightRadius:(const WebCore::IntSize&)bottomRightRadius;
-- (void)_disableDoubleTapGesturesUntilTapIsFinishedIfNecessary:(uint64_t)requestID allowsDoubleTapZoom:(bool)allowsDoubleTapZoom targetRect:(WebCore::FloatRect)targetRect isReplaced:(BOOL)isReplacedElement minimumScale:(double)minimumScale maximumScale:(double)maximumScale;
- (void)_startAssistingNode:(const WebKit::AssistedNodeInformation&)information userIsInteracting:(BOOL)userIsInteracting blurPreviousNode:(BOOL)blurPreviousNode userObject:(NSObject <NSSecureCoding> *)userObject;
- (void)_stopAssistingNode;
- (void)_selectionChanged;
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm 2015-12-06 07:27:45 UTC (rev 193569)
@@ -739,7 +739,7 @@
- (void)_didGetTapHighlightForRequest:(uint64_t)requestID color:(const WebCore::Color&)color quads:(const Vector<WebCore::FloatQuad>&)highlightedQuads topLeftRadius:(const WebCore::IntSize&)topLeftRadius topRightRadius:(const WebCore::IntSize&)topRightRadius bottomLeftRadius:(const WebCore::IntSize&)bottomLeftRadius bottomRightRadius:(const WebCore::IntSize&)bottomRightRadius
{
- if (!_isTapHighlightIDValid || _latestTapID != requestID)
+ if (!_isTapHighlightIDValid || _latestTapHighlightID != requestID)
return;
_isTapHighlightIDValid = NO;
@@ -759,44 +759,6 @@
[self _showTapHighlight];
}
-- (CGFloat)_fastClickZoomThreshold
-{
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- if (![defaults boolForKey:@"WebKitFastClickingEnabled"])
- return 0;
-
- return [defaults floatForKey:@"WebKitFastClickZoomThreshold"];
-}
-
-- (BOOL)_allowDoubleTapToZoomForCurrentZoomScale:(CGFloat)currentZoomScale andTargetZoomScale:(CGFloat)targetZoomScale
-{
- CGFloat zoomThreshold = [self _fastClickZoomThreshold];
- if (!zoomThreshold)
- return YES;
-
- CGFloat minimumZoomRatioForDoubleTapToZoomIn = 1 + zoomThreshold;
- CGFloat maximumZoomRatioForDoubleTapToZoomOut = 1 / minimumZoomRatioForDoubleTapToZoomIn;
- CGFloat zoomRatio = targetZoomScale / currentZoomScale;
- return zoomRatio < maximumZoomRatioForDoubleTapToZoomOut || zoomRatio > minimumZoomRatioForDoubleTapToZoomIn;
-}
-
-- (void)_disableDoubleTapGesturesUntilTapIsFinishedIfNecessary:(uint64_t)requestID allowsDoubleTapZoom:(bool)allowsDoubleTapZoom targetRect:(WebCore::FloatRect)targetRect isReplaced:(BOOL)isReplacedElement minimumScale:(double)minimumScale maximumScale:(double)maximumScale
-{
- if (!_potentialTapInProgress || _latestTapID != requestID)
- return;
-
- if (allowsDoubleTapZoom) {
- // Though the element allows us to zoom in on double tap, we avoid this behavior in favor of fast clicking if the difference in scale is insignificant.
- _smartMagnificationController->adjustSmartMagnificationTargetRectAndZoomScales(!isReplacedElement, targetRect, minimumScale, maximumScale);
- CGFloat currentZoomScale = [_webView _contentZoomScale];
- CGFloat targetZoomScale = [_webView _targetContentZoomScaleForRect:targetRect currentScale:currentZoomScale fitEntireRect:isReplacedElement minimumScale:minimumScale maximumScale:maximumScale];
- if ([self _allowDoubleTapToZoomForCurrentZoomScale:currentZoomScale andTargetZoomScale:targetZoomScale])
- return;
- }
-
- [self _setDoubleTapGesturesEnabled:NO];
-}
-
- (void)_cancelLongPressGestureRecognizer
{
[_highlightLongPressGestureRecognizer cancel];
@@ -1095,7 +1057,7 @@
case UIGestureRecognizerStateBegan:
_highlightLongPressCanClick = YES;
cancelPotentialTapIfNecessary(self);
- _page->tapHighlightAtPosition([gestureRecognizer startPoint], ++_latestTapID);
+ _page->tapHighlightAtPosition([gestureRecognizer startPoint], ++_latestTapHighlightID);
_isTapHighlightIDValid = YES;
break;
case UIGestureRecognizerStateEnded:
@@ -1136,20 +1098,12 @@
}
}
-- (void)_endPotentialTapAndEnableDoubleTapGesturesIfNecessary
-{
- if (_webView._viewportIsUserScalable)
- [self _setDoubleTapGesturesEnabled:YES];
-
- _potentialTapInProgress = NO;
-}
-
- (void)_singleTapRecognized:(UITapGestureRecognizer *)gestureRecognizer
{
ASSERT(gestureRecognizer == _singleTapGestureRecognizer);
ASSERT(!_potentialTapInProgress);
- _page->potentialTapAtPosition(gestureRecognizer.location, ++_latestTapID);
+ _page->potentialTapAtPosition(gestureRecognizer.location, ++_latestTapHighlightID);
_potentialTapInProgress = YES;
_isTapHighlightIDValid = YES;
}
@@ -1157,7 +1111,7 @@
static void cancelPotentialTapIfNecessary(WKContentView* contentView)
{
if (contentView->_potentialTapInProgress) {
- [contentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary];
+ contentView->_potentialTapInProgress = NO;
[contentView _cancelInteraction];
contentView->_page->cancelPotentialTap();
}
@@ -1196,7 +1150,7 @@
_lastInteractionLocation = gestureRecognizer.location;
- [self _endPotentialTapAndEnableDoubleTapGesturesIfNecessary];
+ _potentialTapInProgress = NO;
if (_hasTapHighlightForPotentialTap) {
[self _showTapHighlight];
Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm 2015-12-06 07:27:45 UTC (rev 193569)
@@ -905,11 +905,6 @@
m_pageClient.didChangeViewportMetaTagWidth(width);
}
-void WebPageProxy::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary(uint64_t requestID, bool allowsDoubleTapZoom, const WebCore::FloatRect& targetRect, bool isReplacedElement, double minimumScale, double maximumScale)
-{
- m_pageClient.disableDoubleTapGesturesUntilTapIsFinishedIfNecessary(requestID, allowsDoubleTapZoom, targetRect, isReplacedElement, minimumScale, maximumScale);
-}
-
void WebPageProxy::didFinishDrawingPagesToPDF(const IPC::DataReference& pdfData)
{
m_pageClient.didFinishDrawingPagesToPDF(pdfData);
Modified: branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.cpp (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.cpp 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.cpp 2015-12-06 07:27:45 UTC (rev 193569)
@@ -86,45 +86,39 @@
HitTestResult hitTestResult = HitTestResult(originInContentsSpace);
m_webPage.mainFrameView()->renderView()->hitTest(HitTestRequest(), hitTestResult);
- Node* node = hitTestResult.innerNode();
- if (!node) {
- dispatchDidCollectGeometryForSmartMagnificationGesture(FloatPoint(), FloatRect(), FloatRect(), false, 0, 0);
- return;
- }
- bool isReplaced;
- FloatRect renderRect;
- double viewportMinimumScale;
- double viewportMaximumScale;
+ if (Node* node = hitTestResult.innerNode()) {
+ bool isReplaced;
+ FloatRect renderRect = node->renderRect(&isReplaced);
- computeZoomInformationForNode(*node, origin, renderRect, isReplaced, viewportMinimumScale, viewportMaximumScale);
- dispatchDidCollectGeometryForSmartMagnificationGesture(origin, renderRect, visibleContentRect, isReplaced, viewportMinimumScale, viewportMaximumScale);
-}
-
-void ViewGestureGeometryCollector::computeZoomInformationForNode(Node& node, FloatPoint& origin, FloatRect& renderRect, bool& isReplaced, double& viewportMinimumScale, double& viewportMaximumScale)
-{
- renderRect = node.renderRect(&isReplaced);
- if (node.document().isImageDocument()) {
- if (HTMLImageElement* imageElement = static_cast<ImageDocument&>(node.document()).imageElement()) {
- if (&node != imageElement) {
- renderRect = imageElement->renderRect(&isReplaced);
- FloatPoint newOrigin = origin;
- if (origin.x() < renderRect.x() || origin.x() > renderRect.maxX())
- newOrigin.setX(renderRect.x() + renderRect.width() / 2);
- if (origin.y() < renderRect.y() || origin.y() > renderRect.maxY())
- newOrigin.setY(renderRect.y() + renderRect.height() / 2);
- origin = newOrigin;
+ if (node->document().isImageDocument()) {
+ if (HTMLImageElement* imageElement = static_cast<ImageDocument&>(node->document()).imageElement()) {
+ if (node != imageElement) {
+ renderRect = imageElement->renderRect(&isReplaced);
+ FloatPoint newOrigin = origin;
+ if (origin.x() < renderRect.x() || origin.x() > renderRect.maxX())
+ newOrigin.setX(renderRect.x() + renderRect.width() / 2);
+ if (origin.y() < renderRect.y() || origin.y() > renderRect.maxY())
+ newOrigin.setY(renderRect.y() + renderRect.height() / 2);
+ origin = newOrigin;
+ }
+ isReplaced = true;
}
- isReplaced = true;
}
- }
+
#if PLATFORM(MAC)
- viewportMinimumScale = 0;
- viewportMaximumScale = std::numeric_limits<double>::max();
+ double viewportMinimumScale = 0;
+ double viewportMaximumScale = std::numeric_limits<double>::max();
#else
- viewportMinimumScale = m_webPage.minimumPageScaleFactor();
- viewportMaximumScale = m_webPage.maximumPageScaleFactor();
+ double viewportMinimumScale = m_webPage.minimumPageScaleFactor();
+ double viewportMaximumScale = m_webPage.maximumPageScaleFactor();
#endif
+
+ dispatchDidCollectGeometryForSmartMagnificationGesture(origin, renderRect, visibleContentRect, isReplaced, viewportMinimumScale, viewportMaximumScale);
+ return;
+ }
+
+ dispatchDidCollectGeometryForSmartMagnificationGesture(FloatPoint(), FloatRect(), FloatRect(), false, 0, 0);
}
#if PLATFORM(MAC)
Modified: branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.h (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.h 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/ViewGestureGeometryCollector.h 2015-12-06 07:27:45 UTC (rev 193569)
@@ -32,7 +32,6 @@
namespace WebCore {
class FloatPoint;
class FloatRect;
-class Node;
}
namespace WebKit {
@@ -45,7 +44,6 @@
~ViewGestureGeometryCollector();
void mainFrameDidLayout();
- void computeZoomInformationForNode(WebCore::Node&, WebCore::FloatPoint& origin, WebCore::FloatRect& renderRect, bool& isReplaced, double& viewportMinimumScale, double& viewportMaximumScale);
private:
// IPC::MessageReceiver.
Modified: branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (193568 => 193569)
--- branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm 2015-12-06 07:27:37 UTC (rev 193568)
+++ branches/safari-601-branch/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm 2015-12-06 07:27:45 UTC (rev 193569)
@@ -662,16 +662,6 @@
{
m_potentialTapNode = m_page->mainFrame().nodeRespondingToClickEvents(position, m_potentialTapLocation);
sendTapHighlightForNodeIfNecessary(requestID, m_potentialTapNode.get());
- if (m_potentialTapNode) {
- FloatPoint origin = position;
- FloatRect renderRect;
- bool isReplaced;
- double viewportMinimumScale;
- double viewportMaximumScale;
-
- m_viewGestureGeometryCollector.computeZoomInformationForNode(*m_potentialTapNode.get(), origin, renderRect, isReplaced, viewportMinimumScale, viewportMaximumScale);
- send(Messages::WebPageProxy::DisableDoubleTapGesturesUntilTapIsFinishedIfNecessary(requestID, true, renderRect, isReplaced, viewportMinimumScale, viewportMaximumScale));
- }
}
void WebPage::commitPotentialTap(uint64_t lastLayerTreeTransactionId)