Bug 127019 - Crash when multiple WebView instances have different PrivateBrowsing settings
Summary: Crash when multiple WebView instances have different PrivateBrowsing settings
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit API (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Alexey Proskuryakov
URL:
Keywords: InRadar
Depends on: 127053
Blocks:
  Show dependency treegraph
 
Reported: 2014-01-14 16:35 PST by Alexey Proskuryakov
Modified: 2014-01-15 14:31 PST (History)
5 users (show)

See Also:


Attachments
proposed fix (5.55 KB, patch)
2014-01-14 16:39 PST, Alexey Proskuryakov
no flags Details | Formatted Diff | Diff
updated patch (6.66 KB, patch)
2014-01-15 12:50 PST, Alexey Proskuryakov
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Proskuryakov 2014-01-14 16:35:10 PST
In WebKit1, we don't have the new WebKit2 logic that keeps track of preferences, and only deletes private browsing sessions when no pages use private browsing any more.

This causes crashes for apps that have views in different modes.

<rdar://problem/15484194>
Comment 1 Alexey Proskuryakov 2014-01-14 16:39:01 PST
Created attachment 221214 [details]
proposed fix
Comment 2 WebKit Commit Bot 2014-01-14 23:14:30 PST
Comment on attachment 221214 [details]
proposed fix

Clearing flags on attachment: 221214

Committed r162054: <http://trac.webkit.org/changeset/162054>
Comment 3 WebKit Commit Bot 2014-01-14 23:14:32 PST
All reviewed patches have been landed.  Closing bug.
Comment 4 Csaba Osztrogonác 2014-01-15 08:19:17 PST
(In reply to comment #3)
> All reviewed patches have been landed.  Closing bug.

It caused crashes on Apple Mac debug bots.
Comment 5 WebKit Commit Bot 2014-01-15 09:38:17 PST
Re-opened since this is blocked by bug 127053
Comment 6 Alexey Proskuryakov 2014-01-15 09:44:16 PST
Rolled out in <https://trac.webkit.org/r162075>.
Comment 7 Alexey Proskuryakov 2014-01-15 12:50:55 PST
Created attachment 221295 [details]
updated patch

I didn't realize that preferences weren't cached in _private->values unless they were changed in the process. So, other processes could change the private browsing preference behind the back of our session tracker, and parallel DumpRenderTrees did.

It's a separate bug that DRT writes out persistent preferences.
Comment 8 WebKit Commit Bot 2014-01-15 13:26:15 PST
Comment on attachment 221295 [details]
updated patch

Clearing flags on attachment: 221295

Committed r162087: <http://trac.webkit.org/changeset/162087>
Comment 9 WebKit Commit Bot 2014-01-15 13:26:17 PST
All reviewed patches have been landed.  Closing bug.
Comment 10 Alexey Proskuryakov 2014-01-15 14:31:29 PST
Added a null check to fix Safari crashes in <http://trac.webkit.org/r162091>.