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

Unified Diff: chrome/browser/ui/views/extensions/extension_view_views.cc

Issue 363233002: Abstract base 'ExtensionView' to Fix DEPS violation in extension_view_host.h (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase for r281699 (unused hwnd_util.h) Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/extensions/extension_view_views.cc
diff --git a/chrome/browser/ui/views/extensions/extension_view_views.cc b/chrome/browser/ui/views/extensions/extension_view_views.cc
index e0c58f012ec73cd505e48e1097d3766bf1ff4d87..a7d87430dc85d11cb6093eeb29b7b1d3de88158c 100644
--- a/chrome/browser/ui/views/extensions/extension_view_views.cc
+++ b/chrome/browser/ui/views/extensions/extension_view_views.cc
@@ -4,6 +4,8 @@
#include "chrome/browser/ui/views/extensions/extension_view_views.h"
+#include "chrome/browser/extensions/extension_view_host.h"
+#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/views/extensions/extension_popup.h"
#include "content/public/browser/content_browser_client.h"
#include "content/public/browser/render_view_host.h"
@@ -71,10 +73,6 @@ void ExtensionViewViews::ViewHierarchyChanged(
CreateWidgetHostView();
}
-void ExtensionViewViews::DidStopLoading() {
- ShowIfCompletelyLoaded();
-}
-
void ExtensionViewViews::SetIsClipped(bool is_clipped) {
if (is_clipped_ != is_clipped) {
is_clipped_ = is_clipped;
@@ -83,6 +81,18 @@ void ExtensionViewViews::SetIsClipped(bool is_clipped) {
}
}
+void ExtensionViewViews::Init() {
+ // Initialization continues in ViewHierarchyChanged().
+}
+
+Browser* ExtensionViewViews::GetBrowser() {
+ return browser_;
+}
+
+gfx::NativeView ExtensionViewViews::GetNativeView() {
+ return native_view();
+}
+
void ExtensionViewViews::ResizeDueToAutoResize(const gfx::Size& new_size) {
// Don't actually do anything with this information until we have been shown.
// Size changes will not be honored by lower layers while we are hidden.
@@ -105,11 +115,22 @@ void ExtensionViewViews::RenderViewCreated() {
}
void ExtensionViewViews::HandleKeyboardEvent(
+ content::WebContents* source,
const content::NativeWebKeyboardEvent& event) {
+ if (browser_) {
+ // Handle lower priority browser shortcuts such as Ctrl-f.
+ browser_->HandleKeyboardEvent(source, event);
+ return;
+ }
+
unhandled_keyboard_event_handler_.HandleKeyboardEvent(event,
GetFocusManager());
}
+void ExtensionViewViews::DidStopLoading() {
+ ShowIfCompletelyLoaded();
+}
+
bool ExtensionViewViews::SkipDefaultKeyEventProcessing(const ui::KeyEvent& e) {
// Let the tab key event be processed by the renderer (instead of moving the
// focus to the next focusable view). Also handle Backspace, since otherwise
@@ -163,3 +184,18 @@ void ExtensionViewViews::CleanUp() {
Detach();
initialized_ = false;
}
+
+namespace extensions {
+
+// static
+scoped_ptr<ExtensionView> ExtensionViewHost::CreateExtensionView(
+ ExtensionViewHost* host,
+ Browser* browser) {
+ scoped_ptr<ExtensionViewViews> view(new ExtensionViewViews(host, browser));
+ // We own |view_|, so don't auto delete when it's removed from the view
+ // hierarchy.
+ view->set_owned_by_client();
+ return view.PassAs<ExtensionView>();
+}
+
+} // namespace extensions
« no previous file with comments | « chrome/browser/ui/views/extensions/extension_view_views.h ('k') | chrome/browser/ui/views/infobars/extension_infobar.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698