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

Issue 627852 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
not working at Google anymore
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Popup tab killed in CreateNewWindow after cross-process navigation and popup during unload

Reported by egor.iva...@gmail.com, Jul 13 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36

Steps to reproduce the problem:
1. Go to http://popuptest.com/popuptest1.html
2. Allow browser to show multiple popups for this page
3. Navigate to example.com in tab from step 1

What is the expected behavior?
popup tabs are steel showing their content

What went wrong?
all popups are showing "Aw, Snap!"

Crashed report ID: no

How much crashed? Just one tab

Is it a problem with a plugin? No 

Did this work before? N/A 

Chrome version: 51.0.2704.106  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 22.0 r0
 

Comment 1 by ajha@chromium.org, Jul 14 2016

Cc: ajha@chromium.org
Labels: Needs-Feedback
Could you please attach any crash id for further debugging of the issue. Unable to reproduce the issue on the latest stable(51.0.2704.106) on Windows-7.
I have no crash report because if I understand it right it's not technically a crash. I can try and describe as I see it.
After http://popuptest.com/popuptest1.html is loaded I see 6 separate popup windows. And because in task manager I have only one renderer process I can assume that all 6 is sharing the same renderer process with the source tab(http://popuptest.com/popuptest1.html). So when I load in the source tab a different page (for example: google.com or example.com) old renderer process is gone and 6 remaining windows become invalid.
algorithm:
1) In new tab (let it be tab1) load http://popuptest.com/popuptest1.html
2) Ensure that I can see all 6 popup windows which this page should create.
3) In tab1 (tab from the first step) load new url (like: google.com or whatever you like).
4) All 6 remaining windows is now showing "Aw, Snap!" (at least in my case).
Project Member

Comment 3 by sheriffbot@chromium.org, Jul 14 2016

Labels: -Needs-Feedback Needs-Review
Owner: ajha@chromium.org
Thank you for providing more feedback. Adding requester "ajha@chromium.org" for another review and adding "Needs-Review" label for tracking.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Able to reproduce this crash on the latest stable 51.0.2704.106 m (64-bit) and also on 54.0.2796.2 canary (64-bit) on my Windows machine. Crash ID is not generated for this render crash.

Comment 5 by ajha@chromium.org, Jul 15 2016

Components: UI>Browser>Navigation
Labels: -Type-Bug -Pri-2 -Needs-Review M-54 hasTestcase hasbisect OS-Linux OS-Mac Pri-1 Type-Bug-Regression
Owner: creis@chromium.org
Status: Assigned (was: Unconfirmed)
Thanks for the update. 

Able to reproduce this on the latest canary(54.0.2797.0) and the latest stable(51.0.2704.106) on Windows-7, Linux Ubuntu 14.04 and Mac OS 10.11.5.

Regressed in M-39

Last good build: 39.0.2129.0
First bad build: 39.0.2130.0 

Changelog:
==========
https://chromium.googlesource.com/chromium/src/+log/08ba405fb8acf1ca61fefd6bb14b909b2ed43336..7b3b295e384d977788c11c719f0b276caf457093

Suspecting: https://codereview.chromium.org/464593003

creis@: Could you please take a look at this

Comment 6 by creis@chromium.org, Jul 15 2016

Cc: nick@chromium.org nasko@chromium.org alex...@chromium.org
Interesting.  This is a renderer kill that's happening in WebContentsImpl::CreateNewWindow, because the popup is being created by a page during its unload handler.  After my https://codereview.chromium.org/464593003, we run unload handlers in the background after a cross-process navigation, with the RenderFrameHost in a pending deletion state.  Because the request is not coming from the current RenderFrameHost, we don't find it in HasMatchingProcess and we kill the process.

We obviously shouldn't kill the process, but we should ignore the popup request because the page that created has already been replaced.  We'll probably want to use a different technique to determine if the process is "part" of this tab.

For reference, we added the kill in 2013 in r238575, and we updated it to use HasMatchingProcess in r338949.

Side note: I'm not sure why we aren't using ReceivedBadMessage to do this kill, in which case we'd get crash IDs.  We should probably update that as well.

