summaryrefslogtreecommitdiffstats
path: root/chrome_frame/bind_context_info.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix a crash in ChromeFrame full tab mode while processing the attach ↵ananta@chromium.org2010-08-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | external tab request, which comes in during window open. We create a ProtData object instance which is mapped to the protocol with a NULL read function pointer which was used to indicate if this is a dummy request. It appears that there are cases where we may receive a StartEx call with a reused protocol pointer. which basically causes a crash in the context of IInternetProtocolSink::ReportData which internally calls IInternetProtocol::LockRequest, which crashes as the transaction never started. Fix is to invalidate the protdata mapping if the protdata has not been destroyed yet, but the underlying Transaction has been destroyed. This can happen if the original bind context has not yet been destroyed Fixes bug http://code.google.com/p/chromium/issues/detail?id=50814 Bug=50814,50956 Test=Subsequent CL. Review URL: http://codereview.chromium.org/3078010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54553 0039d316-1c4b-4281-b951-d872f2087c98
* A new way of hooking internet protocols.stoyan@chromium.org2010-06-091-1/+10
| | | | | | | | TEST=chrome frame tests Review URL: http://codereview.chromium.org/2620001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49265 0039d316-1c4b-4281-b951-d872f2087c98
* Candidate fix for bug 44108. The FromBindContext function was inherently ↵tommi@chromium.org2010-05-141-4/+9
| | | | | | | | | | | | | racy as it returned a pointer to a non-addrefed pointer and the AddRef/Release implementation in the BindContextInfo was not thread safe. Also fixed BSCBStorageBind object leak. TEST=See bug description BUG=44108 Review URL: http://codereview.chromium.org/2080005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47306 0039d316-1c4b-4281-b951-d872f2087c98
* Use an interface to get to the C++ object pointer instead of casting directly.tommi@chromium.org2010-05-131-6/+32
| | | | | | | | | | | The object was being marshalled so, we were casting an ole32 proxy object to our implementation. To avoid marshalling altogether I'm also using the FTM. So, yeah, we're going belt and suspenders. TEST=See bug. BUG=43988 Review URL: http://codereview.chromium.org/2011016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47160 0039d316-1c4b-4281-b951-d872f2087c98
* In ChromeFrame with the IMoniker patch on, we should save away the redirect ↵ananta@chromium.org2010-04-201-0/+9
| | | | | | | | | | | | | | | | information received for the initial pending request. This is to ensure that we inform Chrome about this redirect which can then be followed correctly from Chrome. The other change is to save away the URL being navigated to in the bind context context object. This is also updated if we receive a redirect notification in our callback wrapper. The active document refers this URL if it is available and falls back to the old mechanism of retrieving the URL from the moniker if not. This ensures that optin urls continue to work correctly if the initial page is redirected. Review URL: http://codereview.chromium.org/1523028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45114 0039d316-1c4b-4281-b951-d872f2087c98
* We need to specify at least one entry in the COM map of the bind information ↵ananta@chromium.org2010-04-161-0/+1
| | | | | | | | | | object used by ChromeFrame to maintain contextual information. Having an empty map causes an ATLASSERT to fire in debug builds. Review URL: http://codereview.chromium.org/1559037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44846 0039d316-1c4b-4281-b951-d872f2087c98
* With the ChromeFrame moniker patch on, the data cache maintained to indicate ↵ananta@chromium.org2010-04-161-2/+0
| | | | | | | | | | | | | | | whether we should switch to Chrome, was not being drained correctly to the delegate, resulting in the delegate continuing to wait for more data when there was none. This caused sites like go/wave to not redirect correctly to CF. Fixes bug http://code.google.com/p/chromium/issues/detail?id=41365 Bug=41365 Review URL: http://codereview.chromium.org/1637017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44735 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid a crash in ChromeFrame in the BindToStorage call initiated when our ↵ananta@chromium.org2010-04-151-0/+66
active document is loaded. The crash occurs while dereferencing a NULL delegate which is the case in the pending request object created by the active document to handle the initial load. Fix for this is to maintain a pending state in the request object. We ignore all OnProgress notifications in this state. When Chrome requests data for the top level url this state is cleared. Consolidated the number of bind context information structures into one which contains everything we need in ChromeFrame, i.e. to decide to switch to Chrome, indicating whether the request came from Chrome, etc. Review URL: http://codereview.chromium.org/1654012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44604 0039d316-1c4b-4281-b951-d872f2087c98