Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(471)

Unified Diff: chrome_frame/chrome_frame_activex_base.h

Issue 6458004: Remove includes of message headers in headers. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome_frame/chrome_frame_activex.cc ('k') | chrome_frame/chrome_frame_automation.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome_frame/chrome_frame_activex_base.h
===================================================================
--- chrome_frame/chrome_frame_activex_base.h (revision 74235)
+++ chrome_frame/chrome_frame_activex_base.h (working copy)
@@ -148,6 +148,18 @@
extern bool g_first_launch_by_process_;
+namespace chrome_frame {
+// Implemented outside this file so that the header doesn't include
+// automation_messages.h.
+std::string ActiveXCreateUrl(const GURL& parsed_url,
+ const AttachExternalTabParams& params);
+int GetDisposition(const AttachExternalTabParams& params);
+void GetMiniContextMenuData(UINT cmd,
+ const MiniContextMenuParams& params,
+ GURL* referrer,
+ GURL* url);
+} // namespace chrome_frame
+
// Common implementation for ActiveX and Active Document
template <class T, const CLSID& class_id>
class ATL_NO_VTABLE ChromeFrameActivexBase : // NOLINT
@@ -357,10 +369,8 @@
case IDS_CONTENT_CONTEXT_SAVEVIDEOAS:
case IDS_CONTENT_CONTEXT_SAVEIMAGEAS:
case IDS_CONTENT_CONTEXT_SAVELINKAS: {
- const GURL& referrer = params.frame_url.is_empty() ?
- params.page_url : params.frame_url;
- const GURL& url = (cmd == IDS_CONTENT_CONTEXT_SAVELINKAS ?
- params.link_url : params.src_url);
+ GURL referrer, url;
+ chrome_frame::GetMiniContextMenuData(cmd, params, &referrer, &url);
DoFileDownloadInIE(UTF8ToWide(url.spec()).c_str());
return true;
}
@@ -492,17 +502,8 @@
parsed_url = parsed_url.ReplaceComponents(r);
}
- std::string url = base::StringPrintf(
- "%hs?attach_external_tab&%I64u&%d&%d&%d&%d&%d&%hs",
- parsed_url.GetOrigin().spec().c_str(),
- params.cookie,
- params.disposition,
- params.dimensions.x(),
- params.dimensions.y(),
- params.dimensions.width(),
- params.dimensions.height(),
- params.profile_name.c_str());
- HostNavigate(GURL(url), GURL(), params.disposition);
+ std::string url = chrome_frame::ActiveXCreateUrl(parsed_url, params);
+ HostNavigate(GURL(url), GURL(), chrome_frame::GetDisposition(params));
}
virtual void OnHandleContextMenu(HANDLE menu_handle,
« no previous file with comments | « chrome_frame/chrome_frame_activex.cc ('k') | chrome_frame/chrome_frame_automation.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698