Commit Graph

7373 Commits

Author SHA1 Message Date
John Daggett
97f2b28880 Bug 1127209 - cleanup downloadable font logging. r=m_kato 2015-01-29 16:44:59 +09:00
Nicholas Nethercote
3163cfc2c1 Bug 1124973 (part 2) - Introduce PL_DHashTableSearch(), and replace most PL_DHashTableLookup() calls with it. r=froydnj.
It feels safer to use a function with a new name, rather than just changing the
behaviour of the existing function.

For most of these cases the PL_DHashTableLookup() result was checked with
PL_DHASH_ENTRY_IS_{FREE,BUSY} so the conversion was easy. A few of them
preceded that check with a useless null check, but the intent of these was
still easy to determine.

I'll do the trickier ones in subsequent patches.

--HG--
extra : rebase_source : ab37a7a30be563861ded8631771181aacf054fd4
2015-01-22 21:06:55 -08:00
Cameron McCormack
e12e8cdd57 Bug 621351 - Test that border widths and colors set by logical border shorthands can be transitioned. r=dbaron 2015-01-28 14:41:31 +11:00
Cameron McCormack
d502d1fa59 Bug 1126145 - Include style sheet URL and line number in StyleRule::List output. r=dbaron 2015-01-27 16:08:57 +11:00
Cameron McCormack
fb3a2a89f9 Bug 1126140 - Remove duplicated selector lists in StyleRule::List output. r=dbaron 2015-01-27 16:08:57 +11:00
Masatoshi Kimura
6cc5dabbee Bug 1111290 - Part 3: Remove TypedEnum.h and fold TypedEnumInternal.h into TypedEnumBits.h. r=waldo 2015-01-26 07:22:11 +09:00
Masatoshi Kimura
be535304d8 Bug 1111290 - Part 1: Remove MOZ_(BEGIN|END)_ENUM_CLASS. r=waldo 2015-01-26 07:22:07 +09:00
L. David Baron
d11f0e55fb Bug 743392 - Serialize background-color at the beginning of the last item of the background shorthand. r=heycam
This matches what Chrome and WebKit do for a single-item background
shorthand, per discussion on today's CSS teleconference.  (At least
Chrome has bugs for multiple-items.)

The added test fails without the patch and passes with the patch.
2015-01-22 16:53:56 -08:00
Xidorn Quan
a9545c0e64 Bug 1123917 part 2 - Make ruby-position only accept [over|under] instead of compound values. r=dholbert
--HG--
extra : rebase_source : fe13f96fe7bc771dfd899bd7ac391f565899d26d
extra : source : 480c409240940afd5e4e6ce4cf995e5e1a26e640
2015-01-22 14:04:55 +11:00
Julian Seward
2a794bd357 Bug 1122375 - Fixes to avoid Valgrind false positives with gcc-4.9.x -O2 builds (part 2). r=dbaron. 2015-01-20 10:43:55 +01:00
Nicholas Nethercote
2116ab605f Bug 1123151 (part 3) - Make PLDHashTable::ops private. r=froydnj.
This required adding a getter and a setter, but they're used sparingly.

--HG--
extra : rebase_source : 2a40e459de2a7a9e2bb6d65b046e4a920b212326
2015-01-19 16:34:44 -08:00
Nicholas Nethercote
8bd1f6f072 Bug 1123151 (part 2) - Add PLDHashTable::IsInitialized(). r=froydnj.
This encapsulates most of the uses of PLDHashTable::ops.

--HG--
extra : rebase_source : 7760ce8e46a37e87dcfe590e809a21df01fe510f
2015-01-19 16:11:34 -08:00
Nicholas Nethercote
bd573c9b9c Bug 1123151 (part 1) - Set PLDHashTable::ops consistently. r=froydnj.
Currently the setting of PLDHashTable::ops is very haphazard.

- PLDHashTable has no constructor, so it's not auto-nulled, so lots of places
  null it themselves.

- In the fallible PLDHashTable::Init() function, if the entry storage
  allocation fails we'll be left with a table that has |ops| set -- indicating
  it's been initialized -- but has null entry storage. I'm not certain this can
  cause problems but it feels unsafe, and some (but not all) callers of Init()
  null it on failure.

- PLDHashTable does not null |ops| in Finish(), so some (but not all) callers
  do this themselves.

This patch makes things simpler.

- It adds a constructor that zeroes |ops|.

- It modifies Init() so that it only sets |ops| once success is ensured.

- It zeroes |ops| in Finish().

- Finally, it removes all the now-unnecessary |ops| nulling done by the users
  of PLDHashTable.

