Ask to restart on connection change: #1220
- moved the check so that it is also done at application resume - the restart request panel must not hide when the tab switcher is opened - fixed the webview build
This commit is contained in:
@@ -21,11 +21,11 @@ but since the goal is a reboot, this should not be the case.
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../ConnectivityDetector.java | 1 -
|
||||
.../indicator/OfflineDetector.java | 108 +++++++++++++++++-
|
||||
.../indicator/OfflineDetector.java | 111 +++++++++++++++++-
|
||||
.../OfflineIndicatorControllerV2.java | 15 ++-
|
||||
.../tabbed_mode/TabbedRootUiCoordinator.java | 5 +-
|
||||
.../tabmodel/TabModelSelectorBase.java | 7 ++
|
||||
.../sAskForRestartOnConnectionChange.java | 32 ++++++
|
||||
.../sAskForRestartOnConnectionChange.java | 32 +++++
|
||||
.../browser/tabmodel/TabModelSelector.java | 2 +
|
||||
.../browser/tabmodel/TabModelUtils.java | 20 ++++
|
||||
.../browser/tabmodel/TabWindowManager.java | 2 +
|
||||
@@ -34,20 +34,21 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../android/java/res/layout/snackbar.xml | 10 ++
|
||||
.../ui/messages/snackbar/Snackbar.java | 16 +++
|
||||
.../ui/messages/snackbar/SnackbarManager.java | 6 +
|
||||
.../ui/messages/snackbar/SnackbarView.java | 13 ++-
|
||||
.../ui/messages/snackbar/SnackbarView.java | 13 +-
|
||||
.../web_contents/web_contents_android.cc | 16 +++
|
||||
.../web_contents/web_contents_android.h | 1 +
|
||||
.../browser/web_contents/web_contents_impl.cc | 2 +
|
||||
.../browser/webcontents/WebContentsImpl.java | 8 ++
|
||||
.../content_public/browser/WebContents.java | 2 +
|
||||
.../Ask-for-restart-on-connection-change.inc | 13 +++
|
||||
.../browser/test/mock/MockWebContents.java | 3 +
|
||||
.../Ask-for-restart-on-connection-change.inc | 13 ++
|
||||
.../Ask-for-restart-on-connection-change.inc | 3 +
|
||||
.../Ask-for-restart-on-connection-change.inc | 1 +
|
||||
.../blink/renderer/core/dom/document.cc | 1 +
|
||||
.../blink/renderer/core/frame/local_frame.cc | 2 +
|
||||
.../main_thread/frame_scheduler_impl.cc | 2 +
|
||||
.../main_thread/page_scheduler_impl.cc | 9 +-
|
||||
27 files changed, 306 insertions(+), 10 deletions(-)
|
||||
28 files changed, 312 insertions(+), 10 deletions(-)
|
||||
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sAskForRestartOnConnectionChange.java
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Ask-for-restart-on-connection-change.inc
|
||||
@@ -68,7 +69,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/connectivit
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineDetector.java
|
||||
@@ -21,16 +21,37 @@ import org.chromium.base.version_info.VersionInfo;
|
||||
@@ -21,16 +21,38 @@ import org.chromium.base.version_info.VersionInfo;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.net.connectivitydetector.ConnectivityDetector;
|
||||
import org.chromium.chrome.browser.net.connectivitydetector.ConnectivityDetector.ConnectionState;
|
||||
@@ -89,6 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
|
||||
+import org.chromium.chrome.browser.tasks.tab_management.TabSwitcherLayout;
|
||||
+import org.chromium.chrome.browser.tab.Tab;
|
||||
+import org.chromium.chrome.browser.tabmodel.TabModelUtils;
|
||||
+import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
||||
@@ -109,7 +111,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
||||
// If the connection is online, then we report that immediately via |mIsOfflineCallback|.
|
||||
// |STATUS_INDICATOR_WAIT_ON_OFFLINE_DURATION_MS| and
|
||||
// |mStatusIndicatorWaitOnSwitchOnlineToOfflineDurationMs| control the duration before
|
||||
@@ -116,6 +137,11 @@ class OfflineDetector
|
||||
@@ -116,6 +138,11 @@ class OfflineDetector
|
||||
|
||||
private static final String TAG = "OfflineDetector";
|
||||
|
||||
@@ -121,7 +123,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
||||
/**
|
||||
* Constructs the offline indicator.
|
||||
* @param isOfflineCallback The {@link Callback} is invoked when the connectivity status is
|
||||
@@ -127,7 +153,13 @@ class OfflineDetector
|
||||
@@ -127,7 +154,13 @@ class OfflineDetector
|
||||
OfflineDetector(
|
||||
Callback<Boolean> isOfflineCallback,
|
||||
Callback<Boolean> isForegroundCallback,
|
||||
@@ -136,15 +138,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
||||
mIsOfflineCallback = isOfflineCallback;
|
||||
mIsForegroundCallback = isForegroundCallback;
|
||||
mContext = context;
|
||||
@@ -183,6 +215,7 @@ class OfflineDetector
|
||||
|
||||
@Override
|
||||
public void onConnectionStateChanged(int connectionState) {
|
||||
+ checkLastNetworkId();
|
||||
boolean previousLastReportedStateByOfflineDetector =
|
||||
mIsOfflineLastReportedByConnectivityDetector;
|
||||
mIsOfflineLastReportedByConnectivityDetector =
|
||||
@@ -231,6 +264,73 @@ class OfflineDetector
|
||||
@@ -231,6 +264,75 @@ class OfflineDetector
|
||||
updateState();
|
||||
}
|
||||
|
||||
@@ -211,13 +205,23 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
|
||||
+ // TabWindowManager.Observer
|
||||
+ @Override
|
||||
+ public void onSceneChange(Layout layout) {
|
||||
+ SnackbarManager snackbarManager = mSnackbarManagerSupplier.get();
|
||||
+ snackbarManager.dismissSnackbars(this);
|
||||
+ if (!(layout instanceof TabSwitcherLayout)) {
|
||||
+ SnackbarManager snackbarManager = mSnackbarManagerSupplier.get();
|
||||
+ snackbarManager.dismissSnackbars(this);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
private void logToAdbConsoleNow(String prefix) {
|
||||
Log.i(
|
||||
TAG,
|
||||
@@ -316,6 +418,7 @@ class OfflineDetector
|
||||
** Calls |mUpdateOfflineStatusIndicatorDelayedRunnable| to update the connection state.
|
||||
*/
|
||||
private void updateState() {
|
||||
+ checkLastNetworkId();
|
||||
mHandler.removeCallbacks(mUpdateOfflineStatusIndicatorDelayedRunnable);
|
||||
|
||||
// Do not update state while the app is in background.
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/indicator/OfflineIndicatorControllerV2.java
|
||||
@@ -631,6 +635,19 @@ diff --git a/content/public/android/java/src/org/chromium/content_public/browser
|
||||
/**
|
||||
* @return true if the renderer is in fullscreen mode.
|
||||
*/
|
||||
diff --git a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
|
||||
--- a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
|
||||
+++ b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
|
||||
@@ -197,6 +197,9 @@ public class MockWebContents implements WebContents {
|
||||
@Override
|
||||
public void setFocus(boolean hasFocus) {}
|
||||
|
||||
+ @Override
|
||||
+ public void setPageFrozen(boolean frozen) {}
|
||||
+
|
||||
@Override
|
||||
public boolean isFullscreenForCurrentTab() {
|
||||
return false;
|
||||
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Ask-for-restart-on-connection-change.inc b/cromite_flags/chrome/browser/about_flags_cc/Ask-for-restart-on-connection-change.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
||||
Reference in New Issue
Block a user