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

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

Issue 2333813002: Introduce WebInputMethodController to blink (Closed)
Patch Set: Removed an unsued enum form WebInputMethodController Created 4 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be found 2 // Use of this source code is governed by a BSD-style license that can be found
3 // in the LICENSE file. 3 // in the LICENSE file.
4 4
5 #ifndef WebViewFrameWidget_h 5 #ifndef WebViewFrameWidget_h
6 #define WebViewFrameWidget_h 6 #define WebViewFrameWidget_h
7 7
8 #include "platform/heap/Handle.h" 8 #include "platform/heap/Handle.h"
9 #include "web/WebFrameWidgetBase.h" 9 #include "web/WebFrameWidgetBase.h"
10 #include "web/WebLocalFrameImpl.h" 10 #include "web/WebLocalFrameImpl.h"
11 #include "wtf/Noncopyable.h" 11 #include "wtf/Noncopyable.h"
12 #include "wtf/RefPtr.h" 12 #include "wtf/RefPtr.h"
13 13
14 namespace blink { 14 namespace blink {
15 15
16 class WebInputMethodControllerImpl;
16 class WebViewImpl; 17 class WebViewImpl;
17 class WebWidgetClient; 18 class WebWidgetClient;
18 19
19 // Shim class to help normalize the widget interfaces in the Blink public API. 20 // Shim class to help normalize the widget interfaces in the Blink public API.
20 // For OOPI, subframes have WebFrameWidgets for input and rendering. 21 // For OOPI, subframes have WebFrameWidgets for input and rendering.
21 // Unfortunately, the main frame still uses WebView's WebWidget for input and 22 // Unfortunately, the main frame still uses WebView's WebWidget for input and
22 // rendering. This results in complex code, since there are two different 23 // rendering. This results in complex code, since there are two different
23 // implementations of WebWidget and code needs to have branches to handle both 24 // implementations of WebWidget and code needs to have branches to handle both
24 // cases. 25 // cases.
25 // This class allows a Blink embedder to create a WebFrameWidget that can be 26 // This class allows a Blink embedder to create a WebFrameWidget that can be
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 WebColor backgroundColor() const override; 88 WebColor backgroundColor() const override;
88 WebPagePopup* pagePopup() const override; 89 WebPagePopup* pagePopup() const override;
89 bool getCompositionCharacterBounds(WebVector<WebRect>& bounds) override; 90 bool getCompositionCharacterBounds(WebVector<WebRect>& bounds) override;
90 void applyReplacementRange(const WebRange&) override; 91 void applyReplacementRange(const WebRange&) override;
91 void updateTopControlsState(WebTopControlsState constraints, WebTopControlsS tate current, bool animate) override; 92 void updateTopControlsState(WebTopControlsState constraints, WebTopControlsS tate current, bool animate) override;
92 void setVisibilityState(WebPageVisibilityState) override; 93 void setVisibilityState(WebPageVisibilityState) override;
93 bool isTransparent() const override; 94 bool isTransparent() const override;
94 void setIsTransparent(bool) override; 95 void setIsTransparent(bool) override;
95 void setBaseBackgroundColor(WebColor) override; 96 void setBaseBackgroundColor(WebColor) override;
96 WebLocalFrameImpl* localRoot() override; 97 WebLocalFrameImpl* localRoot() override;
98 WebInputMethodControllerImpl* getActiveWebInputMethodController() const;
97 99
98 // WebFrameWidgetBase overrides: 100 // WebFrameWidgetBase overrides:
99 bool forSubframe() const override { return false; } 101 bool forSubframe() const override { return false; }
100 void scheduleAnimation() override; 102 void scheduleAnimation() override;
101 CompositorProxyClient* createCompositorProxyClient() override; 103 CompositorProxyClient* createCompositorProxyClient() override;
102 void setRootGraphicsLayer(GraphicsLayer*) override; 104 void setRootGraphicsLayer(GraphicsLayer*) override;
103 void attachCompositorAnimationTimeline(CompositorAnimationTimeline*) overrid e; 105 void attachCompositorAnimationTimeline(CompositorAnimationTimeline*) overrid e;
104 void detachCompositorAnimationTimeline(CompositorAnimationTimeline*) overrid e; 106 void detachCompositorAnimationTimeline(CompositorAnimationTimeline*) overrid e;
105 WebWidgetClient* client() const override { return m_client; } 107 WebWidgetClient* client() const override { return m_client; }
106 108
107 private: 109 private:
108 WebWidgetClient* m_client; 110 WebWidgetClient* m_client;
109 RefPtr<WebViewImpl> m_webView; 111 RefPtr<WebViewImpl> m_webView;
110 Persistent<WebLocalFrameImpl> m_mainFrame; 112 Persistent<WebLocalFrameImpl> m_mainFrame;
111 }; 113 };
112 114
113 } // namespace blink 115 } // namespace blink
114 116
115 #endif // WebViewFrameWidget_h 117 #endif // WebViewFrameWidget_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698