Граф коммитов

66 Коммитов

Автор SHA1 Сообщение Дата
Nicholas Nethercote d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Nicholas Nethercote dfd3b7e7aa Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
Emilio Cobos Álvarez 1a47c01765 Bug 1384542: Move GetParent and IsLinkContext to GeckoStyleContext. r=heycam
MozReview-Commit-ID: C19yGcphixX
2017-07-31 14:32:59 +02:00
Emilio Cobos Álvarez 1939327306 Bug 1370802: Cleanup style and indentation in GenericSpecifiedValues.h and related files. r=heycam
This is all automated with clang-format.

MozReview-Commit-ID: 5V17XJjQN3X

--HG--
extra : rebase_source : 7be6ff865597aadda0a575bebcc24784a3ac0497
2017-06-16 03:57:29 +02:00
Emilio Cobos Álvarez a8ea1db99e Bug 1370802: Clean up copy-pasta in GenericSpecifiedValues code. r=heycam
MozReview-Commit-ID: ABXfuSmLQRU

--HG--
extra : rebase_source : 58b5b0aea23e362469a87e9592f8ebf9a8db5456
2017-06-16 03:56:45 +02:00
Emilio Cobos Álvarez f6dc661b5b Bug 1370802: Parse lang attributes as atoms. r=heycam
MozReview-Commit-ID: Cnq3wB7aVB1

--HG--
extra : rebase_source : fa0252b78381bf023ab08bf2d9fd13d4c0ed57a1
2017-06-15 21:48:26 +02:00
Emilio Cobos Álvarez cba8cd8660 Bug 1370802: Fix style issues in GenericSpecifiedValue subclasses. r=heycam
MozReview-Commit-ID: EsqfWL3AmH6

--HG--
extra : rebase_source : 3eddb8543b82ef0d2a1ef83d8f0ee0a2b79e0d5c
2017-06-15 21:42:15 +02:00
Manish Goregaokar a8f8bfeb3e Bug 1339711 - Part 5: stylo: Support background presentation attribute; r=emilio
MozReview-Commit-ID: LU6ETeH8lxn
2017-04-12 23:05:57 +08:00
Manish Goregaokar 9d7550892d Bug 1339711 - Part 3: stylo: Support mathsize, width, and scriptminsize presentation attributes in MathML; r=emilio
MozReview-Commit-ID: GvHslYdBfXU
2017-04-12 23:05:44 +08:00
Manish Goregaokar ea86b671be Bug 1339711 - Part 1: stylo: Support -moz-script-size-multiplier, -moz-script-level, -moz-math-display; r=emilio
MozReview-Commit-ID: KzBDsmZK5w0
2017-04-12 23:05:29 +08:00
Manish Goregaokar cb177956fe Bug 1338936 - Part 1: stylo: Add stubbed-out ServoSpecifiedValues interface, use it for pres attr mapping; r=bz,emilio
MozReview-Commit-ID: 6wg32flypt7
2017-02-19 14:03:37 -08:00
Sebastian Hengst 7cf1fe31f8 Backed out changeset 7943ca5e483a (bug 1338936) for Windows build bustage. r=backout on a CLOSED TREE 2017-02-19 10:38:09 +01:00
Manish Goregaokar 8ce0fb7f1c Bug 1338936 - Part 1: stylo: Add stubbed-out ServoSpecifiedValues interface, use it for pres attr mapping; r=bz,emilio
MozReview-Commit-ID: 6wg32flypt7
2017-02-18 21:51:10 -08:00
Manish Goregaokar e4852035e0 Bug 1334330 - Part 11: stylo: Use ServoUtils abstraction for GenericSpecifiedValues to remove virtual dispatch overhead in nostylo mode; r=bz,emilio
MozReview-Commit-ID: 8yGWs2uOjES

--HG--
extra : rebase_source : 2fed3ab11c243a3b045116abd04dbb9e939c5dc2
2017-01-26 16:51:01 -08:00
Manish Goregaokar 156cbb9222 Bug 1334330 - Part 7: stylo: Use GenericSpecifiedValue abstraction for <font>; r=bz,emilio
MozReview-Commit-ID: E2FwWTF2MVI

--HG--
extra : rebase_source : 1650a23b29c43b8abc5516514a584feb381f55da
2017-01-26 16:51:01 -08:00
Manish Goregaokar 7a9ea12241 Bug 1334330 - Part 6: stylo: Use GenericSpecifiedValue abstraction for table elements; r=emilio
MozReview-Commit-ID: 6wo4iw4zEWP

