diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-22 17:26:34 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-22 17:26:34 +0000 |
commit | 8c66c5ae2f67738941f4476fd7d5111a89c337ba (patch) | |
tree | c18d8c1e0e4f707c51554558466cb74204a1b393 /webkit/glue/webview_impl.cc | |
parent | 1abd61f7cb060fb1e5ccd1546ac1aa157a1801a5 (diff) | |
download | chromium_src-8c66c5ae2f67738941f4476fd7d5111a89c337ba.zip chromium_src-8c66c5ae2f67738941f4476fd7d5111a89c337ba.tar.gz chromium_src-8c66c5ae2f67738941f4476fd7d5111a89c337ba.tar.bz2 |
Make scrollbars and other controls tint/untint upon main window gaining
focus on Mac. This entails the following:
- getting notifications that the main window has become or lost key
window status (in BrowserWindowController) [new]
- ... which tells the RenderWidgetHostView(Mac) to (de)activate [new]
- ... which tells the RenderWidgetHost to (de)activate [new]
- ... which sends a ViewMsg_SetActive message [new message] to the
RenderView [new]
- ... which tells the WebView(Impl) to (de)activate [new]
- ... which tells its page()'s FocusController to (de)activate [new]
- ... which is now in WebKit-land.
N.B.: "Activate" is the nomenclature used in WebKit; "focus"/"blur" can
sometimes (kind of) mean the same thing, but is ambiguous, since "focus"
has a more specific meaning.
Added a WebView unit test, which currently only tests to make sure that
SetActive() (and IsActive() [also new]) work correctly. The changes to
the other classes aren't very testable since they don't actually do
anything (other than pass things along).
BUG=12507
TEST=webkit/glue/webkit_unittest.cc
Patch by viettrungluu@gmail.com (see http://codereview.chromium.org/159048 ),
r=avi
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21284 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webview_impl.cc')
-rw-r--r-- | webkit/glue/webview_impl.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/webkit/glue/webview_impl.cc b/webkit/glue/webview_impl.cc index 0556ac8..04c18ef 100644 --- a/webkit/glue/webview_impl.cc +++ b/webkit/glue/webview_impl.cc @@ -1796,6 +1796,17 @@ bool WebViewImpl::GetIsTransparent() const { return is_transparent_; } +void WebViewImpl::SetActive(bool active) { + if (page() && page()->focusController()) + page()->focusController()->setActive(active); +} + +bool WebViewImpl::IsActive() { + return (page() && page()->focusController()) + ? page()->focusController()->isActive() + : false; +} + void WebViewImpl::DidCommitLoad(bool* is_new_navigation) { if (is_new_navigation) *is_new_navigation = observed_new_navigation_; |