summaryrefslogtreecommitdiffstats
path: root/chrome_frame/buggy_bho_handling.cc
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup in ProcessSingleton. These originated as candidate fixes for issue ↵joi@chromium.org2012-02-101-2/+3
| | | | | | | | | | | | | | | | | 111361, but the true fix is cpu@'s r119830. a) Unify code to retrieve HMODULE based on address in base::GetModuleFromAddress. (cpu@'s r119830 already has the fix to use the DLL's HMODULE 119830 rather than the EXE's HINSTANCE) b) Try harder to unregister the window class, by trying it first in ProcessSingleton::Cleanup, which gets called before the fast shutdown path calls ExitProcess(). Also, use correct HMODULE to unregister. c) Avoid any possibility of a race to create the message window when the Create() method is called from NotifyOtherProcessOrCreate() or from outside the class by moving the implementation of Create(), which was always called from the constructor, into the constructor and making Create() just return true or false based on the success of the work already done. BUG=111361 Review URL: http://codereview.chromium.org/9121046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121480 0039d316-1c4b-4281-b951-d872f2087c98
* Include base/win/scoped_comptr.h instead of base/scoped_comptr_win.h.tfarina@chromium.org2011-04-121-6/+6
| | | | | | | | | | | | | | | | | Fix up all the callers to use the new location and namespace. Also, delete the stub file since it isn't included by anyone more. (Note: This was a TODO for brettw). BUG=None TEST=None R=brettw@chromium.org Review URL: http://codereview.chromium.org/6825055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81303 0039d316-1c4b-4281-b951-d872f2087c98
* A number of poorly written IE BHO's crash IE if ChromeFrame is the currently ↵ananta@chromium.org2011-02-111-74/+90
| | | | | | | | | | | | | | | | | | | | | | | loaded document. This is because they expect ChromeFrame to implement interfaces like IHTMLDocument2 on the same lines as regular IE documents. Currently in ChromeFrame we patch the invoke methods of these BHO's prior to firing navigation events from ChromeFrame. However this is not enough as these objects also crash for regular navigation events fired from IE when ChromeFrame is loaded. We now don't fire navigation events for buggy BHO's if ChromeFrame is the current document. The BuggyBho handler instance is now created once for the thread. We patch when we receive navigation notifications from Chrome as before. When we receive a notification on our patched event sink we check if CF is loaded and if yes skip the call. Added helpers to chrome frame utils to check if CF is loaded in the current web browser instance. BUG=55932 TEST=none Review URL: http://codereview.chromium.org/6493002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74691 0039d316-1c4b-4281-b951-d872f2087c98
* Add PxSecure.dll to the list of buggy BHOs to which Chrome Frame avoids ↵robertshield@chromium.org2010-12-071-1/+1
| | | | | | | | | | | firing events. BUG=65748 TEST=Fewer crashes are received with PxSecure.dll at the top of the stack. Review URL: http://codereview.chromium.org/5550004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68522 0039d316-1c4b-4281-b951-d872f2087c98
* Convert LOG(INFO) to VLOG(1) - chrome_frame/.pkasting@chromium.org2010-10-191-1/+1
| | | | | | | | | | Plus a couple misc. cleanups. BUG=none TEST=none Review URL: http://codereview.chromium.org/3850002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63095 0039d316-1c4b-4281-b951-d872f2087c98
* Add more buggy BHO's to the listamit@chromium.org2010-09-171-1/+15
| | | | | | | | | | | | | | Looking at numerous crash dumps, several other BHOs are running into trouble due to notifications for internal navigations. Adding them to the buggy bho list. BUG=55932 TEST=none Review URL: http://codereview.chromium.org/3386008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59829 0039d316-1c4b-4281-b951-d872f2087c98
* Pin the DLL if we make any patches instead of doing it from the Bho that ↵tommi@chromium.org2010-09-021-0/+1
| | | | | | | | | | | does not apply the patches itself. TEST=There should be no changes but we were seeing some potential problems in house with other proprietary browser extensions. BUG=none Review URL: http://codereview.chromium.org/3359001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58350 0039d316-1c4b-4281-b951-d872f2087c98
* Don't send dumps for buggy BHOs.tommi@chromium.org2010-08-251-0/+3
| | | | | | | | | TEST=n/a BUG=44463 Review URL: http://codereview.chromium.org/3117040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57361 0039d316-1c4b-4281-b951-d872f2087c98
* Second attempt at trying to land buggy bho avoidance: ↵tommi@chromium.org2010-07-211-0/+200
| | | | | | | | | | | | | | | | | | http://codereview.chromium.org/3031009 A different approach to avoid crashes in buggy 3rd party BHOs.This time we're more preceise and only target the buggy components.Behaviour for components that handle browser events correctly, is unchanged even in the presence of buggy DLLs.The core class here is the BuggyBhoTls class and here's the comment for that class: // Construct an instance of this class on the stack when firing web browser // events that can be sent to buggy BHOs. This class will intercept those // BHOs (see list in cc file) and ignore notifications to those components // for as long as the BuggyBhoTls instance on the stack lives. TEST=A better fix for bug 44463 but also fixes bug 49373 and a number of crashes that haven't been associated with bug reports yet. BUG=44463, 49373 Review URL: http://codereview.chromium.org/3053008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53236 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 53194 - A different approach to avoid crashes in buggy 3rd party ↵sanjeevr@chromium.org2010-07-211-199/+0
| | | | | | | | | | | | | | | | | | BHOs.This time we're more preceise and only target the buggy components.Behaviour for components that handle browser events correctly, is unchanged even in the presence of buggy DLLs.The core class here is the BuggyBhoTls class and here's the comment for that class: // Construct an instance of this class on the stack when firing web browser // events that can be sent to buggy BHOs. This class will intercept those // BHOs (see list in cc file) and ignore notifications to those components // for as long as the BuggyBhoTls instance on the stack lives. TEST=A better fix for bug 44463 but also fixes bug 49373 and a number of crashes that haven't been associated with bug reports yet. BUG=44463, 49373 Review URL: http://codereview.chromium.org/3031009 TBR=tommi@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53197 0039d316-1c4b-4281-b951-d872f2087c98
* A different approach to avoid crashes in buggy 3rd party BHOs.This time ↵tommi@chromium.org2010-07-211-0/+199
we're more preceise and only target the buggy components.Behaviour for components that handle browser events correctly, is unchanged even in the presence of buggy DLLs.The core class here is the BuggyBhoTls class and here's the comment for that class: // Construct an instance of this class on the stack when firing web browser // events that can be sent to buggy BHOs. This class will intercept those // BHOs (see list in cc file) and ignore notifications to those components // for as long as the BuggyBhoTls instance on the stack lives. TEST=A better fix for bug 44463 but also fixes bug 49373 and a number of crashes that haven't been associated with bug reports yet. BUG=44463, 49373 Review URL: http://codereview.chromium.org/3031009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53194 0039d316-1c4b-4281-b951-d872f2087c98