Commit Graph

33 Commits

Author SHA1 Message Date
Makoto Kato
026beb80ca Bug 1359707 - Preferences::GetBool(PREF_ALWAYS_INCLUDE_RUBY) should use AddBoolVarCache. r=smaug
When profiling nsDocumentEncoder::EncodeToStringWithMaxLength for text/plain, 25% is Preferences::GetBool into nsPlainTextSerializer::Init.  So we should use AddBoolVarCache for it.

MozReview-Commit-ID: 9CVd4OZzzr5
2017-04-27 12:44:24 +09:00
Makoto Kato
6f543bc32b Bug 1358979 - nsPlainTextSerializer should be cycle collection. r=smaug
nsPlainTextSerializer holds Element, so it should use cycle collection class.

MozReview-Commit-ID: ELykrDQaCei
2017-04-24 19:17:17 +09:00
Brian Birtles
4de61d72aa Bug 1315874 - Drop 'ForElement' from GetStyleContextForElementXXX methods; r=heycam
In the next patch we want to add a method called
GetUnanimatedStyleContextForElementNoFlush but that's much too long. Instead it
seems better to just drop 'ForElement' from all these methods since it should be
fairly obvious we are getting the style context for an element given that the
first argument is an element.

MozReview-Commit-ID: JQKaEuCKV2F
2017-04-05 14:39:23 +09:00
Jorg K
bbb594c933 Bug 456053 - Don't trim trailing space of quoted lines. r=masayuki 2016-09-29 07:10:00 +02:00
Nicholas Nethercote
887efe04d5 Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.
2016-09-01 15:01:16 +10:00
Chris Peterson
a2408938ab Bug 1277106 - Part 4: Remove MOZ_UTF16() macro. r=Waldo 2016-07-19 21:07:53 -07:00
Chris Peterson
6c0f810682 Bug 1277106 - Part 2: Expand MOZ_UTF16() strings to u"" string literals. r=Waldo 2016-07-20 22:03:25 -07:00
Jorg K
1096dae3fa Bug 1274837 - don't crash by accessing string beyond its length. r=masayuki 2016-05-23 06:35:00 +02:00
Jorg K
e0dc0383ba Bug 233705 - remove mDontWrapAnyQuotes, mWrapToWindow and pref wrap_to_window_width. r=ehsan 2016-04-04 23:54:00 +02:00
Jorg K
b302fdf473 Bug 1225864 - New flag OutputDisallowLineBreaking to disallow line breaking. r=masayuki. 2015-11-27 15:27:00 +01:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Andrew McCreight
92010d3e4c Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Nathan Froyd
5ea83381f3 Bug 1143651 - don't use CallQueryInterface when the compiler can do the cast for us; r=ehsan 2015-03-12 13:20:29 -04:00
Mike Hommey
338d086ead Bug 1134920 - Use moz_xmalloc/moz_xrealloc/free instead of nsMemory::Alloc/Realloc/Free. r=nfroyd 2015-04-01 13:51:45 +09:00
Xidorn Quan
4570c138a4 Bug 1130891 part 2 - Add option in document encoder for including ruby annotation in plain text. r=roc 2015-03-10 17:11:55 +11:00
Ehsan Akhgari
33f29c7f8a Bug 1125963 - Part 2: Rename mPreFormatted to mPreFormattedMail in order to clarify the meaning of this member
This member is set to true when Gecko detects the DOM structure
created by the Thunderbird mail code.
2015-03-04 00:54:40 -05:00
Ehsan Akhgari
e017c67b6c Bug 1125963 - Part 1: Fix serialization of the pre-wrap elements that Thunderbird relies on; r=bzbarsky
This ensures that the plaintext serializer doesn't use the preformatted
text code path if we have encountered a pre-wrap element that
Thunderbird uses (which means setting white-space: pre-wrap and width:
NNch on the body element.)

