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

Unified Diff: chrome/browser/ssl/chrome_security_state_model_client.h

Issue 2448943002: Refactor SecurityStateModel/Clients for simplicity and reusability. (Closed)
Patch Set: Refactor -> WebContentsSecurityStateModel. Created 4 years, 2 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ssl/chrome_security_state_model_client.h
diff --git a/chrome/browser/ssl/chrome_security_state_model_client.h b/chrome/browser/ssl/chrome_security_state_model_client.h
index be12ac1b9c20d71addcecb9aef70b68d4a101abb..c700749fc2a61733bbbb80cd37e895065080dc89 100644
--- a/chrome/browser/ssl/chrome_security_state_model_client.h
+++ b/chrome/browser/ssl/chrome_security_state_model_client.h
@@ -7,28 +7,31 @@
#include <memory>
+#include "base/gtest_prod_util.h"
#include "base/macros.h"
-#include "components/security_state/security_state_model.h"
-#include "components/security_state/security_state_model_client.h"
+#include "components/security_state/content/web_contents_security_state_model.h"
+#include "components/security_state/core/security_state_model.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/browser/web_contents_user_data.h"
#include "third_party/WebKit/public/platform/WebSecurityStyle.h"
namespace content {
struct SecurityStyleExplanations;
+class NavigationEntry;
class NavigationHandle;
class WebContents;
} // namespace content
-// Uses a WebContents to provide a SecurityStateModel with the
-// information that it needs to determine the page's security status.
+// Provides a WebContentsSecurityStateModel with chrome-specific information
+// that it needs to determine the page's security status.
class ChromeSecurityStateModelClient
- : public security_state::SecurityStateModelClient,
+ : public security_state::WebContentsSecurityStateModelClient,
public content::WebContentsObserver,
public content::WebContentsUserData<ChromeSecurityStateModelClient> {
public:
~ChromeSecurityStateModelClient() override;
+ // See WebContentsSecurityStateModel::GetSecurityInfo.
void GetSecurityInfo(
security_state::SecurityStateModel::SecurityInfo* result) const;
@@ -39,26 +42,21 @@ class ChromeSecurityStateModelClient
void DidFinishNavigation(
content::NavigationHandle* navigation_handle) override;
- // Returns the SecurityStyle that should be applied to a WebContents
- // with the given |security_info|. Populates
- // |security_style_explanations| to explain why the returned
- // SecurityStyle was chosen.
- static blink::WebSecurityStyle GetSecurityStyle(
- const security_state::SecurityStateModel::SecurityInfo& security_info,
- content::SecurityStyleExplanations* security_style_explanations);
-
- // SecurityStateModelClient:
- void GetVisibleSecurityState(
- security_state::SecurityStateModel::VisibleSecurityState* state) override;
+ // WebContentsSecurityStateModelClient:
bool UsedPolicyInstalledCertificate() override;
- bool IsOriginSecure(const GURL& url) override;
+ bool GetMalwareStatus(content::NavigationEntry* entry,
+ content::WebContents* web_contents) override;
private:
explicit ChromeSecurityStateModelClient(content::WebContents* web_contents);
friend class content::WebContentsUserData<ChromeSecurityStateModelClient>;
- content::WebContents* web_contents_;
- std::unique_ptr<security_state::SecurityStateModel> security_state_model_;
+ // For security_state_model_.
+ FRIEND_TEST_ALL_PREFIXES(ChromeSecurityStateModelClientTest,
+ VisibleSecurityStateNonsecureFormInputs);
+
+ std::unique_ptr<security_state::WebContentsSecurityStateModel>
+ security_state_model_;
// True if a console has been logged about an omnibox warning that
// will be shown in future versions of Chrome for insecure HTTP

Powered by Google App Engine
This is Rietveld 408576698