commit | e021757eb27337a36c3583b4b674de58735aee12 | [log] [tgz] |
---|---|---|
author | Yue Zhang <yuezhanggg@chromium.org> | Wed Jan 11 17:16:59 2023 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Jan 11 17:16:59 2023 |
tree | 2ca9e6ff14ce2a7ef510ecf4f7c5467af71e7efe | |
parent | dddd06e4810a88c0ba3e31c5e071b8f77c293351 [diff] |
[ChromeCart] Always populate CommerceHint interface in binder map A renderer crash has been observed for CommerceHintObserver because under certain circumstances, CommerceHintAgent in renderer is created and seek to communicate with browser process via CommerceHintObserver interface[1], only to find that there is no binder for this interface in current frame. This could be due to that we conditionally[2] populate the CommerceHintObserver binder, and the condition might fall inconsistent with the condition for CommerceHintAgent creation (i.e. CommerceHintAgent is created but the binder is not populated). This CL tries to fix this issue by always populating the binder for CommerceHintObserver interface; in the meantime, move the condition checks to the binding function so that no actual communication will happen if the condition fails. This CL shouldn't introduce any user visible changes. [1] https://source.chromium.org/chromium/chromium/src/+/main:chrome/renderer/cart/commerce_hint_agent.cc;l=265;bpv=1;bpt=0;drc=c3764abf223906125b09af39b411eaed49628efb [2] https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/chrome_browser_interface_binders.cc;l=694-698;bpv=1;bpt=0;drc=62ceca1978aa627a52a66a5dd11787a91871031b Bug: 1298709 Change-Id: Ib85b6c8c2fbfbb00b15814084bc88a1fe73b7455 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4149630 Reviewed-by: Wei-Yin Chen <wychen@chromium.org> Commit-Queue: Yue Zhang <yuezhanggg@chromium.org> Reviewed-by: Alex Gough <ajgo@chromium.org> Cr-Commit-Position: refs/heads/main@{#1091378}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.