mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-23 21:01:08 +00:00
Bug 1543315 - part 4: Mark ResizeReflow() as MOZ_CAN_RUN_SCRIPT r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D27220 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
2332e34945
commit
e8514bbdc6
@ -351,8 +351,8 @@ nsDocShellTreeOwner::SizeShellTo(nsIDocShellTreeItem* aShellItem, int32_t aCX,
|
|||||||
|
|
||||||
NS_ENSURE_STATE(mTreeOwner || webBrowserChrome);
|
NS_ENSURE_STATE(mTreeOwner || webBrowserChrome);
|
||||||
|
|
||||||
if (mTreeOwner) {
|
if (nsCOMPtr<nsIDocShellTreeOwner> treeOwner = mTreeOwner) {
|
||||||
return mTreeOwner->SizeShellTo(aShellItem, aCX, aCY);
|
return treeOwner->SizeShellTo(aShellItem, aCX, aCY);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aShellItem == mWebBrowser->mDocShell) {
|
if (aShellItem == mWebBrowser->mDocShell) {
|
||||||
@ -393,7 +393,7 @@ nsDocShellTreeOwner::SizeShellTo(nsIDocShellTreeItem* aShellItem, int32_t aCX,
|
|||||||
RefPtr<nsPresContext> presContext = mWebBrowser->mDocShell->GetPresContext();
|
RefPtr<nsPresContext> presContext = mWebBrowser->mDocShell->GetPresContext();
|
||||||
NS_ENSURE_TRUE(presContext, NS_ERROR_FAILURE);
|
NS_ENSURE_TRUE(presContext, NS_ERROR_FAILURE);
|
||||||
|
|
||||||
PresShell* presShell = presContext->GetPresShell();
|
RefPtr<PresShell> presShell = presContext->GetPresShell();
|
||||||
NS_ENSURE_TRUE(presShell, NS_ERROR_FAILURE);
|
NS_ENSURE_TRUE(presShell, NS_ERROR_FAILURE);
|
||||||
|
|
||||||
NS_ENSURE_SUCCESS(
|
NS_ENSURE_SUCCESS(
|
||||||
|
@ -55,6 +55,7 @@ interface nsIDocShellTreeOwner : nsISupports
|
|||||||
Tells the tree owner to size its window or parent window in such a way
|
Tells the tree owner to size its window or parent window in such a way
|
||||||
that the shell passed along will be the size specified.
|
that the shell passed along will be the size specified.
|
||||||
*/
|
*/
|
||||||
|
[can_run_script]
|
||||||
void sizeShellTo(in nsIDocShellTreeItem shell, in long cx, in long cy);
|
void sizeShellTo(in nsIDocShellTreeItem shell, in long cx, in long cy);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -3816,13 +3816,13 @@ nsresult nsGlobalWindowOuter::SetDocShellWidthAndHeight(int32_t aInnerWidth,
|
|||||||
int32_t aInnerHeight) {
|
int32_t aInnerHeight) {
|
||||||
NS_ENSURE_TRUE(mDocShell, NS_ERROR_FAILURE);
|
NS_ENSURE_TRUE(mDocShell, NS_ERROR_FAILURE);
|
||||||
|
|
||||||
|
nsCOMPtr<nsIDocShell> docShell = mDocShell;
|
||||||
nsCOMPtr<nsIDocShellTreeOwner> treeOwner;
|
nsCOMPtr<nsIDocShellTreeOwner> treeOwner;
|
||||||
mDocShell->GetTreeOwner(getter_AddRefs(treeOwner));
|
docShell->GetTreeOwner(getter_AddRefs(treeOwner));
|
||||||
NS_ENSURE_TRUE(treeOwner, NS_ERROR_FAILURE);
|
NS_ENSURE_TRUE(treeOwner, NS_ERROR_FAILURE);
|
||||||
|
|
||||||
NS_ENSURE_SUCCESS(
|
NS_ENSURE_SUCCESS(treeOwner->SizeShellTo(docShell, aInnerWidth, aInnerHeight),
|
||||||
treeOwner->SizeShellTo(mDocShell, aInnerWidth, aInnerHeight),
|
NS_ERROR_FAILURE);
|
||||||
NS_ERROR_FAILURE);
|
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
@ -5331,8 +5331,9 @@ void nsGlobalWindowOuter::SizeToContentOuter(CallerType aCallerType,
|
|||||||
|
|
||||||
nsIntSize newDevSize(CSSToDevIntPixels(cssSize));
|
nsIntSize newDevSize(CSSToDevIntPixels(cssSize));
|
||||||
|
|
||||||
|
nsCOMPtr<nsIDocShell> docShell = mDocShell;
|
||||||
aError =
|
aError =
|
||||||
treeOwner->SizeShellTo(mDocShell, newDevSize.width, newDevSize.height);
|
treeOwner->SizeShellTo(docShell, newDevSize.width, newDevSize.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
already_AddRefed<nsPIWindowRoot> nsGlobalWindowOuter::GetTopWindowRoot() {
|
already_AddRefed<nsPIWindowRoot> nsGlobalWindowOuter::GetTopWindowRoot() {
|
||||||
|
@ -600,6 +600,7 @@ class nsGlobalWindowOuter final : public mozilla::dom::EventTarget,
|
|||||||
double GetScrollXOuter();
|
double GetScrollXOuter();
|
||||||
double GetScrollYOuter();
|
double GetScrollYOuter();
|
||||||
|
|
||||||
|
MOZ_CAN_RUN_SCRIPT_BOUNDARY
|
||||||
void SizeToContentOuter(mozilla::dom::CallerType aCallerType,
|
void SizeToContentOuter(mozilla::dom::CallerType aCallerType,
|
||||||
mozilla::ErrorResult& aError);
|
mozilla::ErrorResult& aError);
|
||||||
nsIControllers* GetControllersOuter(mozilla::ErrorResult& aError);
|
nsIControllers* GetControllersOuter(mozilla::ErrorResult& aError);
|
||||||
@ -850,6 +851,7 @@ class nsGlobalWindowOuter final : public mozilla::dom::EventTarget,
|
|||||||
// Arguments to this function should have values in app units
|
// Arguments to this function should have values in app units
|
||||||
void SetCSSViewportWidthAndHeight(nscoord width, nscoord height);
|
void SetCSSViewportWidthAndHeight(nscoord width, nscoord height);
|
||||||
// Arguments to this function should have values in device pixels
|
// Arguments to this function should have values in device pixels
|
||||||
|
MOZ_CAN_RUN_SCRIPT_BOUNDARY
|
||||||
nsresult SetDocShellWidthAndHeight(int32_t width, int32_t height);
|
nsresult SetDocShellWidthAndHeight(int32_t width, int32_t height);
|
||||||
|
|
||||||
static bool CanSetProperty(const char* aPrefName);
|
static bool CanSetProperty(const char* aPrefName);
|
||||||
|
@ -96,7 +96,7 @@ class PresShell final : public nsIPresShell,
|
|||||||
NS_IMETHOD RepaintSelection(RawSelectionType aRawSelectionType) override;
|
NS_IMETHOD RepaintSelection(RawSelectionType aRawSelectionType) override;
|
||||||
|
|
||||||
nsresult Initialize() override;
|
nsresult Initialize() override;
|
||||||
nsresult ResizeReflow(
|
MOZ_CAN_RUN_SCRIPT nsresult ResizeReflow(
|
||||||
nscoord aWidth, nscoord aHeight, nscoord aOldWidth = 0,
|
nscoord aWidth, nscoord aHeight, nscoord aOldWidth = 0,
|
||||||
nscoord aOldHeight = 0,
|
nscoord aOldHeight = 0,
|
||||||
ResizeReflowOptions aOptions = ResizeReflowOptions::eBSizeExact) override;
|
ResizeReflowOptions aOptions = ResizeReflowOptions::eBSizeExact) override;
|
||||||
|
@ -354,6 +354,7 @@ class nsDocumentViewer final : public nsIContentViewer,
|
|||||||
already_AddRefed<nsINode> GetPopupLinkNode();
|
already_AddRefed<nsINode> GetPopupLinkNode();
|
||||||
already_AddRefed<nsIImageLoadingContent> GetPopupImageNode();
|
already_AddRefed<nsIImageLoadingContent> GetPopupImageNode();
|
||||||
|
|
||||||
|
MOZ_CAN_RUN_SCRIPT_BOUNDARY
|
||||||
nsresult GetContentSizeInternal(int32_t* aWidth, int32_t* aHeight,
|
nsresult GetContentSizeInternal(int32_t* aWidth, int32_t* aHeight,
|
||||||
nscoord aMaxWidth, nscoord aMaxHeight);
|
nscoord aMaxWidth, nscoord aMaxHeight);
|
||||||
|
|
||||||
|
@ -341,7 +341,7 @@ class nsIPresShell : public nsStubDocumentObserver {
|
|||||||
* Reflow the frame model into a new width and height. The
|
* Reflow the frame model into a new width and height. The
|
||||||
* coordinates for aWidth and aHeight must be in standard nscoord's.
|
* coordinates for aWidth and aHeight must be in standard nscoord's.
|
||||||
*/
|
*/
|
||||||
virtual nsresult ResizeReflow(
|
MOZ_CAN_RUN_SCRIPT virtual nsresult ResizeReflow(
|
||||||
nscoord aWidth, nscoord aHeight, nscoord aOldWidth = 0,
|
nscoord aWidth, nscoord aHeight, nscoord aOldWidth = 0,
|
||||||
nscoord aOldHeight = 0,
|
nscoord aOldHeight = 0,
|
||||||
ResizeReflowOptions aOptions = ResizeReflowOptions::eBSizeExact) = 0;
|
ResizeReflowOptions aOptions = ResizeReflowOptions::eBSizeExact) = 0;
|
||||||
|
@ -360,6 +360,7 @@ class nsViewManager final {
|
|||||||
*/
|
*/
|
||||||
LayoutDeviceIntRect ViewToWidget(nsView* aView, const nsRect& aRect) const;
|
LayoutDeviceIntRect ViewToWidget(nsView* aView, const nsRect& aRect) const;
|
||||||
|
|
||||||
|
MOZ_CAN_RUN_SCRIPT_BOUNDARY
|
||||||
void DoSetWindowDimensions(nscoord aWidth, nscoord aHeight);
|
void DoSetWindowDimensions(nscoord aWidth, nscoord aHeight);
|
||||||
bool ShouldDelayResize() const;
|
bool ShouldDelayResize() const;
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ class nsXULWindow : public nsIBaseWindow,
|
|||||||
NS_IMETHOD GetAvailScreenSize(int32_t* aAvailWidth, int32_t* aAvailHeight);
|
NS_IMETHOD GetAvailScreenSize(int32_t* aAvailWidth, int32_t* aAvailHeight);
|
||||||
|
|
||||||
void ApplyChromeFlags();
|
void ApplyChromeFlags();
|
||||||
void SizeShell();
|
MOZ_CAN_RUN_SCRIPT_BOUNDARY void SizeShell();
|
||||||
void OnChromeLoaded();
|
void OnChromeLoaded();
|
||||||
void StaggerPosition(int32_t& aRequestedX, int32_t& aRequestedY,
|
void StaggerPosition(int32_t& aRequestedX, int32_t& aRequestedY,
|
||||||
int32_t aSpecWidth, int32_t aSpecHeight);
|
int32_t aSpecWidth, int32_t aSpecHeight);
|
||||||
|
Loading…
Reference in New Issue
Block a user