summaryrefslogtreecommitdiffstats
path: root/chrome_frame/urlmon_url_request.cc
Commit message (Collapse)AuthorAgeFilesLines
* Fix a regression in ChromeFrame which would cause the headers like the UA to ↵ananta@chromium.org2010-11-021-3/+3
| | | | | | | | | | | | be appended twice. Bug=none Review URL: http://codereview.chromium.org/4249001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64694 0039d316-1c4b-4281-b951-d872f2087c98
* Pass Chrome's UA with chromeframe appended at the end in the user agent ↵ananta@chromium.org2010-10-271-6/+9
| | | | | | | | | | | | | | passed in ChromeFrame requests initiated in IE. Fixes bug http://b/issue?id=3022937 Bug=3022937 Review URL: http://codereview.chromium.org/4202003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64102 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crasher observed in ChromeFrame stable build 7.0.517.43. Crash occurs ↵ananta@chromium.org2010-10-251-11/+12
| | | | | | | | | | | | | | | | | | | | when we attempt to terminate the urlmon transaction with a spurious BindToObject call which is supposed to fail but release the transaction. While this works mostly it causes a crash in urlmon at times on IE7. To workaround this we now save away the IInternetProtocol interface which represents the transaction object in our bind context info structure which is maintained per bind context and terminate the protocol when we want the transaction to be destroyed. Fixes bug http://code.google.com/p/chromium/issues/detail?id=60370 Bug=60370 Review URL: http://codereview.chromium.org/3984006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63769 0039d316-1c4b-4281-b951-d872f2087c98
* Support whatever HTTP verbs Chrome uses in Chrome Frammeamit@chromium.org2010-10-221-7/+1
| | | | | | | | | | | | | | | | Earlier we restricted support explicitly to HEAD and DELETE. This restriction is unnecessary and we should just pass whatever verb Chrome asks for. This will work only on IE since NPAPI does not have support for anything other than GET and POST. BUG=59658 TEST=none Review URL: http://codereview.chromium.org/4014003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63573 0039d316-1c4b-4281-b951-d872f2087c98
* Refreshing pages in ChromeFrame would basically always fetch the pages from ↵ananta@chromium.org2010-10-211-1/+12
| | | | | | | | | | | | | | | | | | the cache. We need to emulate Chrome and MSHTML where in the cache is resynchronized, i.e. new content is fetched from the server if it has been modified. To achieve this we now pass the load flags from Chrome when we initiate a HTTP request and basically or in the BINDF_RESYNCHRONIZE and BINDF_GETNEWESTVERSION flags based on the value of the load flags. Fixes bug http://code.google.com/p/chromium/issues/detail?id=41508 Test=Covered by new ChromeFrame test. Review URL: http://codereview.chromium.org/4000001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63389 0039d316-1c4b-4281-b951-d872f2087c98
* Convert LOG(INFO) to VLOG(1) - chrome_frame/.pkasting@chromium.org2010-10-191-56/+58
| | | | | | | | | | 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
* Fix a regression in ChromeFrame which caused download attachments to not ↵ananta@chromium.org2010-10-141-0/+1
| | | | | | | | | | | | | | | | | | work correctly specifically when the attachment is downloaded in response to a form POST. Fixes bug http://code.google.com/p/chromium/issues/detail?can=1&q=36694 Bug=36694 Test=There are some issues with downloading attachments off a localhost based URL. Will submit a test once these issues are resolved. TBR=stoyan Review URL: http://codereview.chromium.org/3743005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62500 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding this change.ananta@chromium.org2010-10-081-11/+43
| | | | | | | | | | | | | | | | | | | Fix a memory leak in ChromeFrame which is caused by leaking the urlmon transaction objects. This occurs because we return INET_E_TERMINATED_BIND from our IBindStatusCallback::OnDataAvailable implementation to keep the transaction around, which leaks. To ensure that it is freed correctly we issue a dummy BindToObject call on the moniker which fails and cleans up the transaction. Fixes bug http://code.google.com/p/chromium/issues/detail?id=57549 Bug=57549 TBR=stoyan Review URL: http://codereview.chromium.org/3539021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62028 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 61997 - Fix a memory leak in ChromeFrame which is caused by leaking ↵jar@chromium.org2010-10-081-43/+10
| | | | | | | | | | | | | | | | | | | | | the urlmon transaction objects. This occurs because we return INET_E_TERMINATED_BIND from our IBindStatusCallback::OnDataAvailable implementation to keep the transaction around, which leaks. To ensure that it is freed correctly we issue a dummy BindToObject call on the moniker which fails and cleans up the transaction. Fixes bug http://code.google.com/p/chromium/issues/detail?id=57549 Bug=57549 Review URL: http://codereview.chromium.org/3570017 TBR=ananta@chromium.org Review URL: http://codereview.chromium.org/3619014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62002 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a memory leak in ChromeFrame which is caused by leaking the urlmon ↵ananta@chromium.org2010-10-081-10/+43
| | | | | | | | | | | | | | | | | | transaction objects. This occurs because we return INET_E_TERMINATED_BIND from our IBindStatusCallback::OnDataAvailable implementation to keep the transaction around, which leaks. To ensure that it is freed correctly we issue a dummy BindToObject call on the moniker which fails and cleans up the transaction. Fixes bug http://code.google.com/p/chromium/issues/detail?id=57549 Bug=57549 Review URL: http://codereview.chromium.org/3570017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61997 0039d316-1c4b-4281-b951-d872f2087c98
* Do not write non-toplevel POST response into the WINInet cache.stoyan@chromium.org2010-10-011-0/+6
| | | | | | | BUG=55918 Review URL: http://codereview.chromium.org/3595004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61184 0039d316-1c4b-4281-b951-d872f2087c98
* chrome_frame: Append base:: in the StringPrintf calls.tfarina@chromium.org2010-10-011-9/+13
| | | | | | | | | | | (Note: this is a TODO in string_util.h) BUG=None TEST=trybots Review URL: http://codereview.chromium.org/3594002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61166 0039d316-1c4b-4281-b951-d872f2087c98
* When GCF is the default renderer, use Chrome's User-agent header instead of ↵tommi@chromium.org2010-08-311-1/+6
| | | | | | | | | | | IE's. TEST=Set IsDefaultRenderer to 1 (REG_DWORD) under the ChromeFrame registry key. Check if the User agent header in requests is the Chrome user agent. Then set the value to 0 and make sure the regular user-agent header is there. BUG=50788 Review URL: http://codereview.chromium.org/3130016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57991 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash when delegate_ goes away in ReadStreamamit@chromium.org2010-08-261-1/+3
| | | | | | | | | | | | | | Other callbacks can fire in the context of ReadStream and OnStopBinding might happen in that context. In this case the delegate_ is cleaned up and this results in a crash when ReadStream returns. BUG=53460 TEST=none Review URL: http://codereview.chromium.org/3159045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57581 0039d316-1c4b-4281-b951-d872f2087c98
* Handle automation server crashes. When Chrome crashes, we now handle the ↵tommi@chromium.org2010-08-101-5/+7
| | | | | | | | | | | | | | case and support document refresh or reload. When chrome crashes, we draw a poor man's sad tab (":-("), so that can clearly be improved. Another thing is that if the chrome instance that crashed held several navigational entries, then that history is lost. TEST=There are a couple of tests included, so run those (*TabCrash*) and also verify that when the chrome automation server is killed that we do the right thing. Also check info in bug report. BUG=25839 Review URL: http://codereview.chromium.org/3061036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55565 0039d316-1c4b-4281-b951-d872f2087c98
* Add #include utf_string_conversions.h to all files that use ASCIIToWide andbrettw@chromium.org2010-08-031-0/+1
| | | | | | | | | | | | | | | ASCIIToUTF16. I removed string_util includes from a few places where it obviously wasn't needed. In a separate pass, I'm going to remove ASCIITo* from string_util, then I'm going to do an even later pass to find the unnecessary string_util.h includes and remove them. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3058027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54746 0039d316-1c4b-4281-b951-d872f2087c98
* Move the number conversions from string_util to a new file.brettw@chromium.org2010-07-301-4/+4
| | | | | | | | | | | | | Use the base namespace in the new file. Update callers. I removed all wstring variants and also the string->number ones that ignore the return value. That encourages people to write code and forget about error handling. TEST=included unit tests BUG=none Review URL: http://codereview.chromium.org/3056029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54355 0039d316-1c4b-4281-b951-d872f2087c98
* BUG=47879stoyan@chromium.org2010-07-171-0/+3
| | | | | | Review URL: http://codereview.chromium.org/2824057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52806 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for uploading UMA metrics data from ChromeFrame. Added support ↵ananta@chromium.org2010-06-111-25/+0
| | | | | | | | | | | | | | | | for tracking chrome frame crash metrics via 2 new counters which track successful navigations and crashes. These counters are persisted in the registry under HKCU\Software\Google\ChromeFrameMetrics. Any other histogram data like AutomationServer launch time, IE versions etc are simply dropped if IE is shutdown before they are sent out. The metrics data is uploaded on similar lines as Chrome. Bug=46057 Review URL: http://codereview.chromium.org/2714003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49493 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for the DELETE method.tommi@chromium.org2010-06-041-1/+2
| | | | | | | | | TEST=See bug description. BUG=45384 Review URL: http://codereview.chromium.org/2675001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48934 0039d316-1c4b-4281-b951-d872f2087c98
* Implement most of the ridealong fixes/cleanups I suggested during review for ↵pkasting@chromium.org2010-06-011-20/+10
| | | | | | | | | | enabling warn-on-signed-versus-unsigned-equality-comparisions on Windows. BUG=none TEST=none Review URL: http://codereview.chromium.org/2395001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48666 0039d316-1c4b-4281-b951-d872f2087c98
* Enable warning 4389 as an error on windows builds. This will make mbelshe@chromium.org2010-05-271-3/+3
| | | | | | | | | | | | windows builds more similar to linux/mac, which already treat signed/ unsigned equality comparisons as warnings (and hence errors). BUG=44471 TEST=none Review URL: http://codereview.chromium.org/2222002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48395 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Another dependency the bbot missed!!!"rafaelw@chromium.org2010-05-261-3/+3
| | | | | | | | | | | | | | | | | | This reverts commit 161f7fd3bdd425167af9fe26fdc5373a2ff44c98. Revert "Missed a file as part of checkin for r48186" This reverts commit cff86beba5938209393a6c3bccced62a7f3ff36b. Revert "Enable warning 4389 as an error on windows builds. This will make" This reverts commit c78936bcfc65b98edf288191d927a495b0364621. TBR=mbelshe Review URL: http://codereview.chromium.org/2253001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48238 0039d316-1c4b-4281-b951-d872f2087c98
* Enable warning 4389 as an error on windows builds. This will makembelshe@chromium.org2010-05-251-3/+3
| | | | | | | | | | | | windows builds more similar to linux/mac, which already treat signed/ unsigned equality comparisons as warnings (and hence errors). BUG=44471 TEST=none Review URL: http://codereview.chromium.org/2081007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48186 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a ChromeFrame crash caused when the cookie policy is set to prompt and ↵ananta@chromium.org2010-05-201-3/+15
| | | | | | | | | | | | | | | | | | | | | the active document is released before the prompt is clicked on. This only happens on IE6 where the prompt dialog is modeless in the context of the InternetSetCookieEx call. To ensure that the active document remains valid for the duration of the call we maintain a reference on the container for the duration of the InternetSetCookie call. The cookie calls in IE are now handled on the UI thread as we cannot block the IPC thread in case the set cookie calls result in a prompt. This fixes bug http://code.google.com/p/chromium/issues/detail?id=44465 The FullTabModeIE_UnloadEventTest has been disabled as the change to execute the cookie calls on the UI thread would break it. Bug=44465, 40814 Review URL: http://codereview.chromium.org/2091015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47846 0039d316-1c4b-4281-b951-d872f2087c98
* Candidate fix for bug 44108. The FromBindContext function was inherently ↵tommi@chromium.org2010-05-141-6/+6
| | | | | | | | | | | | | 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
* The chrome frame net tests would not complete at times on the IE6 builder. ↵ananta@chromium.org2010-05-121-1/+11
| | | | | | | | | | | | | | This was due to a regression introduced recently where we removed the chrome frame stream cache from the urlmon request object and instead cached the stream passed in. While this was all fine, we failed to handle the case where an attempt to read from this stream in response to a read request from chrome returned S_FALSE which means end of data, in which case we should release the stream. Not doing this caused us to not send over the end request notification to chrome, thus causing the tests to indefinitely wait. Review URL: http://codereview.chromium.org/2001019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47093 0039d316-1c4b-4281-b951-d872f2087c98
* In ChromeFrame's bind status callback functions we should always return ↵ananta@chromium.org2010-05-121-1/+6
| | | | | | | | | | | | success regardless of whether we have a valid delegate or not. Bug=43927 Review URL: http://codereview.chromium.org/2030009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47088 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a chrome frame crash reported on the crash server in our bind status ↵ananta@chromium.org2010-05-121-0/+5
| | | | | | | | | | | | | | | | callback OnResponse implementation. Crash occurs while dereferencing a NULL delegate. Fix is to add a check for the same. This could happen if the binding was stopped before receiving the OnResponse notification. Fixes bug http://code.google.com/p/chromium/issues/detail?id=43927 Bug=43927 Review URL: http://codereview.chromium.org/2060002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47085 0039d316-1c4b-4281-b951-d872f2087c98
* This change consists of the previous change in addition to a fix for the ↵tommi@chromium.org2010-05-081-221/+169
| | | | | | | | | | | | | | | | | | download issue. See also: http://codereview.chromium.org/1718025 (initial change) http://codereview.chromium.org/1829001 (fix for Head test) http://codereview.chromium.org/1887001 (fix for download issue) TEST=Monitor the Chrome Frame IE6 build bot for flakiness. Particularly the net tests. BUG=none Review URL: http://codereview.chromium.org/1821001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46790 0039d316-1c4b-4281-b951-d872f2087c98
* Cookies would not get set correctly in ChromeFrame in full tab mode. The ↵ananta@chromium.org2010-05-051-26/+2
| | | | | | | | | | | | | | | code to set cookies in IE incorrectly parses the cookies into name value pairs. In this scenario we end up with an empty name string which causes cookies to not get set correctly. It appears that an empty name string is not treated on the same lines as NULL. In any case we should not be doing any parsing and should just set the cookie as is. This fixes bug http://code.google.com/p/chromium/issues/detail?id=42818. Added a unit test to validate this case. Bug=42818 Review URL: http://codereview.chromium.org/1917005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46523 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting to fix the IE6 builder redness. Please continue debugging this and ↵ananta@chromium.org2010-05-041-150/+219
| | | | | | | | | | | | | | | | | resubmit. Revert 46188 - Not using an intermediate cache between urlmon and chrome reads. Instead we hang on to stream objects from urlmon and read from them when chrome asks for data. TEST=Run all tests verify that sites like wave and vimeo work correctly etc. BUG=none Review URL: http://codereview.chromium.org/1718025 TBR=tommi@chromium.org Review URL: http://codereview.chromium.org/1928001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46324 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting to fix the IE6 builder redness. Please continue debugging this and ↵ananta@chromium.org2010-05-041-1/+3
| | | | | | | | | | | | | | | | resubmit. Revert 46189 - Temporarily disable the Head test. TBR=amit BUG=none Review URL: http://codereview.chromium.org/1828001 TBR=tommi@chromium.org Review URL: http://codereview.chromium.org/1927001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46323 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting to fix the IE6 builder redness. Please continue debugging this and ↵ananta@chromium.org2010-05-041-3/+1
| | | | | | | | | | | | | | | | | resubmit. Revert 46190 - Reenable the Head test. TEST=Fixes the UrlRequest Head test BUG=none TBR=amit Review URL: http://codereview.chromium.org/1829001 TBR=tommi@chromium.org Review URL: http://codereview.chromium.org/1901002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46321 0039d316-1c4b-4281-b951-d872f2087c98
* Re-enable the Head test.tommi@chromium.org2010-05-021-1/+3
| | | | | | | | | | TEST=Fixes the UrlRequest Head test BUG=none TBR=amit Review URL: http://codereview.chromium.org/1829001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46190 0039d316-1c4b-4281-b951-d872f2087c98
* Temporarily disable the Head test.tommi@chromium.org2010-05-021-3/+1
| | | | | | | | | TBR=amit BUG=none Review URL: http://codereview.chromium.org/1828001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46189 0039d316-1c4b-4281-b951-d872f2087c98
* Not using an intermediate cache between urlmon and chrome reads.tommi@chromium.org2010-05-021-219/+150
| | | | | | | | | | | Instead we hang on to stream objects from urlmon and read from them when chrome asks for data. TEST=Run all tests verify that sites like wave and vimeo work correctly etc. BUG=none Review URL: http://codereview.chromium.org/1718025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46188 0039d316-1c4b-4281-b951-d872f2087c98
* Ignore EndRequest() for a urlmon urlrequest from Chrome, if terminate_bind ↵stoyan@chromium.org2010-04-301-0/+5
| | | | | | | | | | (i.e. DownloadInHost) request is already received. BUG=42104 Review URL: http://codereview.chromium.org/1705018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46072 0039d316-1c4b-4281-b951-d872f2087c98
* Nicely steal moniker and bind context from the urlmon url request.stoyan@chromium.org2010-04-281-18/+35
| | | | | | | BUG=42104 Review URL: http://codereview.chromium.org/1811001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45860 0039d316-1c4b-4281-b951-d872f2087c98
* In ChromeFrame with the IMoniker patch on, we should save away the redirect ↵ananta@chromium.org2010-04-201-13/+25
| | | | | | | | | | | | | | | | 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
* Handle cookie requests in BackgroundThread.stoyan@chromium.org2010-04-201-1/+3
| | | | | | | | | Enable the unload event test. BUG=40814 TEST=unload event test Review URL: http://codereview.chromium.org/1629027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45042 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 44897 - Improved compatibility support for IE8.tommi@chromium.org2010-04-191-4/+0
| | | | | | | | | | | | | | | | | | | | 1) We no longer add a user agent to requests that do not already have one. This will result in the correct user agent header being applied but it will not have the chromeframe tag. Requests that will be affected include requests from other plugins and XHR but not top level requests. 2) Requests from Chrome Frame will always have the native user agent applied regardless of compatibility settings. This means that in IE8, you will always see CF requests with MSIE 8.0 even though the target site is otherwise configured to run in IE7 compatibility. TEST=Make sure all CF websites continue to work properly. Also, turn on IE7 compatibility mode for some websites (e.g. wave, vimeo) and check if the user agent sent to those sites contains "MSIE 7.0" for pages that are not rendered in CF. Pages rendered in CF should always have the IE8 header with the possible exception of the very first request if that request was issued by mshtml. BUG=28816 Review URL: http://codereview.chromium.org/1521037 TBR=tommi@chromium.org Review URL: http://codereview.chromium.org/1659008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44919 0039d316-1c4b-4281-b951-d872f2087c98
* Improved compatibility support for IE8.tommi@chromium.org2010-04-181-0/+4
| | | | | | | | | | | | | | | | | 1) We no longer add a user agent to requests that do not already have one. This will result in the correct user agent header being applied but it will not have the chromeframe tag. Requests that will be affected include requests from other plugins and XHR but not top level requests. 2) Requests from Chrome Frame will always have the native user agent applied regardless of compatibility settings. This means that in IE8, you will always see CF requests with MSIE 8.0 even though the target site is otherwise configured to run in IE7 compatibility. TEST=Make sure all CF websites continue to work properly. Also, turn on IE7 compatibility mode for some websites (e.g. wave, vimeo) and check if the user agent sent to those sites contains "MSIE 7.0" for pages that are not rendered in CF. Pages rendered in CF should always have the IE8 header with the possible exception of the very first request if that request was issued by mshtml. BUG=28816 Review URL: http://codereview.chromium.org/1521037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44897 0039d316-1c4b-4281-b951-d872f2087c98
* Pass HTTP headers to Chrome in the initial pending request initiated by ↵ananta@chromium.org2010-04-161-1/+6
| | | | | | | | | | | | | | ChromeFrame. This causes pages with encoding needs to render incorrectly. Fixes bug http://code.google.com/p/chromium/issues/detail?id=41541 Bug=41541 Review URL: http://codereview.chromium.org/1642015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44855 0039d316-1c4b-4281-b951-d872f2087c98
* With the ChromeFrame IMoniker patch in the referrer would not propagate ↵ananta@chromium.org2010-04-161-46/+3
| | | | | | | | | | | | | | | | | | | | correctly to Chrome when we switch from IE to CF. In ChromeFrame the referrer is set in the navigation manager which receives this in the IHttpNegotiate::BeginningTransaction patch. When we switch from IE to cF via the moniker patch we receive two calls to BeginningTransaction, the first one with the referrer and the other one without the referrer for the same URL causing the referrer to be overwritten. Fix is to handle this case. The referrer is cleared in our BeforeNavigate notification. I also moved some functions to chrome frame utils as part of this CL. Fixes bug http://code.google.com/p/chromium/issues/detail?id=41680 Bug=41680 Review URL: http://codereview.chromium.org/1653006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44733 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid a crash in ChromeFrame in the BindToStorage call initiated when our ↵ananta@chromium.org2010-04-151-19/+25
| | | | | | | | | | | | | | | | 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
* Fix for remaining major issues with moniker patchamit@chromium.org2010-04-141-29/+79
| | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes things so that they now work 'naturally', i.e switch to chrome frame looks just like switching to pdf. The same bind context and underlying network transaction objects are used and requests aren't sent multiple times. Finally the TestPostReissue test is happy! This patch fixes two issues with earlier scheme: Issue 1: data can be read only once from a given bind context. Mshtml looks at the mime type in the FORMATETC but never issues a read. So when it switches, the new active document can read from start. Since we are reading the data for switching, when we actually switch, we have to transfer over the data read so far to our UrlmonUrlRequest. Issue 2: The very first UrlmomUrlRequest has to start binding right away, in the context of BindToStorage or network transcations associated with the bind context are gone (due to OnStopBinding for BindToObject). TEST=covered by existing tests BUG=33332 Review URL: http://codereview.chromium.org/1508033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44427 0039d316-1c4b-4281-b951-d872f2087c98
* Preparation CL for executing READ and COOKIE network requests from the ↵stoyan@chromium.org2010-04-131-17/+11
| | | | | | | | background thread. Review URL: http://codereview.chromium.org/1520033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44369 0039d316-1c4b-4281-b951-d872f2087c98
* Fix IE6 switching issuesananta@chromium.org2010-04-091-1/+9
| | | | | | | | | | | Fixes for issues with new moniker patch. BUG=none TEST=covered by existing tests Review URL: http://codereview.chromium.org/1625010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44160 0039d316-1c4b-4281-b951-d872f2087c98
* Switch renderer in Moniker patchamit@chromium.org2010-04-091-15/+1
| | | | | | | | | | Step one of the changes. Inspect data and cause a switch in the moniker patch. Review URL: http://codereview.chromium.org/1589013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44038 0039d316-1c4b-4281-b951-d872f2087c98