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

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

Issue 2804813002: Hide popups when handling mouse down, mouse wheel, or gesture tap in a WebFrameWidget (Closed)
Patch Set: (Try to) Dismiss popup on scroll and gesture tap Created 3 years, 8 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
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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 #include "public/web/WebView.h" 57 #include "public/web/WebView.h"
58 #include "web/ChromeClientImpl.h" 58 #include "web/ChromeClientImpl.h"
59 #include "web/ContextMenuClientImpl.h" 59 #include "web/ContextMenuClientImpl.h"
60 #include "web/EditorClientImpl.h" 60 #include "web/EditorClientImpl.h"
61 #include "web/MediaKeysClientImpl.h" 61 #include "web/MediaKeysClientImpl.h"
62 #include "web/PageWidgetDelegate.h" 62 #include "web/PageWidgetDelegate.h"
63 #include "web/ResizeViewportAnchor.h" 63 #include "web/ResizeViewportAnchor.h"
64 #include "web/SpellCheckerClientImpl.h" 64 #include "web/SpellCheckerClientImpl.h"
65 #include "web/StorageClientImpl.h" 65 #include "web/StorageClientImpl.h"
66 #include "web/WebExport.h" 66 #include "web/WebExport.h"
67 #include "web/WebPagePopupImpl.h"
67 #include "wtf/Compiler.h" 68 #include "wtf/Compiler.h"
68 #include "wtf/HashSet.h" 69 #include "wtf/HashSet.h"
69 #include "wtf/RefCounted.h" 70 #include "wtf/RefCounted.h"
70 #include "wtf/Vector.h" 71 #include "wtf/Vector.h"
71 72
72 namespace blink { 73 namespace blink {
73 74
74 class BrowserControls; 75 class BrowserControls;
75 class CompositorAnimationHost; 76 class CompositorAnimationHost;
76 class DevToolsEmulator; 77 class DevToolsEmulator;
77 class Frame; 78 class Frame;
78 class FullscreenController; 79 class FullscreenController;
79 class InspectorOverlay; 80 class InspectorOverlay;
80 class LinkHighlightImpl; 81 class LinkHighlightImpl;
81 class PageOverlay; 82 class PageOverlay;
82 class PageScaleConstraintsSet; 83 class PageScaleConstraintsSet;
83 class PaintLayerCompositor; 84 class PaintLayerCompositor;
84 class UserGestureToken; 85 class UserGestureToken;
85 class WebActiveGestureAnimation; 86 class WebActiveGestureAnimation;
86 class WebDevToolsAgentImpl; 87 class WebDevToolsAgentImpl;
87 class WebElement; 88 class WebElement;
88 class WebInputMethodControllerImpl; 89 class WebInputMethodControllerImpl;
89 class WebLayerTreeView; 90 class WebLayerTreeView;
90 class WebLocalFrame; 91 class WebLocalFrame;
91 class WebLocalFrameImpl; 92 class WebLocalFrameImpl;
92 class CompositorMutatorImpl; 93 class CompositorMutatorImpl;
93 class WebPagePopupImpl;
94 class WebPlugin; 94 class WebPlugin;
95 class WebRemoteFrame; 95 class WebRemoteFrame;
96 class WebSettingsImpl; 96 class WebSettingsImpl;
97 class WebViewScheduler; 97 class WebViewScheduler;
98 98
99 class WEB_EXPORT WebViewImpl final 99 class WEB_EXPORT WebViewImpl final
100 : NON_EXPORTED_BASE(public WebView), 100 : NON_EXPORTED_BASE(public WebView),
101 public RefCounted<WebViewImpl>, 101 public RefCounted<WebViewImpl>,
102 NON_EXPORTED_BASE(public WebGestureCurveTarget), 102 NON_EXPORTED_BASE(public WebGestureCurveTarget),
103 public PageWidgetEventHandler, 103 public PageWidgetEventHandler,
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 const WebFloatSize& layoutViewportDelta, 149 const WebFloatSize& layoutViewportDelta,
150 const WebFloatSize& elasticOverscrollDelta, 150 const WebFloatSize& elasticOverscrollDelta,
151 float pageScaleDelta, 151 float pageScaleDelta,
152 float browserControlsShownRatioDelta) override; 152 float browserControlsShownRatioDelta) override;
153 void recordWheelAndTouchScrollingCount(bool hasScrolledByWheel, 153 void recordWheelAndTouchScrollingCount(bool hasScrolledByWheel,
154 bool hasScrolledByTouch) override; 154 bool hasScrolledByTouch) override;
155 void mouseCaptureLost() override; 155 void mouseCaptureLost() override;
156 void setFocus(bool enable) override; 156 void setFocus(bool enable) override;
157 WebRange compositionRange() override; 157 WebRange compositionRange() override;
158 WebColor backgroundColor() const override; 158 WebColor backgroundColor() const override;
159 WebPagePopup* pagePopup() const override; 159 WebPagePopupImpl* pagePopup() const override;
160 bool selectionBounds(WebRect& anchor, WebRect& focus) const override; 160 bool selectionBounds(WebRect& anchor, WebRect& focus) const override;
161 bool selectionTextDirection(WebTextDirection& start, 161 bool selectionTextDirection(WebTextDirection& start,
162 WebTextDirection& end) const override; 162 WebTextDirection& end) const override;
163 bool isSelectionAnchorFirst() const override; 163 bool isSelectionAnchorFirst() const override;
164 WebRange caretOrSelectionRange() override; 164 WebRange caretOrSelectionRange() override;
165 void setTextDirection(WebTextDirection) override; 165 void setTextDirection(WebTextDirection) override;
166 bool isAcceleratedCompositingActive() const override; 166 bool isAcceleratedCompositingActive() const override;
167 void willCloseLayerTreeView() override; 167 void willCloseLayerTreeView() override;
168 void didAcquirePointerLock() override; 168 void didAcquirePointerLock() override;
169 void didNotAcquirePointerLock() override; 169 void didNotAcquirePointerLock() override;
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 double lastFrameTimeMonotonic() const { return m_lastFrameTimeMonotonic; } 511 double lastFrameTimeMonotonic() const { return m_lastFrameTimeMonotonic; }
512 512
513 ChromeClientImpl& chromeClient() const { return *m_chromeClientImpl.get(); } 513 ChromeClientImpl& chromeClient() const { return *m_chromeClientImpl.get(); }
514 514
515 // Returns the currently active WebInputMethodController which is the one 515 // Returns the currently active WebInputMethodController which is the one
516 // corresponding to the focused frame. It will return nullptr if there is no 516 // corresponding to the focused frame. It will return nullptr if there is no
517 // focused frame, or if the there is one but it belongs to a different local 517 // focused frame, or if the there is one but it belongs to a different local
518 // root. 518 // root.
519 WebInputMethodControllerImpl* getActiveWebInputMethodController() const; 519 WebInputMethodControllerImpl* getActiveWebInputMethodController() const;
520 520
521 void setLastHiddenPagePopup(WebPagePopupImpl* pagePopup) {
522 m_lastHiddenPagePopup = pagePopup;
523 }
524
521 private: 525 private:
522 InspectorOverlay* inspectorOverlay(); 526 InspectorOverlay* inspectorOverlay();
523 527
524 void setPageScaleFactorAndLocation(float, const FloatPoint&); 528 void setPageScaleFactorAndLocation(float, const FloatPoint&);
525 void propagateZoomFactorToLocalFrameRoots(Frame*, float); 529 void propagateZoomFactorToLocalFrameRoots(Frame*, float);
526 530
527 void scrollAndRescaleViewports(float scaleFactor, 531 void scrollAndRescaleViewports(float scaleFactor,
528 const IntPoint& mainFrameOrigin, 532 const IntPoint& mainFrameOrigin,
529 const FloatPoint& visualViewportOrigin); 533 const FloatPoint& visualViewportOrigin);
530 534
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 Persistent<ResizeViewportAnchor> m_resizeViewportAnchor; 760 Persistent<ResizeViewportAnchor> m_resizeViewportAnchor;
757 }; 761 };
758 762
759 // We have no ways to check if the specified WebView is an instance of 763 // We have no ways to check if the specified WebView is an instance of
760 // WebViewImpl because WebViewImpl is the only implementation of WebView. 764 // WebViewImpl because WebViewImpl is the only implementation of WebView.
761 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true); 765 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true);
762 766
763 } // namespace blink 767 } // namespace blink
764 768
765 #endif 769 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698