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

Unified Diff: content/browser/tab_contents/tab_contents_view_aura.h

Issue 9963079: Adds a TabContentsViewAura. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 9 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: content/browser/tab_contents/tab_contents_view_aura.h
===================================================================
--- content/browser/tab_contents/tab_contents_view_aura.h (revision 0)
+++ content/browser/tab_contents/tab_contents_view_aura.h (revision 0)
@@ -0,0 +1,143 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CONTENT_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_AURA_H_
+#define CONTENT_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_AURA_H_
+#pragma once
+
+#include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
+#include "content/browser/tab_contents/tab_contents_view_helper.h"
+#include "content/common/content_export.h"
+#include "content/public/browser/web_contents_view.h"
+#include "ui/aura/client/drag_drop_delegate.h"
+#include "ui/aura/window_delegate.h"
+
+namespace aura {
+class Window;
+}
+
+namespace content {
+class WebContentsViewDelegate;
+class WebDragDestDelegate;
+}
+
+class CONTENT_EXPORT TabContentsViewAura
+ : public content::WebContentsView,
+ public aura::WindowDelegate,
+ public aura::client::DragDropDelegate {
+ public:
+ TabContentsViewAura(TabContents* tab_contents,
+ content::WebContentsViewDelegate* delegate);
+ virtual ~TabContentsViewAura();
+
+ private:
+ void SizeChangedCommon(const gfx::Size& size);
+
+ void EndDrag(WebKit::WebDragOperationsMask ops);
+
+ content::WebDragDestDelegate* GetDragDestDelegate();
+
+ // Overridden from WebContentsView:
+ virtual void CreateView(const gfx::Size& initial_size) OVERRIDE;
+ virtual content::RenderWidgetHostView* CreateViewForWidget(
+ content::RenderWidgetHost* render_widget_host) OVERRIDE;
+ virtual gfx::NativeView GetNativeView() const OVERRIDE;
+ virtual gfx::NativeView GetContentNativeView() const OVERRIDE;
+ virtual gfx::NativeWindow GetTopLevelNativeWindow() const OVERRIDE;
+ virtual void GetContainerBounds(gfx::Rect *out) const OVERRIDE;
+ virtual void SetPageTitle(const string16& title) OVERRIDE;
+ virtual void OnTabCrashed(base::TerminationStatus status,
+ int error_code) OVERRIDE;
+ virtual void SizeContents(const gfx::Size& size) OVERRIDE;
+ virtual void RenderViewCreated(content::RenderViewHost* host) OVERRIDE;
+ virtual void Focus() OVERRIDE;
+ virtual void SetInitialFocus() OVERRIDE;
+ virtual void StoreFocus() OVERRIDE;
+ virtual void RestoreFocus() OVERRIDE;
+ virtual bool IsDoingDrag() const OVERRIDE;
+ virtual void CancelDragAndCloseTab() OVERRIDE;
+ virtual bool IsEventTracking() const OVERRIDE;
+ virtual void CloseTabAfterEventTracking() OVERRIDE;
+ virtual void GetViewBounds(gfx::Rect* out) const OVERRIDE;
+
+ // Overridden from RenderViewHostDelegate::View:
+ virtual void CreateNewWindow(
+ int route_id,
+ const ViewHostMsg_CreateWindow_Params& params) OVERRIDE;
+ virtual void CreateNewWidget(int route_id,
+ WebKit::WebPopupType popup_type) OVERRIDE;
+ virtual void CreateNewFullscreenWidget(int route_id) OVERRIDE;
+ virtual void ShowCreatedWindow(int route_id,
+ WindowOpenDisposition disposition,
+ const gfx::Rect& initial_pos,
+ bool user_gesture) OVERRIDE;
+ virtual void ShowCreatedWidget(int route_id,
+ const gfx::Rect& initial_pos) OVERRIDE;
+ virtual void ShowCreatedFullscreenWidget(int route_id) OVERRIDE;
+ virtual void ShowContextMenu(
+ const content::ContextMenuParams& params) OVERRIDE;
+ virtual void ShowPopupMenu(const gfx::Rect& bounds,
+ int item_height,
+ double item_font_size,
+ int selected_item,
+ const std::vector<WebMenuItem>& items,
+ bool right_aligned) OVERRIDE;
+ virtual void StartDragging(const WebDropData& drop_data,
+ WebKit::WebDragOperationsMask operations,
+ const SkBitmap& image,
+ const gfx::Point& image_offset) OVERRIDE;
+ virtual void UpdateDragCursor(WebKit::WebDragOperation operation) OVERRIDE;
+ virtual void GotFocus() OVERRIDE;
+ virtual void TakeFocus(bool reverse) OVERRIDE;
+
+ // Overridden from aura::WindowDelegate:
+ virtual gfx::Size GetMinimumSize() const OVERRIDE;
+ virtual void OnBoundsChanged(const gfx::Rect& old_bounds,
+ const gfx::Rect& new_bounds) OVERRIDE;
+ virtual void OnFocus() OVERRIDE;
+ virtual void OnBlur() OVERRIDE;
+ virtual bool OnKeyEvent(aura::KeyEvent* event) OVERRIDE;
+ virtual gfx::NativeCursor GetCursor(const gfx::Point& point) OVERRIDE;
+ virtual int GetNonClientComponent(const gfx::Point& point) const OVERRIDE;
+ virtual bool OnMouseEvent(aura::MouseEvent* event) OVERRIDE;
+ virtual ui::TouchStatus OnTouchEvent(aura::TouchEvent* event) OVERRIDE;
+ virtual ui::GestureStatus OnGestureEvent(aura::GestureEvent* event) OVERRIDE;
+ virtual bool CanFocus() OVERRIDE;
+ virtual void OnCaptureLost() OVERRIDE;
+ virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
+ virtual void OnWindowDestroying() OVERRIDE;
+ virtual void OnWindowDestroyed() OVERRIDE;
+ virtual void OnWindowVisibilityChanged(bool visible) OVERRIDE;
+
+ // Overridden from aura::client::DragDropDelegate:
+ virtual void OnDragEntered(const aura::DropTargetEvent& event) OVERRIDE;
+ virtual int OnDragUpdated(const aura::DropTargetEvent& event) OVERRIDE;
+ virtual void OnDragExited() OVERRIDE;
+ virtual int OnPerformDrop(const aura::DropTargetEvent& event) OVERRIDE;
+
+ gfx::Size initial_size_;
+
+ scoped_ptr<aura::Window> window_;
+
+ // The TabContents whose contents we display.
+ TabContents* tab_contents_;
+
+ content::RenderWidgetHostView* view_;
+
+ scoped_ptr<content::WebContentsViewDelegate> delegate_;
+
+ // Common implementations of some WebContentsView methods.
+ TabContentsViewHelper tab_contents_view_helper_;
+
+ WebKit::WebDragOperationsMask current_drag_op_;
+
+ // Set to true if we want to close the tab after the system drag operation
+ // has finished.
+ bool close_tab_after_drag_ends_;
+
+ DISALLOW_COPY_AND_ASSIGN(TabContentsViewAura);
+};
+
+#endif // CONTENT_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_AURA_H_
Property changes on: content\browser\tab_contents\tab_contents_view_aura.h
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698