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

Side by Side Diff: chrome/browser/extensions/api/tabs/tabs_event_router.cc

Issue 1239643004: extensions: tabs: set tab id to -1 for app/devtools windows (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: "may not be -1" -> "may be -1" Created 5 years, 5 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/extensions/api/tabs/tabs_event_router.h" 5 #include "chrome/browser/extensions/api/tabs/tabs_event_router.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/json/json_writer.h" 8 #include "base/json/json_writer.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/chrome_notification_types.h" 10 #include "chrome/browser/chrome_notification_types.h"
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 122
123 BrowserList::AddObserver(this); 123 BrowserList::AddObserver(this);
124 124
125 // Init() can happen after the browser is running, so catch up with any 125 // Init() can happen after the browser is running, so catch up with any
126 // windows that already exist. 126 // windows that already exist.
127 for (chrome::BrowserIterator it; !it.done(); it.Next()) { 127 for (chrome::BrowserIterator it; !it.done(); it.Next()) {
128 RegisterForBrowserNotifications(*it); 128 RegisterForBrowserNotifications(*it);
129 129
130 // Also catch up our internal bookkeeping of tab entries. 130 // Also catch up our internal bookkeeping of tab entries.
131 Browser* browser = *it; 131 Browser* browser = *it;
132 if (browser->tab_strip_model()) { 132 if (!browser->is_devtools() && browser->tab_strip_model()) {
not at google - send to devlin 2015/07/16 17:09:23 For whatever reason, this condition would make mor
llandwerlin-old 2015/07/17 11:32:04 Done.
133 for (int i = 0; i < browser->tab_strip_model()->count(); ++i) { 133 for (int i = 0; i < browser->tab_strip_model()->count(); ++i) {
134 WebContents* contents = browser->tab_strip_model()->GetWebContentsAt(i); 134 WebContents* contents = browser->tab_strip_model()->GetWebContentsAt(i);
135 int tab_id = ExtensionTabUtil::GetTabId(contents); 135 int tab_id = ExtensionTabUtil::GetTabId(contents);
136 tab_entries_[tab_id] = make_linked_ptr(new TabEntry(contents)); 136 tab_entries_[tab_id] = make_linked_ptr(new TabEntry(contents));
137 } 137 }
138 } 138 }
139 } 139 }
140 } 140 }
141 141
142 TabsEventRouter::~TabsEventRouter() { 142 TabsEventRouter::~TabsEventRouter() {
143 BrowserList::RemoveObserver(this); 143 BrowserList::RemoveObserver(this);
144 } 144 }
145 145
146 void TabsEventRouter::OnBrowserAdded(Browser* browser) { 146 void TabsEventRouter::OnBrowserAdded(Browser* browser) {
147 RegisterForBrowserNotifications(browser); 147 RegisterForBrowserNotifications(browser);
148 } 148 }
149 149
150 void TabsEventRouter::RegisterForBrowserNotifications(Browser* browser) { 150 void TabsEventRouter::RegisterForBrowserNotifications(Browser* browser) {
151 if (!profile_->IsSameProfile(browser->profile())) 151 if (!profile_->IsSameProfile(browser->profile()) || browser->is_devtools())
152 return; 152 return;
153 // Start listening to TabStripModel events for this browser. 153 // Start listening to TabStripModel events for this browser.
154 TabStripModel* tab_strip = browser->tab_strip_model(); 154 TabStripModel* tab_strip = browser->tab_strip_model();
155 tab_strip->AddObserver(this); 155 tab_strip->AddObserver(this);
156 156
157 for (int i = 0; i < tab_strip->count(); ++i) { 157 for (int i = 0; i < tab_strip->count(); ++i) {
158 RegisterForTabNotifications(tab_strip->GetWebContentsAt(i)); 158 RegisterForTabNotifications(tab_strip->GetWebContentsAt(i));
159 } 159 }
160 } 160 }
161 161
(...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 void TabsEventRouter::OnFaviconUpdated(favicon::FaviconDriver* favicon_driver, 629 void TabsEventRouter::OnFaviconUpdated(favicon::FaviconDriver* favicon_driver,
630 bool icon_url_changed) { 630 bool icon_url_changed) {
631 if (icon_url_changed) { 631 if (icon_url_changed) {
632 favicon::ContentFaviconDriver* content_favicon_driver = 632 favicon::ContentFaviconDriver* content_favicon_driver =
633 static_cast<favicon::ContentFaviconDriver*>(favicon_driver); 633 static_cast<favicon::ContentFaviconDriver*>(favicon_driver);
634 FaviconUrlUpdated(content_favicon_driver->web_contents()); 634 FaviconUrlUpdated(content_favicon_driver->web_contents());
635 } 635 }
636 } 636 }
637 637
638 } // namespace extensions 638 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698