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

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

Issue 398673003: Rename WebCore namespace to blink in bindings and web (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « Source/web/PageWidgetDelegate.cpp ('k') | Source/web/PopupContainer.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) 2011, Google Inc. All rights reserved. 2 * Copyright (c) 2011, 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 18 matching lines...) Expand all
29 */ 29 */
30 30
31 #ifndef PopupContainer_h 31 #ifndef PopupContainer_h
32 #define PopupContainer_h 32 #define PopupContainer_h
33 33
34 #include "platform/PopupMenuStyle.h" 34 #include "platform/PopupMenuStyle.h"
35 #include "platform/geometry/FloatQuad.h" 35 #include "platform/geometry/FloatQuad.h"
36 #include "platform/scroll/FramelessScrollView.h" 36 #include "platform/scroll/FramelessScrollView.h"
37 #include "web/PopupListBox.h" 37 #include "web/PopupListBox.h"
38 38
39 namespace WebCore { 39 namespace blink {
40 class ChromeClient; 40 class ChromeClient;
41 class FrameView; 41 class FrameView;
42 class PopupMenuClient; 42 class PopupMenuClient;
43 } 43 }
44 44
45 namespace blink { 45 namespace blink {
46 46
47 struct WebPopupMenuInfo; 47 struct WebPopupMenuInfo;
48 48
49 class PopupContainer FINAL : public WebCore::FramelessScrollView { 49 class PopupContainer FINAL : public blink::FramelessScrollView {
50 public: 50 public:
51 static PassRefPtr<PopupContainer> create(WebCore::PopupMenuClient*, bool dev iceSupportsTouch); 51 static PassRefPtr<PopupContainer> create(blink::PopupMenuClient*, bool devic eSupportsTouch);
52 52
53 // Whether a key event should be sent to this popup. 53 // Whether a key event should be sent to this popup.
54 bool isInterestedInEventForKey(int keyCode); 54 bool isInterestedInEventForKey(int keyCode);
55 55
56 // FramelessScrollView 56 // FramelessScrollView
57 virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect&) OVERR IDE; 57 virtual void paint(blink::GraphicsContext*, const blink::IntRect&) OVERRIDE;
58 virtual void hide() OVERRIDE; 58 virtual void hide() OVERRIDE;
59 virtual bool handleMouseDownEvent(const WebCore::PlatformMouseEvent&) OVERRI DE; 59 virtual bool handleMouseDownEvent(const blink::PlatformMouseEvent&) OVERRIDE ;
60 virtual bool handleMouseMoveEvent(const WebCore::PlatformMouseEvent&) OVERRI DE; 60 virtual bool handleMouseMoveEvent(const blink::PlatformMouseEvent&) OVERRIDE ;
61 virtual bool handleMouseReleaseEvent(const WebCore::PlatformMouseEvent&) OVE RRIDE; 61 virtual bool handleMouseReleaseEvent(const blink::PlatformMouseEvent&) OVERR IDE;
62 virtual bool handleWheelEvent(const WebCore::PlatformWheelEvent&) OVERRIDE; 62 virtual bool handleWheelEvent(const blink::PlatformWheelEvent&) OVERRIDE;
63 virtual bool handleKeyEvent(const WebCore::PlatformKeyboardEvent&) OVERRIDE; 63 virtual bool handleKeyEvent(const blink::PlatformKeyboardEvent&) OVERRIDE;
64 virtual bool handleTouchEvent(const WebCore::PlatformTouchEvent&) OVERRIDE; 64 virtual bool handleTouchEvent(const blink::PlatformTouchEvent&) OVERRIDE;
65 virtual bool handleGestureEvent(const WebCore::PlatformGestureEvent&) OVERRI DE; 65 virtual bool handleGestureEvent(const blink::PlatformGestureEvent&) OVERRIDE ;
66 66
67 // PopupContainer methods 67 // PopupContainer methods
68 68
69 // Show the popup 69 // Show the popup
70 void showPopup(WebCore::FrameView*); 70 void showPopup(blink::FrameView*);
71 71
72 // Show the popup in the specified rect for the specified frame. 72 // Show the popup in the specified rect for the specified frame.
73 // Note: this code was somehow arbitrarily factored-out of the Popup class 73 // Note: this code was somehow arbitrarily factored-out of the Popup class
74 // so WebViewImpl can create a PopupContainer. This method is used for 74 // so WebViewImpl can create a PopupContainer. This method is used for
75 // displaying auto complete popup menus on Mac Chromium, and for all 75 // displaying auto complete popup menus on Mac Chromium, and for all
76 // popups on other platforms. 76 // popups on other platforms.
77 void showInRect(const WebCore::FloatQuad& controlPosition, const WebCore::In tSize& controlSize, WebCore::FrameView*, int index); 77 void showInRect(const blink::FloatQuad& controlPosition, const blink::IntSiz e& controlSize, blink::FrameView*, int index);
78 78
79 // Hides the popup. 79 // Hides the popup.
80 void hidePopup(); 80 void hidePopup();
81 81
82 // The popup was hidden. 82 // The popup was hidden.
83 void notifyPopupHidden(); 83 void notifyPopupHidden();
84 84
85 PopupListBox* listBox() const { return m_listBox.get(); } 85 PopupListBox* listBox() const { return m_listBox.get(); }
86 86
87 bool isRTL() const; 87 bool isRTL() const;
88 88
89 // Gets the index of the item that the user is currently moused-over or 89 // Gets the index of the item that the user is currently moused-over or
90 // has selected with the keyboard up/down arrows. 90 // has selected with the keyboard up/down arrows.
91 int selectedIndex() const; 91 int selectedIndex() const;
92 92
93 // Refresh the popup values from the PopupMenuClient. 93 // Refresh the popup values from the PopupMenuClient.
94 WebCore::IntRect refresh(const WebCore::IntRect& targetControlRect); 94 blink::IntRect refresh(const blink::IntRect& targetControlRect);
95 95
96 // The menu per-item data. 96 // The menu per-item data.
97 const Vector<PopupItem*>& popupData() const; 97 const Vector<PopupItem*>& popupData() const;
98 98
99 // The height of a row in the menu. 99 // The height of a row in the menu.
100 int menuItemHeight() const; 100 int menuItemHeight() const;
101 101
102 // The size of the font being used. 102 // The size of the font being used.
103 int menuItemFontSize() const; 103 int menuItemFontSize() const;
104 104
105 // The style of the menu being used. 105 // The style of the menu being used.
106 WebCore::PopupMenuStyle menuStyle() const; 106 blink::PopupMenuStyle menuStyle() const;
107 107
108 // While hovering popup menu window, we want to show tool tip message. 108 // While hovering popup menu window, we want to show tool tip message.
109 String getSelectedItemToolTip(); 109 String getSelectedItemToolTip();
110 110
111 // This is public for testing. 111 // This is public for testing.
112 static WebCore::IntRect layoutAndCalculateWidgetRectInternal(WebCore::IntRec t widgetRectInScreen, int targetControlHeight, const WebCore::FloatRect& windowR ect, const WebCore::FloatRect& screen, bool isRTL, const int rtlOffset, const in t verticalOffset, const WebCore::IntSize& transformOffset, PopupContent*, bool& needToResizeView); 112 static blink::IntRect layoutAndCalculateWidgetRectInternal(blink::IntRect wi dgetRectInScreen, int targetControlHeight, const blink::FloatRect& windowRect, c onst blink::FloatRect& screen, bool isRTL, const int rtlOffset, const int vertic alOffset, const blink::IntSize& transformOffset, PopupContent*, bool& needToResi zeView);
113 113
114 private: 114 private:
115 friend class WTF::RefCounted<PopupContainer>; 115 friend class WTF::RefCounted<PopupContainer>;
116 116
117 PopupContainer(WebCore::PopupMenuClient*, bool deviceSupportsTouch); 117 PopupContainer(blink::PopupMenuClient*, bool deviceSupportsTouch);
118 virtual ~PopupContainer(); 118 virtual ~PopupContainer();
119 119
120 // Paint the border. 120 // Paint the border.
121 void paintBorder(WebCore::GraphicsContext*, const WebCore::IntRect&); 121 void paintBorder(blink::GraphicsContext*, const blink::IntRect&);
122 122
123 // Layout and calculate popup widget size and location and returns it as Int Rect. 123 // Layout and calculate popup widget size and location and returns it as Int Rect.
124 WebCore::IntRect layoutAndCalculateWidgetRect(int targetControlHeight, const WebCore::IntSize& transformOffset, const WebCore::IntPoint& popupInitialCoordin ate); 124 blink::IntRect layoutAndCalculateWidgetRect(int targetControlHeight, const b link::IntSize& transformOffset, const blink::IntPoint& popupInitialCoordinate);
125 125
126 void fitToListBox(); 126 void fitToListBox();
127 127
128 void popupOpened(const WebCore::IntRect& bounds); 128 void popupOpened(const blink::IntRect& bounds);
129 void getPopupMenuInfo(WebPopupMenuInfo*); 129 void getPopupMenuInfo(WebPopupMenuInfo*);
130 130
131 // Returns the ChromeClient of the page this popup is associated with. 131 // Returns the ChromeClient of the page this popup is associated with.
132 WebCore::ChromeClient& chromeClient(); 132 blink::ChromeClient& chromeClient();
133 133
134 RefPtr<PopupListBox> m_listBox; 134 RefPtr<PopupListBox> m_listBox;
135 RefPtr<WebCore::FrameView> m_frameView; 135 RefPtr<blink::FrameView> m_frameView;
136 136
137 // m_controlPosition contains the transformed position of the 137 // m_controlPosition contains the transformed position of the
138 // <select>/<input> associated with this popup. m_controlSize is the size 138 // <select>/<input> associated with this popup. m_controlSize is the size
139 // of the <select>/<input> without transform. 139 // of the <select>/<input> without transform.
140 // The popup menu will be positioned as follows: 140 // The popup menu will be positioned as follows:
141 // LTR : If the popup is positioned down it will align with the bottom left 141 // LTR : If the popup is positioned down it will align with the bottom left
142 // of m_controlPosition (p4) 142 // of m_controlPosition (p4)
143 // If the popup is positioned up it will align with the top left of 143 // If the popup is positioned up it will align with the top left of
144 // m_controlPosition (p1) 144 // m_controlPosition (p1)
145 // RTL : If the popup is positioned down it will align with the bottom right 145 // RTL : If the popup is positioned down it will align with the bottom right
146 // of m_controlPosition (p3) 146 // of m_controlPosition (p3)
147 // If the popup is positioned up it will align with the top right of 147 // If the popup is positioned up it will align with the top right of
148 // m_controlPosition (p2) 148 // m_controlPosition (p2)
149 WebCore::FloatQuad m_controlPosition; 149 blink::FloatQuad m_controlPosition;
150 WebCore::IntSize m_controlSize; 150 blink::IntSize m_controlSize;
151 151
152 // Whether the popup is currently open. 152 // Whether the popup is currently open.
153 bool m_popupOpen; 153 bool m_popupOpen;
154 }; 154 };
155 155
156 } // namespace WebCore 156 } // namespace blink
157 157
158 #endif 158 #endif
OLDNEW
« no previous file with comments | « Source/web/PageWidgetDelegate.cpp ('k') | Source/web/PopupContainer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698