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

Side by Side Diff: chrome/browser/ui/android/tab_model/tab_model_list.cc

Issue 23264020: Move Android to use new Popup Blocker API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added NOTIMPLEMENTED Created 7 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "chrome/browser/ui/android/tab_model/tab_model_list.h" 5 #include "chrome/browser/ui/android/tab_model/tab_model_list.h"
6 6
7 #include "chrome/browser/android/tab_android.h"
7 #include "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/profiles/profile.h"
8 #include "chrome/browser/ui/android/tab_model/tab_model.h" 9 #include "chrome/browser/ui/android/tab_model/tab_model.h"
10 #include "chrome/browser/ui/browser_navigator.h"
9 11
10 namespace { 12 namespace {
11 13
12 // Maintains and gives access to a static list of TabModel instances. 14 // Maintains and gives access to a static list of TabModel instances.
13 static TabModelList::TabModelVector& tab_models() { 15 static TabModelList::TabModelVector& tab_models() {
14 CR_DEFINE_STATIC_LOCAL(TabModelList::TabModelVector, 16 CR_DEFINE_STATIC_LOCAL(TabModelList::TabModelVector,
15 tab_model_vector, ()); 17 tab_model_vector, ());
16 return tab_model_vector; 18 return tab_model_vector;
17 } 19 }
18 20
19 } // namespace 21 } // namespace
20 22
21 void TabModelList::AddTabModel(TabModel* tab_model) { 23 void TabModelList::AddTabModel(TabModel* tab_model) {
22 DCHECK(tab_model); 24 DCHECK(tab_model);
23 tab_models().push_back(tab_model); 25 tab_models().push_back(tab_model);
24 } 26 }
25 27
26 void TabModelList::RemoveTabModel(TabModel* tab_model) { 28 void TabModelList::RemoveTabModel(TabModel* tab_model) {
27 DCHECK(tab_model); 29 DCHECK(tab_model);
28 TabModelList::iterator remove_tab_model = 30 TabModelList::iterator remove_tab_model =
29 std::find(tab_models().begin(), tab_models().end(), tab_model); 31 std::find(tab_models().begin(), tab_models().end(), tab_model);
30 32
31 if (remove_tab_model != tab_models().end()) 33 if (remove_tab_model != tab_models().end())
32 tab_models().erase(remove_tab_model); 34 tab_models().erase(remove_tab_model);
33 } 35 }
34 36
37 void TabModelList::HandlePopupNavigation(chrome::NavigateParams* params) {
38 TabAndroid* tab = TabAndroid::FromWebContents(params->source_contents);
39
40 // NOTE: If this fails contact dtrainor@.
41 DCHECK(tab);
42 tab->HandlePopupNavigation(params);
43 }
44
45
35 TabModel* TabModelList::GetTabModelWithProfile( 46 TabModel* TabModelList::GetTabModelWithProfile(
36 Profile* profile) { 47 Profile* profile) {
37 if (!profile) 48 if (!profile)
38 return NULL; 49 return NULL;
39 50
40 for (TabModelList::const_iterator i = TabModelList::begin(); 51 for (TabModelList::const_iterator i = TabModelList::begin();
41 i != TabModelList::end(); ++i) { 52 i != TabModelList::end(); ++i) {
42 if (profile->IsSameProfile((*i)->GetProfile())) 53 if (profile->IsSameProfile((*i)->GetProfile()))
43 return *i; 54 return *i;
44 } 55 }
(...skipping 30 matching lines...) Expand all
75 return tab_models().end(); 86 return tab_models().end();
76 } 87 }
77 88
78 bool TabModelList::empty() { 89 bool TabModelList::empty() {
79 return tab_models().empty(); 90 return tab_models().empty();
80 } 91 }
81 92
82 size_t TabModelList::size() { 93 size_t TabModelList::size() {
83 return tab_models().size(); 94 return tab_models().size();
84 } 95 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/android/tab_model/tab_model_list.h ('k') | chrome/browser/ui/blocked_content/popup_blocker_tab_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698