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

Side by Side Diff: chrome_frame/external_tab.h

Issue 5698005: Add support for gcf:about:plugins in chrome frame full tab mode. The URL vali... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome_frame/chrome_frame_npapi.cc ('k') | chrome_frame/external_tab.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_FRAME_EXTERNAL_TAB_H_ 5 #ifndef CHROME_FRAME_EXTERNAL_TAB_H_
6 #define CHROME_FRAME_EXTERNAL_TAB_H_ 6 #define CHROME_FRAME_EXTERNAL_TAB_H_
7 #pragma once 7 #pragma once
8 8
9 #include <windows.h> 9 #include <windows.h>
10 #include <atlbase.h> 10 #include <atlbase.h>
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 }; 56 };
57 57
58 struct CreateTabParams { 58 struct CreateTabParams {
59 struct ProxyParams proxy_params; 59 struct ProxyParams proxy_params;
60 bool is_incognito; 60 bool is_incognito;
61 bool is_widget_mode; 61 bool is_widget_mode;
62 GURL url; 62 GURL url;
63 GURL referrer; 63 GURL referrer;
64 }; 64 };
65 65
66 class NavigationConstraints;
67
66 ///////////////////////////////////////////////////////////////////////// 68 /////////////////////////////////////////////////////////////////////////
67 // ExternalTabProxy is a mediator between ChromeProxy (which runs mostly in 69 // ExternalTabProxy is a mediator between ChromeProxy (which runs mostly in
68 // background IPC-channel thread and the UI object (ActiveX, NPAPI, 70 // background IPC-channel thread and the UI object (ActiveX, NPAPI,
69 // ActiveDocument). 71 // ActiveDocument).
70 // The lifetime of ExternalTabProxy is determined by the UI object. 72 // The lifetime of ExternalTabProxy is determined by the UI object.
71 // 73 //
72 // When ExternalTabProxy dies: 74 // When ExternalTabProxy dies:
73 // 1. Remove itself as a ChromeProxyDelegate. This blocks until _Disconnected() 75 // 1. Remove itself as a ChromeProxyDelegate. This blocks until _Disconnected()
74 // is received. 76 // is received.
75 // 2. Kills all posted tasks to the UI thread. 77 // 2. Kills all posted tasks to the UI thread.
76 // 3. Stop all network requests 78 // 3. Stop all network requests
77 // => It does not have to (and should not) be a refcount-ed object. 79 // => It does not have to (and should not) be a refcount-ed object.
78 80
79 // Non-public inheritance is not allowed by the style-guide. 81 // Non-public inheritance is not allowed by the style-guide.
80 class ExternalTabProxy : public CWindowImpl<ExternalTabProxy>, 82 class ExternalTabProxy : public CWindowImpl<ExternalTabProxy>,
81 public ChromeProxyDelegate { 83 public ChromeProxyDelegate {
82 public: 84 public:
83 ExternalTabProxy(); 85 ExternalTabProxy();
84 ~ExternalTabProxy(); 86 ~ExternalTabProxy();
85 87
86 #ifdef UNIT_TEST 88 #ifdef UNIT_TEST
87 void set_proxy_factory(ChromeProxyFactory* factory) { 89 void set_proxy_factory(ChromeProxyFactory* factory) {
88 proxy_factory_ = factory; 90 proxy_factory_ = factory;
89 } 91 }
90 #endif 92 #endif
91 // 93 //
92 virtual void CreateTab(const CreateTabParams& create_params, 94 virtual void CreateTab(const CreateTabParams& create_params,
93 UIDelegate* delegate); 95 UIDelegate* delegate);
94 virtual void Navigate(const std::string& url, const std::string& referrer, 96 virtual void Navigate(const std::string& url, const std::string& referrer,
95 bool is_privileged); 97 NavigationConstraints* navigation_constraints);
96 virtual void NavigateToIndex(int index); 98 virtual void NavigateToIndex(int index);
97 virtual void ForwardMessageFromExternalHost(const std::string& message, 99 virtual void ForwardMessageFromExternalHost(const std::string& message,
98 const std::string& origin, const std::string& target); 100 const std::string& origin, const std::string& target);
99 virtual void ChromeFrameHostMoved(); 101 virtual void ChromeFrameHostMoved();
100 102
101 virtual void SetEnableExtensionAutomation( 103 virtual void SetEnableExtensionAutomation(
102 const std::vector<std::string>& functions_enabled); 104 const std::vector<std::string>& functions_enabled);
103 virtual void InstallExtension(const FilePath& crx_path, void* user_data); 105 virtual void InstallExtension(const FilePath& crx_path, void* user_data);
104 virtual void LoadExpandedExtension(const FilePath& path, void* user_data); 106 virtual void LoadExpandedExtension(const FilePath& path, void* user_data);
105 virtual void GetEnabledExtensions(void* user_data); 107 virtual void GetEnabledExtensions(void* user_data);
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 213
212 CreateTabParams tab_params_; 214 CreateTabParams tab_params_;
213 struct PendingNavigation { 215 struct PendingNavigation {
214 GURL url; 216 GURL url;
215 GURL referrer; 217 GURL referrer;
216 void Set(const GURL& gurl, const GURL& ref) { 218 void Set(const GURL& gurl, const GURL& ref) {
217 url = gurl; 219 url = gurl;
218 referrer = ref; 220 referrer = ref;
219 } 221 }
220 } pending_navigation_; 222 } pending_navigation_;
221
222 ScopedComPtr<IInternetSecurityManager> security_manager_;
223 }; 223 };
224 224
225 #endif // CHROME_FRAME_EXTERNAL_TAB_H_ 225 #endif // CHROME_FRAME_EXTERNAL_TAB_H_
OLDNEW
« no previous file with comments | « chrome_frame/chrome_frame_npapi.cc ('k') | chrome_frame/external_tab.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698