summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/tabs/browser_tab_strip.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/views/tabs/browser_tab_strip.cc')
-rw-r--r--chrome/browser/views/tabs/browser_tab_strip.cc248
1 files changed, 0 insertions, 248 deletions
diff --git a/chrome/browser/views/tabs/browser_tab_strip.cc b/chrome/browser/views/tabs/browser_tab_strip.cc
deleted file mode 100644
index 0735ff0..0000000
--- a/chrome/browser/views/tabs/browser_tab_strip.cc
+++ /dev/null
@@ -1,248 +0,0 @@
-// Copyright (c) 2009 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/views/tabs/browser_tab_strip.h"
-
-#include "base/compiler_specific.h"
-#include "chrome/browser/profile.h"
-#include "chrome/browser/tab_contents/tab_contents.h"
-#include "chrome/browser/views/tabs/tab_strip.h" // for CreateTabStrip only.
-
-namespace {
-
-////////////////////////////////////////////////////////////////////////////////
-// RemovingTabModel
-// After a tab is removed from the TabStrip2's model, the model can no longer
-// provide information about the tab needed to update the display, however the
-// TabStrip2 continues to display the tab until it animates out of existence.
-// During this period, this model serves as a dummy. It is created and assigned
-// to the tab when the tab is removed from the model and owned by the Tab2.
-
-class RemovingTabModel : public Tab2Model {
- public:
- explicit RemovingTabModel(TabContents* source)
- : title_(source->GetTitle()),
- icon_(source->GetFavIcon()),
- should_show_icon_(source->ShouldDisplayFavIcon()),
- is_loading_(source->is_loading()),
- is_crashed_(source->is_crashed()),
- is_incognito_(source->profile()->IsOffTheRecord()) {
- }
-
- // Overridden from Tab2Model:
- virtual string16 GetTitle(Tab2* tab) const { return title_; }
- virtual SkBitmap GetIcon(Tab2* tab) const { return icon_; }
- virtual bool IsSelected(Tab2* tab) const { return false; }
- virtual bool ShouldShowIcon(Tab2* tab) const { return should_show_icon_; }
- virtual bool IsLoading(Tab2* tab) const { return is_loading_; }
- virtual bool IsCrashed(Tab2* tab) const { return is_crashed_; }
- virtual bool IsIncognito(Tab2* tab) const { return is_incognito_; }
- virtual void SelectTab(Tab2* tab) { NOTREACHED(); }
- virtual void CloseTab(Tab2* tab) { NOTREACHED(); }
- virtual void CaptureDragInfo(Tab2* tab,
- const views::MouseEvent& drag_event) {
- NOTREACHED();
- }
- virtual bool DragTab(Tab2* tab, const views::MouseEvent& drag_event) {
- NOTREACHED();
- return false;
- }
- virtual void DragEnded(Tab2* tab) {
- NOTREACHED();
- }
- virtual views::AnimatorDelegate* AsAnimatorDelegate() {
- NOTREACHED();
- return NULL;
- }
-
- private:
- // Captured display state.
- string16 title_;
- SkBitmap icon_;
- bool should_show_icon_;
- bool is_loading_;
- bool is_crashed_;
- bool is_incognito_;
-
- DISALLOW_COPY_AND_ASSIGN(RemovingTabModel);
-};
-
-} // namespace
-
-////////////////////////////////////////////////////////////////////////////////
-// BrowserTabStrip, public:
-
-BrowserTabStrip::BrowserTabStrip(TabStripModel* model)
- : model_(model),
- ALLOW_THIS_IN_INITIALIZER_LIST(view_(new TabStrip2(this))) {
- model_->AddObserver(this);
-}
-
-BrowserTabStrip::~BrowserTabStrip() {
- // TODO(beng): This object is never actually freed since it's no longer a
- // view. The solution is probably to refer to it in a scoped_ptr
- // in BrowserView after the transition.
- model_->RemoveObserver(this);
-}
-
-TabContents* BrowserTabStrip::DetachTab(int index) {
- TabContents* contents = model_->GetTabContentsAt(index);
- model_->DetachTabContentsAt(index);
- return contents;
-}
-
-void BrowserTabStrip::AttachTab(TabContents* contents,
- const gfx::Point& screen_point,
- const gfx::Rect& tab_screen_bounds) {
- gfx::Point tabstrip_point(screen_point);
-
- gfx::Point screen_origin;
- views::View::ConvertPointToScreen(view_, &screen_origin);
- tabstrip_point.Offset(-screen_origin.x(), -screen_origin.y());
-
- int index = view_->GetInsertionIndexForPoint(tabstrip_point);
- model_->InsertTabContentsAt(index, contents, true, false);
-
- gfx::Point origin(tab_screen_bounds.origin());
- views::View::ConvertPointToView(NULL, view_, &origin);
- view_->ResumeDraggingTab(index, gfx::Rect(origin, tab_screen_bounds.size()));
- // TODO(beng): post task to continue dragging now.
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// BrowserTabStrip, TabStripModelObserver overrides:
-
-void BrowserTabStrip::TabInsertedAt(TabContents* contents,
- int index,
- bool foreground) {
- view_->AddTabAt(index);
-}
-
-void BrowserTabStrip::TabDetachedAt(TabContents* contents, int index) {
- view_->RemoveTabAt(index, new RemovingTabModel(contents));
-}
-
-void BrowserTabStrip::TabSelectedAt(TabContents* old_contents,
- TabContents* contents,
- int index,
- bool user_gesture) {
- view_->SelectTabAt(index);
-}
-
-void BrowserTabStrip::TabMoved(TabContents* contents,
- int from_index,
- int to_index,
- bool pinned_state_changed) {
- view_->MoveTabAt(from_index, to_index);
-}
-
-void BrowserTabStrip::TabChangedAt(TabContents* contents, int index) {
- // TODO
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// BrowserTabStrip, TabStrip2Model overrides:
-
-string16 BrowserTabStrip::GetTitle(int index) const {
- return model_->GetTabContentsAt(index)->GetTitle();
-}
-
-SkBitmap BrowserTabStrip::GetIcon(int index) const {
- return model_->GetTabContentsAt(index)->GetFavIcon();
-}
-
-bool BrowserTabStrip::IsSelected(int index) const {
- return model_->selected_index() == index;
-}
-
-bool BrowserTabStrip::ShouldShowIcon(int index) const {
- return model_->GetTabContentsAt(index)->ShouldDisplayFavIcon();
-}
-
-bool BrowserTabStrip::IsLoading(int index) const {
- return model_->GetTabContentsAt(index)->is_loading();
-}
-
-bool BrowserTabStrip::IsCrashed(int index) const {
- return model_->GetTabContentsAt(index)->is_crashed();
-}
-
-bool BrowserTabStrip::IsIncognito(int index) const {
- return model_->GetTabContentsAt(index)->profile()->IsOffTheRecord();
-}
-
-void BrowserTabStrip::SelectTabAt(int index) {
- model_->SelectTabContentsAt(index, true);
-}
-
-bool BrowserTabStrip::CanDragTabs() const {
- return model_->delegate()->GetDragActions() != 0;
-}
-
-void BrowserTabStrip::MoveTabAt(int index, int to_index) {
- model_->MoveTabContentsAt(index, to_index, true);
-}
-
-void BrowserTabStrip::DetachTabAt(int index, const gfx::Rect& window_bounds,
- const gfx::Rect& tab_bounds) {
- TabContents* contents = DetachTab(index);
- model_->delegate()->ContinueDraggingDetachedTab(contents, window_bounds,
- tab_bounds);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// BrowserTabStrip, TabStripWrapper implementation:
-
-int BrowserTabStrip::GetPreferredHeight() {
- return view_->GetPreferredSize().height();
-}
-
-bool BrowserTabStrip::IsAnimating() const {
- return false;
-}
-
-void BrowserTabStrip::SetBackgroundOffset(gfx::Point offset) {
-}
-
-bool BrowserTabStrip::IsPositionInWindowCaption(const gfx::Point& point) {
- return false;
-}
-
-bool BrowserTabStrip::IsDragSessionActive() const {
- return false;
-}
-
-bool BrowserTabStrip::IsCompatibleWith(TabStripWrapper* other) const {
- return false;
-}
-
-void BrowserTabStrip::SetDraggedTabBounds(int tab_index,
- const gfx::Rect& tab_bounds) {
- view_->SetDraggedTabBounds(tab_index, tab_bounds);
-}
-
-void BrowserTabStrip::UpdateLoadingAnimations() {
-}
-
-views::View* BrowserTabStrip::GetView() {
- return view_;
-}
-
-BrowserTabStrip* BrowserTabStrip::AsBrowserTabStrip() {
- return this;
-}
-
-TabStrip* BrowserTabStrip::AsTabStrip() {
- return NULL;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// TabStripWrapper, public:
-
-// static
-TabStripWrapper* TabStripWrapper::CreateTabStrip(TabStripModel* model) {
- if (TabStrip2::Enabled())
- return new BrowserTabStrip(model);
- return new TabStrip(model);
-}