--HG--
extra : rebase_source : d5980fcfd00fa75f198565dbd75cf7ccc48b0364
2017-01-26 16:51:01 -08:00
Manish Goregaokar fbe60a8ba6 Bug 1334330 - Part 2: stylo: Use GenericSpecifiedValue abstraction in nsGenericHTMLElement; r=bz,emilio
MozReview-Commit-ID: 7Njz7pUkgft

--HG--
extra : rebase_source : a0356df72c349c294b5b7e4cef804b994fb6b383
2017-01-26 16:51:01 -08:00
Manish Goregaokar 48bc1c741c Bug 1334330 - Part 1: stylo: Abstractify nsMappedAttributes to work on arbitrary containers of specified value data; r=bz,emilio
MozReview-Commit-ID: BSM4TC9RKot

--HG--
extra : rebase_source : 5f2c5d998b9e2bc10a2c9ce8d0b3ce90817a0d39
2017-01-26 13:39:13 -08:00
Jonathan Chan 4b87f11bd9 Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA

--HG--
rename : layout/style/nsCSSProperty.h => layout/style/nsCSSPropertyID.h
2016-08-16 18:37:48 -07:00
Gregory Szorc 1794619188 Backed out changesets dcdb85fc5517, 702bca0deee2, 9cKX8gC1ATA (bug 1293739) for build bustage; a=bustage
The merge from inbound to central conflicted with the merge from
autoland to central, it appears. Per tree rules, the commit from the
autoland repo wins and the inbound commit gets backed out.

CLOSED TREE

--HG--
extra : amend_source : 927e1cdfa8e55ccbd873d404d905caf6871c8c4f
extra : histedit_source : 07095868c3f767258e1d7d2645193bf4811b13bb%2Ca49ae5a28bf6e67298b6208ee9254c25a2539712
2016-08-16 17:50:40 -07:00
Jonathan Chan 9c62a2c11c Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA

--HG--
rename : layout/style/nsCSSProperty.h => layout/style/nsCSSPropertyID.h
2016-08-09 16:28:19 -07:00
Jonathan Watt b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
L. David Baron 221bfbea99 Bug 1215702 patch 2 - Remove the mechanism of backend-only CSS properties. r=heycam
This is a mechanism that should not exist; any use of it means
nonconformance with http://www.w3.org/TR/CSS/#partial .

--HG--
extra : commitid : fI2rko2cf4
2015-10-19 22:22:34 -07:00
Cameron McCormack 2f1046d287 Bug 1216043 - Rename nsStyleSheet::sheetType and make it an enum class. r=dbaron
The only substantive change here, apart from a few variables changing in
size from uint16_t to uint8_t, is FontFaceSet's use of SheetType::Unknown
(0xFF) instead of 0 for FontFaceRecords for script-created FontFaces.
2015-10-20 10:16:20 +11:00
Cameron McCormack 225f3dd70d Bug 804975 - Part 2: Add a RuleNodeCacheConditions class and use it instead of a boolean canStoreInRuleTree during style computation. r=dbaron 2015-06-23 11:48:18 +10:00
Nicholas Nethercote 242708cf72 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 488e401ff87e31a2074c4108c4df0572d9536667
2015-02-09 14:34:50 -08:00
Andrew McCreight d3826daa16 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote d34f0301b8 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 99182e70335d2b5ff95f8c528ae992d37294be3a
2015-02-04 20:05:36 -08: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 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
Phil Ringnalda 41cdae473a Back out 9 changesets (bug 649142)
Backed out changeset 936703c75200 (bug 649142)
Backed out changeset b0252d2620d8 (bug 649142)
Backed out changeset 69ddb2036c50 (bug 649142)
Backed out changeset 67748675e669 (bug 649142)
Backed out changeset 15ed55c61f4e (bug 649142)
Backed out changeset 35c42cd138e1 (bug 649142)
Backed out changeset 1335630cf287 (bug 649142)
Backed out changeset b5725cd39a31 (bug 649142)
Backed out changeset b0eb691d6695 (bug 649142)
2014-12-30 20:04:20 -08:00
Cameron McCormack c1366ac48c 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.
2014-12-31 12:18:14 +11:00
Cameron McCormack 6cceecc24a 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).
2014-12-31 12:18:12 +11:00
Cameron McCormack 64924811c6 Bug 773296 - Part 5: Map variables on a Declaration to nsRuleData. r=dbaron
This adds a CSSVariableDeclarations object to nsRuleData and adds a
MapRuleInfoInto function to CSSVariableDeclarations so the can copy
variable declarations into a nsRuleData's object.  We call that from
Declaration::Map{Normal,Important}RuleInfoInto.

