summaryrefslogtreecommitdiffstats
path: root/chrome_frame/urlmon_url_request.cc
Commit message (Collapse)AuthorAgeFilesLines
* Clean up Automation and Chrome Frame IPC code.-only use routed messages when ↵jam@chromium.org2010-12-231-1/+1
| | | | | | | | needed-use routing IDs to avoid manually unpacking messages-remove data structures from IPC namespace (that should only be used for IPC code, and param traits)Note that I temporarily commented out part of a test in external_tab_test.cc because I couldn't figure out how to get the updated gmock macros to compile. Review URL: http://codereview.chromium.org/5998006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70105 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a typo in UrlmonUrlRequest to clear the map during shutdownamit@chromium.org2010-12-081-1/+1
| | | | | | | | | | | | | In UrlmonUrlRequestManager::StopAll we meant to clear the map but used map.empty() instead of map.clear(). BUG=none TEST=none Review URL: http://codereview.chromium.org/5656004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68649 0039d316-1c4b-4281-b951-d872f2087c98
* Addressing code review comments from Tommi from the orignal CL ↵ananta@chromium.org2010-12-081-10/+9
| | | | | | | | | | | http://codereview.chromium.org/5632003/ BUG=65295 TEST=As described in the bug Review URL: http://codereview.chromium.org/5535008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68554 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a DCHECK which fired in ChromeFrame which indicated that we had a ↵ananta@chromium.org2010-12-071-1/+17
| | | | | | | | | | | | | | | | | | | | | | pending request which is created when we switch into ChromeFrame and the URL request received from Chrome was for a different URL. This scenario occurs when we receive requests from Chrome for the current page which is being navigated away from while a new document is coming up. Fix is to disallow these requests while we have a pending request. The other fix is in the ExternalTabContainer where a spurious DCHECK was being fired in the BeforeUnload code path. Fixes bug http://code.google.com/p/chromium/issues/detail?id=65295 BUG=65295 TEST=As described in the bug. Review URL: http://codereview.chromium.org/5632003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68526 0039d316-1c4b-4281-b951-d872f2087c98
* 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