Backed out changeset 4ad33c6fbfca (bug 832834) for merge conflict. CLOSED TREE

This commit is contained in:
Bogdan Tara 2018-09-05 02:41:48 +03:00
Родитель 5e13847479
Коммит bc4c3d2021
3 изменённых файлов: 1143 добавлений и 225 удалений

Просмотреть файл

@ -131,6 +131,7 @@ function startTest2() {
"onStateChange",
"onLocationChange",
"onSecurityChange",
"onSecurityChange",
"onStateChange",
];
gFrontNotifications = gAllNotifications;
@ -155,6 +156,7 @@ function startTest4() {
"onStateChange",
"onLocationChange",
"onSecurityChange",
"onSecurityChange",
"onStateChange",
];
gFrontNotifications = [];

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -6,8 +6,13 @@
#ifndef nsSecureBrowserUIImpl_h
#define nsSecureBrowserUIImpl_h
#include "PLDHashTable.h"
#include "mozilla/ReentrancyGuard.h"
#include "nsCOMPtr.h"
#include "nsINetUtil.h"
#include "nsISecureBrowserUI.h"
#include "nsISecurityEventSink.h"
#include "nsIURI.h"
#include "nsIWebProgressListener.h"
#include "nsWeakReference.h"
@ -17,10 +22,13 @@ class nsIChannel;
#define NS_SECURE_BROWSER_UI_CID \
{ 0xcc75499a, 0x1dd1, 0x11b2, {0x8a, 0x82, 0xca, 0x41, 0x0a, 0xc9, 0x07, 0xb8}}
class nsSecureBrowserUIImpl : public nsISecureBrowserUI
, public nsIWebProgressListener
, public nsSupportsWeakReference
class nsSecureBrowserUIImpl : public nsISecureBrowserUI,
public nsIWebProgressListener,
public nsSupportsWeakReference
{
friend class mozilla::ReentrancyGuard;
public:
nsSecureBrowserUIImpl();
@ -31,15 +39,55 @@ public:
protected:
virtual ~nsSecureBrowserUIImpl() {};
// Do mixed content and tracking protection checks. May update mState.
void CheckForBlockedContent();
// Given some information about a request from an OnLocationChange event,
// update mState and mTopLevelSecurityInfo.
nsresult UpdateStateAndSecurityInfo(nsIChannel* channel, nsIURI* uri);
uint32_t mState;
nsWeakPtr mWindow;
nsWeakPtr mDocShell;
nsCOMPtr<nsITransportSecurityInfo> mTopLevelSecurityInfo;
nsCOMPtr<nsINetUtil> mIOService;
nsCOMPtr<nsIURI> mCurrentURI;
nsCOMPtr<nsISecurityEventSink> mToplevelEventSink;
enum lockIconState {
lis_no_security,
lis_broken_security,
lis_mixed_security,
lis_high_security
};
lockIconState mNotifiedSecurityState;
bool mNotifiedToplevelIsEV;
void ResetStateTracking();
uint32_t mNewToplevelSecurityState;
bool mNewToplevelIsEV;
bool mNewToplevelSecurityStateKnown;
bool mIsViewSource;
int32_t mDocumentRequestsInProgress;
int32_t mSubRequestsBrokenSecurity;
int32_t mSubRequestsNoSecurity;
bool mCertUserOverridden;
bool mRestoreSubrequests;
bool mOnLocationChangeSeen;
#ifdef DEBUG
bool mEntered; // For ReentrancyGuard.
#endif
static already_AddRefed<nsISupports> ExtractSecurityInfo(nsIRequest* aRequest);
nsresult MapInternalToExternalState(uint32_t* aState, lockIconState lock, bool ev);
void UpdateSecurityState(nsIRequest* aRequest, bool withNewLocation,
bool withUpdateStatus);
void TellTheWorld(nsIRequest* aRequest);
void EvaluateAndUpdateSecurityState(nsIRequest* aRequest, nsISupports *info,
bool withNewLocation, bool withNewSink);
void UpdateSubrequestMembers(nsISupports* securityInfo, nsIRequest* request);
void ObtainEventSink(nsIChannel *channel,
nsCOMPtr<nsISecurityEventSink> &sink);
nsCOMPtr<nsITransportSecurityInfo> mSecInfo;
nsCOMPtr<nsISupports> mCurrentToplevelSecurityInfo;
PLDHashTable mTransferringRequests;
};
#endif // nsSecureBrowserUIImpl_h