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

Side by Side Diff: chrome_frame/navigation_constraints.h

Issue 5814004: Fixing a regression introduced with r69101, which now prevents Chrome Frame... (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_plugin.h ('k') | chrome_frame/navigation_constraints.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_NAVIGATION_CONSTRAINTS_H_ 5 #ifndef CHROME_FRAME_NAVIGATION_CONSTRAINTS_H_
6 #define CHROME_FRAME_NAVIGATION_CONSTRAINTS_H_ 6 #define CHROME_FRAME_NAVIGATION_CONSTRAINTS_H_
7 7
8 #include <urlmon.h> 8 #include <urlmon.h>
9 #include <windows.h> 9 #include <windows.h>
10 10
11 #include "base/win/scoped_comptr.h" 11 #include "base/win/scoped_comptr.h"
12 #include "googleurl/src/gurl.h" 12 #include "googleurl/src/gurl.h"
13 13
14 // Provides an interface which controls navigation within ChromeFrame. 14 // Provides an interface which controls navigation within ChromeFrame.
15 class NavigationConstraints { 15 class NavigationConstraints {
16 public: 16 public:
17 virtual ~NavigationConstraints() {} 17 virtual ~NavigationConstraints() {}
18 virtual bool AllowUnsafeUrls() = 0; 18 virtual bool AllowUnsafeUrls() = 0;
19 virtual bool IsSchemeAllowed(const GURL& url) = 0; 19 virtual bool IsSchemeAllowed(const GURL& url) = 0;
20 virtual bool IsZoneAllowed(const GURL& url) = 0; 20 virtual bool IsZoneAllowed(const GURL& url) = 0;
21 }; 21 };
22 22
23 // Provides default implementation for the NavigationConstraints interface. 23 // Provides default implementation for the NavigationConstraints interface.
24 class NavigationConstraintsImpl : public NavigationConstraints { 24 class NavigationConstraintsImpl : public NavigationConstraints {
25 public: 25 public:
26 NavigationConstraintsImpl();
26 virtual ~NavigationConstraintsImpl() {} 27 virtual ~NavigationConstraintsImpl() {}
27 28
28 // NavigationConstraints method overrides. 29 // NavigationConstraints method overrides.
29 virtual bool AllowUnsafeUrls(); 30 virtual bool AllowUnsafeUrls();
30 virtual bool IsSchemeAllowed(const GURL& url); 31 virtual bool IsSchemeAllowed(const GURL& url);
31 virtual bool IsZoneAllowed(const GURL& url); 32 virtual bool IsZoneAllowed(const GURL& url);
33
34 bool is_privileged() const;
35 void set_is_privileged(bool is_privileged);
36
32 private: 37 private:
33 base::win::ScopedComPtr<IInternetSecurityManager> security_manager_; 38 base::win::ScopedComPtr<IInternetSecurityManager> security_manager_;
39
40 // The plugin is privileged if it is:
41 // * Invoked by a window running under the system principal in FireFox.
42 // * Being hosted by a custom host exposing the SID_ChromeFramePrivileged
43 // service.
44 //
45 // When privileged, additional interfaces are made available to the user.
46 bool is_privileged_;
34 }; 47 };
35 48
36 #endif // CHROME_FRAME_NAVIGATION_CONSTRAINTS_H_ 49 #endif // CHROME_FRAME_NAVIGATION_CONSTRAINTS_H_
37
OLDNEW
« no previous file with comments | « chrome_frame/chrome_frame_plugin.h ('k') | chrome_frame/navigation_constraints.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698