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

Issue 602523 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

Clarify WebUIMessageHandler CallJavascript semantics

Project Member Reported by tommycli@chromium.org, Apr 12 2016

Issue description

Currently some bad things can happen:

 1. WebUIMessageHandlers can call JavaScript before the page's script is ready to receive these calls. (Sometimes observers that trigger JavaScript events are registered before the page is actually ready)

 2. If the page is reloaded, the handler doesn't (always) know. This can be detected by using RenderViewReused, but isn't always.

Currently developers who write a new WebUIMessageHandler need to be very careful and follow a set of unenforced rules to prevent bad things from happening.

This bug is to add CHECKs and/or function changes to make it harder to write an incorrect handler.
 

Comment 1 by dbeam@chromium.org, Apr 12 2016

Cc: jochen@chromium.org carlosk@chromium.org nasko@chromium.org creis@chromium.org

Comment 2 by dbeam@chromium.org, Apr 12 2016

Summary: Clarify WebUIMessageHandler CallJavascript semantics (was: Clarify WebUIMessageHandler CallJavaScript semantics)

Comment 3 by dbeam@chromium.org, Apr 12 2016

Cc: est...@chromium.org
Hey all on CC list:

I request comments on this doc with a proposed solution. You will need your chromium.org account to view:

https://docs.google.com/a/chromium.org/document/d/1z1diKvwgMmn4YFzlW1kss0yHmo8yy68TN_FUhUzRz7Q/edit?usp=sharing

Hey guys, and especially Jochen,

Can I have a review of the above design doc? I'd like to get an LGTM on that before proceeding further.

For reference: here's a patch that implements what the doc discusses: https://codereview.chromium.org/1896463003/

Comments can be inline in the doc or here.

Thanks,

Tommy
Project Member

Comment 6 by bugdroid1@chromium.org, Apr 22 2016

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

commit b0e0efcaf8951d0186ea75c1258c89d9bcb86822
Author: tommycli <tommycli@chromium.org>
Date: Fri Apr 22 19:58:52 2016

WebUI: Add JavaScript lifecycle-control to WebUIMessageHandler.

This patch:
 1) Adds AllowJavascript call to WebUIMessageHandler.
 2) Adds JavaScript lifecycle callbacks OnJavascriptAllowed and
    OnJavascriptDisallowed.
 3) Adds a CHECKed CallJavascriptFunction method.
 4) Updates classes previously using the RenderViewReused method
    to the new OnJavascriptDisallowed callback.

Design doc: https://docs.google.com/a/chromium.org/document/d/1z1diKvwgMmn4YFzlW1kss0yHmo8yy68TN_FUhUzRz7Q/edit?usp=sharing

BUG= 602523 

Review URL: https://codereview.chromium.org/1896463003

