Disable-dynamic-module-loading.patch 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. From: csagan5 <32685696+csagan5@users.noreply.github.com>
  2. Date: Mon, 20 May 2019 23:14:36 +0200
  3. Subject: Disable dynamic module loading
  4. ---
  5. chrome/android/chrome_java_sources.gni | 13 --------
  6. .../browser/customtabs/CustomTabActivity.java | 18 -----------
  7. .../CustomTabIntentDataProvider.java | 17 ++---------
  8. .../customtabs/CustomTabsConnection.java | 30 -------------------
  9. .../CustomTabActivityComponent.java | 4 ---
  10. 5 files changed, 2 insertions(+), 80 deletions(-)
  11. diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
  12. --- a/chrome/android/chrome_java_sources.gni
  13. +++ b/chrome/android/chrome_java_sources.gni
  14. @@ -443,19 +443,6 @@ chrome_java_sources = [
  15. "java/src/org/chromium/chrome/browser/customtabs/dependency_injection/BaseCustomTabActivityComponent.java",
  16. "java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java",
  17. "java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityModule.java",
  18. - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ActivityDelegate.java",
  19. - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ActivityDelegatePostMessageBackend.java",
  20. - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ActivityHostImpl.java",
  21. - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModuleConstants.java",
  22. - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModuleCoordinator.java",
  23. - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModuleNavigationEventObserver.java",
  24. - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModulePageLoadObserver.java",
  25. - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModuleToolbarController.java",
  26. - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleEntryPoint.java",
  27. - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleHostImpl.java",
  28. - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleLoader.java",
  29. - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleMetrics.java",
  30. - "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ObjectWrapper.java",
  31. "java/src/org/chromium/chrome/browser/customtabs/features/CustomTabNavigationBarController.java",
  32. "java/src/org/chromium/chrome/browser/customtabs/features/ImmersiveModeController.java",
  33. "java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabBrowserControlsVisibilityDelegate.java",
  34. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
  35. --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
  36. +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
  37. @@ -41,7 +41,6 @@ import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandler;
  38. import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandler.IntentIgnoringCriterion;
  39. import org.chromium.chrome.browser.customtabs.dependency_injection.CustomTabActivityComponent;
  40. import org.chromium.chrome.browser.customtabs.dependency_injection.CustomTabActivityModule;
  41. -import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleCoordinator;
  42. import org.chromium.chrome.browser.customtabs.features.CustomTabNavigationBarController;
  43. import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
  44. import org.chromium.chrome.browser.firstrun.FirstRunSignInProcessor;
  45. @@ -73,9 +72,6 @@ public class CustomTabActivity extends BaseCustomTabActivity<CustomTabActivityCo
  46. private final CustomTabsConnection mConnection = CustomTabsConnection.getInstance();
  47. - @Nullable
  48. - private DynamicModuleCoordinator mDynamicModuleCoordinator;
  49. -
  50. private CustomTabNightModeStateController mNightModeStateController;
  51. private CustomTabActivityTabProvider.Observer mTabChangeObserver =
  52. @@ -190,12 +186,6 @@ public class CustomTabActivity extends BaseCustomTabActivity<CustomTabActivityCo
  53. public void finishNativeInitialization() {
  54. if (!mIntentDataProvider.isInfoPage()) FirstRunSignInProcessor.start(this);
  55. - // Try to initialize dynamic module early to enqueue navigation events
  56. - // @see DynamicModuleNavigationEventObserver
  57. - if (mIntentDataProvider.isDynamicModuleEnabled()) {
  58. - mDynamicModuleCoordinator = getComponent().resolveDynamicModuleCoordinator();
  59. - }
  60. -
  61. mConnection.showSignInToastIfNecessary(mSession, getIntent());
  62. if (isTaskRoot() && UsageStatsService.isEnabled()) {
  63. @@ -232,10 +222,6 @@ public class CustomTabActivity extends BaseCustomTabActivity<CustomTabActivityCo
  64. WebContents webContents = tab == null ? null : tab.getWebContents();
  65. mConnection.resetPostMessageHandlerForSession(
  66. mIntentDataProvider.getSession(), webContents);
  67. -
  68. - if (mDynamicModuleCoordinator != null) {
  69. - mDynamicModuleCoordinator.resetPostMessageHandlersForCurrentSession(null);
  70. - }
  71. }
  72. @Override
  73. @@ -406,10 +392,6 @@ public class CustomTabActivity extends BaseCustomTabActivity<CustomTabActivityCo
  74. if (mIntentDataProvider.isTrustedWebActivity()) {
  75. component.resolveTrustedWebActivityCoordinator();
  76. }
  77. - if (mConnection.shouldHideTopBarOnModuleManagedUrlsForSession(
  78. - mIntentDataProvider.getSession())) {
  79. - component.resolveDynamicModuleToolbarController();
  80. - }
  81. return component;
  82. }
  83. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
  84. --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
  85. +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
  86. @@ -44,7 +44,6 @@ import org.chromium.chrome.browser.ChromeApplication;
  87. import org.chromium.chrome.browser.ChromeVersionInfo;
  88. import org.chromium.chrome.browser.IntentHandler;
  89. import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider;
  90. -import org.chromium.chrome.browser.customtabs.dynamicmodule.ModuleMetrics;
  91. import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
  92. import org.chromium.chrome.browser.flags.ChromeFeatureList;
  93. import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
  94. @@ -820,20 +819,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
  95. // even receive the extras for using the feature.
  96. if (componentName == null) return false;
  97. - if (!ChromeFeatureList.isEnabled(ChromeFeatureList.CCT_MODULE)) {
  98. - Log.w(TAG, "The %s feature is disabled.", ChromeFeatureList.CCT_MODULE);
  99. - ModuleMetrics.recordLoadResult(ModuleMetrics.LoadResult.FEATURE_DISABLED);
  100. - return false;
  101. - }
  102. -
  103. - ExternalAuthUtils authUtils = ChromeApplication.getComponent().resolveExternalAuthUtils();
  104. - if (!authUtils.isGoogleSigned(componentName.getPackageName())) {
  105. - Log.w(TAG, "The %s package is not Google-signed.", componentName.getPackageName());
  106. - ModuleMetrics.recordLoadResult(ModuleMetrics.LoadResult.NOT_GOOGLE_SIGNED);
  107. - return false;
  108. - }
  109. -
  110. - return true;
  111. + Log.w(TAG, "The %s feature is disabled.", ChromeFeatureList.CCT_MODULE);
  112. + return false;
  113. }
  114. @Override
  115. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
  116. --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
  117. +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
  118. @@ -57,8 +57,6 @@ import org.chromium.chrome.browser.browserservices.Origin;
  119. import org.chromium.chrome.browser.browserservices.PostMessageHandler;
  120. import org.chromium.chrome.browser.browserservices.SessionDataHolder;
  121. import org.chromium.chrome.browser.browserservices.SessionHandler;
  122. -import org.chromium.chrome.browser.customtabs.dynamicmodule.ModuleLoader;
  123. -import org.chromium.chrome.browser.customtabs.dynamicmodule.ModuleMetrics;
  124. import org.chromium.chrome.browser.device.DeviceClassManager;
  125. import org.chromium.chrome.browser.flags.ChromeFeatureList;
  126. import org.chromium.chrome.browser.init.ChainedTasks;
  127. @@ -218,7 +216,6 @@ public class CustomTabsConnection {
  128. private volatile ChainedTasks mWarmupTasks;
  129. - private @Nullable ModuleLoader mModuleLoader;
  130. /**
  131. * <strong>DO NOT CALL</strong>
  132. * Public to be instanciable from {@link ChromeApplication}. This is however
  133. @@ -1401,7 +1398,6 @@ public class CustomTabsConnection {
  134. if (ChromeApplication.isSevereMemorySignal(level)) {
  135. getInstance().mClientManager.cleanupUnusedSessions();
  136. }
  137. - if (getInstance().mModuleLoader != null) getInstance().mModuleLoader.onTrimMemory(level);
  138. }
  139. @VisibleForTesting
  140. @@ -1537,32 +1533,6 @@ public class CustomTabsConnection {
  141. recordSpeculationStatusOnSwap(SPECULATION_STATUS_ON_SWAP_BACKGROUND_TAB_NOT_MATCHED);
  142. }
  143. - public ModuleLoader getModuleLoader(ComponentName componentName, @Nullable String assetName) {
  144. - if (!ChromeFeatureList.isEnabled(ChromeFeatureList.CCT_MODULE_DEX_LOADING)) {
  145. - assetName = null;
  146. - }
  147. -
  148. - if (mModuleLoader != null) {
  149. - boolean isComponentNameChanged =
  150. - !componentName.equals(mModuleLoader.getComponentName());
  151. - boolean isAssetNameChanged =
  152. - !TextUtils.equals(assetName, mModuleLoader.getDexAssetName());
  153. - ModuleLoader.ModuleApkVersion newModuleApkVersion =
  154. - ModuleLoader.ModuleApkVersion.getModuleVersion(componentName.getPackageName());
  155. - boolean isModuleVersionChanged =
  156. - !mModuleLoader.getModuleApkVersion().equals(newModuleApkVersion);
  157. -
  158. - if (isComponentNameChanged || isAssetNameChanged || isModuleVersionChanged) {
  159. - mModuleLoader.destroyModule(ModuleMetrics.DestructionReason.MODULE_LOADER_CHANGED);
  160. - mModuleLoader = null;
  161. - }
  162. - }
  163. -
  164. - if (mModuleLoader == null) mModuleLoader = new ModuleLoader(componentName, assetName);
  165. -
  166. - return mModuleLoader;
  167. - }
  168. -
  169. @CalledByNative
  170. public static void notifyClientOfDetachedRequestCompletion(
  171. CustomTabsSessionToken session, String url, int status) {
  172. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
  173. --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
  174. +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
  175. @@ -15,8 +15,6 @@ import org.chromium.chrome.browser.customtabs.CustomTabUmaRecorder;
  176. import org.chromium.chrome.browser.customtabs.ReparentingTaskProvider;
  177. import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabController;
  178. import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandler;
  179. -import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleCoordinator;
  180. -import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleToolbarController;
  181. import org.chromium.chrome.browser.customtabs.features.ImmersiveModeController;
  182. import org.chromium.chrome.browser.dependency_injection.ActivityScope;
  183. import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
  184. @@ -31,8 +29,6 @@ import dagger.Subcomponent;
  185. @ActivityScope
  186. public interface CustomTabActivityComponent extends BaseCustomTabActivityComponent {
  187. TrustedWebActivityCoordinator resolveTrustedWebActivityCoordinator();
  188. - DynamicModuleToolbarController resolveDynamicModuleToolbarController();
  189. - DynamicModuleCoordinator resolveDynamicModuleCoordinator();
  190. CustomTabBottomBarDelegate resolveBottomBarDelegate();
  191. CustomTabActivityTabController resolveTabController();
  192. --
  193. 2.17.1