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

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: Created 3 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 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 (TextUtils.isEmpty(params.getLinkUrl())
Ted C 2017/04/27 00:08:07 should we use isEmptyUrl here?
ltian 2017/04/27 00:37:23 Done.
400 || params.getLinkUrl().equals(ContentUrlConstants.ABOUT_BLANK_DI SPLAY_URL)) { 400 || params.getLinkUrl().equals(ContentUrlConstants.ABOUT_BLANK_DI SPLAY_URL)) {
401 disabledOptions.add(ContextMenuItem.OPEN_IN_OTHER_WINDOW); 401 disabledOptions.add(ContextMenuItem.OPEN_IN_OTHER_WINDOW);
402 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_TAB); 402 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_TAB);
403 disabledOptions.add(ContextMenuItem.OPEN_IN_INCOGNITO_TAB); 403 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 } 404 }
407 405
408 if (MailTo.isMailTo(params.getLinkUrl())) { 406 if (MailTo.isMailTo(params.getLinkUrl())) {
409 disabledOptions.add(ContextMenuItem.COPY_LINK_TEXT); 407 disabledOptions.add(ContextMenuItem.COPY_LINK_TEXT);
410 disabledOptions.add(ContextMenuItem.COPY_LINK_ADDRESS); 408 disabledOptions.add(ContextMenuItem.COPY_LINK_ADDRESS);
411 if (!mDelegate.supportsSendEmailMessage()) { 409 if (!mDelegate.supportsSendEmailMessage()) {
412 disabledOptions.add(ContextMenuItem.SEND_MESSAGE); 410 disabledOptions.add(ContextMenuItem.SEND_MESSAGE);
413 } 411 }
414 if (TextUtils.isEmpty(MailTo.parse(params.getLinkUrl()).getTo()) 412 if (TextUtils.isEmpty(MailTo.parse(params.getLinkUrl()).getTo())
415 || !mDelegate.supportsAddToContacts()) { 413 || !mDelegate.supportsAddToContacts()) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 disabledOptions.add(ContextMenuItem.OPEN_IN_OTHER_WINDOW); 475 disabledOptions.add(ContextMenuItem.OPEN_IN_OTHER_WINDOW);
478 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_TAB); 476 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_TAB);
479 disabledOptions.add(ContextMenuItem.OPEN_IN_INCOGNITO_TAB); 477 disabledOptions.add(ContextMenuItem.OPEN_IN_INCOGNITO_TAB);
480 disabledOptions.add(ContextMenuItem.SEARCH_BY_IMAGE); 478 disabledOptions.add(ContextMenuItem.SEARCH_BY_IMAGE);
481 disabledOptions.add(ContextMenuItem.OPEN_IN_CHROME); 479 disabledOptions.add(ContextMenuItem.OPEN_IN_CHROME);
482 } 480 }
483 481
484 if (mMode == CUSTOM_TAB_MODE) { 482 if (mMode == CUSTOM_TAB_MODE) {
485 try { 483 try {
486 URI uri = new URI(getUrl(params)); 484 URI uri = new URI(getUrl(params));
487 if (UrlUtilities.isInternalScheme(uri)) { 485 if (UrlUtilities.isInternalScheme(uri) || isEmptyUrl(getUrl(para ms))) {
488 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_CHROME_TAB); 486 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_CHROME_TAB);
489 disabledOptions.add(ContextMenuItem.OPEN_IN_CHROME_INCOGNITO _TAB); 487 disabledOptions.add(ContextMenuItem.OPEN_IN_CHROME_INCOGNITO _TAB);
490 disabledOptions.add(ContextMenuItem.OPEN_IN_BROWSER_ID); 488 disabledOptions.add(ContextMenuItem.OPEN_IN_BROWSER_ID);
491 } else if (ChromePreferenceManager.getInstance().getCachedChrome DefaultBrowser()) { 489 } else if (ChromePreferenceManager.getInstance().getCachedChrome DefaultBrowser()) {
492 disabledOptions.add(ContextMenuItem.OPEN_IN_BROWSER_ID); 490 disabledOptions.add(ContextMenuItem.OPEN_IN_BROWSER_ID);
493 if (!mDelegate.isIncognitoSupported()) { 491 if (!mDelegate.isIncognitoSupported()) {
494 disabledOptions.add(ContextMenuItem.OPEN_IN_CHROME_INCOG NITO_TAB); 492 disabledOptions.add(ContextMenuItem.OPEN_IN_CHROME_INCOG NITO_TAB);
495 } 493 }
496 } else { 494 } else {
497 disabledOptions.add(ContextMenuItem.OPEN_IN_NEW_CHROME_TAB); 495 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) ; 598 ContextMenuUma.record(params, ContextMenuUma.ACTION_OPEN_IN_BROWSER) ;
601 mDelegate.onOpenInDefaultBrowser(getUrl(params)); 599 mDelegate.onOpenInDefaultBrowser(getUrl(params));
602 } else { 600 } else {
603 assert false; 601 assert false;
604 } 602 }
605 603
606 return true; 604 return true;
607 } 605 }
608 606
609 /** 607 /**
608 * Checks whether a url is empty or blank.
609 * @param url The url need to be checked.
610 * @return True if the url is empty or "about:blank".
611 */
612 private boolean isEmptyUrl(String url) {
613 if (TextUtils.isEmpty(url) || url.equals(ContentUrlConstants.ABOUT_BLANK _DISPLAY_URL)) {
614 return true;
615 }
616 return false;
617 }
618
619 /**
610 * The valid url of a link is stored in the linkUrl of ContextMenuParams whi le the 620 * 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. 621 * 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. 622 * @param params The parameters used to decide the type of the content.
613 */ 623 */
614 private String getUrl(ContextMenuParams params) { 624 private String getUrl(ContextMenuParams params) {
615 if (params.isImage() || params.isVideo()) { 625 if (params.isImage() || params.isVideo()) {
616 return params.getSrcUrl(); 626 return params.getSrcUrl();
617 } else { 627 } else {
618 return params.getLinkUrl(); 628 return params.getLinkUrl();
619 } 629 }
620 } 630 }
621 } 631 }
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