Comment 7 by creis@chromium.org, Jul 15 2016

Summary: Popup tab killed in CreateNewWindow after cross-process navigation and popup during unload (was: Popup tab shows "Aw, Snap!" after navigation in the source tab)

Comment 8 by creis@chromium.org, Jul 15 2016

Ooh, WebContentsImpl::CreateNewWidget has the same bug.

Comment 9 by nick@chromium.org, Jul 15 2016

The Send(ViewMsg_Close()) in this function seems incorrect as well, if the window.open happened in a process other than the main frame. We definitely need some browser tests for these corner cases.

Comment 10 by nick@chromium.org, Jul 15 2016

Owner: nick@chromium.org
Status: Started (was: Assigned)
Project Member

Comment 11 by bugdroid1@chromium.org, Aug 31 2016

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

commit 3b04f32172f0e32b249c7d8b6592ccc542bf6511
Author: nick <nick@chromium.org>
Date: Wed Aug 31 19:29:19 2016

Convert WindowOpenDisposition to an enum class.

This is done in preparation for mojoifying this enum; mojo only generates 'enum class' enums.

TBR=jam@chromium.org
BUG= 627852 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2248873002
Cr-Commit-Position: refs/heads/master@{#415722}

[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/android_webview/native/aw_web_contents_delegate.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/blimp/engine/session/blimp_engine_session.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/android/service_tab_launcher.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/android/tab_android.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/android/tab_web_contents_delegate_android.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/app_controller_mac_browsertest.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/apps/app_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/apps/app_browsertest_util.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/apps/app_shim/extension_app_shim_handler_mac.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/apps/app_window_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/apps/guest_view/web_view_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/apps/install_chrome_app.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/autofill/autofill_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/autofill/content_autofill_driver_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/background/background_mode_manager.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/browser_commands_unittest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/captive_portal/captive_portal_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chrome_content_browser_client_unittest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/app_mode/startup_app_launcher.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/arc/arc_auth_service.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/attestation/platform_verification_dialog.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/enrollment_dialog_view.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/eol_notification.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/extensions/echo_private_api.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/extensions/input_method_api.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/extensions/wallpaper_manager_util.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/first_run/first_run.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/input_method/textinput_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/login/demo_mode/demo_app_launcher.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/login/quick_unlock/quick_unlock_notification_controller.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/login/screens/error_screen.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/login/signin/oauth2_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/chromeos/policy/device_local_account_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/command_updater.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/crash_recovery_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/data_saver/data_saver_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/devtools/devtools_sanity_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/devtools/devtools_ui_bindings.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/devtools/devtools_window.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/download/chrome_download_manager_delegate.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/download/download_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/download/download_commands.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/download/download_danger_prompt_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/download/notification/download_item_notification.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/download/save_page_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/certificate_provider/certificate_provider_apitest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/extension_action/browser_action_apitest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/management/chrome_management_api_delegate.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/media_galleries/media_galleries_apitest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/omnibox/omnibox_api.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/omnibox/omnibox_api_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/sessions/sessions_api.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/tabs/tabs_api.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/tabs/tabs_test.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/api/web_request/web_request_apitest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/app_process_apitest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/content_script_apitest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/crx_installer_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/extension_apitest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/extension_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/extension_context_menu_model.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/extension_disabled_ui_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/extension_message_bubble_controller.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/extension_storage_monitor_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/extension_tab_util.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/extension_tab_util_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/extension_uninstall_dialog.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/extension_view_host.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/fetch_apitest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/isolated_app_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/process_management_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/process_manager_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/renderer_initialization_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/service_worker_apitest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/webstore_inline_installer.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/webstore_inline_installer_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/extensions/window_open_apitest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/fast_shutdown_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/favicon/content_favicon_driver_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/history/history_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/history/redirect_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/infobars/infobar_service.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/infobars/infobars_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/interstitials/chrome_controller_client.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/lifetime/browser_close_manager_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/media/defer_background_media_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/memory/tab_manager_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/memory/tab_manager_observer_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/metrics/metrics_service_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/net/errorpage_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/notifications/extension_welcome_notification.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/notifications/notification_interactive_uitest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/page_load_metrics/observers/https_engagement_metrics/https_engagement_page_load_metrics_observer_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/password_manager/account_chooser_dialog_android.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/password_manager/auto_signin_first_run_dialog_android.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/password_manager/generated_password_saved_infobar_delegate_android.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/password_manager/password_manager_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/platform_util_chromeos.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/plugins/plugin_installer.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/plugins/plugin_observer.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/plugins/plugin_power_saver_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/policy/policy_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/prerender/prerender_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/printing/cloud_print/privet_notifications.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/printing/print_dialog_cloud.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/printing/print_dialog_cloud_win.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/printing/print_preview_dialog_controller_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/profiles/host_zoom_map_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/push_messaging/push_messaging_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/referrer_policy_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/renderer_context_menu/render_view_context_menu.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/renderer_context_menu/spelling_bubble_model.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/renderer_host/chrome_render_widget_host_view_mac_history_swiper.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/renderer_host/render_process_host_chrome_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/repost_form_warning_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/safe_browsing/download_protection_service.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/safe_browsing/safe_browsing_service_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/safe_browsing/srt_global_error_win.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/search/hotword_service.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/sessions/session_restore.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/sessions/session_restore_android.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/sessions/session_restore_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/sessions/tab_restore_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/signin/chrome_signin_helper.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/signin/easy_unlock_app_manager.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/signin/signin_ui_util.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ssl/chrome_security_state_model_client_browser_tests.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ssl/ssl_browser_tests.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/supervised_user/supervised_user_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/sync/test/integration/performance/sessions_sync_perf_test.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/tab_contents/view_source_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/task_manager/task_manager_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/android/bluetooth_chooser_android.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/android/infobars/confirm_infobar.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/android/infobars/save_password_infobar.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/android/infobars/update_password_infobar.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/android/usb_chooser_dialog_android.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/app_list/app_list_controller_delegate.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/app_list/app_list_controller_delegate_impl.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/app_list/app_list_view_delegate.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/app_list/start_page_service.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/apps/chrome_app_delegate.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/ash/cast_config_delegate_chromeos.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/ash/chrome_new_window_delegate.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/ash/chrome_shell_delegate.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/bluetooth/bluetooth_chooser_controller.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/bookmarks/bookmark_context_menu_controller.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/bookmarks/bookmark_context_menu_controller_unittest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/bookmarks/bookmark_utils_desktop.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/browser.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/browser_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/browser_command_controller.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/browser_commands.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/browser_focus_uitest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/browser_instant_controller.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/browser_navigator.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/browser_navigator_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/browser_navigator_browsertest_chromeos.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/browser_navigator_params.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/browser_tabrestore_browsertest.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/browser_tabstrip.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/chrome_pages.cc
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/applescript/tab_applescript.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/applescript/window_applescript.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/apps/native_app_window_cocoa_browsertest.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller_unittest.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/bookmarks/bookmark_folder_target.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller_unittest.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/browser_window_cocoa.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/browser_window_controller_browsertest.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac_browsertest.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/extensions/extension_install_view_controller.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/history_menu_cocoa_controller.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/omnibox/omnibox_popup_view_mac.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/one_click_signin_view_controller.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/profiles/avatar_menu_bubble_controller.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/profiles/profile_chooser_controller.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/profiles/profile_signin_confirmation_view_controller.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542bf6511/chrome/browser/ui/cocoa/tab_contents/sad_tab_controller.mm
[modify] https://crrev.com/3b04f32172f0e32b249c7d8b6592ccc542b
Project Member

Comment 12 by bugdroid1@chromium.org, Nov 10 2016

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

commit ab31e24367180e818edd6065f8b43277d99e6944
Author: nick <nick@chromium.org>
Date: Thu Nov 10 22:42:34 2016

RenderWidget: hoist synchronous IPC (needed to allocate routing IDs) out of Init methods.

RenderWidget now requires two Init phases that are always called, and always in this order:
 - InitRoutingID (formerly SetRoutingID)
 - Init (formerly DoInit).

Two distinct Init phases are needed to solve an ordering problem in RenderView.

Instead of Init being parameterized on a callback to allocate a
route ID, just do the IPC outside of Init, and pass the result in.

BUG= 627852 

Review-Url: https://codereview.chromium.org/2483593002
Cr-Commit-Position: refs/heads/master@{#431386}

[modify] https://crrev.com/ab31e24367180e818edd6065f8b43277d99e6944/content/renderer/render_view_impl.cc
[modify] https://crrev.com/ab31e24367180e818edd6065f8b43277d99e6944/content/renderer/render_widget.cc
[modify] https://crrev.com/ab31e24367180e818edd6065f8b43277d99e6944/content/renderer/render_widget.h
[modify] https://crrev.com/ab31e24367180e818edd6065f8b43277d99e6944/content/renderer/render_widget_fullscreen.cc
[modify] https://crrev.com/ab31e24367180e818edd6065f8b43277d99e6944/content/renderer/render_widget_fullscreen.h
[modify] https://crrev.com/ab31e24367180e818edd6065f8b43277d99e6944/content/renderer/render_widget_unittest.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Nov 11 2016

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

commit 7e80889b2b60079c4ddc70d5c527110057a16753
Author: dpranke <dpranke@chromium.org>
Date: Fri Nov 11 00:31:28 2016

Revert of RenderWidget: hoist synchronous IPC out of Init methods. (patchset #7 id:120001 of https://codereview.chromium.org/2483593002/ )

Reason for revert:
Well, this is dcheck'ing all over the place, congrats :).

Any number of builders are failing as a result, so I'm reverting this.

See https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac10.11%20%28dbg%29/builds/5832 for the main waterfall builder's failures.

Original issue's description:
> RenderWidget: hoist synchronous IPC (needed to allocate routing IDs) out of Init methods.
>
> RenderWidget now requires two Init phases that are always called, and always in this order:
>  - InitRoutingID (formerly SetRoutingID)
>  - Init (formerly DoInit).
>
> Two distinct Init phases are needed to solve an ordering problem in RenderView.
>
> Instead of Init being parameterized on a callback to allocate a
> route ID, just do the IPC outside of Init, and pass the result in.
>
> BUG= 627852 
>
> Committed: https://crrev.com/ab31e24367180e818edd6065f8b43277d99e6944
> Cr-Commit-Position: refs/heads/master@{#431386}

TBR=jcivelli@chromium.org,lfg@chromium.org,nick@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 627852 

Review-Url: https://codereview.chromium.org/2496633004
Cr-Commit-Position: refs/heads/master@{#431411}

[modify] https://crrev.com/7e80889b2b60079c4ddc70d5c527110057a16753/content/renderer/render_view_impl.cc
[modify] https://crrev.com/7e80889b2b60079c4ddc70d5c527110057a16753/content/renderer/render_widget.cc
[modify] https://crrev.com/7e80889b2b60079c4ddc70d5c527110057a16753/content/renderer/render_widget.h
[modify] https://crrev.com/7e80889b2b60079c4ddc70d5c527110057a16753/content/renderer/render_widget_fullscreen.cc
[modify] https://crrev.com/7e80889b2b60079c4ddc70d5c527110057a16753/content/renderer/render_widget_fullscreen.h
[modify] https://crrev.com/7e80889b2b60079c4ddc70d5c527110057a16753/content/renderer/render_widget_unittest.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Nov 11 2016

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

commit 4df698d8d1f107c9518f68c2b53213cc6c0086fa
Author: nick <nick@chromium.org>
Date: Fri Nov 11 20:39:23 2016

RenderWidget: hoist synchronous IPC (needed to allocate routing IDs) out of Init methods.

[ Re-land of https://codereview.chromium.org/2483593002/ -- r431386 ]

RenderWidget now requires two Init phases that are always called, and always in this order:
 - InitRoutingID (formerly SetRoutingID)
 - Init (formerly DoInit).

Two distinct Init phases are needed to solve an ordering problem in RenderView.

Instead of Init being parameterized on a callback to allocate a
route ID, just do the IPC outside of Init, and pass the result in.

BUG= 627852 

Review-Url: https://codereview.chromium.org/2498673002
Cr-Commit-Position: refs/heads/master@{#431627}

[modify] https://crrev.com/4df698d8d1f107c9518f68c2b53213cc6c0086fa/content/public/renderer/render_view_observer.cc
[modify] https://crrev.com/4df698d8d1f107c9518f68c2b53213cc6c0086fa/content/renderer/render_view_impl.cc
[modify] https://crrev.com/4df698d8d1f107c9518f68c2b53213cc6c0086fa/content/renderer/render_widget.cc
[modify] https://crrev.com/4df698d8d1f107c9518f68c2b53213cc6c0086fa/content/renderer/render_widget.h
[modify] https://crrev.com/4df698d8d1f107c9518f68c2b53213cc6c0086fa/content/renderer/render_widget_fullscreen.cc
[modify] https://crrev.com/4df698d8d1f107c9518f68c2b53213cc6c0086fa/content/renderer/render_widget_fullscreen.h
[modify] https://crrev.com/4df698d8d1f107c9518f68c2b53213cc6c0086fa/content/renderer/render_widget_unittest.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Nov 15 2016

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

commit 8331f8ad9053ee1effd499ad29b5a806d9959ef4
Author: nick <nick@chromium.org>
Date: Tue Nov 15 20:42:45 2016

RenderWidget: make routing_id be a parameter of the ctor

This fixes a longstanding issue where, in layout-test-specific code, a
RenderViewObserver was instantiated before the RenderView was fully
initialized with a routing ID. RenderViewObserver internally caches
the routing id, so that's dangerous.

BUG= 627852 

Review-Url: https://codereview.chromium.org/2493293002
Cr-Commit-Position: refs/heads/master@{#432246}

[modify] https://crrev.com/8331f8ad9053ee1effd499ad29b5a806d9959ef4/content/public/renderer/render_view_observer.cc
[modify] https://crrev.com/8331f8ad9053ee1effd499ad29b5a806d9959ef4/content/renderer/mus/compositor_mus_connection_unittest.cc
[modify] https://crrev.com/8331f8ad9053ee1effd499ad29b5a806d9959ef4/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/8331f8ad9053ee1effd499ad29b5a806d9959ef4/content/renderer/render_view_impl.cc
[modify] https://crrev.com/8331f8ad9053ee1effd499ad29b5a806d9959ef4/content/renderer/render_widget.cc
[modify] https://crrev.com/8331f8ad9053ee1effd499ad29b5a806d9959ef4/content/renderer/render_widget.h
[modify] https://crrev.com/8331f8ad9053ee1effd499ad29b5a806d9959ef4/content/renderer/render_widget_fullscreen.cc
[modify] https://crrev.com/8331f8ad9053ee1effd499ad29b5a806d9959ef4/content/renderer/render_widget_fullscreen.h
[modify] https://crrev.com/8331f8ad9053ee1effd499ad29b5a806d9959ef4/content/renderer/render_widget_fullscreen_pepper.cc
[modify] https://crrev.com/8331f8ad9053ee1effd499ad29b5a806d9959ef4/content/renderer/render_widget_fullscreen_pepper.h
[modify] https://crrev.com/8331f8ad9053ee1effd499ad29b5a806d9959ef4/content/renderer/render_widget_unittest.cc
[modify] https://crrev.com/8331f8ad9053ee1effd499ad29b5a806d9959ef4/content/test/layouttest_support.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 22 2016

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

commit f7b382233d382060eb1b352aa1ea9dffc36a9e44
Author: nick <nick@chromium.org>
Date: Tue Nov 22 21:59:35 2016

RenderWidget/RenderView: Introduce a callback into the opener RenderViewHost,
that is executed at WebWidgetClient::show() time.  This callback fully replaces
the |opener_id_| and |opened_by_user_gesture_| data members.

Ultimately, there are three variants of ShowCallback: one each to send
ViewHostMsg_ShowWidget, ViewHostMsg_ShowFullscreenWidget, and
ViewHostMsg_ShowView. Encapsulating these in a callback will make it possible to
port these messages from RenderView to RenderFrame independently, without
further complexity in RenderWidget.

This rearrangement also has the benefit of making the Send() happen on the
object that the message is actually routed by. That should help with later
mojofication.

Remove RenderWidgetFullscreen, which contained no real code after
moving the body of ::show() into the callback. Instead, have
RenderWidgetFullscreenPepper (its only subclass) directly derive from
RenderWidget.

Android Webview's HandleNavigation path had an odd dependency on
|opener_id_| that does not look correct. I've tried to preserve
its behavior with this CL, since this path is deprecated.

BUG= 627852 

Review-Url: https://codereview.chromium.org/2498463002
Cr-Commit-Position: refs/heads/master@{#433999}

[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/android_webview/renderer/aw_content_renderer_client.cc
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/android_webview/renderer/aw_content_renderer_client.h
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/common/swapped_out_messages.cc
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/public/renderer/content_renderer_client.cc
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/public/renderer/content_renderer_client.h
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/public/test/render_view_test.cc
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/renderer/BUILD.gn
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/renderer/render_view_impl.cc
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/renderer/render_view_impl.h
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/renderer/render_widget.cc
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/renderer/render_widget.h
[delete] https://crrev.com/53f3802c16e36675a690990d8d8b616e31817c0f/content/renderer/render_widget_fullscreen.cc
[delete] https://crrev.com/53f3802c16e36675a690990d8d8b616e31817c0f/content/renderer/render_widget_fullscreen.h
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/renderer/render_widget_fullscreen_pepper.cc
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/renderer/render_widget_fullscreen_pepper.h
[modify] https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44/content/renderer/render_widget_unittest.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Nov 28 2016

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

commit f5e618c7175237cd27bfb6e94fd4fa066367e36a
Author: nick <nick@chromium.org>
Date: Mon Nov 28 22:38:37 2016

Fix WebContentsDelegate::ShouldCreateWebContents implementations.

The problem was that |route_id| is scoped to a particular child process,
but the process was not being plumbed in correctly, resulting in a
situation where we would create (1) a RenderFrameHost with a routing ID
that might later be reused, and also, (2) a RenderFrameHost with a
plumbed-in routing ID, but no corresponding extant RenderFrame in the
child process.

The solution involves plumbing in the actual SiteInstance, and only
using |route_id| if we don't change to a different SiteInstance.

BUG= 627852 
TBR=brettw@chromium.org

Review-Url: https://codereview.chromium.org/2521793003
Cr-Commit-Position: refs/heads/master@{#434743}

[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/chrome/browser/android/document/document_web_contents_delegate.cc
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/chrome/browser/android/document/document_web_contents_delegate.h
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/chrome/browser/chromeos/first_run/drive_first_run_controller.cc
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/chrome/browser/extensions/api/tab_capture/offscreen_tab.cc
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/chrome/browser/extensions/api/tab_capture/offscreen_tab.h
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/chrome/browser/prerender/prerender_contents.cc
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/chrome/browser/ui/browser.cc
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/chrome/browser/ui/browser.h
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/components/offline_pages/content/background_loader/background_loader_contents.cc
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/components/offline_pages/content/background_loader/background_loader_contents.h
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/components/offline_pages/content/background_loader/background_loader_contents_unittest.cc
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/components/web_contents_delegate_android/web_contents_delegate_android.cc
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/components/web_contents_delegate_android/web_contents_delegate_android.h
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/content/public/browser/web_contents_delegate.cc
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/content/public/browser/web_contents_delegate.h
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/extensions/browser/guest_view/extension_options/extension_options_guest.h
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/ui/keyboard/content/keyboard_ui_content.cc
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/ui/views/controls/webview/web_dialog_view.cc
[modify] https://crrev.com/f5e618c7175237cd27bfb6e94fd4fa066367e36a/ui/views/controls/webview/web_dialog_view.h

Still able to reproduce the issue in Win-10, Mac 10.12.1 and Ubuntu 14.04 using latest stable #55.0.2883.75 and latest canary #57.0.2944.0.

Comment 20 by nick@chromium.org, Jan 6 2017

Status: Fixed (was: Started)
I've verified that this is fixed by r441781, which will be in the next canary.

Chromium build @ r441777 => six sad-tab popups due to renderer kill
Chromium build @ r441796 => popup stay alive after navigating away

Sign in to add a comment