fune/dom/ipc/WindowGlobalTypes.ipdlh
Matt Woodrow e060a86c42 Bug 1631405 - Move nsISecureBrowserUI to be owned by the canonical browsing context instead of docshell. r=nika,ckerschb,Gijs,webcompat-reviewers,twisniewski
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
2020-05-27 00:28:59 +00:00

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