diff options
author | abarth@chromium.org <abarth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-17 18:56:42 +0000 |
---|---|---|
committer | abarth@chromium.org <abarth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-17 18:56:42 +0000 |
commit | 425210cc4509d0339664eb142c3ae86500407bb1 (patch) | |
tree | b04e954baa813d3cf40c11baa3642a44f4de8e30 /chrome/browser/ssl/ssl_policy.h | |
parent | 93edf7352b4c0500d1561ab0a56034d226ead456 (diff) | |
download | chromium_src-425210cc4509d0339664eb142c3ae86500407bb1.zip chromium_src-425210cc4509d0339664eb142c3ae86500407bb1.tar.gz chromium_src-425210cc4509d0339664eb142c3ae86500407bb1.tar.bz2 |
SSLPolicy Fix: Step 7.
Simplify SSLPolicy to prepare for changing its algorithm. This change should not change the SSLPolicy behavior at all.
R=jcampan
BUG=8706
Review URL: http://codereview.chromium.org/48060
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11892 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ssl/ssl_policy.h')
-rw-r--r-- | chrome/browser/ssl/ssl_policy.h | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/chrome/browser/ssl/ssl_policy.h b/chrome/browser/ssl/ssl_policy.h index 9318143..b7edea5 100644 --- a/chrome/browser/ssl/ssl_policy.h +++ b/chrome/browser/ssl/ssl_policy.h @@ -2,24 +2,23 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_SSL_POLICY_H__ -#define CHROME_BROWSER_SSL_POLICY_H__ +#ifndef CHROME_BROWSER_SSL_POLICY_H_ +#define CHROME_BROWSER_SSL_POLICY_H_ +#include "base/singleton.h" #include "chrome/browser/ssl/ssl_blocking_page.h" #include "chrome/browser/ssl/ssl_manager.h" -// The basic SSLPolicy. This class contains default implementations of all -// the SSLPolicy entry points. It is expected that subclasses will override -// most of these methods to implement policy specific to certain errors or -// situations. +// SSLPolicy +// +// This class is responsible for making the security decisions that concern the +// SSL trust indicators. It relies on the SSLManager to actually enact the +// decisions it reaches. +// class SSLPolicy : public SSLManager::Delegate, public SSLBlockingPage::Delegate { public: // Factory method to get the default policy. - // - // SSLPolicy is not meant to be instantiated itself. Only subclasses should - // be instantiated. The default policy has more complex behavior than a - // direct instance of SSLPolicy. static SSLPolicy* GetDefaultPolicy(); // SSLManager::Delegate methods. @@ -28,12 +27,7 @@ class SSLPolicy : public SSLManager::Delegate, virtual void OnMixedContent( NavigationController* navigation_controller, const GURL& main_frame_url, - SSLManager::MixedContentHandler* mixed_content_handler) { - // So far only the default policy is expected to receive mixed-content - // calls. - NOTREACHED(); - } - + SSLManager::MixedContentHandler* mixed_content_handler); virtual void OnRequestStarted(SSLManager* manager, const GURL& url, ResourceType::Type resource_type, @@ -53,8 +47,9 @@ class SSLPolicy : public SSLManager::Delegate, virtual void OnAllowCertificate(SSLManager::CertError* error); protected: - // Allow our subclasses to construct us. + // Construct via |GetDefaultPolicy|. SSLPolicy(); + friend struct DefaultSingletonTraits<SSLPolicy>; // Helper method for derived classes handling certificate errors that can be // overridden by the user. @@ -68,7 +63,7 @@ class SSLPolicy : public SSLManager::Delegate, SSLManager::CertError* error); private: - DISALLOW_EVIL_CONSTRUCTORS(SSLPolicy); + DISALLOW_COPY_AND_ASSIGN(SSLPolicy); }; -#endif // CHROME_BROWSER_SSL_POLICY_H__ +#endif // CHROME_BROWSER_SSL_POLICY_H_ |