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

Side by Side Diff: chrome_frame/external_tab.cc

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/external_tab.h ('k') | chrome_frame/external_tab_test.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 #include "chrome_frame/external_tab.h" 5 #include "chrome_frame/external_tab.h"
6 #include "base/singleton.h" 6 #include "base/singleton.h"
7 #include "base/tracked.h" 7 #include "base/tracked.h"
8 #include "base/task.h" 8 #include "base/task.h"
9 #include "base/waitable_event.h" 9 #include "base/waitable_event.h"
10 #include "chrome/common/automation_messages.h" 10 #include "chrome/common/automation_messages.h"
11 #include "chrome_frame/chrome_frame_delegate.h"
11 #include "chrome_frame/utils.h" 12 #include "chrome_frame/utils.h"
12 13
13 DISABLE_RUNNABLE_METHOD_REFCOUNT(ExternalTabProxy); 14 DISABLE_RUNNABLE_METHOD_REFCOUNT(ExternalTabProxy);
14 DISABLE_RUNNABLE_METHOD_REFCOUNT(UIDelegate); 15 DISABLE_RUNNABLE_METHOD_REFCOUNT(UIDelegate);
15 16
16 namespace { 17 namespace {
17 Singleton<ChromeProxyFactory> g_proxy_factory; 18 Singleton<ChromeProxyFactory> g_proxy_factory;
18 19
19 struct UserDataHolder : public SyncMessageContext { 20 struct UserDataHolder : public SyncMessageContext {
20 explicit UserDataHolder(void* p) : data(p) {} 21 explicit UserDataHolder(void* p) : data(p) {}
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 void ExternalTabProxy::PeerLost(ChromeProxy* proxy, DisconnectReason reason) { 115 void ExternalTabProxy::PeerLost(ChromeProxy* proxy, DisconnectReason reason) {
115 ui_.PostTask(FROM_HERE, NewRunnableMethod(this, &ExternalTabProxy::UiPeerLost, 116 ui_.PostTask(FROM_HERE, NewRunnableMethod(this, &ExternalTabProxy::UiPeerLost,
116 proxy, reason)); 117 proxy, reason));
117 } 118 }
118 119
119 void ExternalTabProxy::UiPeerLost(ChromeProxy* proxy, DisconnectReason reason) { 120 void ExternalTabProxy::UiPeerLost(ChromeProxy* proxy, DisconnectReason reason) {
120 // TODO(stoyan): 121 // TODO(stoyan):
121 } 122 }
122 123
123 void ExternalTabProxy::Navigate(const std::string& url, 124 void ExternalTabProxy::Navigate(const std::string& url,
124 const std::string& referrer, bool is_privileged) { 125 const std::string& referrer,
126 NavigationConstraints* navigation_constraints) {
125 // in ui thread 127 // in ui thread
126 // Catch invalid URLs early. Can we allow this navigation to happen? 128 // Catch invalid URLs early. Can we allow this navigation to happen?
127 GURL parsed_url(url); 129 GURL parsed_url(url);
128 if (!CanNavigate(parsed_url, security_manager_, is_privileged)) { 130 if (!CanNavigate(parsed_url, navigation_constraints)) {
129 DLOG(ERROR) << __FUNCTION__ << " Not allowing navigation to: " << url; 131 DLOG(ERROR) << __FUNCTION__ << " Not allowing navigation to: " << url;
130 return; 132 return;
131 } 133 }
132 134
133 GURL parsed_referrer(referrer); 135 GURL parsed_referrer(referrer);
134 // If we are still establishing channel, simply replace the params 136 // If we are still establishing channel, simply replace the params
135 if (state_ == INIT_IN_PROGRESS) { 137 if (state_ == INIT_IN_PROGRESS) {
136 tab_params_.url = parsed_url; 138 tab_params_.url = parsed_url;
137 tab_params_.referrer = parsed_referrer; 139 tab_params_.referrer = parsed_referrer;
138 } 140 }
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 } 333 }
332 334
333 void ExternalTabProxy::TabClosed() { 335 void ExternalTabProxy::TabClosed() {
334 // TODO(stoyan): 336 // TODO(stoyan):
335 } 337 }
336 338
337 void ExternalTabProxy::AttachTab( 339 void ExternalTabProxy::AttachTab(
338 const IPC::AttachExternalTabParams& attach_params) { 340 const IPC::AttachExternalTabParams& attach_params) {
339 // TODO(stoyan): 341 // TODO(stoyan):
340 } 342 }
OLDNEW
« no previous file with comments | « chrome_frame/external_tab.h ('k') | chrome_frame/external_tab_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698