mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-14 22:05:44 +00:00
Bug 1377497 - Pass the correct writing mode to SizeComputationInput::DisplayInitOffsetsEnter. r=jfkthame
This avoids asserting when the writing mode doesn't correspond to the one stored (DEBUG-only) in aPercentBasis. MozReview-Commit-ID: KKqms9X17SS
This commit is contained in:
parent
629ef010df
commit
d4c979a87f
@ -2540,7 +2540,7 @@ SizeComputationInput::InitOffsets(WritingMode aWM,
|
||||
const nsMargin* aPadding,
|
||||
const nsStyleDisplay* aDisplay)
|
||||
{
|
||||
DISPLAY_INIT_OFFSETS(mFrame, this, aPercentBasis, aBorder, aPadding);
|
||||
DISPLAY_INIT_OFFSETS(mFrame, this, aPercentBasis, aWM, aBorder, aPadding);
|
||||
|
||||
// Since we are in reflow, we don't need to store these properties anymore
|
||||
// unless they are dependent on width, in which case we store the new value.
|
||||
|
@ -247,6 +247,7 @@ public:
|
||||
nsIFrame* aFrame,
|
||||
SizeComputationInput* aState,
|
||||
const mozilla::LogicalSize& aPercentBasis,
|
||||
WritingMode aCBWritingMode,
|
||||
const nsMargin* aBorder,
|
||||
const nsMargin* aPadding);
|
||||
static void DisplayInitOffsetsExit(nsIFrame* aFrame,
|
||||
|
@ -10918,8 +10918,9 @@ DR_init_constraints_cookie::~DR_init_constraints_cookie()
|
||||
|
||||
DR_init_offsets_cookie::DR_init_offsets_cookie(
|
||||
nsIFrame* aFrame,
|
||||
SizeComputationInput* aState,
|
||||
SizeComputationInput* aState,
|
||||
const LogicalSize& aPercentBasis,
|
||||
WritingMode aCBWritingMode,
|
||||
const nsMargin* aMargin,
|
||||
const nsMargin* aPadding)
|
||||
: mFrame(aFrame)
|
||||
@ -10927,8 +10928,9 @@ DR_init_offsets_cookie::DR_init_offsets_cookie(
|
||||
{
|
||||
MOZ_COUNT_CTOR(DR_init_offsets_cookie);
|
||||
mValue = SizeComputationInput::DisplayInitOffsetsEnter(mFrame, mState,
|
||||
aPercentBasis,
|
||||
aMargin, aPadding);
|
||||
aPercentBasis,
|
||||
aCBWritingMode,
|
||||
aMargin, aPadding);
|
||||
}
|
||||
|
||||
DR_init_offsets_cookie::~DR_init_offsets_cookie()
|
||||
@ -11878,6 +11880,7 @@ ReflowInput::DisplayInitConstraintsExit(nsIFrame* aFrame,
|
||||
SizeComputationInput::DisplayInitOffsetsEnter(nsIFrame* aFrame,
|
||||
SizeComputationInput* aState,
|
||||
const LogicalSize& aPercentBasis,
|
||||
WritingMode aCBWritingMode,
|
||||
const nsMargin* aBorder,
|
||||
const nsMargin* aPadding)
|
||||
{
|
||||
@ -11894,9 +11897,10 @@ SizeComputationInput::DisplayInitOffsetsEnter(nsIFrame* aFrame,
|
||||
|
||||
char horizPctBasisStr[16];
|
||||
char vertPctBasisStr[16];
|
||||
WritingMode wm = aState->GetWritingMode();
|
||||
DR_state->PrettyUC(aPercentBasis.ISize(wm), horizPctBasisStr, 16);
|
||||
DR_state->PrettyUC(aPercentBasis.BSize(wm), vertPctBasisStr, 16);
|
||||
DR_state->PrettyUC(aPercentBasis.ISize(aCBWritingMode),
|
||||
horizPctBasisStr, 16);
|
||||
DR_state->PrettyUC(aPercentBasis.BSize(aCBWritingMode),
|
||||
vertPctBasisStr, 16);
|
||||
printf("InitOffsets pct_basis=%s,%s", horizPctBasisStr, vertPctBasisStr);
|
||||
|
||||
DR_state->PrintMargin("b", aBorder);
|
||||
|
@ -865,6 +865,7 @@ public:
|
||||
struct DR_init_offsets_cookie {
|
||||
DR_init_offsets_cookie(nsIFrame* aFrame, mozilla::SizeComputationInput* aState,
|
||||
const mozilla::LogicalSize& aPercentBasis,
|
||||
mozilla::WritingMode aCBWritingMode,
|
||||
const nsMargin* aBorder,
|
||||
const nsMargin* aPadding);
|
||||
~DR_init_offsets_cookie();
|
||||
@ -903,8 +904,10 @@ public:
|
||||
dr_bdr, dr_pad) \
|
||||
DR_init_constraints_cookie dr_cookie(dr_frame, dr_state, dr_cbw, dr_cbh, \
|
||||
dr_bdr, dr_pad)
|
||||
#define DISPLAY_INIT_OFFSETS(dr_frame, dr_state, dr_pb, dr_bdr, dr_pad) \
|
||||
DR_init_offsets_cookie dr_cookie(dr_frame, dr_state, dr_pb, dr_bdr, dr_pad)
|
||||
#define DISPLAY_INIT_OFFSETS(dr_frame, dr_state, dr_pb, dr_cbwm, dr_bdr, \
|
||||
dr_pad) \
|
||||
DR_init_offsets_cookie dr_cookie(dr_frame, dr_state, dr_pb, dr_cbwm, \
|
||||
dr_bdr, dr_pad)
|
||||
#define DISPLAY_INIT_TYPE(dr_frame, dr_result) \
|
||||
DR_init_type_cookie dr_cookie(dr_frame, dr_result)
|
||||
|
||||
@ -921,7 +924,8 @@ public:
|
||||
#define DISPLAY_INIT_CONSTRAINTS(dr_frame, dr_state, dr_cbw, dr_cbh, \
|
||||
dr_bdr, dr_pad) \
|
||||
PR_BEGIN_MACRO PR_END_MACRO
|
||||
#define DISPLAY_INIT_OFFSETS(dr_frame, dr_state, dr_pb, dr_bdr, dr_pad) \
|
||||
#define DISPLAY_INIT_OFFSETS(dr_frame, dr_state, dr_pb, dr_cbwm, dr_bdr, \
|
||||
dr_pad) \
|
||||
PR_BEGIN_MACRO PR_END_MACRO
|
||||
#define DISPLAY_INIT_TYPE(dr_frame, dr_result) PR_BEGIN_MACRO PR_END_MACRO
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user