diff options
author | scheib@chromium.org <scheib@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-14 22:25:37 +0000 |
---|---|---|
committer | scheib@chromium.org <scheib@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-14 22:25:37 +0000 |
commit | 77a538f344f505567429842fc0b943e67213da21 (patch) | |
tree | 2443cae9fddf6dc3eef695b668467895d96885f4 /extensions/common/extension_messages.h | |
parent | 2fa85baa772914bc2409fb632e9dcd34f96a6920 (diff) | |
download | chromium_src-77a538f344f505567429842fc0b943e67213da21.zip chromium_src-77a538f344f505567429842fc0b943e67213da21.tar.gz chromium_src-77a538f344f505567429842fc0b943e67213da21.tar.bz2 |
OnLazyBackgroundPageActive must ensure the close_sequence_id
is unique to avoid any outstanding OnLazyBackgroundPageIdle
callback will not incorrectly send ExtensionMsg_Suspend.
Two errors are fixed in this patch:
1. A unique last_background_close_sequence_id_ is maintained
by ProcessManager. This corrects the error that previously a
BackgroundPageData struct was cleared and had its ID reset,
allowing it to then be incremented again to match the ID of
an outstanding callback.
2. OnLazyBackgroundPageActive previously checked for an
ExtensionHost object. However, when first launching an app
the methods are called OnLazyBackgroundPageActive then
OnBackgroundHostCreated. Thus, the
last_background_close_sequence_id_ is now incremented
in OnLazyBackgroundPageActive without checking for an
ExtensionHost object.
BUG=316097
TEST=Manual test required as per https://code.google.com/p/chromium/issues/detail?id=316097#c10
Review URL: https://codereview.chromium.org/387863006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283053 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'extensions/common/extension_messages.h')
-rw-r--r-- | extensions/common/extension_messages.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/extensions/common/extension_messages.h b/extensions/common/extension_messages.h index b950676..307ce59 100644 --- a/extensions/common/extension_messages.h +++ b/extensions/common/extension_messages.h @@ -424,7 +424,7 @@ IPC_MESSAGE_CONTROL1(ExtensionMsg_UsingWebRequestAPI, // sequence_id so that we can tell which message it is responding to. IPC_MESSAGE_CONTROL2(ExtensionMsg_ShouldSuspend, std::string /* extension_id */, - int /* sequence_id */) + uint64 /* sequence_id */) // If we complete a round of ShouldSuspend->ShouldSuspendAck messages without // the lazy background page becoming active again, we are ready to unload. This @@ -628,7 +628,7 @@ IPC_MESSAGE_ROUTED1(ExtensionHostMsg_ResponseAck, // Response to ExtensionMsg_ShouldSuspend. IPC_MESSAGE_CONTROL2(ExtensionHostMsg_ShouldSuspendAck, std::string /* extension_id */, - int /* sequence_id */) + uint64 /* sequence_id */) // Response to ExtensionMsg_Suspend, after we dispatch the suspend event. IPC_MESSAGE_CONTROL1(ExtensionHostMsg_SuspendAck, |