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

Unified Diff: chrome/browser/external_tab_container_win.h

Issue 3549006: Top level navigations are not sent to the host browser in the ChromeFrame NPA... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 3 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/browser/automation/automation_provider_win.cc ('k') | chrome/browser/external_tab_container_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/external_tab_container_win.h
===================================================================
--- chrome/browser/external_tab_container_win.h (revision 60826)
+++ chrome/browser/external_tab_container_win.h (working copy)
@@ -6,8 +6,10 @@
#define CHROME_BROWSER_EXTERNAL_TAB_CONTAINER_WIN_H_
#pragma once
+#include <map>
+#include <string>
#include <vector>
-#include <map>
+
#include "base/lazy_instance.h"
#include "chrome/browser/automation/automation_resource_message_filter.h"
#include "chrome/browser/browser.h"
@@ -66,7 +68,8 @@
TabContents* existing_tab_contents,
const GURL& initial_url,
const GURL& referrer,
- bool infobars_enabled);
+ bool infobars_enabled,
+ bool supports_full_tab_mode);
// Unhook the keystroke listener and notify about the closing TabContents.
// This function gets called from three places, which is fine.
@@ -209,6 +212,7 @@
void RunUnloadHandlers(IPC::Message* reply_message);
protected:
+ ~ExternalTabContainer();
// Overridden from views::WidgetWin:
virtual LRESULT OnCreate(LPCREATESTRUCT create_struct);
virtual void OnDestroy();
@@ -219,11 +223,8 @@
int relative_offset);
void Navigate(const GURL& url, const GURL& referrer);
- private:
friend class base::RefCounted<ExternalTabContainer>;
- ~ExternalTabContainer();
-
// Helper resource automation registration method, allowing registration of
// pending RenderViewHosts.
void RegisterRenderViewHostForAutomation(RenderViewHost* render_view_host,
@@ -326,7 +327,76 @@
IPC::Message* unload_reply_message_;
+ // set to true if the host needs to get notified of all top level navigations
+ // in this page. This typically applies to hosts which would render the new
+ // page without chrome frame.
+ bool route_all_top_level_navigations_;
+
DISALLOW_COPY_AND_ASSIGN(ExternalTabContainer);
};
+// This class is instantiated for handling requests to open popups for external
+// tabs hosted in browsers which need to be notified about all top level
+// navigations. An instance of this class is created for handling window.open
+// or link navigations with target blank, etc.
+class TemporaryPopupExternalTabContainer : public ExternalTabContainer {
+ public:
+ TemporaryPopupExternalTabContainer(AutomationProvider* automation,
+ AutomationResourceMessageFilter* filter);
+ virtual ~TemporaryPopupExternalTabContainer();
+
+ virtual bool OnGoToEntryOffset(int offset) {
+ NOTREACHED();
+ return false;
+ }
+
+ virtual bool ProcessUnhandledKeyStroke(HWND window, UINT message,
+ WPARAM wparam, LPARAM lparam) {
+ NOTREACHED();
+ return false;
+ }
+
+ virtual void Observe(NotificationType type, const NotificationSource& source,
+ const NotificationDetails& details) {}
+
+ virtual void OpenURLFromTab(TabContents* source, const GURL& url,
+ const GURL& referrer,
+ WindowOpenDisposition disposition,
+ PageTransition::Type transition);
+
+ virtual void NavigationStateChanged(const TabContents* source,
+ unsigned changed_flags) {
+ NOTREACHED();
+ }
+
+ virtual void CloseContents(TabContents* source) {
+ NOTREACHED();
+ }
+
+ virtual void UpdateTargetURL(TabContents* source, const GURL& url) {
+ NOTREACHED();
+ }
+
+ void ForwardMessageToExternalHost(const std::string& message,
+ const std::string& origin,
+ const std::string& target) {
+ NOTREACHED();
+ }
+
+ virtual bool TakeFocus(bool reverse) {
+ NOTREACHED();
+ return false;
+ }
+
+ virtual bool HandleContextMenu(const ContextMenuParams& params) {
+ NOTREACHED();
+ return false;
+ }
+
+ virtual void BeforeUnloadFired(TabContents* tab, bool proceed,
+ bool* proceed_to_fire_unload) {
+ NOTREACHED();
+ }
+};
+
#endif // CHROME_BROWSER_EXTERNAL_TAB_CONTAINER_WIN_H_
« no previous file with comments | « chrome/browser/automation/automation_provider_win.cc ('k') | chrome/browser/external_tab_container_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698