Cr-Commit-Position: refs/heads/master@{#389218}

[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler.cc
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler.h
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/chrome/browser/ui/webui/md_downloads/md_downloads_dom_handler_unittest.cc
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler.cc
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler.h
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/chrome/browser/ui/webui/settings/chromeos/easy_unlock_settings_handler_unittest.cc
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/chrome/browser/ui/webui/settings/font_handler.cc
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/chrome/browser/ui/webui/settings/font_handler.h
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/chrome/browser/ui/webui/settings/profile_info_handler.cc
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/chrome/browser/ui/webui/settings/profile_info_handler.h
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/chrome/browser/ui/webui/settings/settings_page_ui_handler.h
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/chrome/browser/ui/webui/settings/settings_startup_pages_handler.cc
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/chrome/browser/ui/webui/settings/settings_startup_pages_handler.h
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/content/browser/webui/web_ui_impl.cc
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/content/browser/webui/web_ui_impl.h
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/content/browser/webui/web_ui_message_handler.cc
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/content/public/browser/web_ui.h
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/content/public/browser/web_ui_message_handler.h
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/content/public/test/test_web_ui.cc
[modify] https://crrev.com/b0e0efcaf8951d0186ea75c1258c89d9bcb86822/content/public/test/test_web_ui.h

Project Member

Comment 7 by bugdroid1@chromium.org, May 11 2016

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

commit f7d960dba900ba8474ac50fa4225c79ba6ca1d52
Author: tommycli <tommycli@chromium.org>
Date: Wed May 11 18:21:46 2016

MD Settings: Update some Settings handlers to use new JS lifecycle management.

This doesn't fix all of them, but fixes ~35% of them.

BUG= 602523 

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

[modify] https://crrev.com/f7d960dba900ba8474ac50fa4225c79ba6ca1d52/chrome/browser/ui/webui/settings/appearance_handler.cc
[modify] https://crrev.com/f7d960dba900ba8474ac50fa4225c79ba6ca1d52/chrome/browser/ui/webui/settings/appearance_handler.h
[modify] https://crrev.com/f7d960dba900ba8474ac50fa4225c79ba6ca1d52/chrome/browser/ui/webui/settings/certificates_handler.cc
[modify] https://crrev.com/f7d960dba900ba8474ac50fa4225c79ba6ca1d52/chrome/browser/ui/webui/settings/chromeos/change_picture_handler.cc
[modify] https://crrev.com/f7d960dba900ba8474ac50fa4225c79ba6ca1d52/chrome/browser/ui/webui/settings/chromeos/change_picture_handler.h
[modify] https://crrev.com/f7d960dba900ba8474ac50fa4225c79ba6ca1d52/chrome/browser/ui/webui/settings/chromeos/device_keyboard_handler.cc
[modify] https://crrev.com/f7d960dba900ba8474ac50fa4225c79ba6ca1d52/chrome/browser/ui/webui/settings/chromeos/device_keyboard_handler.h
[modify] https://crrev.com/f7d960dba900ba8474ac50fa4225c79ba6ca1d52/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc
[modify] https://crrev.com/f7d960dba900ba8474ac50fa4225c79ba6ca1d52/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.h

Project Member

Comment 8 by bugdroid1@chromium.org, May 19 2016

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

commit 7286af58181e605f3ba1100f5af3ce74961b6361
Author: tommycli <tommycli@chromium.org>
Date: Thu May 19 20:49:41 2016

MD Settings: Convert C++ handlers to be JavaScript-lifecycle aware.

This patch converts the rest of them.

BUG= 602523 

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

[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/certificates_handler.cc
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/certificates_handler.h
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/downloads_handler.h
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/languages_handler.h
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/native_certificates_handler.h
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/profile_info_handler.cc
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/reset_settings_handler.cc
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/reset_settings_handler.h
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/search_engines_handler.cc
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/search_engines_handler.h
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/settings_default_browser_handler.cc
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/settings_default_browser_handler.h
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/settings_manage_profile_handler.cc
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/settings_manage_profile_handler.h
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/settings_manage_profile_handler_unittest.cc
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/settings_page_ui_handler.cc
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/settings_page_ui_handler.h
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/site_settings_handler.cc
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/site_settings_handler.h
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/site_settings_handler_unittest.cc
[modify] https://crrev.com/7286af58181e605f3ba1100f5af3ce74961b6361/chrome/browser/ui/webui/settings/system_handler.h

Project Member

Comment 9 by bugdroid1@chromium.org, Jun 6 2016

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

commit 88035384762c47b218d81fbe9cdda249efda28d9
Author: tommycli <tommycli@chromium.org>
Date: Mon Jun 06 18:26:19 2016

Rename WebUI::CallJavascriptFunction to WebUI::CallJavascriptFunctionUnsafe

This is just a mechanical rename and reformat. The rename is good because:

 1) WebUI::CallJavascriptFunctionUnsafe is indeed unsafe and the caller
    is responsible for knowing when it is safe to call.

 2) WebUIMessageHandler::CallJavascriptFunction is the new preferred way.

 3) The change makes the above two points clear to coders not to use
    WebUI directly unless they know what they are doing.

In the future, WebUI::CallJavascriptFunctionUnsafe may become a private
member with a few friend classes.

See design doc for more details:
https://docs.google.com/a/chromium.org/document/d/1z1diKvwgMmn4YFzlW1kss0yHmo8yy68TN_FUhUzRz7Q/edit?usp=sharing

BUG= 602523 

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

