Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do not update action visibility if previous popup owner is null #11462

Merged
merged 1 commit into from
Dec 8, 2021

Conversation

zenparsing
Copy link
Collaborator

@zenparsing zenparsing commented Dec 7, 2021

Resolves brave/brave-browser#19958

Submitter Checklist:

  • I confirm that no security/privacy review is needed, or that I have requested one
  • There is a ticket for my issue
  • Used Github auto-closing keywords in the PR description above
  • Wrote a good PR/commit description
  • Added appropriate labels (QA/Yes or QA/No; release-notes/include or release-notes/exclude; OS/...) to the associated issue
  • Checked the PR locally: npm run test -- brave_browser_tests, npm run test -- brave_unit_tests, npm run lint, npm run gn_check, npm run tslint
  • Ran git rebase master (if needed)

Reviewer Checklist:

  • A security review is not needed, or a link to one is included in the PR description
  • New files have MPL-2.0 license header
  • Adequate test coverage exists to prevent regressions
  • Major classes, functions and non-trivial code blocks are well-commented
  • Changes in component dependencies are properly reflected in gn
  • Code follows the style guide
  • Test plan is specified in PR before merging

After-merge Checklist:

Test Plan:

See brave/brave-browser#19958

@zenparsing zenparsing force-pushed the ksmith-popup-owner-crash branch 3 times, most recently from 4587a4e to f44142b Compare December 7, 2021 14:18
@zenparsing zenparsing force-pushed the ksmith-popup-owner-crash branch from f44142b to c4357eb Compare December 8, 2021 15:56
auto* previous_owner = popup_owner_;
DCHECK(previous_owner);
popup_owner_ = nullptr;
UpdateActionVisibility(previous_owner->GetId());
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The stack indicates that the crash was occurring on this line; it seems that there are situations where the DCHECK(previous_owner) assumption is invalid. This change checks for a valid value at runtime before calling GetId() on it.

Copy link
Contributor

@emerick emerick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@zenparsing zenparsing merged commit 6b6625b into master Dec 8, 2021
@zenparsing zenparsing deleted the ksmith-popup-owner-crash branch December 8, 2021 20:51
@zenparsing zenparsing added this to the 1.35.x - Nightly milestone Dec 8, 2021
brave-builds pushed a commit that referenced this pull request Dec 8, 2021
@kjozwiak
Copy link
Member

Verification PASSED on Win 11 x64 using the following build:

Brave | 1.35.17 Chromium: 97.0.4692.36 (Official Build) nightly (64-bit)
-- | --
Revision | 747e0a0f19c13ca6ee136200f5b097448ae4892f-refs/branch-heads/4692@{#607}
OS | Windows 11 Version 21H2 (Build 22000.348)

This one is hard to reproduce in general but went through the STR/Cases outlined via brave/brave-browser#19958 (comment) several times and never ran into a crash.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

BraveActionsContainer::SetPopupOwner crash when disabling shield on certain websites
3 participants