Chromium Code Reviews

Side by Side Diff: chrome_frame/chrome_frame_delegate.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.
Jump to:
View unified diff | | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/chrome_frame_delegate.h" 5 #include "chrome_frame/chrome_frame_delegate.h"
6 6
7 #include "base/utf_string_conversions.h"
8 #include "chrome/common/url_constants.h"
9 #include "chrome_frame/utils.h"
10
7 bool ChromeFrameDelegateImpl::IsTabMessage(const IPC::Message& message, 11 bool ChromeFrameDelegateImpl::IsTabMessage(const IPC::Message& message,
8 int* tab_handle) { 12 int* tab_handle) {
9 bool is_tab_message = true; 13 bool is_tab_message = true;
10 IPC_BEGIN_MESSAGE_MAP(ChromeFrameDelegateImpl, message) 14 IPC_BEGIN_MESSAGE_MAP(ChromeFrameDelegateImpl, message)
11 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_NavigationStateChanged, ) 15 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_NavigationStateChanged, )
12 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_UpdateTargetUrl, ) 16 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_UpdateTargetUrl, )
13 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_HandleAccelerator, ) 17 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_HandleAccelerator, )
14 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_TabbedOut, ) 18 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_TabbedOut, )
15 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_OpenURL, ) 19 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_OpenURL, )
16 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_NavigationFailed, ) 20 IPC_MESSAGE_HANDLER_GENERIC(AutomationMsg_NavigationFailed, )
(...skipping 51 matching lines...)
68 IPC_MESSAGE_HANDLER(AutomationMsg_DownloadRequestInHost, 72 IPC_MESSAGE_HANDLER(AutomationMsg_DownloadRequestInHost,
69 OnDownloadRequestInHost) 73 OnDownloadRequestInHost)
70 IPC_MESSAGE_HANDLER(AutomationMsg_SetCookieAsync, OnSetCookieAsync) 74 IPC_MESSAGE_HANDLER(AutomationMsg_SetCookieAsync, OnSetCookieAsync)
71 IPC_MESSAGE_HANDLER(AutomationMsg_AttachExternalTab, OnAttachExternalTab) 75 IPC_MESSAGE_HANDLER(AutomationMsg_AttachExternalTab, OnAttachExternalTab)
72 IPC_MESSAGE_HANDLER(AutomationMsg_RequestGoToHistoryEntryOffset, 76 IPC_MESSAGE_HANDLER(AutomationMsg_RequestGoToHistoryEntryOffset,
73 OnGoToHistoryEntryOffset) 77 OnGoToHistoryEntryOffset)
74 IPC_MESSAGE_HANDLER(AutomationMsg_GetCookiesFromHost, OnGetCookiesFromHost) 78 IPC_MESSAGE_HANDLER(AutomationMsg_GetCookiesFromHost, OnGetCookiesFromHost)
75 IPC_MESSAGE_HANDLER(AutomationMsg_CloseExternalTab, OnCloseTab) 79 IPC_MESSAGE_HANDLER(AutomationMsg_CloseExternalTab, OnCloseTab)
76 IPC_END_MESSAGE_MAP() 80 IPC_END_MESSAGE_MAP()
77 } 81 }
82
83
84 // NavigationConstraintsImpl method definitions.
85 bool NavigationConstraintsImpl::AllowUnsafeUrls() {
86 // No sanity checks if unsafe URLs are allowed
87 return GetConfigBool(false, kAllowUnsafeURLs);
88 }
89
90 bool NavigationConstraintsImpl::IsSchemeAllowed(const GURL& url) {
91 if (url.is_empty())
92 return false;
93
94 if (!url.is_valid())
95 return false;
96
97 if (url.SchemeIs(chrome::kHttpScheme) ||
98 url.SchemeIs(chrome::kHttpsScheme))
99 return true;
100
101 // Additional checking for view-source. Allow only http and https
102 // URLs in view source.
103 if (url.SchemeIs(chrome::kViewSourceScheme)) {
104 GURL sub_url(url.path());
105 if (sub_url.SchemeIs(chrome::kHttpScheme) ||
106 sub_url.SchemeIs(chrome::kHttpsScheme))
107 return true;
108 }
109
110 // Allow only about:blank or about:version
111 if (url.SchemeIs(chrome::kAboutScheme)) {
112 if (LowerCaseEqualsASCII(url.spec(), chrome::kAboutBlankURL) ||
113 LowerCaseEqualsASCII(url.spec(), chrome::kAboutVersionURL)) {
114 return true;
115 }
116 }
117 return false;
118 }
119
120 bool NavigationConstraintsImpl::IsZoneAllowed(const GURL& url) {
121 return true;
122 }
OLDNEW

Powered by Google App Engine