summaryrefslogtreecommitdiffstats
path: root/courgette/disassembler.h
diff options
context:
space:
mode:
authorzea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-04 13:43:12 +0000
committerzea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-04 13:43:12 +0000
commit13daae6db93408e08e373f9ca911d371120cfab6 (patch)
tree8f91e6fb9b671b01b8ea3d5748d9dd1fb4a571e6 /courgette/disassembler.h
parent9fd7c4ffcdeb7149f863824094994ca7ac32486a (diff)
downloadchromium_src-13daae6db93408e08e373f9ca911d371120cfab6.zip
chromium_src-13daae6db93408e08e373f9ca911d371120cfab6.tar.gz
chromium_src-13daae6db93408e08e373f9ca911d371120cfab6.tar.bz2
[Sync] Fix Session's handling of windows.
We previously made some false assumptions about the order of window id's, and freed memory for windows inappropriately. This would lead to memory corruption, usually seen in the form of accesses to bad TabNavigation objects in the session model associator. This patch completely rewrites how we handle synced windows. Because there's no real order to windows, we now store them in a map. In addition, because tabs can be moved between windows and we aren't explicitly told which windows were closed or which tabs were closed, we now have explicit tracking of the usage of windows and tabs, coupled with a garbage collection phase that frees those tabs/windows that weren't used during the tracking (see SyncedSessionTracker::ResetSessionTracking and CleanupSession methods). Due to the change in how we store windows, the integration tests and the sessions ui had to be modified, but the real changes are within the session model associator and the synced session tracker. Also, undisabled a test that should be working. BUG=94124, 81104 TEST=unit_tests; Opening windows with valid tabs, waiting for sync, closing those windows. Review URL: http://codereview.chromium.org/7966020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103878 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'courgette/disassembler.h')
0 files changed, 0 insertions, 0 deletions