New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 738510 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Bug



Sign in to add a comment

CronetChromeWebView crashes

Project Member Reported by michaeldo@chromium.org, Jun 30 2017

Issue description

CronetChromeWebView doesn't share global state properly. Cronet and ChromeWebView need to share state which will otherwise prevent initialization.

The following objects need to be initialized exactly once in this framework:
base::AtExitManager
base::MessageLoopForUI
base::TaskScheduler
net::NetworkChangeNotifier
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e10717185a8bf3159a0488ba815fa8ad0399e9c8

commit e10717185a8bf3159a0488ba815fa8ad0399e9c8
Author: Mike Dougherty <michaeldo@chromium.org>
Date: Wed Jul 12 17:56:25 2017

Share task scheduler initialization between ios/web_view and cronet.

Bug:  738510 
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester
Change-Id: I0095d6f8d4959d1fa797f64ff45885348780bed8
Reviewed-on: https://chromium-review.googlesource.com/552763
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Reviewed-by: Robert Liao <robliao@chromium.org>
Reviewed-by: Misha Efimov <mef@chromium.org>
Commit-Queue: Mike Dougherty <michaeldo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486018}
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/components/cronet/ios/BUILD.gn
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/components/cronet/ios/DEPS
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/components/cronet/ios/cronet_environment.mm
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/chrome/app/DEPS
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/chrome/app/startup/BUILD.gn
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/chrome/app/startup/ios_chrome_main.mm
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/chrome/browser/web/chrome_web_client.h
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/chrome/browser/web/chrome_web_client.mm
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/app/BUILD.gn
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/app/web_main.mm
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/app/web_main_loop.h
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/app/web_main_loop.mm
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/app/web_main_runner.mm
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/public/app/BUILD.gn
[add] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/public/app/task_scheduler_init_params_callback.h
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/public/app/web_main.h
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/public/app/web_main_runner.h
[add] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/public/global_state/BUILD.gn
[add] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/public/global_state/ios_global_state.h
[add] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/public/global_state/ios_global_state.mm
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/public/web_client.h
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/public/web_client.mm
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web/shell/app_delegate.mm
[modify] https://crrev.com/e10717185a8bf3159a0488ba815fa8ad0399e9c8/ios/web_view/internal/web_view_global_state_util.mm

Project Member

Comment 2 by bugdroid1@chromium.org, Jul 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a8d8165619c265b40848a67eae18e530bf83d218

commit a8d8165619c265b40848a67eae18e530bf83d218
Author: Mike Dougherty <michaeldo@chromium.org>
Date: Mon Jul 17 18:16:13 2017

Add additional global state to ios_global_state.

Expands on the shared initialization to include base::AtExitManager,
net::NetworkChangeNotifier, and base::MessageLoopForUI.

With this change Cronet and ChromeWebView can successfully be used when
built together in the framework created by
//ios/web_view:cronet_web_view_combined.

Bug:  738510 
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester
Change-Id: Iead4ba5d4f2376b09edf3f5c87a13829229b83b4
Reviewed-on: https://chromium-review.googlesource.com/558268
Commit-Queue: Mike Dougherty <michaeldo@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487161}
[modify] https://crrev.com/a8d8165619c265b40848a67eae18e530bf83d218/components/cronet/ios/cronet_environment.h
[modify] https://crrev.com/a8d8165619c265b40848a67eae18e530bf83d218/components/cronet/ios/cronet_environment.mm
[modify] https://crrev.com/a8d8165619c265b40848a67eae18e530bf83d218/ios/web/app/web_main_loop.h
[modify] https://crrev.com/a8d8165619c265b40848a67eae18e530bf83d218/ios/web/app/web_main_loop.mm
[modify] https://crrev.com/a8d8165619c265b40848a67eae18e530bf83d218/ios/web/app/web_main_runner.mm
[modify] https://crrev.com/a8d8165619c265b40848a67eae18e530bf83d218/ios/web/public/global_state/BUILD.gn
[modify] https://crrev.com/a8d8165619c265b40848a67eae18e530bf83d218/ios/web/public/global_state/ios_global_state.h
[modify] https://crrev.com/a8d8165619c265b40848a67eae18e530bf83d218/ios/web/public/global_state/ios_global_state.mm

Status: Fixed (was: Started)

Sign in to add a comment