--HG--
extra : rebase_source : bb34979c218d152562a2f9c7e5215256c111cc5b
2015-01-19 16:01:24 -08:00
L. David Baron
fbb058f1c5 Bug 1089417 patch 10 - Make CloneMQCacheKey clone the mPreviousCacheKey, to fix bug 1089417 for multiple rebuilds of the rule cascade in sequence. r=heycam
I confirmed that this patch fixes the mochitest.
2015-01-19 00:49:56 -08:00
L. David Baron
6aaeae8328 Bug 1089417 patch 9 - Add mochitest that exercises case of clearing rule cascades twice. r=heycam
I've tested that this test fails with the current state of the tree
(i.e., without patch 10).
2015-01-19 00:49:56 -08:00
Cameron McCormack
633dc9fccf Bug 1121768 - Part 4: Store token stream values in all subproperties of a shorthand with a variable reference. r=dbaron
This will make UA style sheet-only properties with a variable reference
work.  (It's probably unlikely that we'll ever have such properties,
though.)
2015-01-17 15:55:07 +11:00
Cameron McCormack
0c9d4ac32b Bug 1121768 - Part 3: Look at all subproperties (not just content-visible ones) in nsCSSExpandedDataBlock methods. r=dbaron
We need to ensure we transfer (or clear) all subproperties of a
shorthand that is only enabled in UA style sheets or in certified apps.
Otherwise, the shorthand will parse correctly and get stored on the
nsCSSExpandedDataBlock but the transfer (or clear) method will skip
all of the subproperties.
2015-01-17 15:55:07 +11:00
Cameron McCormack
b6fbc240b2 Bug 1121768 - Part 2: Give CSSPROPS_FOR_SHORTHAND_SUBPROPERTIES an nsCSSProps::EnabledState argument. r=dbaron 2015-01-17 15:55:07 +11:00
Cameron McCormack
14e43fddda Bug 1121768 - Part 1: Require that shorthands with CSS_PROPERTY_ALWAYS_ENABLED_IN_UA_SHEETS or CSS_PROPERTY_ALWAYS_ENABLED_IN_CHROME_OR_CERTIFIED_APP have those flags on all subproperties. r=dbaron
Requiring that UA style sheet-only shorthand properties only have UA
style sheet-only subproperties makes it easier to deal with the
subproperties outside of the CSS parser (which is where the information
about whether a given property is enabled only in UA style sheets is
stored).  Similarly for certified app-only shorthands.
2015-01-17 15:55:07 +11:00
Cameron McCormack
7be3c2ce85 Bug 1120283 - Part 2: Tests. r=dbaron 2015-01-17 15:53:27 +11:00
Cameron McCormack
2ddead31eb Bug 1120283 - Part 1: Implement the offset-{block,inline}-{start,end} logical properties. r=dbaron 2015-01-17 15:53:27 +11:00
Cameron McCormack
e099fb2efe Bug 1117983 - Part 4: Tests. r=dbaron 2015-01-17 15:50:09 +11:00
Cameron McCormack
228d7a7703 Bug 1117983 - Part 3: Implement the min-{block,inline}-size logical properties. r=dbaron 2015-01-17 15:50:09 +11:00
Cameron McCormack
c7bda81337 Bug 1117983 - Part 2: Implement the max-{block,inline}-size logical properties. r=dbaron 2015-01-17 15:50:09 +11:00
Cameron McCormack
147da22f18 Bug 1117983 - Part 1: Implement the {block,inline}-size logical properties. r=dbaron 2015-01-17 15:50:09 +11:00
Cameron McCormack
c6ef584ad1 Bug 1120284 - Part 5: Support logical axis properties. r=dbaron 2015-01-17 15:43:20 +11:00
Cameron McCormack
4468def2e9 Bug 1120284 - Part 2: Support non-shorthand-related logical box property groups. r=dbaron 2015-01-17 15:43:20 +11:00
Cameron McCormack
e213d872b9 Bug 1120284 - Part 1: Define logical property groups more explicitly. r=dbaron 2015-01-17 15:43:20 +11:00
Cameron McCormack
7ab98884f5 Bug 1083134 - Part 8: Add border-block-{start,end} logical shorthands. r=dbaron 2015-01-17 15:22:52 +11:00
Cameron McCormack
0687277d70 Bug 1083134 - Part 7: Tests. r=dbaron 2015-01-17 15:22:52 +11:00
Cameron McCormack
ba2c0ee4ca Bug 1083134 - Part 6: Add border-block-{start,end}-{color,style,width} logical properties. r=dbaron 2015-01-17 15:22:52 +11:00
Cameron McCormack
b9705dbd26 Bug 1083134 - Part 5: Add margin-block-{start,end} logical properties. r=dbaron 2015-01-17 15:22:52 +11:00
Cameron McCormack
4eb9cc70cd Bug 1083134 - Part 4: Add padding-block-{start,end} logical properties. r=dbaron 2015-01-17 15:22:51 +11:00
Cameron McCormack
cf8408ead3 Bug 1083134 - Part 3.1: Cascade block-axis logical properties with their physical equivalents. r=dbaron 2015-01-17 15:22:51 +11:00
Cameron McCormack
0d6e5754f9 Bug 1083134 - Part 3: Add functions to WritingMode to convert between logical and physical sides. r=jfkthame 2015-01-17 15:22:51 +11:00
Cameron McCormack
f9ddcc8210 Bug 1083134 - Part 2: Add function that can return which physical box property shorthand a given logical longhand is related to. r=dbaron 2015-01-17 15:22:51 +11:00
Cameron McCormack
d973e286a1 Bug 1083134 - Part 1: Add CSS_PROPERTY_LOGICAL_{BLOCK_AXIS,END_EDGE} flags to record which side a logical property is for. r=dbaron 2015-01-17 15:22:51 +11:00
Cameron McCormack
2f9bd6a6d4 Bug 649142 - Part 8: Tests. r=dbaron 2015-01-17 15:16:03 +11:00
Cameron McCormack
6543d83f5f Bug 649142 - Part 7: Move CSS_PROPERTY_LOGICAL up into one of the earlier free bits. r=dbaron 2015-01-17 15:16:02 +11:00
Cameron McCormack
5440e0199a Bug 649142 - Part 6: Remove support for shorthand-implemented logical properties. r=dbaron
This includes removing:

