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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java

Issue 2842303002: "Open in new chrome tab" and "open in incognito tab" missing for images in context menu CCT. (Closed)
Patch Set: Update Ted's nit. Created 3 years, 8 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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.contextmenu; 5 package org.chromium.chrome.browser.contextmenu;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.net.MailTo; 8 import android.net.MailTo;
9 import android.support.annotation.IntDef; 9 import android.support.annotation.IntDef;
10 import android.support.annotation.StringRes; 10 import android.support.annotation.StringRes;
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 if (params.getLinkText().trim().isEmpty() || params.isImage()) { 389 if (params.getLinkText().trim().isEmpty() || params.isImage()) {
390 disabledOptions.add(ContextMenuItem.COPY_LINK_TEXT); 390 disabledOptions.add(ContextMenuItem.COPY_LINK_TEXT);
391 } 391 }
392 392
393 if (params.isAnchor() && !UrlUtilities.isAcceptedScheme(params.getLinkUr l())) { 393 if (params.isAnchor() && !UrlUtilities.isAcceptedScheme(params.getLinkUr l())) {
394 disabledOptions.add(ContextMenuItem.OPEN_IN_OTHER_WINDOW); 394 disabledOptions.add(ContextMenuItem.OPEN_IN_OTHER_WINDOW);
395 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_TAB); 395 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_TAB);
396 disabledOptions.add(ContextMenuItem.OPEN_IN_INCOGNITO_TAB); 396 disabledOptions.add(ContextMenuItem.OPEN_IN_INCOGNITO_TAB);
397 } 397 }
398 398
399 if (TextUtils.isEmpty(params.getLinkUrl()) 399 if (isEmptyUrl(params.getLinkUrl())) {
400 || params.getLinkUrl().equals(ContentUrlConstants.ABOUT_BLANK_DI SPLAY_URL)) {
401 disabledOptions.add(ContextMenuItem.OPEN_IN_OTHER_WINDOW); 400 disabledOptions.add(ContextMenuItem.OPEN_IN_OTHER_WINDOW);
402 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_TAB); 401 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_TAB);
403 disabledOptions.add(ContextMenuItem.OPEN_IN_INCOGNITO_TAB); 402 disabledOptions.add(ContextMenuItem.OPEN_IN_INCOGNITO_TAB);
404 disabledOptions.add(ContextMenuItem.OPEN_IN_CHROME_INCOGNITO_TAB);
405 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_CHROME_TAB);
406 } 403 }
407 404
408 if (MailTo.isMailTo(params.getLinkUrl())) { 405 if (MailTo.isMailTo(params.getLinkUrl())) {
409 disabledOptions.add(ContextMenuItem.COPY_LINK_TEXT); 406 disabledOptions.add(ContextMenuItem.COPY_LINK_TEXT);
410 disabledOptions.add(ContextMenuItem.COPY_LINK_ADDRESS); 407 disabledOptions.add(ContextMenuItem.COPY_LINK_ADDRESS);
411 if (!mDelegate.supportsSendEmailMessage()) { 408 if (!mDelegate.supportsSendEmailMessage()) {
412 disabledOptions.add(ContextMenuItem.SEND_MESSAGE); 409 disabledOptions.add(ContextMenuItem.SEND_MESSAGE);
413 } 410 }
414 if (TextUtils.isEmpty(MailTo.parse(params.getLinkUrl()).getTo()) 411 if (TextUtils.isEmpty(MailTo.parse(params.getLinkUrl()).getTo())
415 || !mDelegate.supportsAddToContacts()) { 412 || !mDelegate.supportsAddToContacts()) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 disabledOptions.add(ContextMenuItem.OPEN_IN_OTHER_WINDOW); 474 disabledOptions.add(ContextMenuItem.OPEN_IN_OTHER_WINDOW);
478 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_TAB); 475 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_TAB);
479 disabledOptions.add(ContextMenuItem.OPEN_IN_INCOGNITO_TAB); 476 disabledOptions.add(ContextMenuItem.OPEN_IN_INCOGNITO_TAB);
480 disabledOptions.add(ContextMenuItem.SEARCH_BY_IMAGE); 477 disabledOptions.add(ContextMenuItem.SEARCH_BY_IMAGE);
481 disabledOptions.add(ContextMenuItem.OPEN_IN_CHROME); 478 disabledOptions.add(ContextMenuItem.OPEN_IN_CHROME);
482 } 479 }
483 480
484 if (mMode == CUSTOM_TAB_MODE) { 481 if (mMode == CUSTOM_TAB_MODE) {
485 try { 482 try {
486 URI uri = new URI(getUrl(params)); 483 URI uri = new URI(getUrl(params));
487 if (UrlUtilities.isInternalScheme(uri)) { 484 if (UrlUtilities.isInternalScheme(uri) || isEmptyUrl(getUrl(para ms))) {
488 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_CHROME_TAB); 485 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_CHROME_TAB);
489 disabledOptions.add(ContextMenuItem.OPEN_IN_CHROME_INCOGNITO _TAB); 486 disabledOptions.add(ContextMenuItem.OPEN_IN_CHROME_INCOGNITO _TAB);
490 disabledOptions.add(ContextMenuItem.OPEN_IN_BROWSER_ID); 487 disabledOptions.add(ContextMenuItem.OPEN_IN_BROWSER_ID);
491 } else if (ChromePreferenceManager.getInstance().getCachedChrome DefaultBrowser()) { 488 } else if (ChromePreferenceManager.getInstance().getCachedChrome DefaultBrowser()) {
492 disabledOptions.add(ContextMenuItem.OPEN_IN_BROWSER_ID); 489 disabledOptions.add(ContextMenuItem.OPEN_IN_BROWSER_ID);
493 if (!mDelegate.isIncognitoSupported()) { 490 if (!mDelegate.isIncognitoSupported()) {
494 disabledOptions.add(ContextMenuItem.OPEN_IN_CHROME_INCOG NITO_TAB); 491 disabledOptions.add(ContextMenuItem.OPEN_IN_CHROME_INCOG NITO_TAB);
495 } 492 }
496 } else { 493 } else {
497 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_CHROME_TAB); 494 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_CHROME_TAB);
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 ContextMenuUma.record(params, ContextMenuUma.ACTION_OPEN_IN_BROWSER) ; 597 ContextMenuUma.record(params, ContextMenuUma.ACTION_OPEN_IN_BROWSER) ;
601 mDelegate.onOpenInDefaultBrowser(getUrl(params)); 598 mDelegate.onOpenInDefaultBrowser(getUrl(params));
602 } else { 599 } else {
603 assert false; 600 assert false;
604 } 601 }
605 602
606 return true; 603 return true;
607 } 604 }
608 605
609 /** 606 /**
607 * Checks whether a url is empty or blank.
608 * @param url The url need to be checked.
609 * @return True if the url is empty or "about:blank".
610 */
611 private boolean isEmptyUrl(String url) {
612 if (TextUtils.isEmpty(url) || url.equals(ContentUrlConstants.ABOUT_BLANK _DISPLAY_URL)) {
613 return true;
614 }
615 return false;
616 }
617
618 /**
610 * The valid url of a link is stored in the linkUrl of ContextMenuParams whi le the 619 * The valid url of a link is stored in the linkUrl of ContextMenuParams whi le the
611 * valid url of a image or video is stored in the srcUrl of ContextMenuParam s. 620 * valid url of a image or video is stored in the srcUrl of ContextMenuParam s.
612 * @param params The parameters used to decide the type of the content. 621 * @param params The parameters used to decide the type of the content.
613 */ 622 */
614 private String getUrl(ContextMenuParams params) { 623 private String getUrl(ContextMenuParams params) {
615 if (params.isImage() || params.isVideo()) { 624 if (params.isImage() || params.isVideo()) {
616 return params.getSrcUrl(); 625 return params.getSrcUrl();
617 } else { 626 } else {
618 return params.getLinkUrl(); 627 return params.getLinkUrl();
619 } 628 }
620 } 629 }
621 } 630 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698