Chromium Code Reviews| OLD | NEW |
|---|---|
| 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; | 5 package org.chromium.chrome.browser; |
| 6 | 6 |
| 7 import android.animation.Animator; | 7 import android.animation.Animator; |
| 8 import android.animation.AnimatorListenerAdapter; | 8 import android.animation.AnimatorListenerAdapter; |
| 9 import android.animation.AnimatorSet; | 9 import android.animation.AnimatorSet; |
| 10 import android.animation.ObjectAnimator; | 10 import android.animation.ObjectAnimator; |
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 376 mDeprecatedSHA1Present = ToolbarModel.isDeprecatedSHA1Present(mWebConten ts); | 376 mDeprecatedSHA1Present = ToolbarModel.isDeprecatedSHA1Present(mWebConten ts); |
| 377 | 377 |
| 378 SpannableStringBuilder urlBuilder = new SpannableStringBuilder(mFullUrl) ; | 378 SpannableStringBuilder urlBuilder = new SpannableStringBuilder(mFullUrl) ; |
| 379 OmniboxUrlEmphasizer.emphasizeUrl(urlBuilder, mContext.getResources(), m Profile, | 379 OmniboxUrlEmphasizer.emphasizeUrl(urlBuilder, mContext.getResources(), m Profile, |
| 380 mSecurityLevel, mIsInternalPage, true); | 380 mSecurityLevel, mIsInternalPage, true); |
| 381 mUrlTitle.setText(urlBuilder); | 381 mUrlTitle.setText(urlBuilder); |
| 382 | 382 |
| 383 // Set the URL connection message now, and the URL after layout (so it | 383 // Set the URL connection message now, and the URL after layout (so it |
| 384 // can calculate its ideal height). | 384 // can calculate its ideal height). |
| 385 mUrlConnectionMessage.setText(getUrlConnectionMessage()); | 385 mUrlConnectionMessage.setText(getUrlConnectionMessage()); |
| 386 if (isConnectionDetailsLinkVisible()) mUrlConnectionMessage.setOnClickLi stener(this); | |
| 386 } | 387 } |
| 387 | 388 |
| 388 /** | 389 /** |
| 389 * Sets the visibility of the lower area of the dialog (containing the permi ssions and 'Site | 390 * Sets the visibility of the lower area of the dialog (containing the permi ssions and 'Site |
| 390 * Settings' button). | 391 * Settings' button). |
| 391 * | 392 * |
| 392 * @param isVisible Whether to show or hide the dialog area. | 393 * @param isVisible Whether to show or hide the dialog area. |
| 393 */ | 394 */ |
| 394 private void setVisibilityOfLowerDialogArea(boolean isVisible) { | 395 private void setVisibilityOfLowerDialogArea(boolean isVisible) { |
| 395 mHorizontalSeparator.setVisibility(isVisible ? View.VISIBLE : View.GONE) ; | 396 mHorizontalSeparator.setVisibility(isVisible ? View.VISIBLE : View.GONE) ; |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 447 case ToolbarModelSecurityLevel.SECURITY_WARNING: | 448 case ToolbarModelSecurityLevel.SECURITY_WARNING: |
| 448 case ToolbarModelSecurityLevel.SECURITY_POLICY_WARNING: | 449 case ToolbarModelSecurityLevel.SECURITY_POLICY_WARNING: |
| 449 return R.string.page_info_connection_mixed; | 450 return R.string.page_info_connection_mixed; |
| 450 default: | 451 default: |
| 451 assert false : "Invalid security level specified: " + toolbarMod elSecurityLevel; | 452 assert false : "Invalid security level specified: " + toolbarMod elSecurityLevel; |
| 452 return R.string.page_info_connection_http; | 453 return R.string.page_info_connection_http; |
| 453 } | 454 } |
| 454 } | 455 } |
| 455 | 456 |
| 456 /** | 457 /** |
| 458 * Whether to show a 'Details' link to the connection info popup. The link i s only shown for | |
| 459 * HTTPS connections. | |
| 460 */ | |
| 461 private boolean isConnectionDetailsLinkVisible() { | |
| 462 return !mIsInternalPage && mSecurityLevel != ToolbarModelSecurityLevel.N ONE; | |
| 463 } | |
| 464 | |
| 465 /** | |
| 457 * Gets the styled connection message to display below the URL. | 466 * Gets the styled connection message to display below the URL. |
| 458 */ | 467 */ |
| 459 private Spannable getUrlConnectionMessage() { | 468 private Spannable getUrlConnectionMessage() { |
| 460 // Display the appropriate connection message. | 469 // Display the appropriate connection message. |
| 461 SpannableStringBuilder messageBuilder = new SpannableStringBuilder(); | 470 SpannableStringBuilder messageBuilder = new SpannableStringBuilder(); |
| 462 if (mDeprecatedSHA1Present) { | 471 if (mDeprecatedSHA1Present) { |
| 463 messageBuilder.append( | 472 messageBuilder.append( |
| 464 mContext.getResources().getString(R.string.page_info_connect ion_sha1)); | 473 mContext.getResources().getString(R.string.page_info_connect ion_sha1)); |
| 465 } else if (mSecurityLevel != ToolbarModelSecurityLevel.SECURITY_ERROR) { | 474 } else if (mSecurityLevel != ToolbarModelSecurityLevel.SECURITY_ERROR) { |
| 466 messageBuilder.append(mContext.getResources().getString( | 475 messageBuilder.append(mContext.getResources().getString( |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 481 R.string.page_info_connection_broken_following_text, originT oDisplay); | 490 R.string.page_info_connection_broken_following_text, originT oDisplay); |
| 482 messageBuilder.append(leadingText + " " + followingText); | 491 messageBuilder.append(leadingText + " " + followingText); |
| 483 final ForegroundColorSpan redSpan = new ForegroundColorSpan(mContext .getResources() | 492 final ForegroundColorSpan redSpan = new ForegroundColorSpan(mContext .getResources() |
| 484 .getColor(R.color.website_settings_connection_broken_leading _text)); | 493 .getColor(R.color.website_settings_connection_broken_leading _text)); |
| 485 final StyleSpan boldSpan = new StyleSpan(android.graphics.Typeface.B OLD); | 494 final StyleSpan boldSpan = new StyleSpan(android.graphics.Typeface.B OLD); |
| 486 messageBuilder.setSpan(redSpan, 0, leadingText.length(), | 495 messageBuilder.setSpan(redSpan, 0, leadingText.length(), |
| 487 Spannable.SPAN_INCLUSIVE_EXCLUSIVE); | 496 Spannable.SPAN_INCLUSIVE_EXCLUSIVE); |
| 488 messageBuilder.setSpan(boldSpan, 0, leadingText.length(), | 497 messageBuilder.setSpan(boldSpan, 0, leadingText.length(), |
| 489 Spannable.SPAN_INCLUSIVE_EXCLUSIVE); | 498 Spannable.SPAN_INCLUSIVE_EXCLUSIVE); |
| 490 } | 499 } |
| 500 | |
| 501 if (isConnectionDetailsLinkVisible()) { | |
| 502 String detailsText = mContext.getResources().getString(R.string.page _info_details_link); | |
| 503 messageBuilder.append(" "); | |
|
Ted C
2015/04/27 19:04:01
I "assume" this is fine since we do similar things
| |
| 504 int start = messageBuilder.length(); | |
| 505 messageBuilder.append(detailsText); | |
| 506 final ForegroundColorSpan blueSpan = new ForegroundColorSpan( | |
| 507 mContext.getResources().getColor(R.color.website_settings_po pup_text_link)); | |
|
Ted C
2015/04/27 19:04:01
can the span not be applied prior to appending the
tsergeant
2015/04/28 03:15:00
Done.
| |
| 508 messageBuilder.setSpan( | |
| 509 blueSpan, start, messageBuilder.length(), Spannable.SPAN_INC LUSIVE_EXCLUSIVE); | |
| 510 } | |
| 511 | |
| 491 return messageBuilder; | 512 return messageBuilder; |
| 492 } | 513 } |
| 493 | 514 |
| 494 /** | 515 /** |
| 495 * Adds a new row for the given permission. | 516 * Adds a new row for the given permission. |
| 496 * | 517 * |
| 497 * @param name The title of the permission to display to the user. | 518 * @param name The title of the permission to display to the user. |
| 498 * @param type The ContentSettingsType of the permission. | 519 * @param type The ContentSettingsType of the permission. |
| 499 * @param currentSetting The ContentSetting of the currently selected settin g. | 520 * @param currentSetting The ContentSetting of the currently selected settin g. |
| 500 */ | 521 */ |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 602 if (view == mCopyUrlButton) { | 623 if (view == mCopyUrlButton) { |
| 603 new Clipboard(mContext).setText(mFullUrl, mFullUrl); | 624 new Clipboard(mContext).setText(mFullUrl, mFullUrl); |
| 604 mDialog.dismiss(); | 625 mDialog.dismiss(); |
| 605 } else if (view == mSiteSettingsButton) { | 626 } else if (view == mSiteSettingsButton) { |
| 606 // TODO(sashab,finnur): Make this open the Website Settings dialog. | 627 // TODO(sashab,finnur): Make this open the Website Settings dialog. |
| 607 assert false : "No Website Settings here!"; | 628 assert false : "No Website Settings here!"; |
| 608 mDialog.dismiss(); | 629 mDialog.dismiss(); |
| 609 } else if (view == mUrlTitle) { | 630 } else if (view == mUrlTitle) { |
| 610 // Expand/collapse the displayed URL title. | 631 // Expand/collapse the displayed URL title. |
| 611 mUrlTitle.toggleTruncation(); | 632 mUrlTitle.toggleTruncation(); |
| 633 } else if (view == mUrlConnectionMessage) { | |
| 634 if (DeviceFormFactor.isTablet(mContext)) { | |
| 635 ConnectionInfoPopup.show(mContext, mWebContents); | |
| 636 } else { | |
| 637 // Delay while the WebsiteSettingsPopup closes. | |
| 638 mContainer.postDelayed(new Runnable() { | |
| 639 @Override | |
| 640 public void run() { | |
| 641 ConnectionInfoPopup.show(mContext, mWebContents); | |
| 642 } | |
| 643 }, FADE_DURATION + CLOSE_CLEANUP_DELAY); | |
| 644 } | |
| 645 mDialog.dismiss(); | |
| 612 } | 646 } |
| 613 } | 647 } |
| 614 | 648 |
| 615 /** | 649 /** |
| 616 * Create a list of all the views which we want to individually fade in. | 650 * Create a list of all the views which we want to individually fade in. |
| 617 */ | 651 */ |
| 618 private List<View> collectAnimatableViews() { | 652 private List<View> collectAnimatableViews() { |
| 619 List<View> animatableViews = new ArrayList<View>(); | 653 List<View> animatableViews = new ArrayList<View>(); |
| 620 animatableViews.add(mUrlTitle); | 654 animatableViews.add(mUrlTitle); |
| 621 animatableViews.add(mUrlConnectionMessage); | 655 animatableViews.add(mUrlConnectionMessage); |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 717 new WebsiteSettingsPopup(context, profile, webContents); | 751 new WebsiteSettingsPopup(context, profile, webContents); |
| 718 } | 752 } |
| 719 | 753 |
| 720 private static native long nativeInit(WebsiteSettingsPopup popup, WebContent s webContents); | 754 private static native long nativeInit(WebsiteSettingsPopup popup, WebContent s webContents); |
| 721 | 755 |
| 722 private native void nativeDestroy(long nativeWebsiteSettingsPopupAndroid); | 756 private native void nativeDestroy(long nativeWebsiteSettingsPopupAndroid); |
| 723 | 757 |
| 724 private native void nativeOnPermissionSettingChanged(long nativeWebsiteSetti ngsPopupAndroid, | 758 private native void nativeOnPermissionSettingChanged(long nativeWebsiteSetti ngsPopupAndroid, |
| 725 int type, int setting); | 759 int type, int setting); |
| 726 } | 760 } |
| OLD | NEW |