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 |