Backed out 3 changesets (bug 1708042) for causing wr failures on background-color-animation-in-body.html.

Backed out changeset f8febc2db198 (bug 1708042)
Backed out changeset a0fccd7121b5 (bug 1708042)
Backed out changeset ddc6d95f0601 (bug 1708042)
This commit is contained in:
Iulian Moraru 2021-05-21 16:39:38 +03:00
Родитель bbc14e4fee
Коммит e0b2722506
15 изменённых файлов: 20 добавлений и 57 удалений

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

@ -117,10 +117,10 @@ child:
// the root layer tree).
// transactionId is the id of the transaction before this composite, or 0
// if there was no transaction since the last composite.
[Priority=control] async DidComposite(LayersId id,
TransactionId[] transactionId,
TimeStamp compositeStart,
TimeStamp compositeEnd);
[Priority=mediumhigh] async DidComposite(LayersId id,
TransactionId[] transactionId,
TimeStamp compositeStart,
TimeStamp compositeEnd);
async NotifyFrameStats(FrameStats[] aFrameStats);

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

@ -63,7 +63,6 @@ class Message : public Pickle {
INPUT_PRIORITY = 1,
VSYNC_PRIORITY = 2,
MEDIUMHIGH_PRIORITY = 3,
CONTROL_PRIORITY = 4,
};
enum MessageCompression {
@ -97,16 +96,17 @@ class Message : public Pickle {
enum {
NESTED_MASK = 0x0003,
PRIO_MASK = 0x001C,
SYNC_BIT = 0x0020,
REPLY_BIT = 0x0040,
REPLY_ERROR_BIT = 0x0080,
INTERRUPT_BIT = 0x0100,
COMPRESS_BIT = 0x0200,
COMPRESSALL_BIT = 0x0400,
CONSTRUCTOR_BIT = 0x0800,
PRIO_MASK = 0x000C,
SYNC_BIT = 0x0010,
REPLY_BIT = 0x0020,
REPLY_ERROR_BIT = 0x0040,
INTERRUPT_BIT = 0x0080,
COMPRESS_BIT = 0x0100,
COMPRESSALL_BIT = 0x0200,
COMPRESS_MASK = 0x0300,
CONSTRUCTOR_BIT = 0x0400,
#ifdef MOZ_TASK_TRACER
TASKTRACER_BIT = 0x1000,
TASKTRACER_BIT = 0x0800,
#endif
};

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

@ -2017,9 +2017,6 @@ MessageChannel::MessageTask::GetPriority(uint32_t* aPriority) {
case Message::MEDIUMHIGH_PRIORITY:
*aPriority = PRIORITY_MEDIUMHIGH;
break;
case Message::CONTROL_PRIORITY:
*aPriority = PRIORITY_CONTROL;
break;
default:
MOZ_ASSERT(false);
break;

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

@ -13,7 +13,6 @@ NORMAL_PRIORITY = 1
INPUT_PRIORITY = 2
VSYNC_PRIORITY = 3
MEDIUMHIGH_PRIORITY = 4
CONTROL_PRIORITY = 5
class Visitor:
@ -352,7 +351,6 @@ class MessageDecl(Node):
"input": INPUT_PRIORITY,
"vsync": VSYNC_PRIORITY,
"mediumhigh": MEDIUMHIGH_PRIORITY,
"control": CONTROL_PRIORITY,
}[self.attributes["Priority"].value]

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

@ -1885,10 +1885,8 @@ def _generateMessageConstructor(md, segmentSize, protocol, forReply=False):
prioEnum = "INPUT_PRIORITY"
elif prio == ipdl.ast.VSYNC_PRIORITY:
prioEnum = "VSYNC_PRIORITY"
elif prio == ipdl.ast.MEDIUMHIGH_PRIORITY:
prioEnum = "MEDIUMHIGH_PRIORITY"
else:
prioEnum = "CONTROL_PRIORITY"
prioEnum = "MEDIUMHIGH_PRIORITY"
if md.decl.type.isSync():
syncEnum = "SYNC"

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

@ -1249,7 +1249,7 @@ class GatherDecls(TcheckVisitor):
{
"Tainted": None,
"Compress": (None, "all"),
"Priority": ("normal", "input", "vsync", "mediumhigh", "control"),
"Priority": ("normal", "input", "vsync", "mediumhigh"),
"Nested": ("not", "inside_sync", "inside_cpow"),
},
)

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

@ -148,8 +148,6 @@ description = Only used by C++ unit tests
description = Only used by C++ unit tests
[PTestPriority::PMsg6]
description = Only used by C++ unit tests
[PTestPriority::PMsg8]
description = Only used by C++ unit tests
[PTestRPC::Test1_Start]
description = Only used by C++ unit tests
[PTestRPC::Test1_InnerEvent]

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

@ -9,14 +9,11 @@ parent:
[Priority=vsync] sync PMsg4();
[Priority=mediumhigh] async PMsg5();
[Priority=mediumhigh] sync PMsg6();
[Priority=control] async PMsg7();
[Priority=control] sync PMsg8();
child:
[Priority=input] async CMsg1();
[Priority=vsync] async CMsg2();
[Priority=mediumhigh] async CMsg3();
[Priority=control] async CMsg4();
};
} // namespace _ipdltest

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

