summaryrefslogtreecommitdiffstats
path: root/chrome_frame/plugin_url_request.h
Commit message (Collapse)AuthorAgeFilesLines
* Include base/win/scoped_comptr.h instead of base/scoped_comptr_win.h.tfarina@chromium.org2011-04-121-2/+2
| | | | | | | | | | | | | | | | | 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
* Move some files from base to base/memory.levin@chromium.org2011-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | raw_scoped_refptr_mismatch_checker.h ref_counted.cc ref_counted.h ref_counted_memory.cc ref_counted_memory.h ref_counted_unittest.cc scoped_callback_factory.h scoped_comptr_win.h scoped_handle.h scoped_native_library.cc scoped_native_library.h scoped_native_library_unittest.cc scoped_nsobject.h scoped_open_process.h scoped_ptr.h scoped_ptr_unittest.cc scoped_temp_dir.cc scoped_temp_dir.h scoped_temp_dir_unittest.cc scoped_vector.h singleton.h singleton_objc.h singleton_unittest.cc linked_ptr.h linked_ptr_unittest.cc weak_ptr.cc weak_ptr.h weak_ptr_unittest.cc BUG=None TEST=Compile Review URL: http://codereview.chromium.org/6714032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79524 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 76880 - ChromeFrame would fail to upload POST data to the server if ↵ananta@chromium.org2011-03-041-1/+16
| | | | | | | | | | | | | | | | | | | | | | | the webserver requested NTLM authentication. This is due to a bug in urlmon on IE6 and IE7 which manifests itself when the post data is passed to urlmon as an IStream. Fix is to pass in the uploaded data as a HGLOBAL. We always pass in a copy of the HGLOBAL which points to the posted data to urlmon. This is to have it accessible for reissuing navigation requests which target downloads. Fixes bug http://code.google.com/p/chromium/issues/detail?id=62687 BUG=62687 TEST=manually at this point. As we need a server which supports NTLM authentication like IIS. Review URL: http://codereview.chromium.org/6603006 TBR=ananta@chromium.org Review URL: http://codereview.chromium.org/6626008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76886 0039d316-1c4b-4281-b951-d872f2087c98
* ChromeFrame would fail to upload POST data to the server if the webserver ↵ananta@chromium.org2011-03-041-16/+1
| | | | | | | | | | | | | | | | | | | | requested NTLM authentication. This is due to a bug in urlmon on IE6 and IE7 which manifests itself when the post data is passed to urlmon as an IStream. Fix is to pass in the uploaded data as a HGLOBAL. We always pass in a copy of the HGLOBAL which points to the posted data to urlmon. This is to have it accessible for reissuing navigation requests which target downloads. Fixes bug http://code.google.com/p/chromium/issues/detail?id=62687 BUG=62687 TEST=manually at this point. As we need a server which supports NTLM authentication like IIS. Review URL: http://codereview.chromium.org/6603006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76880 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for the HTTPSGetTest and GetTest net test failures with ChromeFrame. ↵ananta@chromium.org2011-02-241-1/+5
| | | | | | | | | | | | | | | | | | These failures occurred because of new expectations in these tests which match the server ip address and port being connected to. We need to return that information from ChromeFrame. Fix is to send over the corresponding HostPortPair structure in the AutomationMsg_RequestStarted IPC message. A major part of this CL is basically the groundwork to pass this information over via automation. BUG=none TEST=chrome frame net tests should pass. Review URL: http://codereview.chromium.org/6575027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75942 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for chunked encoding in ChromeFrame for POST requests. This ↵ananta@chromium.org2011-01-261-0/+5
| | | | | | | | | | | | | | | | | | | | fixes the URLRequestTestHTTP.TestPostChunkedDataBeforeStart net test failure in ChromeFrame. To support chunked encoding we need to marshal the corresponding information in the net::UploadData object to ensure that this object gets reconstructed correctly on the other side (CF). Disabled the URLRequestTestHTTP.TestPostChunkedDataAfterStart for ChromeFrame as this test modifies the UploadData object after it has been marshaled over to CF which we don't support in ChromeFrame. BUG=none TEST=Covered by existing net tests. Review URL: http://codereview.chromium.org/6357017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72723 0039d316-1c4b-4281-b951-d872f2087c98
* net: Add namespace net to the remaining files under url_request directory.tfarina@chromium.org2011-01-061-3/+3
| | | | | | | | | | | | It just adds the 'namespace net' to these files and a typedef for them, because there are many entries to fix in one pass. They will be fixed later. BUG=64263 TEST=trybots Review URL: http://codereview.chromium.org/6056007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70592 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up Automation and Chrome Frame IPC code.-only use routed messages when ↵jam@chromium.org2010-12-231-10/+9
| | | | | | | | 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
* Refreshing pages in ChromeFrame would basically always fetch the pages from ↵ananta@chromium.org2010-10-211-1/+2
| | | | | | | | | | | | | | | | | | 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
* Do not write non-toplevel POST response into the WINInet cache.stoyan@chromium.org2010-10-011-1/+4
| | | | | | | 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
* Preparation CL for executing READ and COOKIE network requests from the ↵stoyan@chromium.org2010-04-131-22/+18
| | | | | | | | 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
* Move Urlmon network requests to UI thread, thus allowing reusing the bind ↵stoyan@chromium.org2010-04-081-58/+3
| | | | | | | | | | | | | context (and already fetched data) via INET_E_TERMINATED_BIND error code. Make caching of data more sensible, so the UI does not freeze (the reason why url request have been moved to a background thread). Always return INET_E_TERMINATED_BIND on OnDataAvailable when BSCF_LASTDATANOTIFICATION flag is detected, so if a subsequent DownloadToHost request comes from Chrome, bind context and already fetched data can be reused. BUG=36694 Review URL: http://codereview.chromium.org/1523014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43953 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash whereby a non-thread-safe ref-counted net::UploadData is used ↵robertshield@chromium.org2010-03-311-2/+57
| | | | | | | | | | | between threads. This patch does this by wrapping the UploadData structure in a thread-safe container for use between threads. BUG=39453 TEST=none Review URL: http://codereview.chromium.org/1508012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43287 0039d316-1c4b-4281-b951-d872f2087c98
* Reenable the ChromeFrame unload event test which basically loads a page ↵ananta@chromium.org2010-03-261-0/+26
| | | | | | | | | | | | | | | | | | | | | which in its unload handler sets a cookie which the new page attempts to read. This does not work as expected in ChromeFrame as the cookie reading and writing attempts are routed to the host browser, in this case IE which is waiting for the WM_DESTROY message sent to the external tab to return. Fix is to process the AutomationMsg_GetCookiesFromHost and AutomationMsg_SetCookieAsync IPC messages in the background thread which works in IE. For Firefox they continue to be processed on the UI thread as before. Fixes bug http://code.google.com/p/chromium/issues/detail?id=37231 Bug=37231 Review URL: http://codereview.chromium.org/1342004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42855 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for a race issue when chrome decides that a request needs to be ↵tommi@chromium.org2010-03-251-2/+7
| | | | | | | | | | | | | | downloaded by the host browser. Before the request could under some circumstances be terminated before we handed it over to the host for download. In such cases we would just drop the request and not download anything. TEST=Fixes flakyness of _some_ download scenarios. This is only a part of a fix needed for the related bug. BUG=36694 Review URL: http://codereview.chromium.org/1240004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42673 0039d316-1c4b-4281-b951-d872f2087c98
* Initial support for IE View->Privacy. To support this menu option the active ↵ananta@chromium.org2010-03-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | document now implements the Exec command for the CGID_ShellDocView group and command id 75. We invoke the DoPrivacyDlg function exported by shdocvw and pass in our implementation of the IEnumPrivacyServices interface. The actual privacy data is gathered and maintained by the UrlmonUrlRequestManager. If we detect a privacy violation we notify the shell browser via the ITridentService2::FirePrivacyImpactedStateChange function which ensures that IE displays the privacy icon. Thanks to stoyan for his help in getting this done. I will add tests in a followup CL. Fixes bug http://code.google.com/p/chromium/issues/detail?id=25479 Bug=25479 Review URL: http://codereview.chromium.org/1127003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42113 0039d316-1c4b-4281-b951-d872f2087c98
* ChromeFrame should honor the host browser's cookie policy. To achieve this ↵ananta@chromium.org2010-03-021-10/+1
| | | | | | | | | | | | | | | | we always read the cookies from the host browser when the renderer requests them. This also cleans up the mess with the host network stack code parsing cookies from the host looking for persistent cookies. Fixes bug http://code.google.com/p/chromium/issues/detail?id=34151 Bug=34151 Test=Covered by existing host network stack tests and chrome frame cookie tests. Review URL: http://codereview.chromium.org/661290 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40402 0039d316-1c4b-4281-b951-d872f2087c98
* TEST=new tests added.stoyan@chromium.org2010-02-011-60/+77
| | | | | | Review URL: http://codereview.chromium.org/545093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37728 0039d316-1c4b-4281-b951-d872f2087c98
* The ChromeFrameAutomationClient class needs to be refcounted as it ↵ananta@chromium.org2009-11-121-2/+4
| | | | | | | | | | | | | | | | | | | | | | implements the PluginRequestHandler interface which is maintained by individual requests which can outlive the active document/activex instances. I ran into a crash where UrlmonUrlRequest was calling into an invalid PluginRequestHandler pointer which had been destroyed just before. We also need to ensure that UrlmonUrlRequest and ChromeFrameActiveXBase select the multi threaded model as AddRef/Release can be invoked from multiple threads. I also removed the CleanupAsyncRequests function in ChromeFrameAutomationClient and moved all the code to CleanupRequests, which ensures that we treat synchronous and asynchronous requests similarly. There are instances where an automation client instance is created and destroyed without being initialized which causes a spurious assert to fire in the Uninitialize function. I added a check in the Uninitialize function to return if the state is uninitialized. Bug=none Review URL: http://codereview.chromium.org/386014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31792 0039d316-1c4b-4281-b951-d872f2087c98
* Using thread safe reference counting to wrap the UploadData instance.Moving ↵tommi@chromium.org2009-10-291-10/+32
| | | | | | | | the post_data_len_ member variable to the PluginUrlRequest class.TEST=This is a tentative fix for bug 25531.BUG=25531 Review URL: http://codereview.chromium.org/340006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30432 0039d316-1c4b-4281-b951-d872f2087c98
* If a HTTP post to a server returns any redirect code other than 307, then ↵ananta@chromium.org2009-10-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | browsers don't preserve the request method, i.e. they convert the POST request to GET. For 307 redirects browsers preserve redirects. This CL fixes the following issues :- 1. As per the above description, we reset the method which ensures that we don't generate the post related headers. The Post302RedirectGet net test does test this very case. However it works correctly as Chrome follows the redirect and reissues the GET request. In this case this does not occur as the only calls which are invoked on the bind status callback after the redirect are GetBindInfo and BeginningTransaction where we incorrectly return the post related information. Ideally we would want to turn off follow redirects in Urlmon or Chrome. I tried the latter which has a number of issues. 2. In debug mode the chrome_frame_net_tests cause a DCHECK to be fired which indicates that the test is not being run on the UI thread. 3. As the Urlmon requests are now destroyed asynchronously having a DCHECK after the Stop call on the Urlmon request object in the CleanupAsyncRequests function is incorrect. Removed this DCHECK Fixes bug http://code.google.com/p/chromium/issues/detail?id=25643 Bug=25643 Review URL: http://codereview.chromium.org/333043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30261 0039d316-1c4b-4281-b951-d872f2087c98
* Currently the host network stack in IE which uses Urlmon interfaces to initiateananta@chromium.org2009-10-241-1/+2
| | | | | | | | | | | | | | | | | | | | | and complete URL downloads requested by ChromeFrame, executes in the UI thread of IE. While this works fine in most cases for large data sizes, the IE UI thread ends up being busy pulling the data in our IBindStatusCallback::OnDataAvailable implementation. As a result the browser hangs until all data is pulled out. The fix is to handle Urlmon requests on a separate thread. This fixes http://code.google.com/p/chromium/issues/detail?id=24007 Changes to plugin_url_request.cc/.h are to set the LF property on these files. Bug=24007 Review URL: http://codereview.chromium.org/292035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29986 0039d316-1c4b-4281-b951-d872f2087c98
* Initial import of the Chrome Frame codebase. Integration in chrome.gyp ↵slightlyoff@chromium.org2009-09-241-0/+114
coming in a separate CL. BUG=None TEST=None Review URL: http://codereview.chromium.org/218019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27042 0039d316-1c4b-4281-b951-d872f2087c98