forked from mirrors/gecko-dev
This removes all docshell nsISecureBrowserUI and mixed content properties, and moves them into CanonicalBrowsingContext/WindowGlobalParent. It makes the mixed content blocker just compute the state for the current load, and then send the results to the parent process, where we update the security state accordingly. I think we could in the future remove onSecurityChange entirely, and instead just fire an event to the <browser> element notifying it of changes to the queryable securityUI. Unfortunately we have a lot of existing code that depends on specific ordering between onSecurityChange and onLocationChange, so I had to hook into the RemoteWebProgress implementation in BrowserParent to mimic the same timings. Differential Revision: https://phabricator.services.mozilla.com/D75447
37 lines
1.1 KiB
C++
37 lines
1.1 KiB
C++
/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
|
|
/* vim: set sw=4 ts=8 et tw=80 ft=cpp : */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
include "mozilla/ipc/TransportSecurityInfoUtils.h";
|
|
|
|
include NeckoChannelParams;
|
|
include DOMTypes;
|
|
|
|
using mozilla::dom::WindowContextInitializer from "mozilla/dom/WindowContext.h";
|
|
using refcounted class nsITransportSecurityInfo from "nsITransportSecurityInfo.h";
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
struct WindowGlobalInit
|
|
{
|
|
// Fields which are synchronized to other processes are found here.
|
|
WindowContextInitializer context;
|
|
|
|
// Private fields only shared with the parent process.
|
|
nsIPrincipal principal;
|
|
nsIPrincipal contentBlockingAllowListPrincipal;
|
|
nsIURI documentURI;
|
|
|
|
bool blockAllMixedContent;
|
|
bool upgradeInsecureRequests;
|
|
uint32_t sandboxFlags;
|
|
CookieJarSettingsArgs cookieJarSettings;
|
|
uint32_t httpsOnlyStatus;
|
|
nsITransportSecurityInfo securityInfo;
|
|
};
|
|
|
|
} // namespace dom
|
|
} // namespace mozilla
|