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

Unified Diff: chrome/android/java_staging/src/org/chromium/chrome/browser/hosted/HostedTab.java

Issue 1155423008: hosted: Add two histograms tracking "mayLaunchUrl" usage. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and address comments. Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/android/java_staging/src/org/chromium/chrome/browser/hosted/HostedTab.java
diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/hosted/HostedTab.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/hosted/HostedTab.java
index 50fb9bcc276e650cb6fca7dc4c1842d201f38d0c..d66421488a369d9b5c854efa27cd9896927ae016 100644
--- a/chrome/android/java_staging/src/org/chromium/chrome/browser/hosted/HostedTab.java
+++ b/chrome/android/java_staging/src/org/chromium/chrome/browser/hosted/HostedTab.java
@@ -13,6 +13,7 @@ import com.google.android.apps.chrome.R;
import org.chromium.chrome.browser.CompositorChromeActivity;
import org.chromium.chrome.browser.ContentViewUtil;
+import org.chromium.chrome.browser.EmptyTabObserver;
import org.chromium.chrome.browser.Tab;
import org.chromium.chrome.browser.UrlUtilities;
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuPopulator;
@@ -20,6 +21,7 @@ import org.chromium.chrome.browser.contextmenu.ContextMenuParams;
import org.chromium.chrome.browser.contextmenu.ContextMenuPopulator;
import org.chromium.chrome.browser.tab.ChromeTab;
import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
+import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.base.WindowAndroid;
@@ -27,6 +29,20 @@ import org.chromium.ui.base.WindowAndroid;
* A chrome tab that is only used in hosted mode.
*/
public class HostedTab extends ChromeTab {
+ private class LoadUrlTabObserver extends EmptyTabObserver {
+ private ChromeBrowserConnection mChromeBrowserConnection;
+ private long mSessionId;
+
+ @Override
+ public void onLoadUrl(Tab tab, LoadUrlParams params, int loadType) {
+ mChromeBrowserConnection.registerLaunch(mSessionId, params.getUrl());
+ }
+
+ public LoadUrlTabObserver(ChromeBrowserConnection chromeBrowserConnection, long sessionId) {
+ mChromeBrowserConnection = chromeBrowserConnection;
+ mSessionId = sessionId;
+ }
+ }
private TabChromeContextMenuItemDelegate
mContextMenuDelegate = new TabChromeContextMenuItemDelegate() {
@@ -45,13 +61,15 @@ public class HostedTab extends ChromeTab {
long sessionId, String url, int parentTabId) {
super(Tab.generateValidId(Tab.INVALID_TAB_ID), activity, false, windowAndroid,
TabLaunchType.FROM_EXTERNAL_APP, parentTabId, null, null);
- WebContents webContents = ChromeBrowserConnection.getInstance(activity.getApplication())
- .takePrerenderedUrl(sessionId, url, null);
+ ChromeBrowserConnection browserConnection =
+ ChromeBrowserConnection.getInstance(activity.getApplication());
+ WebContents webContents = browserConnection.takePrerenderedUrl(sessionId, url, null);
if (webContents == null) {
webContents = ContentViewUtil.createWebContents(isIncognito(), false);
}
initialize(webContents, activity.getTabContentManager(), false);
getView().requestFocus();
+ addObserver(new LoadUrlTabObserver(browserConnection, sessionId));
}
@Override

Powered by Google App Engine
This is Rietveld 408576698