Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Side by Side Diff: Source/web/WebViewImpl.h

Issue 15663005: Expand tap highlight to allow multiple highlights for touch disambiguation. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/web/LinkHighlight.cpp ('k') | Source/web/WebViewImpl.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after
509 WebCore::ScrollGranularity* scrollGranularity ); 509 WebCore::ScrollGranularity* scrollGranularity );
510 510
511 // Called by a full frame plugin inside this view to inform it that its 511 // Called by a full frame plugin inside this view to inform it that its
512 // zoom level has been updated. The plugin should only call this function 512 // zoom level has been updated. The plugin should only call this function
513 // if the zoom change was triggered by the browser, it's only needed in case 513 // if the zoom change was triggered by the browser, it's only needed in case
514 // a plugin can update its own zoom, say because of its own UI. 514 // a plugin can update its own zoom, say because of its own UI.
515 void fullFramePluginZoomLevelChanged(double zoomLevel); 515 void fullFramePluginZoomLevelChanged(double zoomLevel);
516 516
517 void computeScaleAndScrollForBlockRect(const WebRect& blockRect, float paddi ng, float defaultScaleWhenAlreadyLegible, float& scale, WebPoint& scroll); 517 void computeScaleAndScrollForBlockRect(const WebRect& blockRect, float paddi ng, float defaultScaleWhenAlreadyLegible, float& scale, WebPoint& scroll);
518 WebCore::Node* bestTapNode(const WebCore::PlatformGestureEvent& tapEvent); 518 WebCore::Node* bestTapNode(const WebCore::PlatformGestureEvent& tapEvent);
519 void enableTapHighlight(const WebCore::PlatformGestureEvent& tapEvent); 519 void enableTapHighlightAtPoint(const WebCore::PlatformGestureEvent& tapEvent );
520 void enableTapHighlights(Vector<WebCore::Node*>&);
520 void computeScaleAndScrollForFocusedNode(WebCore::Node* focusedNode, float& scale, WebCore::IntPoint& scroll, bool& needAnimation); 521 void computeScaleAndScrollForFocusedNode(WebCore::Node* focusedNode, float& scale, WebCore::IntPoint& scroll, bool& needAnimation);
521 522
522 void animateDoubleTapZoom(const WebCore::IntPoint&); 523 void animateDoubleTapZoom(const WebCore::IntPoint&);
523 524
524 void enableFakePageScaleAnimationForTesting(bool); 525 void enableFakePageScaleAnimationForTesting(bool);
525 bool fakeDoubleTapAnimationPendingForTesting() const { return m_doubleTapZoo mPending; } 526 bool fakeDoubleTapAnimationPendingForTesting() const { return m_doubleTapZoo mPending; }
526 WebCore::IntPoint fakePageScaleAnimationTargetPositionForTesting() const { r eturn m_fakePageScaleAnimationTargetPosition; } 527 WebCore::IntPoint fakePageScaleAnimationTargetPositionForTesting() const { r eturn m_fakePageScaleAnimationTargetPosition; }
527 float fakePageScaleAnimationPageScaleForTesting() const { return m_fakePageS caleAnimationPageScaleFactor; } 528 float fakePageScaleAnimationPageScaleForTesting() const { return m_fakePageS caleAnimationPageScaleFactor; }
528 bool fakePageScaleAnimationUseAnchorForTesting() const { return m_fakePageSc aleAnimationUseAnchor; } 529 bool fakePageScaleAnimationUseAnchorForTesting() const { return m_fakePageSc aleAnimationUseAnchor; }
529 530
(...skipping 11 matching lines...) Expand all
541 // disable the system cursor. 542 // disable the system cursor.
542 virtual bool requestPointerLock(); 543 virtual bool requestPointerLock();
543 virtual void requestPointerUnlock(); 544 virtual void requestPointerUnlock();
544 virtual bool isPointerLocked(); 545 virtual bool isPointerLocked();
545 546
546 // Heuristic-based function for determining if we should disable workarounds 547 // Heuristic-based function for determining if we should disable workarounds
547 // for viewing websites that are not optimized for mobile devices. 548 // for viewing websites that are not optimized for mobile devices.
548 bool shouldDisableDesktopWorkarounds(); 549 bool shouldDisableDesktopWorkarounds();
549 550
550 // Exposed for tests. 551 // Exposed for tests.
551 LinkHighlight* linkHighlight() { return m_linkHighlight.get(); } 552 unsigned numLinkHighlights() { return m_linkHighlights.size(); }
553 LinkHighlight* linkHighlight(int i) { return m_linkHighlights[i].get(); }
552 554
553 WebSettingsImpl* settingsImpl(); 555 WebSettingsImpl* settingsImpl();
554 556
555 // Returns the bounding box of the block type node touched by the WebRect. 557 // Returns the bounding box of the block type node touched by the WebRect.
556 WebRect computeBlockBounds(const WebRect&, bool ignoreClipping); 558 WebRect computeBlockBounds(const WebRect&, bool ignoreClipping);
557 559
558 WebCore::IntPoint clampOffsetAtScale(const WebCore::IntPoint& offset, float scale); 560 WebCore::IntPoint clampOffsetAtScale(const WebCore::IntPoint& offset, float scale);
559 561
560 // Exposed for tests. 562 // Exposed for tests.
561 WebVector<WebCompositionUnderline> compositionUnderlines() const; 563 WebVector<WebCompositionUnderline> compositionUnderlines() const;
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
803 UserMediaClientImpl m_userMediaClientImpl; 805 UserMediaClientImpl m_userMediaClientImpl;
804 OwnPtr<MIDIClientProxy> m_midiClientProxy; 806 OwnPtr<MIDIClientProxy> m_midiClientProxy;
805 #if ENABLE(NAVIGATOR_CONTENT_UTILS) 807 #if ENABLE(NAVIGATOR_CONTENT_UTILS)
806 OwnPtr<NavigatorContentUtilsClientImpl> m_navigatorContentUtilsClient; 808 OwnPtr<NavigatorContentUtilsClientImpl> m_navigatorContentUtilsClient;
807 #endif 809 #endif
808 OwnPtr<WebActiveGestureAnimation> m_gestureAnimation; 810 OwnPtr<WebActiveGestureAnimation> m_gestureAnimation;
809 WebPoint m_positionOnFlingStart; 811 WebPoint m_positionOnFlingStart;
810 WebPoint m_globalPositionOnFlingStart; 812 WebPoint m_globalPositionOnFlingStart;
811 int m_flingModifier; 813 int m_flingModifier;
812 bool m_flingSourceDevice; 814 bool m_flingSourceDevice;
813 OwnPtr<LinkHighlight> m_linkHighlight; 815 Vector<OwnPtr<LinkHighlight> > m_linkHighlights;
814 OwnPtr<ValidationMessageClientImpl> m_validationMessage; 816 OwnPtr<ValidationMessageClientImpl> m_validationMessage;
815 OwnPtr<FullscreenController> m_fullscreenController; 817 OwnPtr<FullscreenController> m_fullscreenController;
816 818
817 bool m_showFPSCounter; 819 bool m_showFPSCounter;
818 bool m_showPaintRects; 820 bool m_showPaintRects;
819 bool m_showDebugBorders; 821 bool m_showDebugBorders;
820 bool m_continuousPaintingEnabled; 822 bool m_continuousPaintingEnabled;
821 bool m_showScrollBottleneckRects; 823 bool m_showScrollBottleneckRects;
822 WebColor m_baseBackgroundColor; 824 WebColor m_baseBackgroundColor;
823 825
824 WebCore::Timer<WebViewImpl> m_helperPluginCloseTimer; 826 WebCore::Timer<WebViewImpl> m_helperPluginCloseTimer;
825 Vector<RefPtr<WebHelperPluginImpl> > m_helperPluginsPendingClose; 827 Vector<RefPtr<WebHelperPluginImpl> > m_helperPluginsPendingClose;
826 }; 828 };
827 829
828 inline WebViewImpl* toWebViewImpl(WebView* webView) 830 inline WebViewImpl* toWebViewImpl(WebView* webView)
829 { 831 {
830 // We have no ways to check if the specified WebView is an instance of 832 // We have no ways to check if the specified WebView is an instance of
831 // WebViewImpl because WebViewImpl is the only implementation of WebView. 833 // WebViewImpl because WebViewImpl is the only implementation of WebView.
832 return static_cast<WebViewImpl*>(webView); 834 return static_cast<WebViewImpl*>(webView);
833 } 835 }
834 836
835 } // namespace WebKit 837 } // namespace WebKit
836 838
837 #endif 839 #endif
OLDNEW
« no previous file with comments | « Source/web/LinkHighlight.cpp ('k') | Source/web/WebViewImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698