зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
bbc14e4fee
Коммит
e0b2722506
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче