We're not dealing with dependent parameters here. So as far as I can tell, the only behavior change that this introduces is that we flag for cleanup on T_WCHAR_STR in addition to T_CHAR_STR. This seems like something we probably want.
These are the easy cases, which all fall into one or more of the following categories:
* A check-and-throw, followed by a switch whose default case also throws
* A check of IsPointer() &&-ed with or tightly enclosing a check that implies IsPointer()
* A check of something clearly enforced by the XPIDL compiler
All we're doing is checking that various types aren't flagged as reference. But xpidl makes sure this doesn't happen, so we should just trust it instead.
This marks 4 gradient-related tests previously marked as failing on Mac
as failing on only 10.5 and 10.6, since they pass on 10.7.
It also marks one Arabic-shaping-related test as failing, for which bug
705044 has been filed.
This does not address users of font metrics in layout/mathml/ (for text
size and alignment issues) or in layout/xul (for text size and sizing of
listbox and tree widgets): see all the callers of GetFontMetricsFor*
in those directories.
This applies the font size inflation to reflow and painting of text
frames. However, it does not (by design) apply to intrinsic width
computation, since the inflation is itself a function of the containers
width, which can depend on the intrinsic width.
This change is sufficient because the places that set mHResize to true
other than InitResizeFlags and nsFrame::BoxReflow aren't a problem
because they're in table code whose goal is to force the reflow to
propagate down to the cell, and once we reach the cell we'll hit the
code we've added here.
This implements computation of the font size inflation factor for a
given frame. Since Fennec does layout using a fake viewport whose width
represents a typical viewport width on the desktop and then allows users
to pan and zoom, fonts are not always readable even when zoomed. The
goal of this font size inflation is to ensure that when a block of text
is zoomed to fill the width of the device, the fonts are large enough to
read. We do this by increasing the font sizes in the page. Since this
increase is a function of the width of the text's container, the
inflation must be performed (in later patches in this series) after
style data computation and after intrinsic width computation.
The font size inflation factor does not vary *within* a block.
Since sync uses a whitelist (the services.sync.prefs.sync.* prefs) for
preferences (i.e., preferences are not synced by default), this patch
does not make any changes relating to sync, since we do not want the
inflation preferences synced across devices (since preferred settings
are likely to be device-specific).
This property is analogous to the -webkit-text-size-adjust property (and
*maybe* also the -ms-text-size-adjust property). It allows pages to opt
out of text size adjustments performed on mobile devices by specifying
-moz-text-size-adjust: none.