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