зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1418558 part 1. Add MOZ_CAN_RUN_SCRIPT annotations to most Element methods that call GetPrimaryFrame. r=mystor
MozReview-Commit-ID: LWI1p75EyxB
This commit is contained in:
Родитель
631ee424d6
Коммит
723521145b
|
@ -1104,8 +1104,8 @@ public:
|
||||||
already_AddRefed<Attr> SetAttributeNodeNS(Attr& aNewAttr,
|
already_AddRefed<Attr> SetAttributeNodeNS(Attr& aNewAttr,
|
||||||
ErrorResult& aError);
|
ErrorResult& aError);
|
||||||
|
|
||||||
already_AddRefed<DOMRectList> GetClientRects();
|
MOZ_CAN_RUN_SCRIPT already_AddRefed<DOMRectList> GetClientRects();
|
||||||
already_AddRefed<DOMRect> GetBoundingClientRect();
|
MOZ_CAN_RUN_SCRIPT already_AddRefed<DOMRect> GetBoundingClientRect();
|
||||||
|
|
||||||
// Shadow DOM v1
|
// Shadow DOM v1
|
||||||
already_AddRefed<ShadowRoot> AttachShadow(const ShadowRootInit& aInit,
|
already_AddRefed<ShadowRoot> AttachShadow(const ShadowRootInit& aInit,
|
||||||
|
@ -1128,60 +1128,60 @@ private:
|
||||||
void ScrollIntoView(const ScrollIntoViewOptions &aOptions);
|
void ScrollIntoView(const ScrollIntoViewOptions &aOptions);
|
||||||
public:
|
public:
|
||||||
void ScrollIntoView(const BooleanOrScrollIntoViewOptions& aObject);
|
void ScrollIntoView(const BooleanOrScrollIntoViewOptions& aObject);
|
||||||
void Scroll(double aXScroll, double aYScroll);
|
MOZ_CAN_RUN_SCRIPT void Scroll(double aXScroll, double aYScroll);
|
||||||
void Scroll(const ScrollToOptions& aOptions);
|
MOZ_CAN_RUN_SCRIPT void Scroll(const ScrollToOptions& aOptions);
|
||||||
void ScrollTo(double aXScroll, double aYScroll);
|
MOZ_CAN_RUN_SCRIPT void ScrollTo(double aXScroll, double aYScroll);
|
||||||
void ScrollTo(const ScrollToOptions& aOptions);
|
MOZ_CAN_RUN_SCRIPT void ScrollTo(const ScrollToOptions& aOptions);
|
||||||
void ScrollBy(double aXScrollDif, double aYScrollDif);
|
MOZ_CAN_RUN_SCRIPT void ScrollBy(double aXScrollDif, double aYScrollDif);
|
||||||
void ScrollBy(const ScrollToOptions& aOptions);
|
MOZ_CAN_RUN_SCRIPT void ScrollBy(const ScrollToOptions& aOptions);
|
||||||
/* Scrolls without flushing the layout.
|
/* Scrolls without flushing the layout.
|
||||||
* aDx is the x offset, aDy the y offset in CSS pixels.
|
* aDx is the x offset, aDy the y offset in CSS pixels.
|
||||||
* Returns true if we actually scrolled.
|
* Returns true if we actually scrolled.
|
||||||
*/
|
*/
|
||||||
bool ScrollByNoFlush(int32_t aDx, int32_t aDy);
|
MOZ_CAN_RUN_SCRIPT bool ScrollByNoFlush(int32_t aDx, int32_t aDy);
|
||||||
int32_t ScrollTop();
|
MOZ_CAN_RUN_SCRIPT int32_t ScrollTop();
|
||||||
void SetScrollTop(int32_t aScrollTop);
|
MOZ_CAN_RUN_SCRIPT void SetScrollTop(int32_t aScrollTop);
|
||||||
int32_t ScrollLeft();
|
MOZ_CAN_RUN_SCRIPT int32_t ScrollLeft();
|
||||||
void SetScrollLeft(int32_t aScrollLeft);
|
MOZ_CAN_RUN_SCRIPT void SetScrollLeft(int32_t aScrollLeft);
|
||||||
int32_t ScrollWidth();
|
MOZ_CAN_RUN_SCRIPT int32_t ScrollWidth();
|
||||||
int32_t ScrollHeight();
|
MOZ_CAN_RUN_SCRIPT int32_t ScrollHeight();
|
||||||
void MozScrollSnap();
|
MOZ_CAN_RUN_SCRIPT void MozScrollSnap();
|
||||||
int32_t ClientTop()
|
MOZ_CAN_RUN_SCRIPT int32_t ClientTop()
|
||||||
{
|
{
|
||||||
return nsPresContext::AppUnitsToIntCSSPixels(GetClientAreaRect().y);
|
return nsPresContext::AppUnitsToIntCSSPixels(GetClientAreaRect().y);
|
||||||
}
|
}
|
||||||
int32_t ClientLeft()
|
MOZ_CAN_RUN_SCRIPT int32_t ClientLeft()
|
||||||
{
|
{
|
||||||
return nsPresContext::AppUnitsToIntCSSPixels(GetClientAreaRect().x);
|
return nsPresContext::AppUnitsToIntCSSPixels(GetClientAreaRect().x);
|
||||||
}
|
}
|
||||||
int32_t ClientWidth()
|
MOZ_CAN_RUN_SCRIPT int32_t ClientWidth()
|
||||||
{
|
{
|
||||||
return nsPresContext::AppUnitsToIntCSSPixels(GetClientAreaRect().Width());
|
return nsPresContext::AppUnitsToIntCSSPixels(GetClientAreaRect().Width());
|
||||||
}
|
}
|
||||||
int32_t ClientHeight()
|
MOZ_CAN_RUN_SCRIPT int32_t ClientHeight()
|
||||||
{
|
{
|
||||||
return nsPresContext::AppUnitsToIntCSSPixels(GetClientAreaRect().Height());
|
return nsPresContext::AppUnitsToIntCSSPixels(GetClientAreaRect().Height());
|
||||||
}
|
}
|
||||||
int32_t ScrollTopMin()
|
MOZ_CAN_RUN_SCRIPT int32_t ScrollTopMin()
|
||||||
{
|
{
|
||||||
nsIScrollableFrame* sf = GetScrollFrame();
|
nsIScrollableFrame* sf = GetScrollFrame();
|
||||||
return sf ?
|
return sf ?
|
||||||
nsPresContext::AppUnitsToIntCSSPixels(sf->GetScrollRange().y) : 0;
|
nsPresContext::AppUnitsToIntCSSPixels(sf->GetScrollRange().y) : 0;
|
||||||
}
|
}
|
||||||
int32_t ScrollTopMax()
|
MOZ_CAN_RUN_SCRIPT int32_t ScrollTopMax()
|
||||||
{
|
{
|
||||||
nsIScrollableFrame* sf = GetScrollFrame();
|
nsIScrollableFrame* sf = GetScrollFrame();
|
||||||
return sf ?
|
return sf ?
|
||||||
nsPresContext::AppUnitsToIntCSSPixels(sf->GetScrollRange().YMost()) :
|
nsPresContext::AppUnitsToIntCSSPixels(sf->GetScrollRange().YMost()) :
|
||||||
0;
|
0;
|
||||||
}
|
}
|
||||||
int32_t ScrollLeftMin()
|
MOZ_CAN_RUN_SCRIPT int32_t ScrollLeftMin()
|
||||||
{
|
{
|
||||||
nsIScrollableFrame* sf = GetScrollFrame();
|
nsIScrollableFrame* sf = GetScrollFrame();
|
||||||
return sf ?
|
return sf ?
|
||||||
nsPresContext::AppUnitsToIntCSSPixels(sf->GetScrollRange().x) : 0;
|
nsPresContext::AppUnitsToIntCSSPixels(sf->GetScrollRange().x) : 0;
|
||||||
}
|
}
|
||||||
int32_t ScrollLeftMax()
|
MOZ_CAN_RUN_SCRIPT int32_t ScrollLeftMax()
|
||||||
{
|
{
|
||||||
nsIScrollableFrame* sf = GetScrollFrame();
|
nsIScrollableFrame* sf = GetScrollFrame();
|
||||||
return sf ?
|
return sf ?
|
||||||
|
@ -1560,6 +1560,7 @@ protected:
|
||||||
* @param aScroll Destination of scroll, in CSS pixels
|
* @param aScroll Destination of scroll, in CSS pixels
|
||||||
* @param aOptions Dictionary of options to be evaluated
|
* @param aOptions Dictionary of options to be evaluated
|
||||||
*/
|
*/
|
||||||
|
MOZ_CAN_RUN_SCRIPT
|
||||||
void Scroll(const CSSIntPoint& aScroll, const ScrollOptions& aOptions);
|
void Scroll(const CSSIntPoint& aScroll, const ScrollOptions& aOptions);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1800,8 +1801,9 @@ private:
|
||||||
* Get this element's client area rect in app units.
|
* Get this element's client area rect in app units.
|
||||||
* @return the frame's client area
|
* @return the frame's client area
|
||||||
*/
|
*/
|
||||||
nsRect GetClientAreaRect();
|
MOZ_CAN_RUN_SCRIPT nsRect GetClientAreaRect();
|
||||||
|
|
||||||
|
MOZ_CAN_RUN_SCRIPT
|
||||||
nsIScrollableFrame* GetScrollFrame(nsIFrame **aStyledFrame = nullptr,
|
nsIScrollableFrame* GetScrollFrame(nsIFrame **aStyledFrame = nullptr,
|
||||||
FlushType aFlushType = FlushType::Layout);
|
FlushType aFlushType = FlushType::Layout);
|
||||||
|
|
||||||
|
|
|
@ -9437,7 +9437,8 @@ class CGSpecializedSetter(CGAbstractStaticMethod):
|
||||||
Argument('JS::Handle<JSObject*>', 'obj'),
|
Argument('JS::Handle<JSObject*>', 'obj'),
|
||||||
Argument('%s*' % descriptor.nativeType, 'self'),
|
Argument('%s*' % descriptor.nativeType, 'self'),
|
||||||
Argument('JSJitSetterCallArgs', 'args')]
|
Argument('JSJitSetterCallArgs', 'args')]
|
||||||
CGAbstractStaticMethod.__init__(self, descriptor, name, "bool", args)
|
CGAbstractStaticMethod.__init__(self, descriptor, name, "bool", args,
|
||||||
|
canRunScript=True)
|
||||||
|
|
||||||
def definition_body(self):
|
def definition_body(self):
|
||||||
nativeName = CGSpecializedSetter.makeNativeName(self.descriptor,
|
nativeName = CGSpecializedSetter.makeNativeName(self.descriptor,
|
||||||
|
|
|
@ -177,7 +177,10 @@ protected:
|
||||||
|
|
||||||
nsCOMPtr<nsITabParent> mPrimaryTabParent;
|
nsCOMPtr<nsITabParent> mPrimaryTabParent;
|
||||||
private:
|
private:
|
||||||
nsresult GetPrimaryTabParentSize(int32_t* aWidth, int32_t* aHeight);
|
// GetPrimaryTabParentSize is called from xpidl methods and we don't have a
|
||||||
|
// good way to annotate those with MOZ_CAN_RUN_SCRIPT yet. It takes no
|
||||||
|
// refcounted args other than "this", and the "this" uses seem ok.
|
||||||
|
MOZ_CAN_RUN_SCRIPT_BOUNDARY nsresult GetPrimaryTabParentSize(int32_t* aWidth, int32_t* aHeight);
|
||||||
nsresult GetPrimaryContentShellSize(int32_t* aWidth, int32_t* aHeight);
|
nsresult GetPrimaryContentShellSize(int32_t* aWidth, int32_t* aHeight);
|
||||||
nsresult SetPrimaryTabParentSize(int32_t aWidth, int32_t aHeight);
|
nsresult SetPrimaryTabParentSize(int32_t aWidth, int32_t aHeight);
|
||||||
};
|
};
|
||||||
|
|
Загрузка…
Ссылка в новой задаче