@ -5,5 +5,4 @@ child:
[Priority=vsync] async VsyncPrio();
[Priority=input] async InputPrio();
[Priority=mediumhigh] async MediumHighPrio();
[Priority=control] async ControlPrio();
};

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

@ -2161,8 +2161,7 @@ void nsPresContext::NotifyDidPaintForSubtree(
nsCOMPtr<nsIRunnable> ev = new DelayedFireDOMPaintEvent(
this, std::move(mTransactions[i].mInvalidations),
mTransactions[i].mTransactionId, aTimeStamp);
NS_DispatchToCurrentThreadQueue(ev.forget(),
EventQueuePriority::MediumHigh);
nsContentUtils::AddScriptRunner(ev);
sent = true;
}
mTransactions.RemoveElementAt(i);
@ -2173,8 +2172,7 @@ void nsPresContext::NotifyDidPaintForSubtree(
nsCOMPtr<nsIRunnable> ev = new DelayedFireDOMPaintEvent(
this, std::move(mTransactions[i].mInvalidations),
mTransactions[i].mTransactionId, aTimeStamp);
NS_DispatchToCurrentThreadQueue(ev.forget(),
EventQueuePriority::MediumHigh);
nsContentUtils::AddScriptRunner(ev);
sent = true;
mTransactions.RemoveElementAt(i);
continue;
@ -2187,8 +2185,7 @@ void nsPresContext::NotifyDidPaintForSubtree(
nsTArray<nsRect> dummy;
nsCOMPtr<nsIRunnable> ev = new DelayedFireDOMPaintEvent(
this, std::move(dummy), aTransactionId, aTimeStamp);
NS_DispatchToCurrentThreadQueue(ev.forget(),
EventQueuePriority::MediumHigh);
nsContentUtils::AddScriptRunner(ev);
}
auto recurse = [&aTransactionId, &aTimeStamp](dom::Document& aSubDoc) {

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

@ -10651,12 +10651,6 @@
value: true
mirror: always
# If control tasks aren't enabled, they get medium high priority.
- name: threads.control_event_queue.enabled
type: RelaxedAtomicBool
value: true
mirror: always
#---------------------------------------------------------------------------
# Prefs starting with "timer."
#---------------------------------------------------------------------------

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

@ -33,8 +33,6 @@ void EventQueueInternal<ItemsPerPage>::PutEvent(
static_cast<uint32_t>(EventQueuePriority::InputHigh));
static_assert(static_cast<uint32_t>(nsIRunnablePriority::PRIORITY_VSYNC) ==
static_cast<uint32_t>(EventQueuePriority::Vsync));
static_assert(static_cast<uint32_t>(nsIRunnablePriority::PRIORITY_CONTROL) ==
static_cast<uint32_t>(EventQueuePriority::Control));
if (mForwardToTC) {
TaskController* tc = TaskController::Get();

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

@ -25,7 +25,6 @@ enum class EventQueuePriority {
InputHigh,
Vsync,
InputHighest,
Control,
Count
};

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

@ -15,7 +15,6 @@
#include "ThreadEventTarget.h"
#include "mozilla/ProfilerLabels.h"
#include "mozilla/TaskController.h"
#include "mozilla/StaticPrefs_threads.h"
using namespace mozilla;
@ -82,9 +81,7 @@ bool ThreadEventQueue::PutEventInternal(already_AddRefed<nsIRunnable>&& aEvent,
if (nsCOMPtr<nsIRunnablePriority> runnablePrio = do_QueryInterface(e)) {
uint32_t prio = nsIRunnablePriority::PRIORITY_NORMAL;
runnablePrio->GetPriority(&prio);
if (prio == nsIRunnablePriority::PRIORITY_CONTROL) {
aPriority = EventQueuePriority::Control;
} else if (prio == nsIRunnablePriority::PRIORITY_VSYNC) {
if (prio == nsIRunnablePriority::PRIORITY_VSYNC) {
aPriority = EventQueuePriority::Vsync;
} else if (prio == nsIRunnablePriority::PRIORITY_INPUT_HIGH) {
aPriority = EventQueuePriority::InputHigh;
@ -96,11 +93,6 @@ bool ThreadEventQueue::PutEventInternal(already_AddRefed<nsIRunnable>&& aEvent,
aPriority = EventQueuePriority::Idle;
}
}
if (aPriority == EventQueuePriority::Control &&
!StaticPrefs::threads_control_event_queue_enabled()) {
aPriority = EventQueuePriority::MediumHigh;
}
}
MutexAutoLock lock(mLock);

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

@ -29,10 +29,6 @@ interface nsIRunnablePriority : nsISupports
const unsigned short PRIORITY_MEDIUMHIGH = 4;
const unsigned short PRIORITY_INPUT_HIGH = 5;
const unsigned short PRIORITY_VSYNC = 6;
// INPUT_HIGHEST is InputTaskManager's internal priority
//const unsigned short PRIORITY_INPUT_HIGHEST = 7;
const unsigned short PRIORITY_CONTROL = 8;
readonly attribute unsigned long priority;
};