Bug 1543315 - part 6: Mark ProcessReflowCommands() as MOZ_CAN_RUN_SCRIPT r=smaug

Differential Revision: https://phabricator.services.mozilla.com/D27222

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Masayuki Nakano 2019-04-13 12:40:48 +00:00
Родитель 40f02a6603
Коммит 55dc8a6004
3 изменённых файлов: 7 добавлений и 4 удалений

Просмотреть файл

@ -9276,7 +9276,7 @@ void nsIPresShell::DoVerifyReflow() {
// used with Telemetry metrics
#define NS_LONG_REFLOW_TIME_MS 5000
bool nsIPresShell::ProcessReflowCommands(bool aInterruptible) {
bool PresShell::ProcessReflowCommands(bool aInterruptible) {
if (mDirtyRoots.IsEmpty() && !mShouldUnsuppressPainting) {
// Nothing to do; bail out
return true;

Просмотреть файл

@ -105,6 +105,7 @@ class PresShell final : public nsIPresShell,
ResizeReflowOptions aOptions = ResizeReflowOptions::eBSizeExact) override;
void DoFlushPendingNotifications(FlushType aType) override;
MOZ_CAN_RUN_SCRIPT_BOUNDARY
void DoFlushPendingNotifications(ChangesToFlush aType) override;
nsRectVisibility GetRectVisibility(nsIFrame* aFrame, const nsRect& aRect,
@ -358,6 +359,10 @@ class PresShell final : public nsIPresShell,
friend class ::AutoPointerEventTargetUpdater;
// ProcessReflowCommands returns whether we processed all our dirty roots
// without interruptions.
MOZ_CAN_RUN_SCRIPT bool ProcessReflowCommands(bool aInterruptible);
/**
* Initialize cached font inflation preference values and do an initial
* computation to determine if font inflation is enabled.

Просмотреть файл

@ -576,6 +576,7 @@ class nsIPresShell : public nsStubDocumentObserver {
* Implementation methods for FlushPendingNotifications.
*/
virtual void DoFlushPendingNotifications(mozilla::FlushType aType) = 0;
MOZ_CAN_RUN_SCRIPT_BOUNDARY
virtual void DoFlushPendingNotifications(mozilla::ChangesToFlush aType) = 0;
public:
@ -1814,9 +1815,6 @@ class nsIPresShell : public nsStubDocumentObserver {
* @param aInterruptible Whether or not reflow interruption is allowed.
*/
void DidDoReflow(bool aInterruptible);
// ProcessReflowCommands returns whether we processed all our dirty roots
// without interruptions.
bool ProcessReflowCommands(bool aInterruptible);
// The callback for the mReflowContinueTimer timer.
static void sReflowContinueCallback(nsITimer* aTimer, void* aPresShell);
bool ScheduleReflowOffTimer();