We make HasImportantData return true if we have important variables
but no important non-custom properties on a declaration, since that
is used to determine whether we have a rule node for important
declarations.  This means MapImportantRuleInfoInto can no longer
assume that mImportantData is non-null.
2013-12-12 13:09:41 +11:00
Ehsan Akhgari 6ada2899b2 Bug 916610 - Minimize the #includes in layout/style; r=roc 2013-09-15 21:06:52 -04:00
L. David Baron 93f4ab7a9a Bug 849657 patch 1: Expose CSS_PROP_PUBLIC_OR_PRIVATE macro to users of nsCSSPropList.h rather than CSS_PROP_DOMPROP_PREFIXED, so that we can avoid 'CssFloat' spreading even further. r=bzbarsky 2013-03-25 09:24:21 -07:00
L. David Baron 9814666177 Bug 827579: Remove post-resolve callback concept from style system. r=bzbarsky 2013-01-08 20:37:29 -08:00
Cameron McCormack 4a4eda5e13 Bug 508725 - Part 2: Record on nsCSSStyleSheets whether they are for a <style scoped>. r=dbaron 2013-01-09 10:25:47 +11:00
Cameron McCormack c067646b00 Backout bug 508725 (d267bb4b58b5, 50f71edffeb9, 6aec8e22fe60, e62e1f33958a, 0f146c435249, eb959b9f4862, 2b0ee42f3aa0, 02db01cd6796, 2ef0e517d43d, b650588e05c9 and a3c916829d56) for build failure on a CLOSED TREE. 2013-01-08 19:36:21 +11:00
Cameron McCormack 894a529cc1 Bug 508725 - Part 2: Record on nsCSSStyleSheets whether they are for a <style scoped>. r=dbaron 2013-01-08 19:09:22 +11:00
Ehsan Akhgari e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Gervase Markham 82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Boris Zbarsky c8acd24873 Bug 753397. Add a field to nsCSSPropList for a preference that controls the property. r=dbaron
The actual controlling is not hooked up yet; that will happen in bug 753522 for
the DOM reflections of properties.
2012-05-09 21:29:37 -04:00
Michael Wu d2b70213ac Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
L. David Baron a1b15c117e Remove the datastruct_ and member_ fields of the CSS_PROP macro. (Bug 645620, patch 5) r=bzbarsky 2011-03-28 16:07:27 -07:00
L. David Baron 6964725cc6 Remove nsCSSStruct.h/cpp. (Bug 645620, patch 4) r=bzbarsky 2011-03-28 16:07:26 -07:00
L. David Baron 401e3dc9b6 Add poisoning for nsRuleData::mValueOffsets. (Bug 636039, patch 19) r=bzbarsky
I tested manually that after:
 (a) removing the |ruleData.mValueOffsets[aSID] = 0;| in
     nsRuleNode::WalkRuleTree
 (b) removing the NS_ABORT_IF_FALSE(aRuleData->mValueOffsets[aSID] == 0,
     ...) from nsRuleNode::CheckSpecifiedProperties and
     UnsetPropertiesWithoutFlags
that we crash dereferencing the poison address in a SetCoord call inside
nsRuleNode::ComputeTextResetData
2011-03-17 20:14:31 -07:00
L. David Baron ec0055aa6b Instead of stack-allocating nsRuleData* structs in separate methods for each style struct, allocate an array of nsCSSValue using alloca. (Bug 636039, patch 15) r=bzbarsky 2011-03-17 20:14:31 -07:00
L. David Baron 032ddb90c8 Make the three CSS_PROP_INCLUDE_NOT_CSS properties much more like normal CSS properties, and (importantly) give them property IDs in the longhand range. Replace CSS_PROP_INCLUDE_NOT_CSS with CSS_PROP_STUB_NOT_CSS for callers that need stubs. (Bug 636039, patch 13) r=bzbarsky 2011-03-17 20:14:31 -07:00
L. David Baron eaaf37ca08 Convert nsRuleNode::Compute*Data to property getters instead of accessing struct members. (Bug 636039, patch 11) r=bzbarsky 2011-03-17 20:14:31 -07:00