| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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/browser_commands.h" | 5 #include "chrome/browser/ui/browser_commands.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/metrics/histogram_macros.h" | 8 #include "base/metrics/histogram_macros.h" |
| 9 #include "base/metrics/user_metrics.h" | 9 #include "base/metrics/user_metrics.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 1276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1287 ViewSource(browser, browser->tab_strip_model()->GetActiveWebContents()); | 1287 ViewSource(browser, browser->tab_strip_model()->GetActiveWebContents()); |
| 1288 } | 1288 } |
| 1289 | 1289 |
| 1290 bool CanViewSource(const Browser* browser) { | 1290 bool CanViewSource(const Browser* browser) { |
| 1291 return !browser->is_devtools() && | 1291 return !browser->is_devtools() && |
| 1292 browser->tab_strip_model()->GetActiveWebContents()->GetController(). | 1292 browser->tab_strip_model()->GetActiveWebContents()->GetController(). |
| 1293 CanViewSource(); | 1293 CanViewSource(); |
| 1294 } | 1294 } |
| 1295 | 1295 |
| 1296 #if BUILDFLAG(ENABLE_EXTENSIONS) | 1296 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 1297 void CreateApplicationShortcuts(Browser* browser) { | |
| 1298 base::RecordAction(UserMetricsAction("CreateShortcut")); | |
| 1299 extensions::TabHelper::FromWebContents( | |
| 1300 browser->tab_strip_model()->GetActiveWebContents())-> | |
| 1301 CreateApplicationShortcuts(); | |
| 1302 } | |
| 1303 | |
| 1304 void CreateBookmarkAppFromCurrentWebContents(Browser* browser) { | 1297 void CreateBookmarkAppFromCurrentWebContents(Browser* browser) { |
| 1305 base::RecordAction(UserMetricsAction("CreateHostedApp")); | 1298 base::RecordAction(UserMetricsAction("CreateHostedApp")); |
| 1306 extensions::TabHelper::FromWebContents( | 1299 extensions::TabHelper::FromWebContents( |
| 1307 browser->tab_strip_model()->GetActiveWebContents())-> | 1300 browser->tab_strip_model()->GetActiveWebContents())-> |
| 1308 CreateHostedAppFromWebContents(); | 1301 CreateHostedAppFromWebContents(); |
| 1309 } | 1302 } |
| 1310 | 1303 |
| 1311 bool CanCreateApplicationShortcuts(const Browser* browser) { | |
| 1312 return extensions::TabHelper::FromWebContents( | |
| 1313 browser->tab_strip_model()->GetActiveWebContents())-> | |
| 1314 CanCreateApplicationShortcuts(); | |
| 1315 } | |
| 1316 | |
| 1317 bool CanCreateBookmarkApp(const Browser* browser) { | 1304 bool CanCreateBookmarkApp(const Browser* browser) { |
| 1318 return extensions::TabHelper::FromWebContents( | 1305 return extensions::TabHelper::FromWebContents( |
| 1319 browser->tab_strip_model()->GetActiveWebContents()) | 1306 browser->tab_strip_model()->GetActiveWebContents()) |
| 1320 ->CanCreateBookmarkApp(); | 1307 ->CanCreateBookmarkApp(); |
| 1321 } | 1308 } |
| 1322 | |
| 1323 void ConvertTabToAppWindow(Browser* browser, | |
| 1324 content::WebContents* contents) { | |
| 1325 const GURL& url = contents->GetController().GetLastCommittedEntry()->GetURL(); | |
| 1326 std::string app_name = web_app::GenerateApplicationNameFromURL(url); | |
| 1327 | |
| 1328 int index = browser->tab_strip_model()->GetIndexOfWebContents(contents); | |
| 1329 if (index >= 0) | |
| 1330 browser->tab_strip_model()->DetachWebContentsAt(index); | |
| 1331 | |
| 1332 Browser* app_browser = new Browser(Browser::CreateParams::CreateForApp( | |
| 1333 app_name, true /* trusted_source */, gfx::Rect(), browser->profile(), | |
| 1334 true)); | |
| 1335 app_browser->tab_strip_model()->AppendWebContents(contents, true); | |
| 1336 | |
| 1337 contents->GetMutableRendererPrefs()->can_accept_load_drops = false; | |
| 1338 contents->GetRenderViewHost()->SyncRendererPrefs(); | |
| 1339 app_browser->window()->Show(); | |
| 1340 } | |
| 1341 #endif // BUILDFLAG(ENABLE_EXTENSIONS) | 1309 #endif // BUILDFLAG(ENABLE_EXTENSIONS) |
| 1342 | 1310 |
| 1343 } // namespace chrome | 1311 } // namespace chrome |
| OLD | NEW |