|
|
Fix bug where transient pages would miss events dispatched while it was
unloading.
The fix is a 2-parter:
Part 1: lazy_background_queue.* now checks if the background page is unloading before allowing a task to run. If it is unloading, we wait until the page unloads, then reload it.
Part 2: Part 1 exposed the problem which I had previously outlined in extension_process_manager.cc:403 - after we reload the page, we occasionally received messages from the renderer to decrement the keepalive count for the old page, throwing the count out of balance. The fix is to make sure we decrement keepalive counts only if the host we incremented them for is still active.
BUG= 123243
TEST=no
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=133079
Total comments: 20
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+307 lines, -226 lines) |
Patch |
 |
M |
chrome/browser/extensions/extension_event_router.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_event_router.cc
|
View
|
1
|
1 chunk |
+16 lines, -9 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_function.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_host.h
|
View
|
1
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_host.cc
|
View
|
1
|
3 chunks |
+27 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_message_service.cc
|
View
|
|
11 chunks |
+51 lines, -38 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_process_manager.h
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_process_manager.cc
|
View
|
|
2 chunks |
+10 lines, -9 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/lazy_background_task_queue.h
|
View
|
1
|
4 chunks |
+10 lines, -1 line |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/lazy_background_task_queue.cc
|
View
|
1
|
5 chunks |
+43 lines, -17 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/renderer_host/chrome_render_message_filter.h
|
View
|
|
2 chunks |
+0 lines, -3 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/renderer_host/chrome_render_message_filter.cc
|
View
|
|
4 chunks |
+0 lines, -41 lines |
0 comments
|
Download
|
 |
M |
chrome/common/extensions/extension_messages.h
|
View
|
|
2 chunks |
+3 lines, -7 lines |
0 comments
|
Download
|
 |
M |
chrome/renderer/extensions/extension_custom_bindings.cc
|
View
|
1
|
2 chunks |
+16 lines, -86 lines |
0 comments
|
Download
|
 |
M |
chrome/renderer/extensions/extension_dispatcher.cc
|
View
|
1
|
4 chunks |
+23 lines, -13 lines |
0 comments
|
Download
|
 |
M |
chrome/renderer/extensions/extension_helper.h
|
View
|
|
1 chunk |
+12 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/renderer/extensions/extension_helper.cc
|
View
|
1
|
2 chunks |
+87 lines, -0 lines |
0 comments
|
Download
|
Total messages: 6 (0 generated)
|