summaryrefslogtreecommitdiffstats
path: root/chrome/browser/tab_contents
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/tab_contents')
-rw-r--r--chrome/browser/tab_contents/navigation_entry.h30
-rw-r--r--chrome/browser/tab_contents/navigation_entry_unittest.cc14
-rw-r--r--chrome/browser/tab_contents/tab_contents.cc8
-rw-r--r--chrome/browser/tab_contents/tab_contents.h7
4 files changed, 14 insertions, 45 deletions
diff --git a/chrome/browser/tab_contents/navigation_entry.h b/chrome/browser/tab_contents/navigation_entry.h
index 833107c..7aaa5e0 100644
--- a/chrome/browser/tab_contents/navigation_entry.h
+++ b/chrome/browser/tab_contents/navigation_entry.h
@@ -37,17 +37,8 @@ class NavigationEntry {
public:
// Flags used for the page security content status.
enum ContentStatusFlags {
- // HTTP page, or HTTPS page with no insecure content.
- NORMAL_CONTENT = 0,
-
- // HTTPS page containing "displayed" HTTP resources (e.g. images, CSS).
- DISPLAYED_MIXED_CONTENT = 1 << 0,
-
- // HTTPS page containing "executed" HTTP resources (i.e. script).
- // Also currently used for HTTPS page containing broken-HTTPS resources;
- // this is wrong and should be fixed (see comments in
- // SSLPolicy::OnRequestStarted()).
- RAN_MIXED_CONTENT = 1 << 1,
+ NORMAL_CONTENT = 0, // No mixed content.
+ MIXED_CONTENT = 1 << 0, // https page containing http resources.
};
SSLStatus();
@@ -88,18 +79,13 @@ class NavigationEntry {
return security_bits_;
}
- void set_displayed_mixed_content() {
- content_status_ |= DISPLAYED_MIXED_CONTENT;
- }
- bool displayed_mixed_content() const {
- return (content_status_ & DISPLAYED_MIXED_CONTENT) != 0;
- }
-
- void set_ran_mixed_content() {
- content_status_ |= RAN_MIXED_CONTENT;
+ // Mixed content means that this page which is served over https contains
+ // http sub-resources.
+ void set_has_mixed_content() {
+ content_status_ |= MIXED_CONTENT;
}
- bool ran_mixed_content() const {
- return (content_status_ & RAN_MIXED_CONTENT) != 0;
+ bool has_mixed_content() const {
+ return (content_status_ & MIXED_CONTENT) != 0;
}
// Raw accessors for all the content status flags. This contains a
diff --git a/chrome/browser/tab_contents/navigation_entry_unittest.cc b/chrome/browser/tab_contents/navigation_entry_unittest.cc
index ef37b11..8fde535 100644
--- a/chrome/browser/tab_contents/navigation_entry_unittest.cc
+++ b/chrome/browser/tab_contents/navigation_entry_unittest.cc
@@ -101,27 +101,23 @@ TEST_F(NavigationEntryTest, NavigationEntrySSLStatus) {
EXPECT_EQ(0, entry1_.get()->ssl().cert_id());
EXPECT_EQ(0, entry1_.get()->ssl().cert_status());
EXPECT_EQ(-1, entry1_.get()->ssl().security_bits());
- EXPECT_FALSE(entry1_.get()->ssl().displayed_mixed_content());
- EXPECT_FALSE(entry1_.get()->ssl().ran_mixed_content());
+ EXPECT_FALSE(entry1_.get()->ssl().has_mixed_content());
// Change from the defaults
entry2_.get()->ssl().set_security_style(SECURITY_STYLE_AUTHENTICATED);
entry2_.get()->ssl().set_cert_id(4);
entry2_.get()->ssl().set_cert_status(1);
entry2_.get()->ssl().set_security_bits(0);
- entry2_.get()->ssl().set_displayed_mixed_content();
EXPECT_EQ(SECURITY_STYLE_AUTHENTICATED,
entry2_.get()->ssl().security_style());
EXPECT_EQ(4, entry2_.get()->ssl().cert_id());
EXPECT_EQ(1, entry2_.get()->ssl().cert_status());
EXPECT_EQ(0, entry2_.get()->ssl().security_bits());
- EXPECT_TRUE(entry2_.get()->ssl().displayed_mixed_content());
- entry2_.get()->ssl().set_security_style(SECURITY_STYLE_AUTHENTICATION_BROKEN);
- entry2_.get()->ssl().set_ran_mixed_content();
- EXPECT_EQ(SECURITY_STYLE_AUTHENTICATION_BROKEN,
- entry2_.get()->ssl().security_style());
- EXPECT_TRUE(entry2_.get()->ssl().ran_mixed_content());
+ // Mixed content unaffected by unsafe content
+ EXPECT_FALSE(entry2_.get()->ssl().has_mixed_content());
+ entry2_.get()->ssl().set_has_mixed_content();
+ EXPECT_TRUE(entry2_.get()->ssl().has_mixed_content());
}
// Test other basic accessors
diff --git a/chrome/browser/tab_contents/tab_contents.cc b/chrome/browser/tab_contents/tab_contents.cc
index 1f7dd3d..8b29480 100644
--- a/chrome/browser/tab_contents/tab_contents.cc
+++ b/chrome/browser/tab_contents/tab_contents.cc
@@ -270,7 +270,6 @@ TabContents::TabContents(Profile* profile,
encoding_(),
blocked_popups_(NULL),
dont_notify_render_view_(false),
- displayed_insecure_content_(false),
infobar_delegates_(),
find_ui_active_(false),
find_op_aborted_(false),
@@ -1583,10 +1582,6 @@ void TabContents::DidNavigateMainFramePostCommit(
geolocation_settings_state_.DidNavigate(details);
if (delegate_)
delegate_->OnContentSettingsChange(this);
-
- // Once the main frame is navigated, we're no longer considered to have
- // displayed insecure content.
- displayed_insecure_content_ = false;
}
// Close constrained windows if necessary.
@@ -2056,8 +2051,7 @@ void TabContents::DidLoadResourceFromMemoryCache(
}
void TabContents::DidDisplayInsecureContent() {
- displayed_insecure_content_ = true;
- SSLManager::NotifySSLInternalStateChanged();
+ controller_.ssl_manager()->DidDisplayInsecureContent();
}
void TabContents::DidRunInsecureContent(const std::string& security_origin) {
diff --git a/chrome/browser/tab_contents/tab_contents.h b/chrome/browser/tab_contents/tab_contents.h
index c657d55..78465ec 100644
--- a/chrome/browser/tab_contents/tab_contents.h
+++ b/chrome/browser/tab_contents/tab_contents.h
@@ -298,10 +298,6 @@ class TabContents : public PageNavigator,
// navigation state change to trigger repaint of title.
void SetAppIcon(const SkBitmap& app_icon);
- bool displayed_insecure_content() const {
- return displayed_insecure_content_;
- }
-
// Internal state ------------------------------------------------------------
// This flag indicates whether the tab contents is currently being
@@ -1139,9 +1135,6 @@ class TabContents : public PageNavigator,
// Stores which content setting types actually have blocked content.
bool content_blocked_[CONTENT_SETTINGS_NUM_TYPES];
- // True if this is a secure page which displayed insecure content.
- bool displayed_insecure_content_;
-
// Data for shelves and stuff ------------------------------------------------
// Delegates for InfoBars associated with this TabContents.