It also ensures that we use 0 as the wrap column number passed down to
the plaintext serializer, instead of -1, which this code seems to be
unable to handle properly.
2015-03-04 00:50:17 -05:00
Andrea Marchesini
3b8e923142 Bug 1134280 - Get rid of Tag() - patch 3 - nsContentUtils::IsHTMLBlock should work with nsIContent inste nsIAtom, r=smaug 2015-03-03 11:09:00 +00:00
Andrea Marchesini
ae571f51bb Bug 1134280 - Get rid of Tag() - patch 2.3 - dom/base and docshell - Fix all the occurrences, m=smaug, r=surkov 2015-03-03 11:09:00 +00:00
Andrea Marchesini
6b10d5e43e Bug 1134280 - Get rid of Tag() - patch 1 - Is{HTML,XUL,MathML,SVG}Element and IsAnyOf{HTML,XUL,MathML,SVG}Elements, r=smaug 2015-03-03 11:08:59 +00:00
Ehsan Akhgari
c05398bfd1 Bug 1119503 - Part 2: Insert a line break between preformatted block boundaries when creating raw output; r=bzbarsky 2015-01-28 09:58:35 -05:00
Ehsan Akhgari
f8390a996c Bug 1119503 - Part 1: Determine whether an element is a block element based on the style, not the tag; r=bzbarsky
This probably fixes a whole bunch of edge cases where content uses
elements other than div.
2015-01-28 09:58:34 -05:00
Wes Kocher
02baeee702 Backed out 5 changesets (bug 1119503) for PGO m-oth failures so I can a=merge today
Backed out changeset 05ee3ae06643 (bug 1119503)
Backed out changeset 5ccef8ecf319 (bug 1119503)
Backed out changeset 8c2129ff8897 (bug 1119503)
Backed out changeset ff9012ee428a (bug 1119503)
Backed out changeset af9f4a6a7b78 (bug 1119503)
2015-01-27 16:04:59 -08:00
Ehsan Akhgari
3175c484b2 Bug 1119503 - Part 2: Insert a line break between preformatted block boundaries when creating raw output; r=bzbarsky 2015-01-27 13:25:08 -05:00
Ehsan Akhgari
ceaeeeccc1 Bug 1119503 - Part 1: Determine whether an element is a block element based on the style, not the tag; r=bzbarsky
This probably fixes a whole bunch of edge cases where content uses
elements other than div.
2015-01-27 13:25:06 -05:00
Ehsan Akhgari
f8d1e90f88 Bug 1123062 - Fall back to looking at the tag for determining if an element is preformatted when there is no style information available; r=bzbarsky 2015-01-24 15:02:07 -05:00
Olli Pettay
03fb9ea773 Bug 1121473, define the list of void tags only in one place, r=hsivonen 2015-01-19 13:17:22 +02:00
Ehsan Akhgari
547d8f6094 Bug 1113238 - Part 1: Make our plaintext and HTML serializers aware of CSS preformatted styles; r=bzbarsky
This code is super-hairy, but I think this is the minimum amount of changes
that we need.

nsPlainTextSerializer::IsInPre() before this patch is completely broken, and
I changed it to maintain a stack of bools representing whether the elements
that we saw as we were traversing the tree are preformatted or not.

nsXHTMLContentSerializer maintains this information using a counter, which is
broken in case pre and non-preformatted elements are stacked underneath each
other, but I'm not sure why this code is using a counter and I didn't want to
change it drastically, so for now I'm just making it look at the element's
style first as opposed to its tag name.

Follow-up work may include exploring whether nsXHTMLContentSerializer should
use a stack similar to nsPlainTextSerializer, and also audit this code for
more places where things are hardcoded based on tag names where we should be
really looking at the style.
2015-01-16 15:56:40 -05:00
Ryan VanderMeulen
a971c28b1b Backed out 4 changesets (bug 1113238) for mochitest-dt failures.
Backed out changeset 8439a009837d (bug 1113238)
Backed out changeset 34b89a4f9dea (bug 1113238)
Backed out changeset ce0ed9dc4d6d (bug 1113238)
Backed out changeset 9dd632bab2aa (bug 1113238)

CLOSED TREE
2015-01-13 13:50:12 -05:00
Ehsan Akhgari
33323174ad Bug 1113238 follow-up: Fix a non-unified build bustage on a CLOSED TREE 2015-01-13 12:19:19 -05:00
Ehsan Akhgari
01d6ecd6c8 Bug 1113238 - Part 3: Flush the styles before determining whether an element is preformatted; r=bzbarsky
This ensures that calls to nsComputedDOMStyle::GetStyleContextForElementNoFlush()
in the part 1 of this series give us the correct results.
2015-01-13 12:04:46 -05:00
Ehsan Akhgari
12430b6657 Bug 1113238 - Part 1: Make our plaintext and HTML serializers aware of CSS preformatted styles; r=bzbarsky
This code is super-hairy, but I think this is the minimum amount of changes
that we need.

nsPlainTextSerializer::IsInPre() before this patch is completely broken, and
I changed it to maintain a stack of bools representing whether the elements
that we saw as we were traversing the tree are preformatted or not.

nsXHTMLContentSerializer maintains this information using a counter, which is
broken in case pre and non-preformatted elements are stacked underneath each
other, but I'm not sure why this code is using a counter and I didn't want to
change it drastically, so for now I'm just making it look at the element's
style first as opposed to its tag name.

Follow-up work may include exploring whether nsXHTMLContentSerializer should
use a stack similar to nsPlainTextSerializer, and also audit this code for
more places where things are hardcoded based on tag names where we should be
really looking at the style.
2015-01-13 12:03:53 -05:00
Birunthan Mohanathas
e9068bbc4f Bug 946065 - Part 12: Move content/base/ to dom/ and flatten subdirectories. r=peterv 2014-10-25 20:25:22 +03:00