diff options
author | nsylvain@chromium.org <nsylvain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-22 20:05:46 +0000 |
---|---|---|
committer | nsylvain@chromium.org <nsylvain@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-22 20:05:46 +0000 |
commit | 46a6b528816b1c9c540f976998864891874b2a40 (patch) | |
tree | 4eba7fb9976672bbf9a4df5db8a469f163c6ccbe /webkit/glue/webkit_glue.h | |
parent | f760515c64d3ac5183156f795d2d2daade452a7c (diff) | |
download | chromium_src-46a6b528816b1c9c540f976998864891874b2a40.zip chromium_src-46a6b528816b1c9c540f976998864891874b2a40.tar.gz chromium_src-46a6b528816b1c9c540f976998864891874b2a40.tar.bz2 |
This is a patch for bug 1385045: Adobe Acrobat 9.0 crash.
Adobe Acrobat 9.0 loads a dll called bib.dll. Usually
it unloads it 30 seconds after the last instance of the
plugin goes away, or when the browser process goes away.
To know if the browser process goes away, it subclasses
the main browser window. It seems to work fine in firefox,
but it does not work in chrome.
Also the 30 seconds delay does not work because we close
the plugin process too fast (10 seconds) after the last
instance of the plugin is closed.
bib.dll is then unloaded by ExitProcess, which causes
a crash in bib.dll.
We could wait ~35 seconds after the last instance before
closing the process, but it might be problematic with
upgrades and could result in plugin process outliving the
brower process.
This current patch just kills the process before ExitProcess,
so it does not cause a crash and display an error message
to the user. This is not a fix, this is just a usuability
improvement.
As far as I know we are still waiting for help from
the Adobe team on this issue. They would need to find
a way to unload bib.dll cleanly in chrome.
BUG: 1385045
Review URL: http://codereview.chromium.org/8015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3753 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webkit_glue.h')
-rw-r--r-- | webkit/glue/webkit_glue.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/webkit/glue/webkit_glue.h b/webkit/glue/webkit_glue.h index 3424ee6..f44649b 100644 --- a/webkit/glue/webkit_glue.h +++ b/webkit/glue/webkit_glue.h @@ -275,6 +275,14 @@ std::wstring GetWebKitLocale(); // Notifies the browser that the current page runs out of JS memory. void NotifyJSOutOfMemory(WebCore::Frame* frame); +// Tells the plugin thread to terminate the process forcefully instead of +// exiting cleanly. +void SetForcefullyTerminatePluginProcess(bool value); + +// Returns true if the plugin thread should terminate the process forcefully +// instead of exiting cleanly. +bool ShouldForcefullyTerminatePluginProcess(); + } // namespace webkit_glue #endif // WEBKIT_GLUE_H__ |