diff options
Diffstat (limited to 'docshell/base')
-rw-r--r-- | docshell/base/CanonicalBrowsingContext.cpp | 150 | ||||
-rw-r--r-- | docshell/base/CanonicalBrowsingContext.h | 9 | ||||
-rw-r--r-- | docshell/base/nsAboutRedirector.cpp | 6 | ||||
-rw-r--r-- | docshell/base/nsDocShell.cpp | 67 | ||||
-rw-r--r-- | docshell/base/nsDocShell.h | 4 | ||||
-rw-r--r-- | docshell/base/nsDocShellLoadState.cpp | 8 | ||||
-rw-r--r-- | docshell/base/nsDocShellLoadState.h | 4 | ||||
-rw-r--r-- | docshell/base/nsIDocShell.idl | 37 | ||||
-rw-r--r-- | docshell/base/nsIDocShellTreeOwner.idl | 2 | ||||
-rw-r--r-- | docshell/base/nsIPrivacyTransitionObserver.idl | 2 | ||||
-rw-r--r-- | docshell/base/nsIURIFixup.idl | 2 |
11 files changed, 182 insertions, 109 deletions
diff --git a/docshell/base/CanonicalBrowsingContext.cpp b/docshell/base/CanonicalBrowsingContext.cpp index 84f2d2960a..4c92988c9b 100644 --- a/docshell/base/CanonicalBrowsingContext.cpp +++ b/docshell/base/CanonicalBrowsingContext.cpp @@ -6,8 +6,10 @@ #include "mozilla/dom/CanonicalBrowsingContext.h" +#include "ContentAnalysis.h" #include "ErrorList.h" #include "mozilla/CheckedInt.h" +#include "mozilla/Components.h" #include "mozilla/ErrorResult.h" #include "mozilla/EventForwards.h" #include "mozilla/AsyncEventDispatcher.h" @@ -47,6 +49,7 @@ #include "nsFrameLoader.h" #include "nsFrameLoaderOwner.h" #include "nsGlobalWindowOuter.h" +#include "nsIContentAnalysis.h" #include "nsIWebBrowserChrome.h" #include "nsIXULRuntime.h" #include "nsNetUtil.h" @@ -668,6 +671,9 @@ CanonicalBrowsingContext::ReplaceLoadingSessionHistoryEntryForLoad( using PrintPromise = CanonicalBrowsingContext::PrintPromise; #ifdef NS_PRINTING +// Clients must call StaticCloneForPrintingCreated or +// NoStaticCloneForPrintingWillBeCreated before the underlying promise can +// resolve. class PrintListenerAdapter final : public nsIWebProgressListener { public: explicit PrintListenerAdapter(PrintPromise::Private* aPromise) @@ -678,10 +684,14 @@ class PrintListenerAdapter final : public nsIWebProgressListener { // NS_DECL_NSIWEBPROGRESSLISTENER NS_IMETHOD OnStateChange(nsIWebProgress* aWebProgress, nsIRequest* aRequest, uint32_t aStateFlags, nsresult aStatus) override { + MOZ_ASSERT(NS_IsMainThread()); if (aStateFlags & nsIWebProgressListener::STATE_STOP && aStateFlags & nsIWebProgressListener::STATE_IS_DOCUMENT && mPromise) { - mPromise->Resolve(true, __func__); - mPromise = nullptr; + mPrintJobFinished = true; + if (mHaveSetBrowsingContext) { + mPromise->Resolve(mClonedStaticBrowsingContext, __func__); + mPromise = nullptr; + } } return NS_OK; } @@ -716,10 +726,28 @@ class PrintListenerAdapter final : public nsIWebProgressListener { return NS_OK; } + void StaticCloneForPrintingCreated( + MaybeDiscardedBrowsingContext&& aClonedStaticBrowsingContext) { + MOZ_ASSERT(NS_IsMainThread()); + mClonedStaticBrowsingContext = std::move(aClonedStaticBrowsingContext); + mHaveSetBrowsingContext = true; + if (mPrintJobFinished && mPromise) { + mPromise->Resolve(mClonedStaticBrowsingContext, __func__); + mPromise = nullptr; + } + } + + void NoStaticCloneForPrintingWillBeCreated() { + StaticCloneForPrintingCreated(nullptr); + } + private: ~PrintListenerAdapter() = default; RefPtr<PrintPromise::Private> mPromise; + MaybeDiscardedBrowsingContext mClonedStaticBrowsingContext = nullptr; + bool mHaveSetBrowsingContext = false; + bool mPrintJobFinished = false; }; NS_IMPL_ISUPPORTS(PrintListenerAdapter, nsIWebProgressListener) @@ -735,7 +763,9 @@ already_AddRefed<Promise> CanonicalBrowsingContext::PrintJS( Print(aPrintSettings) ->Then( GetCurrentSerialEventTarget(), __func__, - [promise](bool) { promise->MaybeResolveWithUndefined(); }, + [promise](MaybeDiscardedBrowsingContext) { + promise->MaybeResolveWithUndefined(); + }, [promise](nsresult aResult) { promise->MaybeReject(aResult); }); return promise.forget(); } @@ -745,7 +775,72 @@ RefPtr<PrintPromise> CanonicalBrowsingContext::Print( #ifndef NS_PRINTING return PrintPromise::CreateAndReject(NS_ERROR_NOT_AVAILABLE, __func__); #else +// Content analysis is not supported on non-Windows platforms. +# if defined(XP_WIN) + bool needContentAnalysis = false; + nsCOMPtr<nsIContentAnalysis> contentAnalysis = + mozilla::components::nsIContentAnalysis::Service(); + Unused << NS_WARN_IF(!contentAnalysis); + if (contentAnalysis) { + nsresult rv = contentAnalysis->GetIsActive(&needContentAnalysis); + Unused << NS_WARN_IF(NS_FAILED(rv)); + } + if (needContentAnalysis) { + auto done = MakeRefPtr<PrintPromise::Private>(__func__); + contentanalysis::ContentAnalysis::PrintToPDFToDetermineIfPrintAllowed( + this, aPrintSettings) + ->Then( + GetCurrentSerialEventTarget(), __func__, + [done, aPrintSettings = RefPtr{aPrintSettings}, + self = RefPtr{this}]( + contentanalysis::ContentAnalysis::PrintAllowedResult aResponse) + MOZ_CAN_RUN_SCRIPT_BOUNDARY_LAMBDA mutable { + if (aResponse.mAllowed) { + self->PrintWithNoContentAnalysis( + aPrintSettings, false, + aResponse.mCachedStaticDocumentBrowsingContext) + ->ChainTo(done.forget(), __func__); + } else { + // Since we are not doing the second print in this case, + // release the clone that is no longer needed. + self->ReleaseClonedPrint( + aResponse.mCachedStaticDocumentBrowsingContext); + done->Reject(NS_ERROR_CONTENT_BLOCKED, __func__); + } + }, + [done, self = RefPtr{this}]( + contentanalysis::ContentAnalysis::PrintAllowedError + aErrorResponse) MOZ_CAN_RUN_SCRIPT_BOUNDARY_LAMBDA { + // Since we are not doing the second print in this case, release + // the clone that is no longer needed. + self->ReleaseClonedPrint( + aErrorResponse.mCachedStaticDocumentBrowsingContext); + done->Reject(aErrorResponse.mError, __func__); + }); + return done; + } +# endif + return PrintWithNoContentAnalysis(aPrintSettings, false, nullptr); +#endif +} +void CanonicalBrowsingContext::ReleaseClonedPrint( + const MaybeDiscardedBrowsingContext& aClonedStaticBrowsingContext) { +#ifdef NS_PRINTING + auto* browserParent = GetBrowserParent(); + if (NS_WARN_IF(!browserParent)) { + return; + } + Unused << browserParent->SendDestroyPrintClone(aClonedStaticBrowsingContext); +#endif +} + +RefPtr<PrintPromise> CanonicalBrowsingContext::PrintWithNoContentAnalysis( + nsIPrintSettings* aPrintSettings, bool aForceStaticDocument, + const MaybeDiscardedBrowsingContext& aCachedStaticDocument) { +#ifndef NS_PRINTING + return PrintPromise::CreateAndReject(NS_ERROR_NOT_AVAILABLE, __func__); +#else auto promise = MakeRefPtr<PrintPromise::Private>(__func__); auto listener = MakeRefPtr<PrintListenerAdapter>(promise); if (IsInProcess()) { @@ -757,12 +852,14 @@ RefPtr<PrintPromise> CanonicalBrowsingContext::Print( } ErrorResult rv; + listener->NoStaticCloneForPrintingWillBeCreated(); outerWindow->Print(aPrintSettings, /* aRemotePrintJob = */ nullptr, listener, /* aDocShellToCloneInto = */ nullptr, nsGlobalWindowOuter::IsPreview::No, nsGlobalWindowOuter::IsForWindowDotPrint::No, - /* aPrintPreviewCallback = */ nullptr, rv); + /* aPrintPreviewCallback = */ nullptr, + /* aCachedBrowsingContext = */ nullptr, rv); if (rv.Failed()) { promise->Reject(rv.StealNSResult(), __func__); } @@ -805,12 +902,31 @@ RefPtr<PrintPromise> CanonicalBrowsingContext::Print( printData.remotePrintJob() = browserParent->Manager()->SendPRemotePrintJobConstructor(remotePrintJob); - if (listener) { - remotePrintJob->RegisterListener(listener); - } + remotePrintJob->RegisterListener(listener); - if (NS_WARN_IF(!browserParent->SendPrint(this, printData))) { - promise->Reject(NS_ERROR_FAILURE, __func__); + if (!aCachedStaticDocument.IsNullOrDiscarded()) { + // There is no cloned static browsing context that + // SendPrintClonedPage() will return, so indicate this + // so listener can resolve its promise. + listener->NoStaticCloneForPrintingWillBeCreated(); + if (NS_WARN_IF(!browserParent->SendPrintClonedPage( + this, printData, aCachedStaticDocument))) { + promise->Reject(NS_ERROR_FAILURE, __func__); + } + } else { + RefPtr<PBrowserParent::PrintPromise> printPromise = + browserParent->SendPrint(this, printData, aForceStaticDocument); + printPromise->Then( + GetMainThreadSerialEventTarget(), __func__, + [listener](MaybeDiscardedBrowsingContext cachedStaticDocument) { + // promise will get resolved by the listener + listener->StaticCloneForPrintingCreated( + std::move(cachedStaticDocument)); + }, + [promise](ResponseRejectReason reason) { + NS_WARNING("SendPrint() failed"); + promise->Reject(NS_ERROR_FAILURE, __func__); + }); } return promise.forget(); #endif @@ -2245,9 +2361,19 @@ bool CanonicalBrowsingContext::SupportsLoadingInParent( return false; } } - // If the current document has a beforeunload listener, then we need to - // start the load in that process after we fire the event. - if (global->HasBeforeUnload()) { + + // If unloading the current document will cause a beforeunload listener to + // run, then we need to start the load in that process after we fire the + // event. + if (PreOrderWalkFlag([&](BrowsingContext* aBC) { + WindowContext* wc = aBC->GetCurrentWindowContext(); + if (wc && wc->HasBeforeUnload()) { + // We can stop as soon as we know at least one beforeunload listener + // exists. + return WalkFlag::Stop; + } + return WalkFlag::Next; + }) == WalkFlag::Stop) { return false; } diff --git a/docshell/base/CanonicalBrowsingContext.h b/docshell/base/CanonicalBrowsingContext.h index 132c9f2157..ccbdf9ed96 100644 --- a/docshell/base/CanonicalBrowsingContext.h +++ b/docshell/base/CanonicalBrowsingContext.h @@ -136,11 +136,16 @@ class CanonicalBrowsingContext final : public BrowsingContext { UniquePtr<LoadingSessionHistoryInfo> ReplaceLoadingSessionHistoryEntryForLoad( LoadingSessionHistoryInfo* aInfo, nsIChannel* aNewChannel); - using PrintPromise = MozPromise</* unused */ bool, nsresult, false>; + using PrintPromise = + MozPromise<MaybeDiscardedBrowsingContext, nsresult, false>; MOZ_CAN_RUN_SCRIPT RefPtr<PrintPromise> Print(nsIPrintSettings*); MOZ_CAN_RUN_SCRIPT already_AddRefed<Promise> PrintJS(nsIPrintSettings*, ErrorResult&); - + MOZ_CAN_RUN_SCRIPT RefPtr<PrintPromise> PrintWithNoContentAnalysis( + nsIPrintSettings* aPrintSettings, bool aForceStaticDocument, + const MaybeDiscardedBrowsingContext& aClonedStaticBrowsingContext); + MOZ_CAN_RUN_SCRIPT void ReleaseClonedPrint( + const MaybeDiscardedBrowsingContext& aClonedStaticBrowsingContext); // Call the given callback on all top-level descendant BrowsingContexts. // Return Callstate::Stop from the callback to stop calling further children. // diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp index fdae228b90..56efb7aed7 100644 --- a/docshell/base/nsAboutRedirector.cpp +++ b/docshell/base/nsAboutRedirector.cpp @@ -108,6 +108,12 @@ static const RedirEntry kRedirMap[] = { {"credits", "https://www.mozilla.org/credits/", nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | nsIAboutModule::URI_MUST_LOAD_IN_CHILD}, + {"fingerprinting", + "chrome://global/content/usercharacteristics/usercharacteristics.html", + nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | + nsIAboutModule::HIDE_FROM_ABOUTABOUT | nsIAboutModule::ALLOW_SCRIPT | + nsIAboutModule::URI_MUST_LOAD_IN_CHILD | + nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS}, {"httpsonlyerror", "chrome://global/content/httpsonlyerror/errorpage.html", nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | nsIAboutModule::URI_CAN_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT | diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp index 3404597343..87a34cf5b2 100644 --- a/docshell/base/nsDocShell.cpp +++ b/docshell/base/nsDocShell.cpp @@ -144,6 +144,7 @@ #include "nsIScriptChannel.h" #include "nsIScriptObjectPrincipal.h" #include "nsIScriptSecurityManager.h" +#include "nsScriptSecurityManager.h" #include "nsIScrollableFrame.h" #include "nsIScrollObserver.h" #include "nsISupportsPrimitives.h" @@ -332,7 +333,6 @@ nsDocShell::nsDocShell(BrowsingContext* aBrowsingContext, mAppType(nsIDocShell::APP_TYPE_UNKNOWN), mLoadType(0), mFailedLoadType(0), - mMetaViewportOverride(nsIDocShell::META_VIEWPORT_OVERRIDE_NONE), mChannelToDisconnectOnPageHide(0), mCreatingDocument(false), #ifdef DEBUG @@ -2376,37 +2376,6 @@ nsDocShell::ClearCachedUserAgent() { return NS_OK; } -NS_IMETHODIMP -nsDocShell::GetMetaViewportOverride( - MetaViewportOverride* aMetaViewportOverride) { - NS_ENSURE_ARG_POINTER(aMetaViewportOverride); - - *aMetaViewportOverride = mMetaViewportOverride; - return NS_OK; -} - -NS_IMETHODIMP -nsDocShell::SetMetaViewportOverride( - MetaViewportOverride aMetaViewportOverride) { - // We don't have a way to verify this coming from Javascript, so this check is - // still needed. - if (!(aMetaViewportOverride == META_VIEWPORT_OVERRIDE_NONE || - aMetaViewportOverride == META_VIEWPORT_OVERRIDE_ENABLED || - aMetaViewportOverride == META_VIEWPORT_OVERRIDE_DISABLED)) { - return NS_ERROR_INVALID_ARG; - } - - mMetaViewportOverride = aMetaViewportOverride; - - // Inform our presShell that it needs to re-check its need for a viewport - // override. - if (RefPtr<PresShell> presShell = GetPresShell()) { - presShell->MaybeRecreateMobileViewportManager(true); - } - - return NS_OK; -} - /* virtual */ int32_t nsDocShell::ItemType() { return mItemType; } @@ -2586,10 +2555,6 @@ nsresult nsDocShell::SetDocLoaderParent(nsDocLoader* aParent) { value = false; } SetAllowDNSPrefetch(mAllowDNSPrefetch && value); - - // We don't need to inherit metaViewportOverride, because the viewport - // is only relevant for the outermost nsDocShell, not for any iframes - // like this that might be embedded within it. } nsCOMPtr<nsIURIContentListener> parentURIListener(do_GetInterface(parent)); @@ -8689,24 +8654,18 @@ nsresult nsDocShell::HandleSameDocumentNavigation( } } - auto isLoadableViaInternet = [](nsIURI* uri) { - return (uri && (net::SchemeIsHTTP(uri) || net::SchemeIsHTTPS(uri))); - }; - - if (isLoadableViaInternet(principalURI) && - isLoadableViaInternet(mCurrentURI) && isLoadableViaInternet(newURI)) { - nsIScriptSecurityManager* ssm = nsContentUtils::GetSecurityManager(); - if (!NS_SUCCEEDED( - ssm->CheckSameOriginURI(newURI, principalURI, false, false)) || - !NS_SUCCEEDED(ssm->CheckSameOriginURI(mCurrentURI, principalURI, - false, false))) { - MOZ_LOG(gSHLog, LogLevel::Debug, - ("nsDocShell[%p]: possible violation of the same origin policy " - "during same document navigation", - this)); - aSameDocument = false; - return NS_OK; - } + if (nsScriptSecurityManager::IsHttpOrHttpsAndCrossOrigin(principalURI, + newURI) || + nsScriptSecurityManager::IsHttpOrHttpsAndCrossOrigin(principalURI, + mCurrentURI) || + nsScriptSecurityManager::IsHttpOrHttpsAndCrossOrigin(mCurrentURI, + newURI)) { + aSameDocument = false; + MOZ_LOG(gSHLog, LogLevel::Debug, + ("nsDocShell[%p]: possible violation of the same origin policy " + "during same document navigation", + this)); + return NS_OK; } } diff --git a/docshell/base/nsDocShell.h b/docshell/base/nsDocShell.h index 82ac6c9ab9..f01e3426c4 100644 --- a/docshell/base/nsDocShell.h +++ b/docshell/base/nsDocShell.h @@ -1267,10 +1267,6 @@ class nsDocShell final : public nsDocLoader, uint32_t mLoadType; uint32_t mFailedLoadType; - // Whether or not handling of the <meta name="viewport"> tag is overridden. - // Possible values are defined as constants in nsIDocShell.idl. - MetaViewportOverride mMetaViewportOverride; - // See WindowGlobalParent::mSingleChannelId. mozilla::Maybe<uint64_t> mSingleChannelId; uint32_t mRequestForBlockingFromBFCacheCount = 0; diff --git a/docshell/base/nsDocShellLoadState.cpp b/docshell/base/nsDocShellLoadState.cpp index 587617e73d..b3812eedd3 100644 --- a/docshell/base/nsDocShellLoadState.cpp +++ b/docshell/base/nsDocShellLoadState.cpp @@ -901,6 +901,14 @@ void nsDocShellLoadState::SetFileName(const nsAString& aFileName) { mFileName = aFileName; } +void nsDocShellLoadState::SetRemoteTypeOverride( + const nsCString& aRemoteTypeOverride) { + MOZ_DIAGNOSTIC_ASSERT( + NS_IsAboutBlank(mURI), + "Should only have aRemoteTypeOverride for about:blank URIs"); + mRemoteTypeOverride = mozilla::Some(aRemoteTypeOverride); +} + const nsCString& nsDocShellLoadState::GetEffectiveTriggeringRemoteType() const { // Consider non-errorpage loads from session history as being triggred by the // parent process, as we'll validate them against the history entry. diff --git a/docshell/base/nsDocShellLoadState.h b/docshell/base/nsDocShellLoadState.h index a34ca1b54b..8a8aad5a2c 100644 --- a/docshell/base/nsDocShellLoadState.h +++ b/docshell/base/nsDocShellLoadState.h @@ -323,9 +323,7 @@ class nsDocShellLoadState final { return mRemoteTypeOverride; } - void SetRemoteTypeOverride(const nsCString& aRemoteTypeOverride) { - mRemoteTypeOverride = mozilla::Some(aRemoteTypeOverride); - } + void SetRemoteTypeOverride(const nsCString& aRemoteTypeOverride); void SetWasSchemelessInput(bool aWasSchemelessInput) { mWasSchemelessInput = aWasSchemelessInput; diff --git a/docshell/base/nsIDocShell.idl b/docshell/base/nsIDocShell.idl index 21f09a517e..024c0f544c 100644 --- a/docshell/base/nsIDocShell.idl +++ b/docshell/base/nsIDocShell.idl @@ -279,7 +279,7 @@ interface nsIDocShell : nsIDocShellTreeItem * next element in the parent should be returned. Returns true if focus was * successfully taken by the tree owner. */ - bool tabToTreeOwner(in boolean forward, in boolean forDocumentNavigation); + boolean tabToTreeOwner(in boolean forward, in boolean forDocumentNavigation); /** * Current busy state for DocShell @@ -522,7 +522,7 @@ interface nsIDocShell : nsIDocShellTreeItem * @param end timestamp when reflow ended, in milliseconds since * navigationStart (accurate to 1/1000 of a ms) */ - [noscript] void notifyReflowObservers(in bool interruptible, + [noscript] void notifyReflowObservers(in boolean interruptible, in DOMHighResTimeStamp start, in DOMHighResTimeStamp end); @@ -553,7 +553,7 @@ interface nsIDocShell : nsIDocShellTreeItem * True iff asynchronous panning and zooming is enabled for this * docshell. */ - readonly attribute bool asyncPanZoomEnabled; + readonly attribute boolean asyncPanZoomEnabled; /** * Indicates whether the UI may enable the character encoding menu. The UI @@ -595,8 +595,8 @@ interface nsIDocShell : nsIDocShellTreeItem * without any actual visual representation. They have to be marked * at construction time, to avoid any painting activity. */ - [noscript, notxpcom] bool IsInvisible(); - [noscript, notxpcom] void SetInvisible(in bool aIsInvisibleDocshell); + [noscript, notxpcom] boolean IsInvisible(); + [noscript, notxpcom] void SetInvisible(in boolean aIsInvisibleDocshell); /** * Get the script global for the document in this docshell. @@ -646,31 +646,6 @@ interface nsIDocShell : nsIDocShellTreeItem [noscript,nostdcall,notxpcom] nsCommandManager GetCommandManager(); - cenum MetaViewportOverride: 8 { - /** - * Override platform/pref default behaviour and force-disable support for - * <meta name="viewport">. - */ - META_VIEWPORT_OVERRIDE_DISABLED = 0, - /** - * Override platform/pref default behaviour and force-enable support for - * <meta name="viewport">. - */ - META_VIEWPORT_OVERRIDE_ENABLED = 1, - /** - * Don't override the platform/pref default behaviour for support for - * <meta name="viewport">. - */ - META_VIEWPORT_OVERRIDE_NONE = 2, - }; - - /** - * This allows chrome to override the default choice of whether the - * <meta name="viewport"> tag is respected in a specific docshell. - * Possible values are listed above. - */ - [infallible, setter_can_run_script] attribute nsIDocShell_MetaViewportOverride metaViewportOverride; - /** * Attribute that determines whether tracking protection is enabled. */ @@ -704,7 +679,7 @@ interface nsIDocShell : nsIDocShellTreeItem * Returns true if the current load is a forced reload, * e.g. started by holding shift whilst triggering reload. */ - readonly attribute bool isForceReloading; + readonly attribute boolean isForceReloading; Array<float> getColorMatrix(); diff --git a/docshell/base/nsIDocShellTreeOwner.idl b/docshell/base/nsIDocShellTreeOwner.idl index db6faa59c9..d16257f8a1 100644 --- a/docshell/base/nsIDocShellTreeOwner.idl +++ b/docshell/base/nsIDocShellTreeOwner.idl @@ -109,5 +109,5 @@ interface nsIDocShellTreeOwner : nsISupports Returns true if there is a primary content shell or a primary remote tab. */ - readonly attribute bool hasPrimaryContent; + readonly attribute boolean hasPrimaryContent; }; diff --git a/docshell/base/nsIPrivacyTransitionObserver.idl b/docshell/base/nsIPrivacyTransitionObserver.idl index c85d468d33..b0dbc74c77 100644 --- a/docshell/base/nsIPrivacyTransitionObserver.idl +++ b/docshell/base/nsIPrivacyTransitionObserver.idl @@ -7,5 +7,5 @@ [scriptable, function, uuid(b4b1449d-0ef0-47f5-b62e-adc57fd49702)] interface nsIPrivacyTransitionObserver : nsISupports { - void privateModeChanged(in bool enabled); + void privateModeChanged(in boolean enabled); }; diff --git a/docshell/base/nsIURIFixup.idl b/docshell/base/nsIURIFixup.idl index 2261c0cb40..23fa4ee296 100644 --- a/docshell/base/nsIURIFixup.idl +++ b/docshell/base/nsIURIFixup.idl @@ -200,5 +200,5 @@ interface nsIURIFixup : nsISupports * * @param aDomain A domain name to query. */ - bool isDomainKnown(in AUTF8String aDomain); + boolean isDomainKnown(in AUTF8String aDomain); }; |