| 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.tab; | 5 package org.chromium.chrome.browser.tab; |
| 6 | 6 |
| 7 import android.annotation.TargetApi; | 7 import android.annotation.TargetApi; |
| 8 import android.app.Activity; | 8 import android.app.Activity; |
| 9 import android.app.ActivityManager; | 9 import android.app.ActivityManager; |
| 10 import android.content.Context; | 10 import android.content.Context; |
| 11 import android.content.Intent; | 11 import android.content.Intent; |
| 12 import android.graphics.Rect; | 12 import android.graphics.Rect; |
| 13 import android.graphics.RectF; | 13 import android.graphics.RectF; |
| 14 import android.media.AudioManager; | 14 import android.media.AudioManager; |
| 15 import android.os.Build; | 15 import android.os.Build; |
| 16 import android.os.Handler; | 16 import android.os.Handler; |
| 17 import android.util.Pair; | 17 import android.util.Pair; |
| 18 import android.view.KeyEvent; | 18 import android.view.KeyEvent; |
| 19 import android.view.View; | 19 import android.view.View; |
| 20 | 20 |
| 21 import org.chromium.base.Log; | 21 import org.chromium.base.Log; |
| 22 import org.chromium.base.ObserverList.RewindableIterator; | 22 import org.chromium.base.ObserverList.RewindableIterator; |
| 23 import org.chromium.base.annotations.CalledByNative; | 23 import org.chromium.base.annotations.CalledByNative; |
| 24 import org.chromium.blink_public.platform.WebDisplayMode; | 24 import org.chromium.blink_public.platform.WebDisplayMode; |
| 25 import org.chromium.chrome.R; | 25 import org.chromium.chrome.R; |
| 26 import org.chromium.chrome.browser.AppHooks; | 26 import org.chromium.chrome.browser.AppHooks; |
| 27 import org.chromium.chrome.browser.ChromeFeatureList; | |
| 28 import org.chromium.chrome.browser.FullscreenWebContentsActivity; | |
| 29 import org.chromium.chrome.browser.RepostFormWarningDialog; | 27 import org.chromium.chrome.browser.RepostFormWarningDialog; |
| 30 import org.chromium.chrome.browser.document.DocumentUtils; | 28 import org.chromium.chrome.browser.document.DocumentUtils; |
| 31 import org.chromium.chrome.browser.document.DocumentWebContentsDelegate; | 29 import org.chromium.chrome.browser.document.DocumentWebContentsDelegate; |
| 32 import org.chromium.chrome.browser.findinpage.FindMatchRectsDetails; | 30 import org.chromium.chrome.browser.findinpage.FindMatchRectsDetails; |
| 33 import org.chromium.chrome.browser.findinpage.FindNotificationDetails; | 31 import org.chromium.chrome.browser.findinpage.FindNotificationDetails; |
| 34 import org.chromium.chrome.browser.fullscreen.FullscreenManager; | 32 import org.chromium.chrome.browser.fullscreen.FullscreenManager; |
| 35 import org.chromium.chrome.browser.media.MediaCaptureNotificationService; | 33 import org.chromium.chrome.browser.media.MediaCaptureNotificationService; |
| 36 import org.chromium.chrome.browser.media.VideoPersister; | 34 import org.chromium.chrome.browser.media.VideoPersister; |
| 37 import org.chromium.chrome.browser.policy.PolicyAuditor; | 35 import org.chromium.chrome.browser.policy.PolicyAuditor; |
| 38 import org.chromium.chrome.browser.policy.PolicyAuditor.AuditEvent; | 36 import org.chromium.chrome.browser.policy.PolicyAuditor.AuditEvent; |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 @Override | 208 @Override |
| 211 public void showRepostFormWarningDialog() { | 209 public void showRepostFormWarningDialog() { |
| 212 mTab.resetSwipeRefreshHandler(); | 210 mTab.resetSwipeRefreshHandler(); |
| 213 if (mTab.getActivity() == null) return; | 211 if (mTab.getActivity() == null) return; |
| 214 RepostFormWarningDialog warningDialog = new RepostFormWarningDialog(mTab
); | 212 RepostFormWarningDialog warningDialog = new RepostFormWarningDialog(mTab
); |
| 215 warningDialog.show(mTab.getActivity().getFragmentManager(), null); | 213 warningDialog.show(mTab.getActivity().getFragmentManager(), null); |
| 216 } | 214 } |
| 217 | 215 |
| 218 @Override | 216 @Override |
| 219 public void toggleFullscreenModeForTab(boolean enableFullscreen) { | 217 public void toggleFullscreenModeForTab(boolean enableFullscreen) { |
| 220 if (ChromeFeatureList.isEnabled(ChromeFeatureList.FULLSCREEN_ACTIVITY) | 218 if (!VideoPersister.getInstance().shouldDelayFullscreenModeChange(mTab,
enableFullscreen)) { |
| 221 && mTab.getActivity().supportsFullscreenActivity()) { | 219 mTab.toggleFullscreenMode(enableFullscreen); |
| 222 FullscreenWebContentsActivity.toggleFullscreenMode(enableFullscreen,
mTab); | |
| 223 } else { | |
| 224 if (!VideoPersister.getInstance().shouldDelayFullscreenModeChange( | |
| 225 mTab, enableFullscreen)) { | |
| 226 mTab.toggleFullscreenMode(enableFullscreen); | |
| 227 } | |
| 228 } | 220 } |
| 229 } | 221 } |
| 230 | 222 |
| 231 @Override | 223 @Override |
| 232 public void navigationStateChanged(int flags) { | 224 public void navigationStateChanged(int flags) { |
| 233 if ((flags & InvalidateTypes.TAB) != 0) { | 225 if ((flags & InvalidateTypes.TAB) != 0) { |
| 234 int mediaType = MediaCaptureNotificationService.getMediaType( | 226 int mediaType = MediaCaptureNotificationService.getMediaType( |
| 235 isCapturingAudio(), isCapturingVideo(), isCapturingScreen())
; | 227 isCapturingAudio(), isCapturingVideo(), isCapturingScreen())
; |
| 236 MediaCaptureNotificationService.updateMediaNotificationForTab( | 228 MediaCaptureNotificationService.updateMediaNotificationForTab( |
| 237 mTab.getApplicationContext(), mTab.getId(), mediaType, mTab.
getUrl()); | 229 mTab.getApplicationContext(), mTab.getId(), mediaType, mTab.
getUrl()); |
| (...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 527 }; | 519 }; |
| 528 } | 520 } |
| 529 | 521 |
| 530 private static native void nativeOnRendererUnresponsive(WebContents webConte
nts); | 522 private static native void nativeOnRendererUnresponsive(WebContents webConte
nts); |
| 531 private static native void nativeOnRendererResponsive(WebContents webContent
s); | 523 private static native void nativeOnRendererResponsive(WebContents webContent
s); |
| 532 private static native boolean nativeIsCapturingAudio(WebContents webContents
); | 524 private static native boolean nativeIsCapturingAudio(WebContents webContents
); |
| 533 private static native boolean nativeIsCapturingVideo(WebContents webContents
); | 525 private static native boolean nativeIsCapturingVideo(WebContents webContents
); |
| 534 private static native boolean nativeIsCapturingScreen(WebContents webContent
s); | 526 private static native boolean nativeIsCapturingScreen(WebContents webContent
s); |
| 535 private static native void nativeNotifyStopped(WebContents webContents); | 527 private static native void nativeNotifyStopped(WebContents webContents); |
| 536 } | 528 } |
| OLD | NEW |