The only complication was that I had to add namespaces to TestAudioMixer.cpp
and TestAudioSegment.cpp to avoid multiple definitions of a few small helper
functions like GetLowValue().
--HG--
rename : dom/media/compiledtest/TestAudioBuffers.cpp => dom/media/gtest/TestAudioBuffers.cpp
rename : dom/media/compiledtest/TestAudioMixer.cpp => dom/media/gtest/TestAudioMixer.cpp
rename : dom/media/compiledtest/TestAudioPacketizer.cpp => dom/media/gtest/TestAudioPacketizer.cpp
rename : dom/media/compiledtest/TestAudioSegment.cpp => dom/media/gtest/TestAudioSegment.cpp
extra : rebase_source : f42a1209b98a344c77e1245815eebc86a16866c0
(We don't want to disregard this position -- it's what we use to encode the
start of the alignment container for this child, when we're doing CSS Box
Alignment. So we need it to be reflected in the hypothetical position, not
disregarded.)
MozReview-Commit-ID: 28IgPn8z1Hr
Previously, I'd thought the "mStaticPosIsCBOrigin" flag was going to become
obsolete -- but now I've realized it's quite useful to avert mixup between the
coordinate space of the grid vs. the coordinate space of
grid-areas-acting-as-abspos-containing-blocks.
So, this patch clarifies/removes some stale comments about this flag, and also
pulls out some code that was unnecessarily in an "else" clause, so that it
happens regardless of whether this flag is set.
(Note: the InitAbsoluteConstraints changes are basically just code-reordering & deindentation.)
MozReview-Commit-ID: 9TFrOuldVBe
This grid implementation is similar to the one on nsFlexContainerFrame, with a few simplifications:
- We can simply use the LogicalAxis to decide between align-* vs justify-* prpoerties (whereas flexbox has extra abstraction from the flex axes).
- We don't have to bother with "align-content" or "justify-content", since those apply to grid areas rather than to children. (And any grid area that's involved will be sized/positioned separately.)
- Grid can unconditionally treat "flex-start" & "flex-end" as "start" & "end".
MozReview-Commit-ID: 9l1Wq9Cq5T0
This patch moves FatalError to IProtocol. I had to make a few changes.
- I added a ProtocolName() method to find the name of the protocol.
- I gave the two-argument version of FatalError its own name. Otherwise
C++ doesn't like there to be two virtual methods with the same name
in cases where one is overridden and the other isn't (as happens
in IToplevelProtocol).
Moves OnProcessingError, OnChannelError, OnChannelConnected so that they're
only generated for toplevel protocols. For some reason APZCTreeManagerChild
implemented OnProcessingError. I'm not sure what the intention was there so
I removed it.
This moves some of the generated methods in subprotocols that simply defer
to the parent protocol to IProtocol. These methods are still overridden in
the toplevel protocol.
This patch stores mManager in IProtocol rather than in each individual
PFoo. It also adds a generic accessor for that field. Note that each
individual protocol still defines a Manager() function that returns
PFooParent or whatever. I tried to get rid of that but it was a lot
of work.
With this change, MessageChannel stores mListener as an IToplevelProtocol
rather than a MessageListener (which isn't really a useful concept on
its own). The MessageListener methods are split out to IProtocol and
IToplevelProtocol. MessageListener gets deleted. Some of the inline
functions in MessageChannel had to be moved to MessageChannel.cpp since
IToplevelProtocol isn't defined in MessageChannel.h.
Currently toplevel protocols inherit from both IProtocolManager<IProtocol>
and IToplevelProtocol. This change makes IToplevelProtocol inherit from
IProtocol, so now toplevel protocols only inherit from
IToplevelProtocol.
Currently all our protocols inherit from IProtocolManager<IProtocol>. I have
no idea why. This patch switches everything over to IProtocol, without any
templates. I had to move ReadActor to the .cpp file to avoid redefinition
errors.