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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java

Issue 2663373003: [Android] Add options in the context menu of CCT to open in a new Chrome tab or incoginto tab (Closed)
Patch Set: Rebase to master branch. Created 3 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 package org.chromium.chrome.browser.tab; 5 package org.chromium.chrome.browser.tab;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.content.Intent; 8 import android.content.Intent;
9 import android.net.MailTo; 9 import android.net.MailTo;
10 import android.net.Uri; 10 import android.net.Uri;
11 import android.provider.Browser;
11 import android.provider.ContactsContract; 12 import android.provider.ContactsContract;
12 13
13 import org.chromium.base.metrics.RecordUserAction; 14 import org.chromium.base.metrics.RecordUserAction;
15 import org.chromium.chrome.browser.DefaultBrowserInfo;
14 import org.chromium.chrome.browser.IntentHandler; 16 import org.chromium.chrome.browser.IntentHandler;
15 import org.chromium.chrome.browser.UrlConstants; 17 import org.chromium.chrome.browser.UrlConstants;
16 import org.chromium.chrome.browser.contextmenu.ContextMenuItemDelegate; 18 import org.chromium.chrome.browser.contextmenu.ContextMenuItemDelegate;
19 import org.chromium.chrome.browser.document.ChromeLauncherActivity;
17 import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; 20 import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
18 import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; 21 import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
19 import org.chromium.chrome.browser.preferences.PrefServiceBridge; 22 import org.chromium.chrome.browser.preferences.PrefServiceBridge;
20 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; 23 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
21 import org.chromium.chrome.browser.tabmodel.document.TabDelegate; 24 import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
22 import org.chromium.chrome.browser.util.IntentUtils; 25 import org.chromium.chrome.browser.util.IntentUtils;
23 import org.chromium.chrome.browser.util.UrlUtilities; 26 import org.chromium.chrome.browser.util.UrlUtilities;
24 import org.chromium.content_public.browser.LoadUrlParams; 27 import org.chromium.content_public.browser.LoadUrlParams;
25 import org.chromium.content_public.common.Referrer; 28 import org.chromium.content_public.common.Referrer;
26 import org.chromium.ui.base.Clipboard; 29 import org.chromium.ui.base.Clipboard;
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 } 228 }
226 229
227 if (!activityStarted) { 230 if (!activityStarted) {
228 Context context = mTab.getActivity(); 231 Context context = mTab.getActivity();
229 if (context == null) context = mTab.getApplicationContext(); 232 if (context == null) context = mTab.getApplicationContext();
230 context.startActivity(chromeIntent); 233 context.startActivity(chromeIntent);
231 activityStarted = true; 234 activityStarted = true;
232 } 235 }
233 } 236 }
234 237
238 @Override
239 public void onOpenInNewChromeTabFromCCT(String linkUrl, boolean isIncognito) {
240 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(linkUrl));
241 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
242 intent.setPackage(mTab.getApplicationContext().getPackageName());
243 intent.putExtra(ChromeLauncherActivity.EXTRA_IS_ALLOWED_TO_RETURN_TO_PAR ENT, false);
244 if (isIncognito) {
245 intent.putExtra(IntentHandler.EXTRA_OPEN_NEW_INCOGNITO_TAB, true);
246 intent.putExtra(
247 Browser.EXTRA_APPLICATION_ID, mTab.getApplicationContext().g etPackageName());
248 IntentHandler.addTrustedIntentExtras(intent);
249 }
250 IntentUtils.safeStartActivity(mTab.getActivity(), intent);
251 }
252
253 @Override
254 public String getTitleForOpenTabInExternalApp() {
255 return DefaultBrowserInfo.getTitleOpenInDefaultBrowser(false);
256 }
257
258 @Override
259 public void onOpenInDefaultBrowser(String url) {
260 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
261 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
262 IntentUtils.safeStartActivity(mTab.getActivity(), intent);
263 }
264
235 /** 265 /**
236 * Checks if spdy proxy is enabled for input url. 266 * Checks if spdy proxy is enabled for input url.
237 * @param url Input url to check for spdy setting. 267 * @param url Input url to check for spdy setting.
238 * @return true if url is enabled for spdy proxy. 268 * @return true if url is enabled for spdy proxy.
239 */ 269 */
240 private boolean isSpdyProxyEnabledForUrl(String url) { 270 private boolean isSpdyProxyEnabledForUrl(String url) {
241 if (DataReductionProxySettings.getInstance().isDataReductionProxyEnabled () 271 if (DataReductionProxySettings.getInstance().isDataReductionProxyEnabled ()
242 && url != null && !url.toLowerCase(Locale.US).startsWith( 272 && url != null && !url.toLowerCase(Locale.US).startsWith(
243 UrlConstants.HTTPS_URL_PREFIX) 273 UrlConstants.HTTPS_URL_PREFIX)
244 && !isIncognito()) { 274 && !isIncognito()) {
245 return true; 275 return true;
246 } 276 }
247 return false; 277 return false;
248 } 278 }
249 279
250 } 280 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698