|
|
Chromium Code Reviews|
Created:
3 years, 9 months ago by Reilly Grant (use Gerrit) Modified:
3 years, 9 months ago Reviewers:
msw CC:
chromium-reviews, tfarina, markusheintz_, msramek+watch_chromium.org, raymes+watch_chromium.org Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionForce chooser bubbles to close synchronously.
This fixes a potential use-after-free because UsbChooserController holds
a raw pointer to the RenderFrameHost and so must be destroyed as part of
RenderFrameHost destruction.
BUG=697486
Review-Url: https://codereview.chromium.org/2724903008
Cr-Commit-Position: refs/heads/master@{#454989}
Committed: https://chromium.googlesource.com/chromium/src/+/692db28a688889a7946b04debfd890673ae2269f
Patch Set 1 #Patch Set 2 : Make ChooserBubbleUiView a WidgetObserver. #
Total comments: 4
Patch Set 3 : Address msw@'s nits. #
Messages
Total messages: 27 (15 generated)
The CQ bit was checked by reillyg@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
reillyg@chromium.org changed reviewers: + msw@chromium.org
Please take a look.
lgtm
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Make ChooserBubbleUiView a WidgetObserver.
Please take another look. To close the widget the caller should be a WidgetObserver so that it doesn't close the widget after it has already been destroyed.
The CQ bit was checked by reillyg@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
lgtm with nits https://codereview.chromium.org/2724903008/diff/20001/chrome/browser/ui/views... File chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc (right): https://codereview.chromium.org/2724903008/diff/20001/chrome/browser/ui/views... chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc:212: if (!widget->IsClosed()) { optional nit: If you know that GetWidget will never return null here, then consider combining this with the conditional above: if (bubble_view_ && ! bubble_view_->GetWidget()->IsClosed) { otherwise, check for non-null here. https://codereview.chromium.org/2724903008/diff/20001/chrome/browser/ui/views... File chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.h (right): https://codereview.chromium.org/2724903008/diff/20001/chrome/browser/ui/views... chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.h:17: class Widget; nit: not necessary
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
https://codereview.chromium.org/2724903008/diff/20001/chrome/browser/ui/views... File chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc (right): https://codereview.chromium.org/2724903008/diff/20001/chrome/browser/ui/views... chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc:212: if (!widget->IsClosed()) { On 2017/03/04 03:22:59, msw wrote: > optional nit: If you know that GetWidget will never return null here, then > consider combining this with the conditional above: > if (bubble_view_ && ! bubble_view_->GetWidget()->IsClosed) { > otherwise, check for non-null here. Done. https://codereview.chromium.org/2724903008/diff/20001/chrome/browser/ui/views... File chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.h (right): https://codereview.chromium.org/2724903008/diff/20001/chrome/browser/ui/views... chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.h:17: class Widget; On 2017/03/04 03:22:59, msw wrote: > nit: not necessary Done.
Address msw@'s nits.
The CQ bit was checked by reillyg@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from msw@chromium.org Link to the patchset: https://codereview.chromium.org/2724903008/#ps40001 (title: "Address msw@'s nits.")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by reillyg@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch.
Bot data: {"patchset_id": 40001, "attempt_start_ts": 1488840836765870,
"parent_rev": "2fd0d88d674246f33b92619525c101630dd4f77e", "commit_rev":
"692db28a688889a7946b04debfd890673ae2269f"}
Message was sent while issue was closed.
Description was changed from ========== Force chooser bubbles to close synchronously. This fixes a potential use-after-free because UsbChooserController holds a raw pointer to the RenderFrameHost and so must be destroyed as part of RenderFrameHost destruction. BUG=697486 ========== to ========== Force chooser bubbles to close synchronously. This fixes a potential use-after-free because UsbChooserController holds a raw pointer to the RenderFrameHost and so must be destroyed as part of RenderFrameHost destruction. BUG=697486 Review-Url: https://codereview.chromium.org/2724903008 Cr-Commit-Position: refs/heads/master@{#454989} Committed: https://chromium.googlesource.com/chromium/src/+/692db28a688889a7946b04debfd8... ==========
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as https://chromium.googlesource.com/chromium/src/+/692db28a688889a7946b04debfd8...
Message was sent while issue was closed.
A revert of this CL (patchset #3 id:40001) has been created in https://codereview.chromium.org/2736793003/ by reillyg@chromium.org. The reason for reverting is: Reverting this patchset because it was insufficiently tested and introduced a new bug.. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
