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

Side by Side Diff: chrome/browser/views/extensions/extension_view.cc

Issue 415001: Merge 32335... (Closed) Base URL: svn://svn.chromium.org/chrome/branches/249/src/
Patch Set: Created 11 years, 1 month 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 | « chrome/browser/views/extensions/extension_view.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/views/extensions/extension_view.h" 5 #include "chrome/browser/views/extensions/extension_view.h"
6 6
7 #include "chrome/browser/extensions/extension_host.h" 7 #include "chrome/browser/extensions/extension_host.h"
8 #include "chrome/browser/renderer_host/render_view_host.h" 8 #include "chrome/browser/renderer_host/render_view_host.h"
9 #include "chrome/browser/renderer_host/render_widget_host_view.h" 9 #include "chrome/browser/renderer_host/render_widget_host_view.h"
10 #include "views/widget/widget.h" 10 #include "views/widget/widget.h"
11 11
12 #if defined(OS_WIN) 12 #if defined(OS_WIN)
13 #include "chrome/browser/renderer_host/render_widget_host_view_win.h" 13 #include "chrome/browser/renderer_host/render_widget_host_view_win.h"
14 #elif defined(OS_LINUX) 14 #elif defined(OS_LINUX)
15 #include "chrome/browser/renderer_host/render_widget_host_view_gtk.h" 15 #include "chrome/browser/renderer_host/render_widget_host_view_gtk.h"
16 #endif 16 #endif
17 17
18 ExtensionView::ExtensionView(ExtensionHost* host, Browser* browser) 18 ExtensionView::ExtensionView(ExtensionHost* host, Browser* browser)
19 : host_(host), 19 : host_(host),
20 browser_(browser), 20 browser_(browser),
21 initialized_(false), 21 initialized_(false),
22 container_(NULL), 22 container_(NULL),
23 is_clipped_(false) { 23 is_clipped_(false) {
24 host_->set_view(this); 24 host_->set_view(this);
25
26 // This view needs to be focusable so it can act as the focused view for the
27 // focus manager. This is required to have SkipDefaultKeyEventProcessing
28 // called so the tab key events are forwarded to the renderer.
29 SetFocusable(true);
25 } 30 }
26 31
27 ExtensionView::~ExtensionView() { 32 ExtensionView::~ExtensionView() {
28 View* parent = GetParent(); 33 View* parent = GetParent();
29 if (parent) 34 if (parent)
30 parent->RemoveChildView(this); 35 parent->RemoveChildView(this);
31 CleanUp(); 36 CleanUp();
32 } 37 }
33 38
34 Extension* ExtensionView::extension() const { 39 Extension* ExtensionView::extension() const {
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 CreateWidgetHostView(); 168 CreateWidgetHostView();
164 } 169 }
165 170
166 void ExtensionView::PreferredSizeChanged() { 171 void ExtensionView::PreferredSizeChanged() {
167 View::PreferredSizeChanged(); 172 View::PreferredSizeChanged();
168 if (container_) { 173 if (container_) {
169 container_->OnExtensionPreferredSizeChanged(this); 174 container_->OnExtensionPreferredSizeChanged(this);
170 } 175 }
171 } 176 }
172 177
178 bool ExtensionView::SkipDefaultKeyEventProcessing(const views::KeyEvent& e) {
179 // Let the tab key event be processed by the renderer (instead of moving the
180 // focus to the next focusable view).
181 return (e.GetKeyCode() == base::VKEY_TAB);
182 }
183
173 void ExtensionView::HandleMouseEvent() { 184 void ExtensionView::HandleMouseEvent() {
174 if (container_) 185 if (container_)
175 container_->OnExtensionMouseEvent(this); 186 container_->OnExtensionMouseEvent(this);
176 } 187 }
177 188
178 void ExtensionView::HandleMouseLeave() { 189 void ExtensionView::HandleMouseLeave() {
179 if (container_) 190 if (container_)
180 container_->OnExtensionMouseLeave(this); 191 container_->OnExtensionMouseLeave(this);
181 } 192 }
182 193
183 void ExtensionView::RenderViewCreated() { 194 void ExtensionView::RenderViewCreated() {
184 if (!pending_background_.empty() && render_view_host()->view()) { 195 if (!pending_background_.empty() && render_view_host()->view()) {
185 render_view_host()->view()->SetBackground(pending_background_); 196 render_view_host()->view()->SetBackground(pending_background_);
186 pending_background_.reset(); 197 pending_background_.reset();
187 } 198 }
188 } 199 }
OLDNEW
« no previous file with comments | « chrome/browser/views/extensions/extension_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698