зеркало из https://github.com/mozilla/gecko-dev.git
Backed out 2 changesets (bug 1716537) for WP failures on iframe-cross-origin-print.sub.html
Backed out changeset aa3e3f80bd68 (bug 1716537) Backed out changeset 3226bc23c713 (bug 1716537)
This commit is contained in:
Родитель
1797d18b9c
Коммит
935ff18b48
|
@ -174,12 +174,6 @@ IPCResult BrowserBridgeParent::RecvUpdateEffects(const EffectsInfo& aEffects) {
|
|||
return IPC_OK();
|
||||
}
|
||||
|
||||
IPCResult BrowserBridgeParent::RecvUpdateRemotePrintSettings(
|
||||
const embedding::PrintData& aPrintData) {
|
||||
Unused << mBrowserParent->SendUpdateRemotePrintSettings(aPrintData);
|
||||
return IPC_OK();
|
||||
}
|
||||
|
||||
IPCResult BrowserBridgeParent::RecvRenderLayers(
|
||||
const bool& aEnabled, const layers::LayersObserverEpoch& aEpoch) {
|
||||
Unused << mBrowserParent->SendRenderLayers(aEnabled, aEpoch);
|
||||
|
|
|
@ -17,10 +17,6 @@ namespace a11y {
|
|||
class DocAccessibleParent;
|
||||
}
|
||||
|
||||
namespace embedding {
|
||||
class PrintData;
|
||||
}
|
||||
|
||||
namespace dom {
|
||||
|
||||
class BrowserParent;
|
||||
|
@ -79,8 +75,6 @@ class BrowserBridgeParent : public PBrowserBridgeParent {
|
|||
mozilla::ipc::IPCResult RecvUpdateDimensions(const nsIntRect& aRect,
|
||||
const ScreenIntSize& aSize);
|
||||
mozilla::ipc::IPCResult RecvUpdateEffects(const EffectsInfo& aEffects);
|
||||
mozilla::ipc::IPCResult RecvUpdateRemotePrintSettings(
|
||||
const embedding::PrintData&);
|
||||
mozilla::ipc::IPCResult RecvRenderLayers(const bool& aEnabled,
|
||||
const LayersObserverEpoch& aEpoch);
|
||||
|
||||
|
|
|
@ -1089,7 +1089,10 @@ mozilla::ipc::IPCResult BrowserChild::RecvCloneDocumentTreeIntoSelf(
|
|||
}
|
||||
}
|
||||
|
||||
return RecvUpdateRemotePrintSettings(aPrintData);
|
||||
rv = cv->SetPrintSettingsForSubdocument(printSettings);
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
return IPC_OK();
|
||||
}
|
||||
#endif
|
||||
return IPC_OK();
|
||||
}
|
||||
|
@ -1107,8 +1110,9 @@ mozilla::ipc::IPCResult BrowserChild::RecvUpdateRemotePrintSettings(
|
|||
return IPC_OK();
|
||||
}
|
||||
|
||||
RefPtr<BrowsingContext> bc = ourDocShell->GetBrowsingContext();
|
||||
if (NS_WARN_IF(!bc)) {
|
||||
nsCOMPtr<nsIContentViewer> cv;
|
||||
ourDocShell->GetContentViewer(getter_AddRefs(cv));
|
||||
if (NS_WARN_IF(!cv)) {
|
||||
return IPC_OK();
|
||||
}
|
||||
|
||||
|
@ -1126,31 +1130,11 @@ mozilla::ipc::IPCResult BrowserChild::RecvUpdateRemotePrintSettings(
|
|||
}
|
||||
|
||||
printSettingsSvc->DeserializeToPrintSettings(aPrintData, printSettings);
|
||||
|
||||
bc->PreOrderWalk([&](BrowsingContext* aBc) {
|
||||
if (nsCOMPtr<nsIDocShell> inProcess = aBc->GetDocShell()) {
|
||||
nsCOMPtr<nsIContentViewer> cv;
|
||||
inProcess->GetContentViewer(getter_AddRefs(cv));
|
||||
if (NS_WARN_IF(!cv)) {
|
||||
return BrowsingContext::WalkFlag::Skip;
|
||||
rv = cv->SetPrintSettingsForSubdocument(printSettings);
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
return IPC_OK();
|
||||
}
|
||||
// The CanRunScript analysis is not smart enough to see across
|
||||
// the std::function PreOrderWalk uses, so we cheat a bit here, but it is
|
||||
// fine because PreOrderWalk does deal with arbitrary script changing the
|
||||
// BC tree, and our code above is simple enough and keeps strong refs to
|
||||
// everything.
|
||||
([&]() MOZ_CAN_RUN_SCRIPT_BOUNDARY {
|
||||
cv->SetPrintSettingsForSubdocument(printSettings);
|
||||
}());
|
||||
} else if (RefPtr<BrowserBridgeChild> remoteChild =
|
||||
BrowserBridgeChild::GetFrom(aBc->GetEmbedderElement())) {
|
||||
Unused << remoteChild->SendUpdateRemotePrintSettings(aPrintData);
|
||||
return BrowsingContext::WalkFlag::Skip;
|
||||
}
|
||||
return BrowsingContext::WalkFlag::Next;
|
||||
});
|
||||
#endif
|
||||
|
||||
return IPC_OK();
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,6 @@ include protocol PDocAccessible;
|
|||
#endif
|
||||
|
||||
include DOMTypes;
|
||||
include PPrintingTypes;
|
||||
|
||||
include "mozilla/LayoutMessageUtils.h";
|
||||
include "mozilla/dom/BindingIPCUtils.h";
|
||||
|
@ -93,7 +92,6 @@ parent:
|
|||
async RenderLayers(bool aEnabled, LayersObserverEpoch aEpoch);
|
||||
|
||||
async UpdateEffects(EffectsInfo aEffects);
|
||||
async UpdateRemotePrintSettings(PrintData aPrintData);
|
||||
|
||||
/**
|
||||
* Navigate by key (Tab/Shift+Tab/F6/Shift+f6).
|
||||
|
|
|
@ -747,7 +747,7 @@ void nsSubDocumentFrame::Reflow(nsPresContext* aPresContext,
|
|||
|
||||
FinishAndStoreOverflow(&aDesiredSize);
|
||||
|
||||
if (!aPresContext->IsRootPaginatedDocument() && !mPostedReflowCallback) {
|
||||
if (!aPresContext->IsPaginated() && !mPostedReflowCallback) {
|
||||
PresShell()->PostReflowCallback(this);
|
||||
mPostedReflowCallback = true;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
[iframe-cross-origin-print.sub.html]
|
||||
bug:
|
||||
if fission: https://bugzilla.mozilla.org/show_bug.cgi?id=1695806
|
||||
expected:
|
||||
if fission: FAIL
|
Загрузка…
Ссылка в новой задаче