fake_base_tab_strip_controller.cc revision cedac228d2dd51db4b79ea1e72c7f249408ee061
1d93256e55673a17d18543397ec462416acb13792Douglas Gregor// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor// Use of this source code is governed by a BSD-style license that can be 35352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor// found in the LICENSE file. 45352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor 55352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor#include "chrome/browser/ui/views/tabs/fake_base_tab_strip_controller.h" 65352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor 75352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor#include "chrome/browser/ui/views/tabs/tab_renderer_data.h" 85352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor#include "chrome/browser/ui/views/tabs/tab_strip.h" 95352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor 105352ac06d8f6194825bb2a99ffa009b61bafb503Douglas GregorFakeBaseTabStripController::FakeBaseTabStripController() 115352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor : tab_strip_(NULL), 125352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor num_tabs_(0), 135352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor active_index_(-1) { 145352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor} 155352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor 165352ac06d8f6194825bb2a99ffa009b61bafb503Douglas GregorFakeBaseTabStripController::~FakeBaseTabStripController() { 175352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor} 185352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor 195352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregorvoid FakeBaseTabStripController::AddTab(int index, bool is_active) { 20d93256e55673a17d18543397ec462416acb13792Douglas Gregor num_tabs_++; 21d93256e55673a17d18543397ec462416acb13792Douglas Gregor tab_strip_->AddTabAt(index, TabRendererData(), is_active); 22d93256e55673a17d18543397ec462416acb13792Douglas Gregor if (is_active) 23d93256e55673a17d18543397ec462416acb13792Douglas Gregor active_index_ = index; 245352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor} 255352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor 26d93256e55673a17d18543397ec462416acb13792Douglas Gregorvoid FakeBaseTabStripController::RemoveTab(int index) { 2735b8440f615a2336f2819a98a78fc89f07d905e1Daniel Dunbar num_tabs_--; 285352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor tab_strip_->RemoveTabAt(index); 295352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor if (active_index_ == index) 305352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor active_index_ = -1; 315352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor} 325352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor 335352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregorconst ui::ListSelectionModel& FakeBaseTabStripController::GetSelectionModel() { 345352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor return selection_model_; 355352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor} 365352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor 374914612675787cda11ad6b31735e130a81a1d7a1Daniel Dunbarint FakeBaseTabStripController::GetCount() const { 385352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor return num_tabs_; 395352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor} 405352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor 415352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregorbool FakeBaseTabStripController::IsValidIndex(int index) const { 424914612675787cda11ad6b31735e130a81a1d7a1Daniel Dunbar return index >= 0 && index < num_tabs_; 435352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor} 445352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor 455352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregorbool FakeBaseTabStripController::IsActiveTab(int index) const { 465352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor if (!IsValidIndex(index)) 475352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor return false; 485352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor return active_index_ == index; 494914612675787cda11ad6b31735e130a81a1d7a1Daniel Dunbar} 504914612675787cda11ad6b31735e130a81a1d7a1Daniel Dunbar 515352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregorint FakeBaseTabStripController::GetActiveIndex() const { 525352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor return active_index_; 535352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor} 54d93256e55673a17d18543397ec462416acb13792Douglas Gregor 55d93256e55673a17d18543397ec462416acb13792Douglas Gregorbool FakeBaseTabStripController::IsTabSelected(int index) const { 56d93256e55673a17d18543397ec462416acb13792Douglas Gregor return false; 57d93256e55673a17d18543397ec462416acb13792Douglas Gregor} 58d93256e55673a17d18543397ec462416acb13792Douglas Gregor 59d93256e55673a17d18543397ec462416acb13792Douglas Gregorbool FakeBaseTabStripController::IsTabPinned(int index) const { 60d93256e55673a17d18543397ec462416acb13792Douglas Gregor return false; 6135b8440f615a2336f2819a98a78fc89f07d905e1Daniel Dunbar} 6235b8440f615a2336f2819a98a78fc89f07d905e1Daniel Dunbar 63d93256e55673a17d18543397ec462416acb13792Douglas Gregorbool FakeBaseTabStripController::IsNewTabPage(int index) const { 645352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor return false; 655352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor} 665352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor 67void FakeBaseTabStripController::SelectTab(int index) { 68} 69 70void FakeBaseTabStripController::ExtendSelectionTo(int index) { 71} 72 73void FakeBaseTabStripController::ToggleSelected(int index) { 74} 75 76void FakeBaseTabStripController::AddSelectionFromAnchorTo(int index) { 77} 78 79void FakeBaseTabStripController::CloseTab(int index, CloseTabSource source) { 80} 81 82void FakeBaseTabStripController::ShowContextMenuForTab( 83 Tab* tab, 84 const gfx::Point& p, 85 ui::MenuSourceType source_type) { 86} 87 88void FakeBaseTabStripController::UpdateLoadingAnimations() { 89} 90 91int FakeBaseTabStripController::HasAvailableDragActions() const { 92 return 0; 93} 94 95void FakeBaseTabStripController::OnDropIndexUpdate(int index, 96 bool drop_before) { 97} 98 99void FakeBaseTabStripController::PerformDrop(bool drop_before, 100 int index, 101 const GURL& url) { 102} 103 104bool FakeBaseTabStripController::IsCompatibleWith(TabStrip* other) const { 105 return false; 106} 107 108void FakeBaseTabStripController::CreateNewTab() { 109} 110 111void FakeBaseTabStripController::CreateNewTabWithLocation( 112 const base::string16& location) { 113} 114 115bool FakeBaseTabStripController::IsIncognito() { 116 return false; 117} 118 119void FakeBaseTabStripController::StackedLayoutMaybeChanged() { 120} 121 122void FakeBaseTabStripController::OnStartedDraggingTabs() { 123} 124 125void FakeBaseTabStripController::OnStoppedDraggingTabs() { 126} 127 128void FakeBaseTabStripController::CheckFileSupported(const GURL& url) { 129 tab_strip_->FileSupported(url, true); 130} 131