Updates:
Status: Started
Cc: [email protected]
Comment #2 on issue 5471 by [email protected]: Chromium: Browser crash @
PasswordFormManager::IsNewLogin()
http://code.google.com/p/chromium/issues/detail?id=5471
Problem stems from new infobar code. The "pending_save_manager_" used to
only be non-
null between the time the user hits 'Submit' on a form and we either 1)
show an
infobar, or 2) update an existing login. Now, instead, the member only gets
reset on
InfoBarClosed(), so we have this unfortunate series of events:
--ExpireInfoBar, removes delegate from infobar_delegates_
--WebContents::DidStopLoading, causes PasswordManager to call AddInfoBar
because it
has a pending_save_manager_ (and AddInfoBar succeeds because there is
no "equal"
delegate already in the set)
--Animation terminates, which calls InfoBarClosed(), and resets the
pending_save_manager_
--Now we have an infobar and a null pending_save_manager_, so clicking
Accept/Cancel
will deref 0 and epically fail!
One solution is to override InfoBarDelegate::ShouldExpire and reset
pending_save_manager_ if super.ShouldExpire returns true (and return that
value), but
that seems hacky. Another option is to make sure we only AddInfoBar once
ever for a
given pending_save_manager_. I'll try this out.
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Chromium-bugs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/chromium-bugs?hl=en
-~----------~----~----~----~------~----~------~--~---