| OLD | NEW |
| 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/extensions/extension_tab_util.h" |
| 6 |
| 5 #include "chrome/browser/profiles/profile.h" | 7 #include "chrome/browser/profiles/profile.h" |
| 6 #include "chrome/browser/extensions/extension_tab_util.h" | |
| 7 #include "chrome/browser/ui/browser.h" | 8 #include "chrome/browser/ui/browser.h" |
| 8 #include "chrome/browser/tabs/tab_strip_model.h" | 9 #include "chrome/browser/tabs/tab_strip_model.h" |
| 9 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 10 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
| 10 #include "chrome/browser/ui/browser_window.h" | 11 #include "chrome/browser/ui/browser_window.h" |
| 11 #include "chrome/browser/ui/browser_list.h" | 12 #include "chrome/browser/ui/browser_list.h" |
| 12 #include "chrome/browser/sessions/restore_tab_helper.h" | 13 #include "chrome/browser/sessions/restore_tab_helper.h" |
| 13 #include "chrome/browser/extensions/extension_tabs_module_constants.h" | 14 #include "chrome/browser/extensions/extension_tabs_module_constants.h" |
| 14 #include "content/public/browser/favicon_status.h" | 15 #include "content/public/browser/favicon_status.h" |
| 15 #include "content/public/browser/navigation_entry.h" | 16 #include "content/public/browser/navigation_entry.h" |
| 16 #include "content/public/browser/web_contents.h" | 17 #include "content/public/browser/web_contents.h" |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 } | 141 } |
| 141 | 142 |
| 142 DictionaryValue* ExtensionTabUtil::CreateTabValueActive( | 143 DictionaryValue* ExtensionTabUtil::CreateTabValueActive( |
| 143 const WebContents* contents, | 144 const WebContents* contents, |
| 144 bool active) { | 145 bool active) { |
| 145 DictionaryValue* result = ExtensionTabUtil::CreateTabValue(contents); | 146 DictionaryValue* result = ExtensionTabUtil::CreateTabValue(contents); |
| 146 result->SetBoolean(keys::kSelectedKey, active); | 147 result->SetBoolean(keys::kSelectedKey, active); |
| 147 return result; | 148 return result; |
| 148 } | 149 } |
| 149 | 150 |
| 150 // if |populate| is true, each window gets a list property |tabs| which contains | |
| 151 // fully populated tab objects. | |
| 152 DictionaryValue* ExtensionTabUtil::CreateWindowValue(const Browser* browser, | |
| 153 bool populate_tabs) { | |
| 154 DCHECK(browser); | |
| 155 DCHECK(browser->window()); | |
| 156 DictionaryValue* result = new DictionaryValue(); | |
| 157 result->SetInteger(keys::kIdKey, ExtensionTabUtil::GetWindowId(browser)); | |
| 158 result->SetBoolean(keys::kIncognitoKey, | |
| 159 browser->profile()->IsOffTheRecord()); | |
| 160 result->SetBoolean(keys::kFocusedKey, browser->window()->IsActive()); | |
| 161 gfx::Rect bounds; | |
| 162 if (browser->window()->IsMaximized() || browser->window()->IsFullscreen()) | |
| 163 bounds = browser->window()->GetBounds(); | |
| 164 else | |
| 165 bounds = browser->window()->GetRestoredBounds(); | |
| 166 | |
| 167 result->SetInteger(keys::kLeftKey, bounds.x()); | |
| 168 result->SetInteger(keys::kTopKey, bounds.y()); | |
| 169 result->SetInteger(keys::kWidthKey, bounds.width()); | |
| 170 result->SetInteger(keys::kHeightKey, bounds.height()); | |
| 171 result->SetString(keys::kWindowTypeKey, GetWindowTypeText(browser)); | |
| 172 result->SetString(keys::kShowStateKey, GetWindowShowStateText(browser)); | |
| 173 | |
| 174 if (populate_tabs) { | |
| 175 result->Set(keys::kTabsKey, ExtensionTabUtil::CreateTabList(browser)); | |
| 176 } | |
| 177 | |
| 178 return result; | |
| 179 } | |
| 180 | |
| 181 bool ExtensionTabUtil::GetTabStripModel(const WebContents* web_contents, | 151 bool ExtensionTabUtil::GetTabStripModel(const WebContents* web_contents, |
| 182 TabStripModel** tab_strip_model, | 152 TabStripModel** tab_strip_model, |
| 183 int* tab_index) { | 153 int* tab_index) { |
| 184 DCHECK(web_contents); | 154 DCHECK(web_contents); |
| 185 DCHECK(tab_strip_model); | 155 DCHECK(tab_strip_model); |
| 186 DCHECK(tab_index); | 156 DCHECK(tab_index); |
| 187 | 157 |
| 188 for (BrowserList::const_iterator it = BrowserList::begin(); | 158 for (BrowserList::const_iterator it = BrowserList::begin(); |
| 189 it != BrowserList::end(); ++it) { | 159 it != BrowserList::end(); ++it) { |
| 190 TabStripModel* tab_strip = (*it)->tabstrip_model(); | 160 TabStripModel* tab_strip = (*it)->tabstrip_model(); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 *contents = target_contents; | 214 *contents = target_contents; |
| 245 if (tab_index) | 215 if (tab_index) |
| 246 *tab_index = i; | 216 *tab_index = i; |
| 247 return true; | 217 return true; |
| 248 } | 218 } |
| 249 } | 219 } |
| 250 } | 220 } |
| 251 } | 221 } |
| 252 return false; | 222 return false; |
| 253 } | 223 } |
| OLD | NEW |