| 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/ui/extensions/application_launch.h" | 5 #include "chrome/browser/ui/extensions/application_launch.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "apps/launcher.h" | 9 #include "apps/launcher.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 255 params.tabstrip_add_types = add_type; | 255 params.tabstrip_add_types = add_type; |
| 256 params.disposition = disposition; | 256 params.disposition = disposition; |
| 257 | 257 |
| 258 if (disposition == CURRENT_TAB) { | 258 if (disposition == CURRENT_TAB) { |
| 259 WebContents* existing_tab = | 259 WebContents* existing_tab = |
| 260 browser->tab_strip_model()->GetActiveWebContents(); | 260 browser->tab_strip_model()->GetActiveWebContents(); |
| 261 TabStripModel* model = browser->tab_strip_model(); | 261 TabStripModel* model = browser->tab_strip_model(); |
| 262 int tab_index = model->GetIndexOfWebContents(existing_tab); | 262 int tab_index = model->GetIndexOfWebContents(existing_tab); |
| 263 | 263 |
| 264 existing_tab->OpenURL(content::OpenURLParams( | 264 existing_tab->OpenURL(content::OpenURLParams( |
| 265 url, | 265 url, content::Referrer::SanitizeForRequest( |
| 266 content::Referrer(existing_tab->GetURL(), | 266 url, content::Referrer(existing_tab->GetURL(), |
| 267 blink::WebReferrerPolicyDefault), | 267 blink::WebReferrerPolicyDefault)), |
| 268 disposition, ui::PAGE_TRANSITION_LINK, false)); | 268 disposition, ui::PAGE_TRANSITION_LINK, false)); |
| 269 // Reset existing_tab as OpenURL() may have clobbered it. | 269 // Reset existing_tab as OpenURL() may have clobbered it. |
| 270 existing_tab = browser->tab_strip_model()->GetActiveWebContents(); | 270 existing_tab = browser->tab_strip_model()->GetActiveWebContents(); |
| 271 if (params.tabstrip_add_types & TabStripModel::ADD_PINNED) { | 271 if (params.tabstrip_add_types & TabStripModel::ADD_PINNED) { |
| 272 model->SetTabPinned(tab_index, true); | 272 model->SetTabPinned(tab_index, true); |
| 273 // Pinning may have moved the tab. | 273 // Pinning may have moved the tab. |
| 274 tab_index = model->GetIndexOfWebContents(existing_tab); | 274 tab_index = model->GetIndexOfWebContents(existing_tab); |
| 275 } | 275 } |
| 276 if (params.tabstrip_add_types & TabStripModel::ADD_ACTIVE) | 276 if (params.tabstrip_add_types & TabStripModel::ADD_ACTIVE) |
| 277 model->ActivateTabAt(tab_index, true); | 277 model->ActivateTabAt(tab_index, true); |
| 278 | 278 |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 406 extensions::TabHelper::FromWebContents(tab)->UpdateShortcutOnLoadComplete(); | 406 extensions::TabHelper::FromWebContents(tab)->UpdateShortcutOnLoadComplete(); |
| 407 | 407 |
| 408 return tab; | 408 return tab; |
| 409 } | 409 } |
| 410 | 410 |
| 411 bool CanLaunchViaEvent(const extensions::Extension* extension) { | 411 bool CanLaunchViaEvent(const extensions::Extension* extension) { |
| 412 const extensions::Feature* feature = | 412 const extensions::Feature* feature = |
| 413 extensions::FeatureProvider::GetAPIFeature("app.runtime"); | 413 extensions::FeatureProvider::GetAPIFeature("app.runtime"); |
| 414 return feature->IsAvailableToExtension(extension).is_available(); | 414 return feature->IsAvailableToExtension(extension).is_available(); |
| 415 } | 415 } |
| OLD | NEW |