| OLD | NEW |
| 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; | 5 package org.chromium.chrome.browser; |
| 6 | 6 |
| 7 import android.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
| 8 import android.annotation.TargetApi; | 8 import android.annotation.TargetApi; |
| 9 import android.app.Activity; | 9 import android.app.Activity; |
| 10 import android.app.SearchManager; | 10 import android.app.SearchManager; |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 import org.chromium.chrome.browser.infobar.InfoBarContainer; | 82 import org.chromium.chrome.browser.infobar.InfoBarContainer; |
| 83 import org.chromium.chrome.browser.init.AsyncInitializationActivity; | 83 import org.chromium.chrome.browser.init.AsyncInitializationActivity; |
| 84 import org.chromium.chrome.browser.metrics.LaunchMetrics; | 84 import org.chromium.chrome.browser.metrics.LaunchMetrics; |
| 85 import org.chromium.chrome.browser.metrics.StartupMetrics; | 85 import org.chromium.chrome.browser.metrics.StartupMetrics; |
| 86 import org.chromium.chrome.browser.metrics.UmaSessionStats; | 86 import org.chromium.chrome.browser.metrics.UmaSessionStats; |
| 87 import org.chromium.chrome.browser.metrics.UmaUtils; | 87 import org.chromium.chrome.browser.metrics.UmaUtils; |
| 88 import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; | 88 import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; |
| 89 import org.chromium.chrome.browser.nfc.BeamController; | 89 import org.chromium.chrome.browser.nfc.BeamController; |
| 90 import org.chromium.chrome.browser.nfc.BeamProvider; | 90 import org.chromium.chrome.browser.nfc.BeamProvider; |
| 91 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; | 91 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; |
| 92 import org.chromium.chrome.browser.offlinepages.OfflinePageItem; | |
| 93 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; | 92 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; |
| 94 import org.chromium.chrome.browser.offlinepages.downloads.OfflinePageDownloadBri
dge; | 93 import org.chromium.chrome.browser.offlinepages.downloads.OfflinePageDownloadBri
dge; |
| 95 import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; | 94 import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; |
| 96 import org.chromium.chrome.browser.pageinfo.WebsiteSettingsPopup; | 95 import org.chromium.chrome.browser.pageinfo.WebsiteSettingsPopup; |
| 97 import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomiza
tions; | 96 import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomiza
tions; |
| 98 import org.chromium.chrome.browser.preferences.ChromePreferenceManager; | 97 import org.chromium.chrome.browser.preferences.ChromePreferenceManager; |
| 99 import org.chromium.chrome.browser.preferences.PrefServiceBridge; | 98 import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
| 100 import org.chromium.chrome.browser.preferences.PreferencesLauncher; | 99 import org.chromium.chrome.browser.preferences.PreferencesLauncher; |
| 101 import org.chromium.chrome.browser.printing.PrintShareActivity; | 100 import org.chromium.chrome.browser.printing.PrintShareActivity; |
| 102 import org.chromium.chrome.browser.printing.TabPrinter; | 101 import org.chromium.chrome.browser.printing.TabPrinter; |
| (...skipping 915 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1018 | 1017 |
| 1019 triggerShare(currentTab, shareDirectly, isIncognito); | 1018 triggerShare(currentTab, shareDirectly, isIncognito); |
| 1020 } | 1019 } |
| 1021 | 1020 |
| 1022 private void triggerShare( | 1021 private void triggerShare( |
| 1023 final Tab currentTab, final boolean shareDirectly, boolean isIncogni
to) { | 1022 final Tab currentTab, final boolean shareDirectly, boolean isIncogni
to) { |
| 1024 final Activity mainActivity = this; | 1023 final Activity mainActivity = this; |
| 1025 ContentBitmapCallback callback = new ContentBitmapCallback() { | 1024 ContentBitmapCallback callback = new ContentBitmapCallback() { |
| 1026 @Override | 1025 @Override |
| 1027 public void onFinishGetBitmap(Bitmap bitmap, int response) { | 1026 public void onFinishGetBitmap(Bitmap bitmap, int response) { |
| 1028 // Check whether this page is an offline page, and use its onlin
e URL if so. | 1027 boolean isOfflinePage = currentTab.isOfflinePage(); |
| 1029 OfflinePageItem offlinePage = currentTab.getOfflinePage(); | |
| 1030 String onlineUrl = currentTab.getOriginalUrl(); | |
| 1031 RecordHistogram.recordBooleanHistogram( | 1028 RecordHistogram.recordBooleanHistogram( |
| 1032 "OfflinePages.SharedPageWasOffline", offlinePage != null
); | 1029 "OfflinePages.SharedPageWasOffline", isOfflinePage); |
| 1033 boolean canShareOfflinePage = OfflinePageBridge.isPageSharingEna
bled(); | 1030 boolean canShareOfflinePage = OfflinePageBridge.isPageSharingEna
bled(); |
| 1034 | 1031 |
| 1035 if (canShareOfflinePage) { | 1032 if (canShareOfflinePage) { |
| 1036 // Share the offline page instead of the URL. | 1033 // Share the offline page instead of the URL. |
| 1037 boolean isOfflinePage = (offlinePage != null); | |
| 1038 OfflinePageUtils.shareOfflinePage(shareDirectly, true, mainA
ctivity, null, | 1034 OfflinePageUtils.shareOfflinePage(shareDirectly, true, mainA
ctivity, null, |
| 1039 onlineUrl, bitmap, null, currentTab, isOfflinePage); | 1035 currentTab.getUrl(), bitmap, null, currentTab, isOff
linePage); |
| 1040 } else { | 1036 } else { |
| 1041 ShareHelper.share(shareDirectly, true, mainActivity, current
Tab.getTitle(), | 1037 ShareHelper.share(shareDirectly, true, mainActivity, current
Tab.getTitle(), |
| 1042 null, onlineUrl, null, bitmap, null); | 1038 null, currentTab.getUrl(), null, bitmap, null); |
| 1043 if (shareDirectly) { | 1039 if (shareDirectly) { |
| 1044 RecordUserAction.record("MobileMenuDirectShare"); | 1040 RecordUserAction.record("MobileMenuDirectShare"); |
| 1045 } else { | 1041 } else { |
| 1046 RecordUserAction.record("MobileMenuShare"); | 1042 RecordUserAction.record("MobileMenuShare"); |
| 1047 } | 1043 } |
| 1048 } | 1044 } |
| 1049 } | 1045 } |
| 1050 }; | 1046 }; |
| 1051 if (isIncognito || currentTab.getWebContents() == null) { | 1047 if (isIncognito || currentTab.getWebContents() == null) { |
| 1052 callback.onFinishGetBitmap(null, ReadbackResponse.SURFACE_UNAVAILABL
E); | 1048 callback.onFinishGetBitmap(null, ReadbackResponse.SURFACE_UNAVAILABL
E); |
| (...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1828 "Android.MultiWindowMode.IsTabletScreenWidthBelow600", | 1824 "Android.MultiWindowMode.IsTabletScreenWidthBelow600", |
| 1829 mScreenWidthDp < DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP); | 1825 mScreenWidthDp < DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP); |
| 1830 | 1826 |
| 1831 if (mScreenWidthDp < DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP) { | 1827 if (mScreenWidthDp < DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP) { |
| 1832 RecordHistogram.recordLinearCountHistogram( | 1828 RecordHistogram.recordLinearCountHistogram( |
| 1833 "Android.MultiWindowMode.TabletScreenWidth", mScreenWidthDp,
1, | 1829 "Android.MultiWindowMode.TabletScreenWidth", mScreenWidthDp,
1, |
| 1834 DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP, 50); | 1830 DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP, 50); |
| 1835 } | 1831 } |
| 1836 } | 1832 } |
| 1837 } | 1833 } |
| OLD | NEW |