[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/ash/content/keyboard_overlay/keyboard_overlay_delegate.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/chromeos/login/app_launch_signin_screen.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/chromeos/login/kiosk_browsertest.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/chromeos/login/lock/webui_screen_locker.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/chromeos/login/ui/webui_login_view.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/printing/print_preview_pdf_generated_browsertest.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/app_list/start_page_service.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/signin_view_controller_delegate.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/app_launcher_login_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/browsing_history_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/certificate_viewer_webui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/choose_mobile_network_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/cryptohome_web_ui_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/drive_internals_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/first_run/first_run_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/login/base_screen_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/login/base_screen_handler.h
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/login/enable_debugging_screen_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/login/eula_screen_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/login/inline_login_handler_chromeos.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/login/network_dropdown.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/mobile_setup_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/network_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/nfc_debug_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/power_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/set_time_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/sim_unlock_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/chromeos/slow_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/components_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/conflicts_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/copresence_ui_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/crashes_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/device_log_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/domain_reliability_internals_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/extensions/chromeos/kiosk_apps_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/extensions/extension_loader_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/flags_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/flash_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/foreign_session_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/gcm_internals_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/help/help_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/history_login_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/identity_internals_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/inspect_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/instant_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/invalidations_message_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/local_discovery/local_discovery_ui_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/local_state/local_state_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/md_downloads/downloads_list_tracker.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/media/webrtc_logs_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/media_router/media_router_webui_message_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/nacl_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/net_export_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/net_internals/net_internals_ui_browsertest.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/ntp/favicon_webui_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/ntp/new_tab_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/autofill_options_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/automatic_settings_reset_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/browser_options_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/certificate_manager_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/chromeos/date_time_options_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/chromeos/display_options_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/chromeos/display_overscan_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/chromeos/keyboard_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/chromeos/pointer_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/chromeos/power_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/chromeos/proxy_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/clear_browser_data_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/content_settings_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/cookies_view_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/core_options_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/create_profile_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/easy_unlock_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/font_settings_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/geolocation_options_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/handler_options_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/home_page_overlay_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/import_data_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/language_dictionary_overlay_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/language_options_handler_common.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/manage_profile_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/media_devices_selection_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/options_browsertest.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/options_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/password_manager_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/reset_profile_settings_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/search_engine_manager_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/startup_pages_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/supervised_user_create_confirm_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/supervised_user_import_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/options/sync_setup_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/password_manager_internals/password_manager_internals_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/policy_material_design_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/policy_ui_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/popular_sites_internals_message_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/predictors/predictors_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/print_preview/print_preview_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/profiler_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/quota_internals/quota_internals_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/signin/inline_login_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/signin/signin_create_profile_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/signin/signin_supervised_user_import_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/signin/sync_confirmation_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/signin_internals_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/snippets_internals_message_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/supervised_user_internals_message_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/sync_file_system_internals/dump_database_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/sync_file_system_internals/extension_statuses_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/sync_file_system_internals/file_metadata_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/sync_file_system_internals/sync_file_system_internals_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/sync_internals_message_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/theme_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/translate_internals/translate_internals_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/uber/uber_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/user_actions/user_actions_ui_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/version_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/version_handler_chromeos.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/browser/ui/webui/voice_search_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/test/base/web_ui_browser_test_browsertest.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/chrome/test/data/webui/async_gen.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/components/dom_distiller/webui/dom_distiller_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/components/proximity_auth/webui/proximity_auth_webui_handler.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/content/browser/accessibility/accessibility_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/content/browser/appcache/appcache_internals_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/content/browser/gpu/gpu_internals_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/content/browser/indexed_db/indexed_db_internals_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/content/browser/service_worker/service_worker_internals_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/content/browser/tracing/tracing_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/content/browser/webui/web_ui_impl.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/content/browser/webui/web_ui_impl.h
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/content/public/browser/web_ui.h
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/content/public/browser/web_ui_message_handler.h
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/content/public/test/test_web_ui.cc
[modify] https://crrev.com/88035384762c47b218d81fbe9cdda249efda28d9/content/public/test/test_web_ui.h

Fixed?
Status: Fixed (was: Untriaged)
Probably "fixed enough". It's not perfect, but I think we've fixed all the Settings crashes.

Since the future is Mojo anyways, I haven't been investing any further to make it 'perfect'.

Sign in to add a comment