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

Unified Diff: chrome/browser/ui/views/tab_contents/tab_contents_container.cc

Issue 4319003: Replace TabContentsViewGtk with TabContentsViewViews as part of the ongoing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address final comments from reviewers Created 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/tab_contents/tab_contents_container.cc
diff --git a/chrome/browser/ui/views/tab_contents/tab_contents_container.cc b/chrome/browser/ui/views/tab_contents/tab_contents_container.cc
index eed5ea24b47ff47a57d4e6201a0e2e0dc0c4985c..9ab6078d3e03aacb4225e15ca6190ce1068c73e0 100644
--- a/chrome/browser/ui/views/tab_contents/tab_contents_container.cc
+++ b/chrome/browser/ui/views/tab_contents/tab_contents_container.cc
@@ -12,6 +12,13 @@
#include "chrome/browser/views/tab_contents/native_tab_contents_container.h"
#include "chrome/common/notification_service.h"
+#if defined(TOUCH_UI)
+#include "chrome/browser/ui/views/tab_contents/native_tab_contents_container_gtk.h"
+#include "chrome/browser/ui/views/tab_contents/tab_contents_view_views.h"
+#include "views/border.h"
+#include "views/fill_layout.h"
+#endif
+
////////////////////////////////////////////////////////////////////////////////
// TabContentsContainer, public:
@@ -29,29 +36,46 @@ TabContentsContainer::~TabContentsContainer() {
void TabContentsContainer::ChangeTabContents(TabContents* contents) {
if (tab_contents_) {
+#if !defined(TOUCH_UI)
native_container_->DetachContents(tab_contents_);
+#endif
tab_contents_->WasHidden();
RemoveObservers();
}
+#if !defined(TOUCH_UI)
TabContents* old_contents = tab_contents_;
+#endif
tab_contents_ = contents;
// When detaching the last tab of the browser ChangeTabContents is invoked
// with NULL. Don't attempt to do anything in that case.
if (tab_contents_) {
+#if defined(TOUCH_UI)
+ views::View *v = static_cast<TabContentsViewViews*>(contents->view());
+ // Guard against re-adding ourselves, which happens because the NULL
+ // value is ignored by the pre-existing if() above.
+ if (v->GetParent() != this) {
+ AddChildView(v);
+ SetLayoutManager(new views::FillLayout());
+ Layout();
+ }
+#else
RenderWidgetHostViewChanged(
old_contents ? old_contents->GetRenderWidgetHostView() : NULL,
tab_contents_->GetRenderWidgetHostView());
native_container_->AttachContents(tab_contents_);
+#endif
AddObservers();
}
}
void TabContentsContainer::TabContentsFocused(TabContents* tab_contents) {
- native_container_->TabContentsFocused(tab_contents);
+ if (native_container_)
+ native_container_->TabContentsFocused(tab_contents);
}
void TabContentsContainer::SetFastResize(bool fast_resize) {
- native_container_->SetFastResize(fast_resize);
+ if (native_container_)
+ native_container_->SetFastResize(fast_resize);
}
////////////////////////////////////////////////////////////////////////////////
@@ -76,12 +100,16 @@ void TabContentsContainer::Observe(NotificationType type,
// TabContentsContainer, View overrides:
void TabContentsContainer::Layout() {
+#if defined(TOUCH_UI)
+ views::View::Layout();
+#else
if (native_container_) {
if (reserved_area_delegate_)
reserved_area_delegate_->UpdateReservedContentsRect(this);
native_container_->GetView()->SetBounds(0, 0, width(), height());
native_container_->GetView()->Layout();
}
+#endif
}
AccessibilityTypes::Role TabContentsContainer::GetAccessibleRole() {
@@ -91,10 +119,14 @@ AccessibilityTypes::Role TabContentsContainer::GetAccessibleRole() {
void TabContentsContainer::ViewHierarchyChanged(bool is_add,
views::View* parent,
views::View* child) {
+#if defined(TOUCH_UI)
+ views::View::ViewHierarchyChanged(is_add, parent, child);
+#else
if (is_add && child == this) {
native_container_ = NativeTabContentsContainer::CreateNativeContainer(this);
AddChildView(native_container_->GetView());
}
+#endif
}
////////////////////////////////////////////////////////////////////////////////
@@ -119,11 +151,15 @@ void TabContentsContainer::RemoveObservers() {
void TabContentsContainer::RenderViewHostChanged(RenderViewHost* old_host,
RenderViewHost* new_host) {
+#if defined(TOUCH_UI)
+ NOTIMPLEMENTED(); // TODO(anicolao)
+#else
if (new_host) {
RenderWidgetHostViewChanged(
old_host ? old_host->view() : NULL, new_host->view());
}
native_container_->RenderViewHostChanged(old_host, new_host);
+#endif
}
void TabContentsContainer::TabContentsDestroyed(TabContents* contents) {

Powered by Google App Engine
This is Rietveld 408576698