OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | 3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 class FileChooser; | 49 class FileChooser; |
50 class GraphicsLayerFactory; | 50 class GraphicsLayerFactory; |
51 class HTMLFormControlElement; | 51 class HTMLFormControlElement; |
52 class HTMLInputElement; | 52 class HTMLInputElement; |
53 class KeyboardEvent; | 53 class KeyboardEvent; |
54 class PopupMenuClient; | 54 class PopupMenuClient; |
55 class RenderBox; | 55 class RenderBox; |
56 class SecurityOrigin; | 56 class SecurityOrigin; |
57 class DateTimeChooser; | 57 class DateTimeChooser; |
58 class DateTimeChooserClient; | 58 class DateTimeChooserClient; |
59 struct WindowFeatures; | |
60 } | |
61 | |
62 namespace blink { | |
63 class WebColorChooser; | 59 class WebColorChooser; |
64 class WebColorChooserClient; | 60 class WebColorChooserClient; |
65 class WebViewImpl; | 61 class WebViewImpl; |
66 struct WebCursorInfo; | 62 struct WebCursorInfo; |
67 struct WebPopupMenuInfo; | 63 struct WebPopupMenuInfo; |
| 64 struct WindowFeatures; |
68 | 65 |
69 // Handles window-level notifications from WebCore on behalf of a WebView. | 66 // Handles window-level notifications from WebCore on behalf of a WebView. |
70 class ChromeClientImpl FINAL : public blink::ChromeClient { | 67 class ChromeClientImpl FINAL : public ChromeClient { |
71 public: | 68 public: |
72 explicit ChromeClientImpl(WebViewImpl* webView); | 69 explicit ChromeClientImpl(WebViewImpl* webView); |
73 virtual ~ChromeClientImpl(); | 70 virtual ~ChromeClientImpl(); |
74 | 71 |
75 virtual void* webView() const OVERRIDE; | 72 virtual void* webView() const OVERRIDE; |
76 | 73 |
77 // ChromeClient methods: | 74 // ChromeClient methods: |
78 virtual void chromeDestroyed() OVERRIDE; | 75 virtual void chromeDestroyed() OVERRIDE; |
79 virtual void setWindowRect(const blink::FloatRect&) OVERRIDE; | 76 virtual void setWindowRect(const FloatRect&) OVERRIDE; |
80 virtual blink::FloatRect windowRect() OVERRIDE; | 77 virtual FloatRect windowRect() OVERRIDE; |
81 virtual blink::FloatRect pageRect() OVERRIDE; | 78 virtual FloatRect pageRect() OVERRIDE; |
82 virtual void focus() OVERRIDE; | 79 virtual void focus() OVERRIDE; |
83 virtual bool canTakeFocus(blink::FocusType) OVERRIDE; | 80 virtual bool canTakeFocus(FocusType) OVERRIDE; |
84 virtual void takeFocus(blink::FocusType) OVERRIDE; | 81 virtual void takeFocus(FocusType) OVERRIDE; |
85 virtual void focusedNodeChanged(blink::Node*) OVERRIDE; | 82 virtual void focusedNodeChanged(Node*) OVERRIDE; |
86 virtual void focusedFrameChanged(blink::LocalFrame*) OVERRIDE; | 83 virtual void focusedFrameChanged(LocalFrame*) OVERRIDE; |
87 virtual blink::Page* createWindow( | 84 virtual Page* createWindow( |
88 blink::LocalFrame*, const blink::FrameLoadRequest&, const blink::WindowF
eatures&, blink::NavigationPolicy, blink::ShouldSendReferrer) OVERRIDE; | 85 LocalFrame*, const FrameLoadRequest&, const WindowFeatures&, NavigationP
olicy, ShouldSendReferrer) OVERRIDE; |
89 virtual void show(blink::NavigationPolicy) OVERRIDE; | 86 virtual void show(NavigationPolicy) OVERRIDE; |
90 virtual bool canRunModal() OVERRIDE; | 87 virtual bool canRunModal() OVERRIDE; |
91 virtual void runModal() OVERRIDE; | 88 virtual void runModal() OVERRIDE; |
92 virtual void setToolbarsVisible(bool) OVERRIDE; | 89 virtual void setToolbarsVisible(bool) OVERRIDE; |
93 virtual bool toolbarsVisible() OVERRIDE; | 90 virtual bool toolbarsVisible() OVERRIDE; |
94 virtual void setStatusbarVisible(bool) OVERRIDE; | 91 virtual void setStatusbarVisible(bool) OVERRIDE; |
95 virtual bool statusbarVisible() OVERRIDE; | 92 virtual bool statusbarVisible() OVERRIDE; |
96 virtual void setScrollbarsVisible(bool) OVERRIDE; | 93 virtual void setScrollbarsVisible(bool) OVERRIDE; |
97 virtual bool scrollbarsVisible() OVERRIDE; | 94 virtual bool scrollbarsVisible() OVERRIDE; |
98 virtual void setMenubarVisible(bool) OVERRIDE; | 95 virtual void setMenubarVisible(bool) OVERRIDE; |
99 virtual bool menubarVisible() OVERRIDE; | 96 virtual bool menubarVisible() OVERRIDE; |
100 virtual void setResizable(bool) OVERRIDE; | 97 virtual void setResizable(bool) OVERRIDE; |
101 virtual bool shouldReportDetailedMessageForSource(const WTF::String&) OVERRI
DE; | 98 virtual bool shouldReportDetailedMessageForSource(const WTF::String&) OVERRI
DE; |
102 virtual void addMessageToConsole( | 99 virtual void addMessageToConsole( |
103 blink::LocalFrame*, blink::MessageSource, blink::MessageLevel, | 100 LocalFrame*, MessageSource, MessageLevel, |
104 const WTF::String& message, unsigned lineNumber, | 101 const WTF::String& message, unsigned lineNumber, |
105 const WTF::String& sourceID, const WTF::String& stackTrace) OVERRIDE; | 102 const WTF::String& sourceID, const WTF::String& stackTrace) OVERRIDE; |
106 virtual bool canRunBeforeUnloadConfirmPanel() OVERRIDE; | 103 virtual bool canRunBeforeUnloadConfirmPanel() OVERRIDE; |
107 virtual bool runBeforeUnloadConfirmPanel( | 104 virtual bool runBeforeUnloadConfirmPanel( |
108 const WTF::String& message, blink::LocalFrame*) OVERRIDE; | 105 const WTF::String& message, LocalFrame*) OVERRIDE; |
109 virtual void closeWindowSoon() OVERRIDE; | 106 virtual void closeWindowSoon() OVERRIDE; |
110 virtual void runJavaScriptAlert(blink::LocalFrame*, const WTF::String&) OVER
RIDE; | 107 virtual void runJavaScriptAlert(LocalFrame*, const WTF::String&) OVERRIDE; |
111 virtual bool runJavaScriptConfirm(blink::LocalFrame*, const WTF::String&) OV
ERRIDE; | 108 virtual bool runJavaScriptConfirm(LocalFrame*, const WTF::String&) OVERRIDE; |
112 virtual bool runJavaScriptPrompt( | 109 virtual bool runJavaScriptPrompt( |
113 blink::LocalFrame*, const WTF::String& message, | 110 LocalFrame*, const WTF::String& message, |
114 const WTF::String& defaultValue, WTF::String& result) OVERRIDE; | 111 const WTF::String& defaultValue, WTF::String& result) OVERRIDE; |
115 virtual void setStatusbarText(const WTF::String& message) OVERRIDE; | 112 virtual void setStatusbarText(const WTF::String& message) OVERRIDE; |
116 virtual bool tabsToLinks() OVERRIDE; | 113 virtual bool tabsToLinks() OVERRIDE; |
117 virtual blink::IntRect windowResizerRect() const OVERRIDE; | 114 virtual IntRect windowResizerRect() const OVERRIDE; |
118 virtual void invalidateContentsAndRootView(const blink::IntRect&) OVERRIDE; | 115 virtual void invalidateContentsAndRootView(const IntRect&) OVERRIDE; |
119 virtual void invalidateContentsForSlowScroll(const blink::IntRect&) OVERRIDE
; | 116 virtual void invalidateContentsForSlowScroll(const IntRect&) OVERRIDE; |
120 virtual void scheduleAnimation() OVERRIDE; | 117 virtual void scheduleAnimation() OVERRIDE; |
121 virtual void scroll() OVERRIDE; | 118 virtual void scroll() OVERRIDE; |
122 virtual blink::IntRect rootViewToScreen(const blink::IntRect&) const OVERRID
E; | 119 virtual IntRect rootViewToScreen(const IntRect&) const OVERRIDE; |
123 virtual WebScreenInfo screenInfo() const OVERRIDE; | 120 virtual WebScreenInfo screenInfo() const OVERRIDE; |
124 virtual void contentsSizeChanged(blink::LocalFrame*, const blink::IntSize&)
const OVERRIDE; | 121 virtual void contentsSizeChanged(LocalFrame*, const IntSize&) const OVERRIDE
; |
125 virtual void deviceOrPageScaleFactorChanged() const OVERRIDE; | 122 virtual void deviceOrPageScaleFactorChanged() const OVERRIDE; |
126 virtual void layoutUpdated(blink::LocalFrame*) const OVERRIDE; | 123 virtual void layoutUpdated(LocalFrame*) const OVERRIDE; |
127 virtual void mouseDidMoveOverElement( | 124 virtual void mouseDidMoveOverElement( |
128 const blink::HitTestResult&, unsigned modifierFlags) OVERRIDE; | 125 const HitTestResult&, unsigned modifierFlags) OVERRIDE; |
129 virtual void setToolTip(const WTF::String& tooltipText, blink::TextDirection
) OVERRIDE; | 126 virtual void setToolTip(const WTF::String& tooltipText, TextDirection) OVERR
IDE; |
130 virtual void dispatchViewportPropertiesDidChange(const blink::ViewportDescri
ption&) const OVERRIDE; | 127 virtual void dispatchViewportPropertiesDidChange(const ViewportDescription&)
const OVERRIDE; |
131 virtual void print(blink::LocalFrame*) OVERRIDE; | 128 virtual void print(LocalFrame*) OVERRIDE; |
132 virtual void annotatedRegionsChanged() OVERRIDE; | 129 virtual void annotatedRegionsChanged() OVERRIDE; |
133 virtual bool paintCustomOverhangArea(blink::GraphicsContext*, const blink::I
ntRect&, const blink::IntRect&, const blink::IntRect&) OVERRIDE; | 130 virtual bool paintCustomOverhangArea(GraphicsContext*, const IntRect&, const
IntRect&, const IntRect&) OVERRIDE; |
134 virtual PassOwnPtr<blink::ColorChooser> createColorChooser(blink::LocalFrame
*, blink::ColorChooserClient*, const blink::Color&) OVERRIDE; | 131 virtual PassOwnPtr<ColorChooser> createColorChooser(LocalFrame*, ColorChoose
rClient*, const Color&) OVERRIDE; |
135 virtual PassRefPtrWillBeRawPtr<blink::DateTimeChooser> openDateTimeChooser(b
link::DateTimeChooserClient*, const blink::DateTimeChooserParameters&) OVERRIDE; | 132 virtual PassRefPtrWillBeRawPtr<DateTimeChooser> openDateTimeChooser(DateTime
ChooserClient*, const DateTimeChooserParameters&) OVERRIDE; |
136 virtual void openTextDataListChooser(blink::HTMLInputElement&) OVERRIDE; | 133 virtual void openTextDataListChooser(HTMLInputElement&) OVERRIDE; |
137 virtual void runOpenPanel(blink::LocalFrame*, PassRefPtr<blink::FileChooser>
) OVERRIDE; | 134 virtual void runOpenPanel(LocalFrame*, PassRefPtr<FileChooser>) OVERRIDE; |
138 virtual void enumerateChosenDirectory(blink::FileChooser*) OVERRIDE; | 135 virtual void enumerateChosenDirectory(FileChooser*) OVERRIDE; |
139 virtual void setCursor(const blink::Cursor&) OVERRIDE; | 136 virtual void setCursor(const Cursor&) OVERRIDE; |
140 virtual void needTouchEvents(bool needTouchEvents) OVERRIDE; | 137 virtual void needTouchEvents(bool needTouchEvents) OVERRIDE; |
141 virtual void setTouchAction(blink::TouchAction) OVERRIDE; | 138 virtual void setTouchAction(TouchAction) OVERRIDE; |
142 | 139 |
143 virtual blink::GraphicsLayerFactory* graphicsLayerFactory() const OVERRIDE; | 140 virtual GraphicsLayerFactory* graphicsLayerFactory() const OVERRIDE; |
144 | 141 |
145 // Pass 0 as the GraphicsLayer to detatch the root layer. | 142 // Pass 0 as the GraphicsLayer to detatch the root layer. |
146 virtual void attachRootGraphicsLayer(blink::GraphicsLayer*) OVERRIDE; | 143 virtual void attachRootGraphicsLayer(GraphicsLayer*) OVERRIDE; |
147 | 144 |
148 virtual void enterFullScreenForElement(blink::Element*) OVERRIDE; | 145 virtual void enterFullScreenForElement(Element*) OVERRIDE; |
149 virtual void exitFullScreenForElement(blink::Element*) OVERRIDE; | 146 virtual void exitFullScreenForElement(Element*) OVERRIDE; |
150 | 147 |
151 virtual void clearCompositedSelectionBounds() OVERRIDE; | 148 virtual void clearCompositedSelectionBounds() OVERRIDE; |
152 | 149 |
153 // ChromeClient methods: | 150 // ChromeClient methods: |
154 virtual void postAccessibilityNotification(blink::AXObject*, blink::AXObject
Cache::AXNotification) OVERRIDE; | 151 virtual void postAccessibilityNotification(AXObject*, AXObjectCache::AXNotif
ication) OVERRIDE; |
155 virtual String acceptLanguages() OVERRIDE; | 152 virtual String acceptLanguages() OVERRIDE; |
156 | 153 |
157 // ChromeClientImpl: | 154 // ChromeClientImpl: |
158 void setCursorForPlugin(const WebCursorInfo&); | 155 void setCursorForPlugin(const WebCursorInfo&); |
159 void setNewWindowNavigationPolicy(WebNavigationPolicy); | 156 void setNewWindowNavigationPolicy(WebNavigationPolicy); |
160 | 157 |
161 virtual bool hasOpenedPopup() const OVERRIDE; | 158 virtual bool hasOpenedPopup() const OVERRIDE; |
162 virtual PassRefPtr<blink::PopupMenu> createPopupMenu(blink::LocalFrame&, bli
nk::PopupMenuClient*) const OVERRIDE; | 159 virtual PassRefPtr<PopupMenu> createPopupMenu(LocalFrame&, PopupMenuClient*)
const OVERRIDE; |
163 blink::PagePopup* openPagePopup(blink::PagePopupClient*, const blink::IntRec
t&); | 160 PagePopup* openPagePopup(PagePopupClient*, const IntRect&); |
164 void closePagePopup(blink::PagePopup*); | 161 void closePagePopup(PagePopup*); |
165 virtual void setPagePopupDriver(blink::PagePopupDriver*) OVERRIDE; | 162 virtual void setPagePopupDriver(PagePopupDriver*) OVERRIDE; |
166 virtual void resetPagePopupDriver() OVERRIDE; | 163 virtual void resetPagePopupDriver() OVERRIDE; |
167 | 164 |
168 virtual bool shouldRunModalDialogDuringPageDismissal(const DialogType&, cons
t String& dialogMessage, blink::Document::PageDismissalType) const OVERRIDE; | 165 virtual bool shouldRunModalDialogDuringPageDismissal(const DialogType&, cons
t String& dialogMessage, Document::PageDismissalType) const OVERRIDE; |
169 | 166 |
170 virtual bool requestPointerLock() OVERRIDE; | 167 virtual bool requestPointerLock() OVERRIDE; |
171 virtual void requestPointerUnlock() OVERRIDE; | 168 virtual void requestPointerUnlock() OVERRIDE; |
172 | 169 |
173 virtual void didAssociateFormControls(const WillBeHeapVector<RefPtrWillBeMem
ber<blink::Element> >&) OVERRIDE; | 170 virtual void didAssociateFormControls(const WillBeHeapVector<RefPtrWillBeMem
ber<Element> >&) OVERRIDE; |
174 virtual void didChangeValueInTextField(blink::HTMLFormControlElement&) OVERR
IDE; | 171 virtual void didChangeValueInTextField(HTMLFormControlElement&) OVERRIDE; |
175 virtual void didEndEditingOnTextField(blink::HTMLInputElement&) OVERRIDE; | 172 virtual void didEndEditingOnTextField(HTMLInputElement&) OVERRIDE; |
176 virtual void handleKeyboardEventOnTextField(blink::HTMLInputElement&, blink:
:KeyboardEvent&) OVERRIDE; | 173 virtual void handleKeyboardEventOnTextField(HTMLInputElement&, KeyboardEvent
&) OVERRIDE; |
177 | 174 |
178 // FIXME: Remove this method once we have input routing in the browser | 175 // FIXME: Remove this method once we have input routing in the browser |
179 // process. See http://crbug.com/339659. | 176 // process. See http://crbug.com/339659. |
180 virtual void forwardInputEvent(blink::Frame*, blink::Event*) OVERRIDE; | 177 virtual void forwardInputEvent(Frame*, Event*) OVERRIDE; |
181 | 178 |
182 virtual void didCancelCompositionOnSelectionChange() OVERRIDE; | 179 virtual void didCancelCompositionOnSelectionChange() OVERRIDE; |
183 virtual void willSetInputMethodState() OVERRIDE; | 180 virtual void willSetInputMethodState() OVERRIDE; |
184 virtual void didUpdateTextOfFocusedElementByNonUserInput() OVERRIDE; | 181 virtual void didUpdateTextOfFocusedElementByNonUserInput() OVERRIDE; |
185 virtual void showImeIfNeeded() OVERRIDE; | 182 virtual void showImeIfNeeded() OVERRIDE; |
186 | 183 |
187 private: | 184 private: |
188 virtual bool isChromeClientImpl() const OVERRIDE { return true; } | 185 virtual bool isChromeClientImpl() const OVERRIDE { return true; } |
189 | 186 |
190 WebNavigationPolicy getNavigationPolicy(); | 187 WebNavigationPolicy getNavigationPolicy(); |
191 void setCursor(const WebCursorInfo&); | 188 void setCursor(const WebCursorInfo&); |
192 | 189 |
193 WebViewImpl* m_webView; // weak pointer | 190 WebViewImpl* m_webView; // weak pointer |
194 bool m_toolbarsVisible; | 191 bool m_toolbarsVisible; |
195 bool m_statusbarVisible; | 192 bool m_statusbarVisible; |
196 bool m_scrollbarsVisible; | 193 bool m_scrollbarsVisible; |
197 bool m_menubarVisible; | 194 bool m_menubarVisible; |
198 bool m_resizable; | 195 bool m_resizable; |
199 | 196 |
200 blink::PagePopupDriver* m_pagePopupDriver; | 197 PagePopupDriver* m_pagePopupDriver; |
201 }; | 198 }; |
202 | 199 |
203 DEFINE_TYPE_CASTS(ChromeClientImpl, blink::ChromeClient, client, client->isChrom
eClientImpl(), client.isChromeClientImpl()); | 200 DEFINE_TYPE_CASTS(ChromeClientImpl, ChromeClient, client, client->isChromeClient
Impl(), client.isChromeClientImpl()); |
204 | 201 |
205 } // namespace blink | 202 } // namespace blink |
206 | 203 |
207 #endif | 204 #endif |
OLD | NEW |