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

Side by Side Diff: chrome/browser/tab_contents/navigation_entry.h

Issue 2067003: Track "display" and "run" separately for mixed content, and make the latter d... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 7 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 unified diff | Download patch | Annotate | Revision Log
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_BROWSER_TAB_CONTENTS_NAVIGATION_ENTRY_H_ 5 #ifndef CHROME_BROWSER_TAB_CONTENTS_NAVIGATION_ENTRY_H_
6 #define CHROME_BROWSER_TAB_CONTENTS_NAVIGATION_ENTRY_H_ 6 #define CHROME_BROWSER_TAB_CONTENTS_NAVIGATION_ENTRY_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 19 matching lines...) Expand all
30 //////////////////////////////////////////////////////////////////////////////// 30 ////////////////////////////////////////////////////////////////////////////////
31 class NavigationEntry { 31 class NavigationEntry {
32 public: 32 public:
33 // SSL ----------------------------------------------------------------------- 33 // SSL -----------------------------------------------------------------------
34 34
35 // Collects the SSL information for this NavigationEntry. 35 // Collects the SSL information for this NavigationEntry.
36 class SSLStatus { 36 class SSLStatus {
37 public: 37 public:
38 // Flags used for the page security content status. 38 // Flags used for the page security content status.
39 enum ContentStatusFlags { 39 enum ContentStatusFlags {
40 NORMAL_CONTENT = 0, // No mixed content. 40 // HTTP page, or HTTPS page with no insecure content.
41 MIXED_CONTENT = 1 << 0, // https page containing http resources. 41 NORMAL_CONTENT = 0,
42
43 // HTTPS page containing "displayed" HTTP resources (e.g. images, CSS).
44 DISPLAYED_MIXED_CONTENT = 1 << 0,
45
46 // HTTPS page containing "executed" HTTP resources (i.e. script).
47 // Also currently used for HTTPS page containing broken-HTTPS resources;
48 // this is wrong and should be fixed (see comments in
49 // SSLPolicy::OnRequestStarted()).
50 RAN_MIXED_CONTENT = 1 << 1,
42 }; 51 };
43 52
44 SSLStatus(); 53 SSLStatus();
45 54
46 bool Equals(const SSLStatus& status) const { 55 bool Equals(const SSLStatus& status) const {
47 return security_style_ == status.security_style_ && 56 return security_style_ == status.security_style_ &&
48 cert_id_ == status.cert_id_ && 57 cert_id_ == status.cert_id_ &&
49 cert_status_ == status.cert_status_ && 58 cert_status_ == status.cert_status_ &&
50 security_bits_ == status.security_bits_ && 59 security_bits_ == status.security_bits_ &&
51 content_status_ == status.content_status_; 60 content_status_ == status.content_status_;
(...skipping 20 matching lines...) Expand all
72 return cert_status_; 81 return cert_status_;
73 } 82 }
74 83
75 void set_security_bits(int security_bits) { 84 void set_security_bits(int security_bits) {
76 security_bits_ = security_bits; 85 security_bits_ = security_bits;
77 } 86 }
78 int security_bits() const { 87 int security_bits() const {
79 return security_bits_; 88 return security_bits_;
80 } 89 }
81 90
82 // Mixed content means that this page which is served over https contains 91 void set_displayed_mixed_content() {
83 // http sub-resources. 92 content_status_ |= DISPLAYED_MIXED_CONTENT;
84 void set_has_mixed_content() {
85 content_status_ |= MIXED_CONTENT;
86 } 93 }
87 bool has_mixed_content() const { 94 bool displayed_mixed_content() const {
88 return (content_status_ & MIXED_CONTENT) != 0; 95 return (content_status_ & DISPLAYED_MIXED_CONTENT) != 0;
96 }
97
98 void set_ran_mixed_content() {
99 content_status_ |= RAN_MIXED_CONTENT;
100 }
101 bool ran_mixed_content() const {
102 return (content_status_ & RAN_MIXED_CONTENT) != 0;
89 } 103 }
90 104
91 // Raw accessors for all the content status flags. This contains a 105 // Raw accessors for all the content status flags. This contains a
92 // combination of any of the ContentStatusFlags defined above. It is used 106 // combination of any of the ContentStatusFlags defined above. It is used
93 // by some tests for checking and for certain copying. Use the per-status 107 // by some tests for checking and for certain copying. Use the per-status
94 // functions for normal usage. 108 // functions for normal usage.
95 void set_content_status(int content_status) { 109 void set_content_status(int content_status) {
96 content_status_ = content_status; 110 content_status_ = content_status;
97 } 111 }
98 int content_status() const { 112 int content_status() const {
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 // This is a cached version of the result of GetTitleForDisplay. It prevents 421 // This is a cached version of the result of GetTitleForDisplay. It prevents
408 // us from having to do URL formatting on the URL evey time the title is 422 // us from having to do URL formatting on the URL evey time the title is
409 // displayed. When the URL, virtual URL, or title is set, this should be 423 // displayed. When the URL, virtual URL, or title is set, this should be
410 // cleared to force a refresh. 424 // cleared to force a refresh.
411 string16 cached_display_title_; 425 string16 cached_display_title_;
412 426
413 // Copy and assignment is explicitly allowed for this class. 427 // Copy and assignment is explicitly allowed for this class.
414 }; 428 };
415 429
416 #endif // CHROME_BROWSER_TAB_CONTENTS_NAVIGATION_ENTRY_H_ 430 #endif // CHROME_BROWSER_TAB_CONTENTS_NAVIGATION_ENTRY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698