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. .../customtabs/CustomTabIntentDataProvider.java | 17 ++----------
  8. .../browser/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. @@ -479,19 +479,6 @@ chrome_java_sources = [
  15. "java/src/org/chromium/chrome/browser/customtabs/content/TabCreationMode.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/database/SQLiteCursor.java",
  32. "java/src/org/chromium/chrome/browser/datareduction/DataReductionBrandingResourceProvider.java",
  33. "java/src/org/chromium/chrome/browser/datareduction/DataReductionMainMenuItem.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. @@ -62,7 +62,6 @@ import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvid
  38. import org.chromium.chrome.browser.customtabs.content.TabCreationMode;
  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.dependency_injection.ChromeActivityCommonsModule;
  43. import org.chromium.chrome.browser.firstrun.FirstRunSignInProcessor;
  44. import org.chromium.chrome.browser.gsa.GSAState;
  45. @@ -133,9 +132,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
  46. private final CustomTabsConnection mConnection = CustomTabsConnection.getInstance();
  47. - @Nullable
  48. - private DynamicModuleCoordinator mDynamicModuleCoordinator;
  49. -
  50. private ActivityTabTaskDescriptionHelper mTaskDescriptionHelper;
  51. private CustomTabNightModeStateController mNightModeStateController;
  52. @@ -315,12 +311,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
  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. LayoutManager layoutDriver = new LayoutManager(getCompositorViewHolder());
  62. initializeCompositorContent(layoutDriver, findViewById(R.id.url_bar),
  63. (ViewGroup) findViewById(android.R.id.content),
  64. @@ -461,10 +451,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
  65. WebContents webContents = tab == null ? null : tab.getWebContents();
  66. mConnection.resetPostMessageHandlerForSession(
  67. mIntentDataProvider.getSession(), webContents);
  68. -
  69. - if (mDynamicModuleCoordinator != null) {
  70. - mDynamicModuleCoordinator.resetPostMessageHandlersForCurrentSession(null);
  71. - }
  72. }
  73. private void initalizePreviewsObserver() {
  74. @@ -926,10 +912,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
  75. if (mIntentDataProvider.isTrustedWebActivity()) {
  76. component.resolveTrustedWebActivityCoordinator();
  77. }
  78. - if (mConnection.shouldHideTopBarOnModuleManagedUrlsForSession(
  79. - mIntentDataProvider.getSession())) {
  80. - component.resolveDynamicModuleToolbarController();
  81. - }
  82. return component;
  83. }
  84. 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
  85. --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
  86. +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
  87. @@ -38,7 +38,6 @@ import org.chromium.chrome.browser.ChromeVersionInfo;
  88. import org.chromium.chrome.browser.IntentHandler;
  89. import org.chromium.chrome.browser.UrlConstants;
  90. import org.chromium.chrome.browser.browserservices.BrowserSessionDataProvider;
  91. -import org.chromium.chrome.browser.customtabs.dynamicmodule.ModuleMetrics;
  92. import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
  93. import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
  94. import org.chromium.chrome.browser.util.ColorUtils;
  95. @@ -826,20 +825,8 @@ public class CustomTabIntentDataProvider extends BrowserSessionDataProvider {
  96. // even receive the extras for using the feature.
  97. if (componentName == null) return false;
  98. - if (!ChromeFeatureList.isEnabled(ChromeFeatureList.CCT_MODULE)) {
  99. - Log.w(TAG, "The %s feature is disabled.", ChromeFeatureList.CCT_MODULE);
  100. - ModuleMetrics.recordLoadResult(ModuleMetrics.LoadResult.FEATURE_DISABLED);
  101. - return false;
  102. - }
  103. -
  104. - ExternalAuthUtils authUtils = ChromeApplication.getComponent().resolveExternalAuthUtils();
  105. - if (!authUtils.isGoogleSigned(componentName.getPackageName())) {
  106. - Log.w(TAG, "The %s package is not Google-signed.", componentName.getPackageName());
  107. - ModuleMetrics.recordLoadResult(ModuleMetrics.LoadResult.NOT_GOOGLE_SIGNED);
  108. - return false;
  109. - }
  110. -
  111. - return true;
  112. + Log.w(TAG, "The %s feature is disabled.", ChromeFeatureList.CCT_MODULE);
  113. + return false;
  114. }
  115. /**
  116. 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
  117. --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
  118. +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
  119. @@ -57,8 +57,6 @@ import org.chromium.chrome.browser.WarmupManager;
  120. import org.chromium.chrome.browser.browserservices.BrowserSessionContentUtils;
  121. import org.chromium.chrome.browser.browserservices.Origin;
  122. import org.chromium.chrome.browser.browserservices.PostMessageHandler;
  123. -import org.chromium.chrome.browser.customtabs.dynamicmodule.ModuleLoader;
  124. -import org.chromium.chrome.browser.customtabs.dynamicmodule.ModuleMetrics;
  125. import org.chromium.chrome.browser.device.DeviceClassManager;
  126. import org.chromium.chrome.browser.init.ChainedTasks;
  127. import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
  128. @@ -214,7 +212,6 @@ public class CustomTabsConnection {
  129. private volatile ChainedTasks mWarmupTasks;
  130. - private @Nullable ModuleLoader mModuleLoader;
  131. /**
  132. * <strong>DO NOT CALL</strong>
  133. * Public to be instanciable from {@link ChromeApplication}. This is however
  134. @@ -1323,7 +1320,6 @@ public class CustomTabsConnection {
  135. if (ChromeApplication.isSevereMemorySignal(level)) {
  136. getInstance().mClientManager.cleanupUnusedSessions();
  137. }
  138. - if (getInstance().mModuleLoader != null) getInstance().mModuleLoader.onTrimMemory(level);
  139. }
  140. @VisibleForTesting
  141. @@ -1464,32 +1460,6 @@ public class CustomTabsConnection {
  142. CustomTabsSessionToken session, String url, String origin, int referrerPolicy,
  143. @DetachedResourceRequestMotivation int motivation);
  144. - public ModuleLoader getModuleLoader(ComponentName componentName, @Nullable String assetName) {
  145. - if (!ChromeFeatureList.isEnabled(ChromeFeatureList.CCT_MODULE_DEX_LOADING)) {
  146. - assetName = null;
  147. - }
  148. -
  149. - if (mModuleLoader != null) {
  150. - boolean isComponentNameChanged =
  151. - !componentName.equals(mModuleLoader.getComponentName());
  152. - boolean isAssetNameChanged =
  153. - !TextUtils.equals(assetName, mModuleLoader.getDexAssetName());
  154. - ModuleLoader.ModuleApkVersion newModuleApkVersion =
  155. - ModuleLoader.ModuleApkVersion.getModuleVersion(componentName.getPackageName());
  156. - boolean isModuleVersionChanged =
  157. - !mModuleLoader.getModuleApkVersion().equals(newModuleApkVersion);
  158. -
  159. - if (isComponentNameChanged || isAssetNameChanged || isModuleVersionChanged) {
  160. - mModuleLoader.destroyModule(ModuleMetrics.DestructionReason.MODULE_LOADER_CHANGED);
  161. - mModuleLoader = null;
  162. - }
  163. - }
  164. -
  165. - if (mModuleLoader == null) mModuleLoader = new ModuleLoader(componentName, assetName);
  166. -
  167. - return mModuleLoader;
  168. - }
  169. -
  170. @CalledByNative
  171. public static void notifyClientOfDetachedRequestCompletion(
  172. CustomTabsSessionToken session, String url, int status) {
  173. 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
  174. --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
  175. +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
  176. @@ -16,8 +16,6 @@ import org.chromium.chrome.browser.customtabs.content.CustomTabActivityNavigatio
  177. import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabController;
  178. import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabFactory;
  179. import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider;
  180. -import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleCoordinator;
  181. -import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleToolbarController;
  182. import org.chromium.chrome.browser.dependency_injection.ActivityScope;
  183. import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
  184. import org.chromium.chrome.browser.dependency_injection.ChromeActivityComponent;
  185. @@ -33,8 +31,6 @@ import dagger.Subcomponent;
  186. @ActivityScope
  187. public interface CustomTabActivityComponent extends ChromeActivityComponent {
  188. TrustedWebActivityCoordinator resolveTrustedWebActivityCoordinator();
  189. - DynamicModuleToolbarController resolveDynamicModuleToolbarController();
  190. - DynamicModuleCoordinator resolveDynamicModuleCoordinator();
  191. TabObserverRegistrar resolveTabObserverRegistrar();
  192. CustomTabTopBarDelegate resolveTobBarDelegate();
  193. --
  194. 2.11.0