* the box property directional source constants
* the CSS_PROPERTY_DIRECTIONAL_SOURCE property flag
* the CSS_PROPERTY_REPORT_OTHER_NAME property flag
* nsCSSProps::OtherNameFor
* methods on the CSS parser to parse directional box properties and set
  the old *-source and *-value properties
* the resolution of logical and physical properties in nsRuleNode during
  style computation, since that's now done as part of the cascade in
  nsCSSExpandedDataBlock::MapRuleInfoInto
2015-01-17 15:16:02 +11:00
Cameron McCormack
4492448c51 Bug 649142 - Part 5: Convert logical border properties. r=dbaron 2015-01-17 15:16:02 +11:00
Cameron McCormack
8184e4e1ed Bug 649142 - Part 4: Convert logical margin properties. r=dbaron 2015-01-17 15:16:02 +11:00
Cameron McCormack
ef9c6fb6bd Bug 649142 - Part 3: Convert logical padding properties. r=dbaron
Here we convert the logical padding properties into their new resolved-at-
cascade-time implementations.  This involves:

* converting -moz-padding-{start,end} into logical longhand properties
* adding padding-inline-{start,end} aliases for -moz-padding-{start,end}
* converting padding-{left,right} into longhand properties
* removing padding-{left,right}-value and
  padding-{left,right}-{ltr,rtl}-source internal properties

The CSS parser and various tests are simplified a bit as a result.
2015-01-17 15:16:02 +11:00
Cameron McCormack
2b74e5e83e Bug 649142 - Part 2.1: Test that logical properties in property_database.js are longhands. r=dbaron 2015-01-17 15:16:01 +11:00
Cameron McCormack
d78531ffb7 Bug 649142 - Part 2: Convert logical properties to their physical equivalents during the cascade. r=dbaron
We will add cases to EnsurePhysicalProperty's switch statement as we
convert the existing shorthand-implemented logical properties to the
new, CSS_PROPERTY_LOGICAL-bearing properties.
2015-01-17 15:16:01 +11:00
Cameron McCormack
59aad795f0 Bug 649142 - Part 1.1: Assert that CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED is not used on logical properties. r=dbaron 2015-01-17 15:16:01 +11:00
Cameron McCormack
ddf87d6cf6 Bug 649142 - Part 1: Add macros and flags for defining logical properties and don't allocate storage for them in nsRuleData. r=dbaron
We define a new flag CSS_PROPERTY_LOGICAL to be used for logical longhand
properties and a new CSS_PROP_LOGICAL macro in nsCSSPropList.h to
define them.

When using CSS_PROP to capture all properties, includers must now
explicitly indicate whether logical properties are included or not,
by defining CSS_PROP_LIST_EXCLUDE_LOGICAL (to exclude them),
CSS_PROP_LIST_INCLUDE_LOGICAL (to include them), or CSS_PROP_LOGICAL
(to capture them separately from other properties).
2015-01-17 15:16:01 +11:00
Nicholas Nethercote
69fe655b04 Bug 1121304 (part 2, attempt 2) - Remove PLDHashTableOps::{alloc,free}Table. r=froydnj.
--HG--
extra : rebase_source : bc119bd0d3b6944e8c5a000950e0c4052cb70aef
2015-01-14 14:35:56 -08:00
Daniel Holbert
5858140853 Bug 1110950: Trigger a reflow (as well as a repaint) for changes to 'object-fit' and 'object-position', so subdocuments can be repositioned/resized. r=roc 2015-01-15 09:51:19 -08:00
Xidorn Quan
cc884ba803 Bug 1120721 - Make ethiopic-numeric use space as suffix. r=jfkthame
--HG--
extra : rebase_source : 77d6225d94df9af4bb956820a92591cc42525948
extra : source : 8bd3e48603383feef0fb70acde8ded40dbacb4da
2015-01-15 21:05:20 +11:00