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

Side by Side Diff: chrome/browser/tab_contents/tab_contents_view_gtk.h

Issue 3235010: reland r57885 with a fix for linux/views. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: . Created 10 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #ifndef CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_GTK_H_ 5 #ifndef CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_GTK_H_
6 #define CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_GTK_H_ 6 #define CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_GTK_H_
7 #pragma once 7 #pragma once
8 8
9 #include <gtk/gtk.h> 9 #include <gtk/gtk.h>
10 10
(...skipping 18 matching lines...) Expand all
29 // lifetime. This doesn't need to be the case, but is this way currently 29 // lifetime. This doesn't need to be the case, but is this way currently
30 // because that's what was easiest when they were split. 30 // because that's what was easiest when they were split.
31 explicit TabContentsViewGtk(TabContents* tab_contents); 31 explicit TabContentsViewGtk(TabContents* tab_contents);
32 virtual ~TabContentsViewGtk(); 32 virtual ~TabContentsViewGtk();
33 33
34 // Unlike Windows, ConstrainedWindows need to collaborate with the 34 // Unlike Windows, ConstrainedWindows need to collaborate with the
35 // TabContentsViewGtk to position the dialogs. 35 // TabContentsViewGtk to position the dialogs.
36 void AttachConstrainedWindow(ConstrainedWindowGtk* constrained_window); 36 void AttachConstrainedWindow(ConstrainedWindowGtk* constrained_window);
37 void RemoveConstrainedWindow(ConstrainedWindowGtk* constrained_window); 37 void RemoveConstrainedWindow(ConstrainedWindowGtk* constrained_window);
38 38
39 // Override the stored focus widget. This call only makes sense when the
40 // tab contents is not focused.
41 void SetFocusedWidget(GtkWidget* widget);
42
39 // TabContentsView implementation -------------------------------------------- 43 // TabContentsView implementation --------------------------------------------
40 44
41 virtual void CreateView(const gfx::Size& initial_size); 45 virtual void CreateView(const gfx::Size& initial_size);
42 virtual RenderWidgetHostView* CreateViewForWidget( 46 virtual RenderWidgetHostView* CreateViewForWidget(
43 RenderWidgetHost* render_widget_host); 47 RenderWidgetHost* render_widget_host);
44 48
45 virtual gfx::NativeView GetNativeView() const; 49 virtual gfx::NativeView GetNativeView() const;
46 virtual gfx::NativeView GetContentNativeView() const; 50 virtual gfx::NativeView GetContentNativeView() const;
47 virtual gfx::NativeWindow GetTopLevelNativeWindow() const; 51 virtual gfx::NativeWindow GetTopLevelNativeWindow() const;
48 virtual void GetContainerBounds(gfx::Rect* out) const; 52 virtual void GetContainerBounds(gfx::Rect* out) const;
(...skipping 23 matching lines...) Expand all
72 76
73 private: 77 private:
74 // Insert the given widget into the content area. Should only be used for 78 // Insert the given widget into the content area. Should only be used for
75 // web pages and the like (including interstitials and sad tab). Note that 79 // web pages and the like (including interstitials and sad tab). Note that
76 // this will be perfectly happy to insert overlapping render views, so care 80 // this will be perfectly happy to insert overlapping render views, so care
77 // should be taken that the correct one is hidden/shown. 81 // should be taken that the correct one is hidden/shown.
78 void InsertIntoContentArea(GtkWidget* widget); 82 void InsertIntoContentArea(GtkWidget* widget);
79 83
80 void CancelDragIfAny(); 84 void CancelDragIfAny();
81 85
86 // Handle focus traversal on the render widget native view.
87 CHROMEGTK_CALLBACK_1(TabContentsViewGtk, gboolean, OnFocus, GtkDirectionType);
88
82 // We keep track of the timestamp of the latest mousedown event. 89 // We keep track of the timestamp of the latest mousedown event.
83 CHROMEGTK_CALLBACK_1(TabContentsViewGtk, gboolean, OnMouseDown, 90 CHROMEGTK_CALLBACK_1(TabContentsViewGtk, gboolean, OnMouseDown,
84 GdkEventButton*); 91 GdkEventButton*);
85 92
86 // Used to adjust the size of its children when the size of |expanded_| is 93 // Used to adjust the size of its children when the size of |expanded_| is
87 // changed. 94 // changed.
88 CHROMEGTK_CALLBACK_2(TabContentsViewGtk, void, OnChildSizeRequest, 95 CHROMEGTK_CALLBACK_2(TabContentsViewGtk, void, OnChildSizeRequest,
89 GtkWidget*, GtkRequisition*); 96 GtkWidget*, GtkRequisition*);
90 97
91 // Used to propagate the size change of |expanded_| to our RWHV to resize the 98 // Used to propagate the size change of |expanded_| to our RWHV to resize the
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 scoped_ptr<TabContentsDragSource> drag_source_; 137 scoped_ptr<TabContentsDragSource> drag_source_;
131 138
132 // The size we want the tab contents view to be. We keep this in a separate 139 // The size we want the tab contents view to be. We keep this in a separate
133 // variable because resizing in GTK+ is async. 140 // variable because resizing in GTK+ is async.
134 gfx::Size requested_size_; 141 gfx::Size requested_size_;
135 142
136 DISALLOW_COPY_AND_ASSIGN(TabContentsViewGtk); 143 DISALLOW_COPY_AND_ASSIGN(TabContentsViewGtk);
137 }; 144 };
138 145
139 #endif // CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_GTK_H_ 146 #endif // CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_GTK_H_
OLDNEW
« no previous file with comments | « chrome/browser/login_prompt_gtk.cc ('k') | chrome/browser/tab_contents/tab_contents_view_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698