OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2014 Google Inc. All rights reserved. | 2 * Copyright (C) 2014 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 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 WebColor backgroundColor() const override; | 108 WebColor backgroundColor() const override; |
109 bool selectionBounds(WebRect& anchor, WebRect& focus) const override; | 109 bool selectionBounds(WebRect& anchor, WebRect& focus) const override; |
110 bool selectionTextDirection(WebTextDirection& start, WebTextDirection& end)
const override; | 110 bool selectionTextDirection(WebTextDirection& start, WebTextDirection& end)
const override; |
111 bool isSelectionAnchorFirst() const override; | 111 bool isSelectionAnchorFirst() const override; |
112 bool caretOrSelectionRange(size_t* location, size_t* length) override; | 112 bool caretOrSelectionRange(size_t* location, size_t* length) override; |
113 void setTextDirection(WebTextDirection) override; | 113 void setTextDirection(WebTextDirection) override; |
114 bool isAcceleratedCompositingActive() const override; | 114 bool isAcceleratedCompositingActive() const override; |
115 void willCloseLayerTreeView() override; | 115 void willCloseLayerTreeView() override; |
116 void didChangeWindowResizerRect() override; | 116 void didChangeWindowResizerRect() override; |
117 | 117 |
| 118 // WebFrameWidget implementation. |
| 119 void setVisibilityState(WebPageVisibilityState, bool) override; |
| 120 bool isTransparent() const override; |
| 121 void setIsTransparent(bool) override; |
| 122 void setBaseBackgroundColor(WebColor) override; |
| 123 void scheduleAnimation() override; |
| 124 |
118 WebWidgetClient* client() const { return m_client; } | 125 WebWidgetClient* client() const { return m_client; } |
119 | 126 |
120 Frame* focusedCoreFrame() const; | 127 Frame* focusedCoreFrame() const; |
121 | 128 |
122 // Returns the currently focused Element or null if no element has focus. | 129 // Returns the currently focused Element or null if no element has focus. |
123 Element* focusedElement() const; | 130 Element* focusedElement() const; |
124 | 131 |
125 void scheduleAnimation() override; | |
126 | |
127 PaintLayerCompositor* compositor() const; | 132 PaintLayerCompositor* compositor() const; |
128 void setRootGraphicsLayer(GraphicsLayer*); | 133 void setRootGraphicsLayer(GraphicsLayer*); |
129 void attachCompositorAnimationTimeline(CompositorAnimationTimeline*); | 134 void attachCompositorAnimationTimeline(CompositorAnimationTimeline*); |
130 void detachCompositorAnimationTimeline(CompositorAnimationTimeline*); | 135 void detachCompositorAnimationTimeline(CompositorAnimationTimeline*); |
131 | 136 |
132 void setVisibilityState(WebPageVisibilityState, bool) override; | |
133 | |
134 // Exposed for the purpose of overriding device metrics. | 137 // Exposed for the purpose of overriding device metrics. |
135 void sendResizeEventAndRepaint(); | 138 void sendResizeEventAndRepaint(); |
136 | 139 |
137 void updateMainFrameLayoutSize(); | 140 void updateMainFrameLayoutSize(); |
138 | 141 |
139 void setIgnoreInputEvents(bool newValue); | 142 void setIgnoreInputEvents(bool newValue); |
140 | 143 |
141 // Returns the page object associated with this widget. This may be null whe
n | 144 // Returns the page object associated with this widget. This may be null whe
n |
142 // the page is shutting down, but will be valid at all other times. | 145 // the page is shutting down, but will be valid at all other times. |
143 Page* page() const { return view()->page(); } | 146 Page* page() const { return view()->page(); } |
144 | 147 |
145 // Event related methods: | 148 // Event related methods: |
146 void mouseContextMenu(const WebMouseEvent&); | 149 void mouseContextMenu(const WebMouseEvent&); |
147 | 150 |
148 WebLayerTreeView* layerTreeView() const { return m_layerTreeView; } | 151 WebLayerTreeView* layerTreeView() const { return m_layerTreeView; } |
149 | 152 |
150 // Returns true if the event leads to scrolling. | 153 // Returns true if the event leads to scrolling. |
151 static bool mapKeyCodeForScroll( | 154 static bool mapKeyCodeForScroll( |
152 int keyCode, | 155 int keyCode, |
153 ScrollDirection*, | 156 ScrollDirection*, |
154 ScrollGranularity*); | 157 ScrollGranularity*); |
155 | 158 |
| 159 Color baseBackgroundColor() const { return m_baseBackgroundColor; } |
| 160 |
156 DECLARE_TRACE(); | 161 DECLARE_TRACE(); |
157 | 162 |
158 private: | 163 private: |
159 friend class WebFrameWidget; // For WebFrameWidget::create. | 164 friend class WebFrameWidget; // For WebFrameWidget::create. |
160 #if ENABLE(OILPAN) | 165 #if ENABLE(OILPAN) |
161 friend class GarbageCollectedFinalized<WebFrameWidgetImpl>; | 166 friend class GarbageCollectedFinalized<WebFrameWidgetImpl>; |
162 #else | 167 #else |
163 friend class WTF::RefCounted<WebFrameWidgetImpl>; | 168 friend class WTF::RefCounted<WebFrameWidgetImpl>; |
164 #endif | 169 #endif |
165 | 170 |
166 explicit WebFrameWidgetImpl(WebWidgetClient*, WebLocalFrame*); | 171 explicit WebFrameWidgetImpl(WebWidgetClient*, WebLocalFrame*); |
167 ~WebFrameWidgetImpl(); | 172 ~WebFrameWidgetImpl(); |
168 | 173 |
169 // Perform a hit test for a point relative to the root frame of the page. | 174 // Perform a hit test for a point relative to the root frame of the page. |
170 HitTestResult hitTestResultForRootFramePos(const IntPoint& posInRootFrame); | 175 HitTestResult hitTestResultForRootFramePos(const IntPoint& posInRootFrame); |
171 | 176 |
172 // Returns true if the event was actually processed. | 177 // Returns true if the event was actually processed. |
173 WebInputEventResult keyEventDefault(const WebKeyboardEvent&); | 178 WebInputEventResult keyEventDefault(const WebKeyboardEvent&); |
174 | 179 |
175 // Returns true if the view was scrolled. | 180 // Returns true if the view was scrolled. |
176 WebInputEventResult scrollViewWithKeyboard(int keyCode, int modifiers); | 181 WebInputEventResult scrollViewWithKeyboard(int keyCode, int modifiers); |
177 | 182 |
178 void initializeLayerTreeView(); | 183 void initializeLayerTreeView(); |
179 | 184 |
180 void setIsAcceleratedCompositingActive(bool); | 185 void setIsAcceleratedCompositingActive(bool); |
181 void updateLayerTreeViewport(); | 186 void updateLayerTreeViewport(); |
182 void updateLayerTreeBackgroundColor(); | 187 void updateLayerTreeBackgroundColor(); |
183 void updateLayerTreeDeviceScaleFactor(); | 188 void updateLayerTreeDeviceScaleFactor(); |
184 | 189 |
185 bool isTransparent() const; | |
186 | |
187 // PageWidgetEventHandler functions | 190 // PageWidgetEventHandler functions |
188 void handleMouseLeave(LocalFrame&, const WebMouseEvent&) override; | 191 void handleMouseLeave(LocalFrame&, const WebMouseEvent&) override; |
189 void handleMouseDown(LocalFrame&, const WebMouseEvent&) override; | 192 void handleMouseDown(LocalFrame&, const WebMouseEvent&) override; |
190 void handleMouseUp(LocalFrame&, const WebMouseEvent&) override; | 193 void handleMouseUp(LocalFrame&, const WebMouseEvent&) override; |
191 WebInputEventResult handleMouseWheel(LocalFrame&, const WebMouseWheelEvent&)
override; | 194 WebInputEventResult handleMouseWheel(LocalFrame&, const WebMouseWheelEvent&)
override; |
192 WebInputEventResult handleGestureEvent(const WebGestureEvent&) override; | 195 WebInputEventResult handleGestureEvent(const WebGestureEvent&) override; |
193 WebInputEventResult handleKeyEvent(const WebKeyboardEvent&) override; | 196 WebInputEventResult handleKeyEvent(const WebKeyboardEvent&) override; |
194 WebInputEventResult handleCharEvent(const WebKeyboardEvent&) override; | 197 WebInputEventResult handleCharEvent(const WebKeyboardEvent&) override; |
195 | 198 |
196 WebViewImpl* view() const { return m_localRoot->viewImpl(); } | 199 WebViewImpl* view() const { return m_localRoot->viewImpl(); } |
(...skipping 13 matching lines...) Expand all Loading... |
210 WebLayerTreeView* m_layerTreeView; | 213 WebLayerTreeView* m_layerTreeView; |
211 WebLayer* m_rootLayer; | 214 WebLayer* m_rootLayer; |
212 GraphicsLayer* m_rootGraphicsLayer; | 215 GraphicsLayer* m_rootGraphicsLayer; |
213 bool m_isAcceleratedCompositingActive; | 216 bool m_isAcceleratedCompositingActive; |
214 bool m_layerTreeViewClosed; | 217 bool m_layerTreeViewClosed; |
215 | 218 |
216 bool m_suppressNextKeypressEvent; | 219 bool m_suppressNextKeypressEvent; |
217 | 220 |
218 bool m_ignoreInputEvents; | 221 bool m_ignoreInputEvents; |
219 | 222 |
| 223 // Whether the WebFrameWidget is rendering transparently. |
| 224 bool m_isTransparent; |
| 225 |
220 static const WebInputEvent* m_currentInputEvent; | 226 static const WebInputEvent* m_currentInputEvent; |
221 | 227 |
| 228 WebColor m_baseBackgroundColor; |
| 229 |
222 #if ENABLE(OILPAN) | 230 #if ENABLE(OILPAN) |
223 SelfKeepAlive<WebFrameWidgetImpl> m_selfKeepAlive; | 231 SelfKeepAlive<WebFrameWidgetImpl> m_selfKeepAlive; |
224 #endif | 232 #endif |
225 }; | 233 }; |
226 | 234 |
227 DEFINE_TYPE_CASTS(WebFrameWidgetImpl, WebFrameWidget, widget, widget->forSubfram
e(), widget.forSubframe()); | 235 DEFINE_TYPE_CASTS(WebFrameWidgetImpl, WebFrameWidget, widget, widget->forSubfram
e(), widget.forSubframe()); |
228 | 236 |
229 } // namespace blink | 237 } // namespace blink |
230 | 238 |
231 #endif | 239 #endif |
OLD | NEW |