diff options
author | anicolao@google.com <anicolao@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-18 00:19:15 +0000 |
---|---|---|
committer | anicolao@google.com <anicolao@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-18 00:19:15 +0000 |
commit | 72dd8cac5c3f1014416badce32b3e657f294cf3a (patch) | |
tree | dfc4f2275c6dbc44cde5e2b6abcd266205109349 /chrome | |
parent | 6008c18597d8005b02912c76ad55cd596f101408 (diff) | |
download | chromium_src-72dd8cac5c3f1014416badce32b3e657f294cf3a.zip chromium_src-72dd8cac5c3f1014416badce32b3e657f294cf3a.tar.gz chromium_src-72dd8cac5c3f1014416badce32b3e657f294cf3a.tar.bz2 |
First cut at creating a refactored version of tab_contents_views. This is
motivated by a discussion with Ben and Scott in the process of fixing a z-order
issue in http://codereview.chromium.org/5700003/
BUG=none
TEST=manually on both touch and non-touch builds, trybots
Review URL: http://codereview.chromium.org/6024007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71608 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
7 files changed, 344 insertions, 175 deletions
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 90af997..caa6fdc 100644 --- a/chrome/browser/ui/views/tab_contents/tab_contents_container.cc +++ b/chrome/browser/ui/views/tab_contents/tab_contents_container.cc @@ -13,69 +13,15 @@ #include "chrome/common/notification_details.h" #include "chrome/common/notification_source.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: -TabContentsContainer::TabContentsContainer() - : native_container_(NULL), - tab_contents_(NULL) { - SetID(VIEW_ID_TAB_CONTAINER); -} - TabContentsContainer::~TabContentsContainer() { if (tab_contents_) RemoveObservers(); } -void TabContentsContainer::ChangeTabContents(TabContents* contents) { - if (tab_contents_) { -#if !defined(TOUCH_UI) - native_container_->DetachContents(tab_contents_); -#else - views::View *v = static_cast<TabContentsViewViews*>(tab_contents_->view()); - RemoveChildView(v); -#endif - tab_contents_->WasHidden(); - RemoveObservers(); - } - 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(tab_contents_->GetRenderWidgetHostView()); - native_container_->AttachContents(tab_contents_); -#endif - AddObservers(); - } -} - -void TabContentsContainer::TabContentsFocused(TabContents* tab_contents) { - if (native_container_) - native_container_->TabContentsFocused(tab_contents); -} - -void TabContentsContainer::SetFastResize(bool fast_resize) { - if (native_container_) - native_container_->SetFastResize(fast_resize); -} - void TabContentsContainer::SetReservedContentsRect( const gfx::Rect& reserved_rect) { cached_reserved_rect_ = reserved_rect; @@ -108,34 +54,10 @@ void TabContentsContainer::Observe(NotificationType type, //////////////////////////////////////////////////////////////////////////////// // TabContentsContainer, View overrides: -void TabContentsContainer::Layout() { -#if defined(TOUCH_UI) - views::View::Layout(); -#else - if (native_container_) { - native_container_->GetView()->SetBounds(0, 0, width(), height()); - native_container_->GetView()->Layout(); - } -#endif -} - AccessibilityTypes::Role TabContentsContainer::GetAccessibleRole() { return AccessibilityTypes::ROLE_WINDOW; } -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 -} - //////////////////////////////////////////////////////////////////////////////// // TabContentsContainer, private: @@ -156,17 +78,6 @@ void TabContentsContainer::RemoveObservers() { registrar_.RemoveAll(); } -void TabContentsContainer::RenderViewHostChanged(RenderViewHost* old_host, - RenderViewHost* new_host) { -#if defined(TOUCH_UI) - NOTIMPLEMENTED(); // TODO(anicolao) -#else - if (new_host) - RenderWidgetHostViewChanged(new_host->view()); - native_container_->RenderViewHostChanged(old_host, new_host); -#endif -} - void TabContentsContainer::TabContentsDestroyed(TabContents* contents) { // Sometimes, a TabContents is destroyed before we know about it. This allows // us to clean up our state in case this happens. diff --git a/chrome/browser/ui/views/tab_contents/tab_contents_container.h b/chrome/browser/ui/views/tab_contents/tab_contents_container.h index 1ba30ed..1777479 100644 --- a/chrome/browser/ui/views/tab_contents/tab_contents_container.h +++ b/chrome/browser/ui/views/tab_contents/tab_contents_container.h @@ -6,89 +6,20 @@ #define CHROME_BROWSER_UI_VIEWS_TAB_CONTENTS_TAB_CONTENTS_CONTAINER_H_ #pragma once -#include "chrome/browser/ui/views/tab_contents/native_tab_contents_container.h" -#include "chrome/common/notification_observer.h" -#include "chrome/common/notification_registrar.h" -#include "views/view.h" - -class NativeTabContentsContainer; -class RenderViewHost; -class RenderWidgetHostView; -class TabContents; - -class TabContentsContainer : public views::View, - public NotificationObserver { - public: - TabContentsContainer(); - virtual ~TabContentsContainer(); - - // Changes the TabContents associated with this view. - void ChangeTabContents(TabContents* contents); - - View* GetFocusView() { return native_container_->GetView(); } - - // Accessor for |tab_contents_|. - TabContents* tab_contents() const { return tab_contents_; } - - // Called by the BrowserView to notify that |tab_contents| got the focus. - void TabContentsFocused(TabContents* tab_contents); - - // Tells the container to update less frequently during resizing operations - // so performance is better. - void SetFastResize(bool fast_resize); - - // Updates the current reserved rect in view coordinates where contents - // should not be rendered to draw the resize corner, sidebar mini tabs etc. - void SetReservedContentsRect(const gfx::Rect& reserved_rect); - - // Overridden from NotificationObserver: - virtual void Observe(NotificationType type, - const NotificationSource& source, - const NotificationDetails& details); - - // Overridden from views::View: - virtual void Layout(); - virtual AccessibilityTypes::Role GetAccessibleRole(); - - protected: - // Overridden from views::View: - virtual void ViewHierarchyChanged(bool is_add, views::View* parent, - views::View* child); - - private: - // Add or remove observers for events that we care about. - void AddObservers(); - void RemoveObservers(); - - // Called when the RenderViewHost of the hosted TabContents has changed, e.g. - // to show an interstitial page. - void RenderViewHostChanged(RenderViewHost* old_host, - RenderViewHost* new_host); - - // Called when a TabContents is destroyed. This gives us a chance to clean - // up our internal state if the TabContents is somehow destroyed before we - // get notified. - void TabContentsDestroyed(TabContents* contents); - - // Called when the RenderWidgetHostView of the hosted TabContents has changed. - void RenderWidgetHostViewChanged(RenderWidgetHostView* new_view); - - // An instance of a NativeTabContentsContainer object that holds the native - // view handle associated with the attached TabContents. - NativeTabContentsContainer* native_container_; - - // The attached TabContents. - TabContents* tab_contents_; - - // Handles registering for our notifications. - NotificationRegistrar registrar_; - - // The current reserved rect in view coordinates where contents should not be - // rendered to draw the resize corner, sidebar mini tabs etc. - // Cached here to update ever changing renderers. - gfx::Rect cached_reserved_rect_; - - DISALLOW_COPY_AND_ASSIGN(TabContentsContainer); -}; +// There are two strategies implemented for embedding the actual tab contents +// which are to use a views implementaiton all the way down, or to use a +// NativeViewHost to encapsulate a native widget that then contains another +// views heirarchy rooted at that widget. The TOUCH_UI is currently the only UI +// that uses the pure views approach. +// +// Common code to the two approaches is in tab_contents_container.cc, while +// views-only code is in tab_contents_container_views.cc and native-widget only +// code is in tab_contents_container_native.cc. The headers are distinct +// because the classes have different member variables. +#if defined(TOUCH_UI) +#include "chrome/browser/ui/views/tab_contents/tab_contents_container_views.h" +#else +#include "chrome/browser/ui/views/tab_contents/tab_contents_container_native.h" +#endif #endif // CHROME_BROWSER_UI_VIEWS_TAB_CONTENTS_TAB_CONTENTS_CONTAINER_H_ diff --git a/chrome/browser/ui/views/tab_contents/tab_contents_container_native.cc b/chrome/browser/ui/views/tab_contents/tab_contents_container_native.cc new file mode 100644 index 0000000..fa75886 --- /dev/null +++ b/chrome/browser/ui/views/tab_contents/tab_contents_container_native.cc @@ -0,0 +1,80 @@ +// Copyright (c) 2010 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. + +#include "chrome/browser/ui/views/tab_contents/tab_contents_container.h" + +#include "chrome/browser/renderer_host/render_view_host.h" +#include "chrome/browser/renderer_host/render_widget_host_view.h" +#include "chrome/browser/tab_contents/interstitial_page.h" +#include "chrome/browser/tab_contents/tab_contents.h" +#include "chrome/browser/ui/view_ids.h" +#include "chrome/browser/ui/views/tab_contents/native_tab_contents_container.h" +#include "chrome/common/notification_details.h" +#include "chrome/common/notification_source.h" + +// Some of this class is implemented in tab_contents_container.cc, where +// the implementation doesn't vary between a pure views approach and a +// native view host approach. See the header file for details. + +//////////////////////////////////////////////////////////////////////////////// +// TabContentsContainer, public: + +TabContentsContainer::TabContentsContainer() + : native_container_(NULL), + tab_contents_(NULL) { + SetID(VIEW_ID_TAB_CONTAINER); +} + +void TabContentsContainer::ChangeTabContents(TabContents* contents) { + if (tab_contents_) { + native_container_->DetachContents(tab_contents_); + tab_contents_->WasHidden(); + RemoveObservers(); + } + 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_) { + RenderWidgetHostViewChanged(tab_contents_->GetRenderWidgetHostView()); + native_container_->AttachContents(tab_contents_); + AddObservers(); + } +} + +void TabContentsContainer::TabContentsFocused(TabContents* tab_contents) { + native_container_->TabContentsFocused(tab_contents); +} + +void TabContentsContainer::SetFastResize(bool fast_resize) { + native_container_->SetFastResize(fast_resize); +} + +//////////////////////////////////////////////////////////////////////////////// +// TabContentsContainer, View overrides: + +void TabContentsContainer::Layout() { + if (native_container_) { + native_container_->GetView()->SetBounds(0, 0, width(), height()); + native_container_->GetView()->Layout(); + } +} + +void TabContentsContainer::ViewHierarchyChanged(bool is_add, + views::View* parent, + views::View* child) { + if (is_add && child == this) { + native_container_ = NativeTabContentsContainer::CreateNativeContainer(this); + AddChildView(native_container_->GetView()); + } +} + +//////////////////////////////////////////////////////////////////////////////// +// TabContentsContainer, private: + +void TabContentsContainer::RenderViewHostChanged(RenderViewHost* old_host, + RenderViewHost* new_host) { + if (new_host) + RenderWidgetHostViewChanged(new_host->view()); + native_container_->RenderViewHostChanged(old_host, new_host); +} diff --git a/chrome/browser/ui/views/tab_contents/tab_contents_container_native.h b/chrome/browser/ui/views/tab_contents/tab_contents_container_native.h new file mode 100644 index 0000000..a845464 --- /dev/null +++ b/chrome/browser/ui/views/tab_contents/tab_contents_container_native.h @@ -0,0 +1,94 @@ +// Copyright (c) 2010 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 CHROME_BROWSER_UI_VIEWS_TAB_CONTENTS_TAB_CONTENTS_CONTAINER_NATIVE_H_ +#define CHROME_BROWSER_UI_VIEWS_TAB_CONTENTS_TAB_CONTENTS_CONTAINER_NATIVE_H_ +#pragma once + +#include "chrome/browser/ui/views/tab_contents/native_tab_contents_container.h" +#include "chrome/common/notification_observer.h" +#include "chrome/common/notification_registrar.h" +#include "views/view.h" + +class NativeTabContentsContainer; +class RenderViewHost; +class RenderWidgetHostView; +class TabContents; + +class TabContentsContainer : public views::View, + public NotificationObserver { + public: + TabContentsContainer(); + virtual ~TabContentsContainer(); + + // Changes the TabContents associated with this view. + void ChangeTabContents(TabContents* contents); + + View* GetFocusView() { return native_container_->GetView(); } + + // Accessor for |tab_contents_|. + TabContents* tab_contents() const { return tab_contents_; } + + // Called by the BrowserView to notify that |tab_contents| got the focus. + void TabContentsFocused(TabContents* tab_contents); + + // Tells the container to update less frequently during resizing operations + // so performance is better. + void SetFastResize(bool fast_resize); + + // Updates the current reserved rect in view coordinates where contents + // should not be rendered to draw the resize corner, sidebar mini tabs etc. + void SetReservedContentsRect(const gfx::Rect& reserved_rect); + + // Overridden from NotificationObserver: + virtual void Observe(NotificationType type, + const NotificationSource& source, + const NotificationDetails& details); + + // Overridden from views::View: + virtual void Layout(); + virtual AccessibilityTypes::Role GetAccessibleRole(); + + protected: + // Overridden from views::View: + virtual void ViewHierarchyChanged(bool is_add, views::View* parent, + views::View* child); + + private: + // Add or remove observers for events that we care about. + void AddObservers(); + void RemoveObservers(); + + // Called when the RenderViewHost of the hosted TabContents has changed, e.g. + // to show an interstitial page. + void RenderViewHostChanged(RenderViewHost* old_host, + RenderViewHost* new_host); + + // Called when a TabContents is destroyed. This gives us a chance to clean + // up our internal state if the TabContents is somehow destroyed before we + // get notified. + void TabContentsDestroyed(TabContents* contents); + + // Called when the RenderWidgetHostView of the hosted TabContents has changed. + void RenderWidgetHostViewChanged(RenderWidgetHostView* new_view); + + // An instance of a NativeTabContentsContainer object that holds the native + // view handle associated with the attached TabContents. + NativeTabContentsContainer* native_container_; + + // The attached TabContents. + TabContents* tab_contents_; + + // Handles registering for our notifications. + NotificationRegistrar registrar_; + + // The current reserved rect in view coordinates where contents should not be + // rendered to draw the resize corner, sidebar mini tabs etc. + // Cached here to update ever changing renderers. + gfx::Rect cached_reserved_rect_; + + DISALLOW_COPY_AND_ASSIGN(TabContentsContainer); +}; + +#endif // CHROME_BROWSER_UI_VIEWS_TAB_CONTENTS_TAB_CONTENTS_CONTAINER_NATIVE_H_ diff --git a/chrome/browser/ui/views/tab_contents/tab_contents_container_views.cc b/chrome/browser/ui/views/tab_contents/tab_contents_container_views.cc new file mode 100644 index 0000000..5ff8a5d --- /dev/null +++ b/chrome/browser/ui/views/tab_contents/tab_contents_container_views.cc @@ -0,0 +1,59 @@ +// Copyright (c) 2010 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. + +#include "chrome/browser/ui/views/tab_contents/tab_contents_container.h" + +#include "chrome/browser/renderer_host/render_view_host.h" +#include "chrome/browser/renderer_host/render_widget_host_view.h" +#include "chrome/browser/tab_contents/interstitial_page.h" +#include "chrome/browser/tab_contents/tab_contents.h" +#include "chrome/browser/ui/view_ids.h" +#include "chrome/browser/ui/views/tab_contents/native_tab_contents_container_gtk.h" +#include "chrome/browser/ui/views/tab_contents/native_tab_contents_container.h" +#include "chrome/browser/ui/views/tab_contents/tab_contents_view_views.h" +#include "chrome/common/notification_details.h" +#include "chrome/common/notification_source.h" +#include "views/fill_layout.h" + +// Some of this class is implemented in tab_contents_container.cc, where +// the implementation doesn't vary between a pure views approach and a +// native view host approach. See the header file for details. + +//////////////////////////////////////////////////////////////////////////////// +// TabContentsContainer, public: + +TabContentsContainer::TabContentsContainer() + : tab_contents_(NULL) { + SetID(VIEW_ID_TAB_CONTAINER); +} + +void TabContentsContainer::ChangeTabContents(TabContents* contents) { + if (tab_contents_) { + views::View *v = static_cast<TabContentsViewViews*>(tab_contents_->view()); + RemoveChildView(v); + tab_contents_->WasHidden(); + RemoveObservers(); + } + 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_) { + views::View *v = static_cast<TabContentsViewViews*>(contents->view()); + AddChildView(v); + SetLayoutManager(new views::FillLayout()); + Layout(); + AddObservers(); + } +} + +void TabContentsContainer::TabContentsFocused(TabContents* tab_contents) { +} + +void TabContentsContainer::SetFastResize(bool fast_resize) { +} + +void TabContentsContainer::RenderViewHostChanged(RenderViewHost* old_host, + RenderViewHost* new_host) { + NOTIMPLEMENTED(); // TODO(anicolao) +} diff --git a/chrome/browser/ui/views/tab_contents/tab_contents_container_views.h b/chrome/browser/ui/views/tab_contents/tab_contents_container_views.h new file mode 100644 index 0000000..d5a79aa --- /dev/null +++ b/chrome/browser/ui/views/tab_contents/tab_contents_container_views.h @@ -0,0 +1,82 @@ +// Copyright (c) 2010 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 CHROME_BROWSER_UI_VIEWS_TAB_CONTENTS_TAB_CONTENTS_CONTAINER_VIEWS_H_ +#define CHROME_BROWSER_UI_VIEWS_TAB_CONTENTS_TAB_CONTENTS_CONTAINER_VIEWS_H_ +#pragma once + +#include "chrome/common/notification_observer.h" +#include "chrome/common/notification_registrar.h" +#include "views/view.h" + +class NativeTabContentsContainer; +class RenderViewHost; +class RenderWidgetHostView; +class TabContents; + +class TabContentsContainer : public views::View, + public NotificationObserver { + public: + TabContentsContainer(); + virtual ~TabContentsContainer(); + + // Changes the TabContents associated with this view. + void ChangeTabContents(TabContents* contents); + + View* GetFocusView() { return this; } + + // Accessor for |tab_contents_|. + TabContents* tab_contents() const { return tab_contents_; } + + // Called by the BrowserView to notify that |tab_contents| got the focus. + void TabContentsFocused(TabContents* tab_contents); + + // Tells the container to update less frequently during resizing operations + // so performance is better. + void SetFastResize(bool fast_resize); + + // Updates the current reserved rect in view coordinates where contents + // should not be rendered to draw the resize corner, sidebar mini tabs etc. + void SetReservedContentsRect(const gfx::Rect& reserved_rect); + + // Overridden from NotificationObserver: + virtual void Observe(NotificationType type, + const NotificationSource& source, + const NotificationDetails& details); + + virtual AccessibilityTypes::Role GetAccessibleRole(); + + private: + // Add or remove observers for events that we care about. + void AddObservers(); + void RemoveObservers(); + + // Called when the RenderViewHost of the hosted TabContents has changed, e.g. + // to show an interstitial page. + void RenderViewHostChanged(RenderViewHost* old_host, + RenderViewHost* new_host); + + // Called when a TabContents is destroyed. This gives us a chance to clean + // up our internal state if the TabContents is somehow destroyed before we + // get notified. + void TabContentsDestroyed(TabContents* contents); + + // Called when the RenderWidgetHostView of the hosted TabContents has changed. + void RenderWidgetHostViewChanged(RenderWidgetHostView* new_view); + + // The attached TabContents. + TabContents* tab_contents_; + + // Handles registering for our notifications. + NotificationRegistrar registrar_; + + // The current reserved rect in view coordinates where contents should not be + // rendered to draw the resize corner, sidebar mini tabs etc. + // Cached here to update ever changing renderers. + gfx::Rect cached_reserved_rect_; + + DISALLOW_COPY_AND_ASSIGN(TabContentsContainer); +}; + +#endif // CHROME_BROWSER_UI_VIEWS_TAB_CONTENTS_TAB_CONTENTS_CONTAINER_VIEWS_H_ diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 3aa1503..cd17225 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -3435,6 +3435,10 @@ 'browser/ui/views/tab_icon_view.h', 'browser/ui/views/tab_contents/tab_contents_container.cc', 'browser/ui/views/tab_contents/tab_contents_container.h', + 'browser/ui/views/tab_contents/tab_contents_container_native.cc', + 'browser/ui/views/tab_contents/tab_contents_container_native.h', + 'browser/ui/views/tab_contents/tab_contents_container_views.cc', + 'browser/ui/views/tab_contents/tab_contents_container_views.h', 'browser/ui/views/tab_contents/native_tab_contents_container.h', 'browser/ui/views/tab_contents/native_tab_contents_container_gtk.cc', 'browser/ui/views/tab_contents/native_tab_contents_container_gtk.h', @@ -3603,6 +3607,8 @@ ['exclude', '^browser/dom_ui/keyboard_ui.*'], ['exclude', '^browser/renderer_host/render_widget_host_view_views.*'], ['exclude', '^browser/ui/touch/*'], + ['exclude', '^browser/ui/views/tab_contents/tab_contents_container_views.cc'], + ['exclude', '^browser/ui/views/tab_contents/tab_contents_container_views.h'], ['exclude', '^browser/ui/views/tab_contents/tab_contents_view_views.*'], ], }], @@ -3610,10 +3616,10 @@ 'sources/': [ ['include', '^browser/ui/touch/*'], ['exclude', '^browser/chromeos/frame/browser_non_client_frame_view_factory_chromeos.cc'], - ['exclude', '^browser/renderer_host/render_widget_host_view_gtk.cc'], - ['exclude', '^browser/renderer_host/render_widget_host_view_gtk.h'], ['exclude', '^browser/renderer_host/gtk_im_context_wrapper.cc'], ['exclude', '^browser/renderer_host/gtk_im_context_wrapper.h'], + ['exclude', '^browser/renderer_host/render_widget_host_view_gtk.cc'], + ['exclude', '^browser/renderer_host/render_widget_host_view_gtk.h'], ['exclude', '^browser/ui/views/frame/browser_non_client_frame_view_factory_gtk.cc'], ['exclude', '^browser/views/tab_contents/tab_contents_view_gtk.cc'], ['exclude', '^browser/views/tab_contents/tab_contents_view_gtk.h'], @@ -4131,6 +4137,10 @@ ['include', '^browser/ui/views/tab_contents/render_view_context_menu_views.h'], ['include', '^browser/ui/views/tab_contents/tab_contents_container.cc'], ['include', '^browser/ui/views/tab_contents/tab_contents_container.h'], + ['include', '^browser/ui/views/tab_contents/tab_contents_container_native.cc'], + ['include', '^browser/ui/views/tab_contents/tab_contents_container_native.h'], + ['include', '^browser/ui/views/tab_contents/tab_contents_container_views.cc'], + ['include', '^browser/ui/views/tab_contents/tab_contents_container_views.h'], ['include', '^browser/ui/views/tab_contents/tab_contents_view_gtk.cc'], ['include', '^browser/ui/views/tab_contents/tab_contents_view_gtk.h'], ['include', '^browser/ui/views/tab_icon_view.cc'], @@ -4314,6 +4324,8 @@ # TODO(anicolao): exclude these once we have DOMUI dialogs # ['exclude', '^browser/ui/gtk/constrained_window_gtk.cc'], # ['exclude', '^browser/ui/gtk/constrained_window_gtk.h'], + ['exclude', '^browser/ui/views/tab_contents/tab_contents_container_native.cc'], + ['exclude', '^browser/ui/views/tab_contents/tab_contents_container_native.h'], ], }], ['OS=="linux" and chromeos==1',{ |