summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_active_document.h
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-28 21:15:15 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-28 21:15:15 +0000
commitc4e45b3be08a8cefa237b25096f8a18fb5a5051d (patch)
treec6cb1e682bfde672b293406f8c6ea508694f3979 /chrome_frame/chrome_active_document.h
parent437d1c7f6cf70dbdc3d008745d974714db7dd68a (diff)
downloadchromium_src-c4e45b3be08a8cefa237b25096f8a18fb5a5051d.zip
chromium_src-c4e45b3be08a8cefa237b25096f8a18fb5a5051d.tar.gz
chromium_src-c4e45b3be08a8cefa237b25096f8a18fb5a5051d.tar.bz2
Ensure that window.open requests issued by ChromeFrame carry the correct cookies in the outgoing HTTP requests.
To achieve this we no longer issue navigations with the gcf:attach* prefix. We now issue a navigation to the current page URL with the attach external tab suffix, which indicates that the page is forced into ChromeFrame without making an actual HTTP request. This ensures that the new IE8 process has access to all HTTP cookies. We need to patch IInternetProtocol::LockRequest and UnlockRequest to not call the underlying implementations for our dummy request as this crashes in IE8 in the prebinding code path. Fixes bug http://b/issue?id=2277519 Added tests for the CanNavigateFullTabMode helper function. Bug=2277519 Review URL: http://codereview.chromium.org/3051018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54019 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/chrome_active_document.h')
-rw-r--r--chrome_frame/chrome_active_document.h19
1 files changed, 3 insertions, 16 deletions
diff --git a/chrome_frame/chrome_active_document.h b/chrome_frame/chrome_active_document.h
index 636d195..25d49d6 100644
--- a/chrome_frame/chrome_active_document.h
+++ b/chrome_frame/chrome_active_document.h
@@ -9,10 +9,10 @@
#include <atlcom.h>
#include <atlctl.h>
#include <htiframe.h>
+#include <map>
#include <mshtmcid.h>
#include <perhist.h>
-
-#include <map>
+#include <string>
#include "base/scoped_ptr.h"
#include "base/scoped_comptr_win.h"
@@ -382,20 +382,9 @@ END_EXEC_COMMAND_MAP()
HRESULT IEExec(const GUID* cmd_group_guid, DWORD command_id,
DWORD cmd_exec_opt, VARIANT* in_args, VARIANT* out_args);
- DWORD MapUrlToZone(const wchar_t* url);
-
- // Parses the URL and returns information whether it is a new navigation and
- // the actual url after stripping out the cf: prefix if any.
- // This function also checks if the url scheme is valid for navigation within
- // chrome and whether it is a restricted URL as per IE settings. In either of
- // these cases it returns false.
- bool ParseUrl(const std::wstring& url, bool* is_new_navigation,
- bool* is_chrome_protocol, std::wstring* parsed_url);
-
// Initiates navigation to the URL passed in.
// Returns true on success.
- bool LaunchUrl(const std::wstring& url, const std::string& referrer,
- bool is_new_navigation);
+ bool LaunchUrl(const ChromeFrameUrl& cf_url, const std::string& referrer);
// Handler to set the page font size in Chrome.
HRESULT SetPageFontSize(const GUID* cmd_group_guid,
@@ -471,8 +460,6 @@ END_EXEC_COMMAND_MAP()
// Dimensions of the window. Used only when opening popups.
gfx::Rect dimensions_;
- // Set to true if the document was loaded by a window.open in chrome.
- bool is_new_navigation_;
public:
ScopedComPtr<IOleInPlaceFrame> in_place_frame_;
OLEINPLACEFRAMEINFO frame_info_;