Commit Graph

855 Commits

Author SHA1 Message Date
Ryan VanderMeulen
019bd042fc Merge autoland to m-c. a=merge 2017-07-14 09:16:03 -04:00
Henri Sivonen
217ac88f04 Bug 1266495 - Remove <isindex>. r=wchen
MozReview-Commit-ID: KM0sTMM1GaD

--HG--
extra : rebase_source : 013069be4191e2ad50b5af879b690a6760e8429a
2017-07-05 11:42:04 +03:00
Nicholas Nethercote
c86dc10505 Bug 1380227 - Avoid many UTF16toUTF8 and UTF8toUTF16 conversions in nsStringBundle. r=emk.
Most of the names passed to nsIStringBundle::{Get,Format}StringFromUTF8Name
have one of the two following forms:

- a 16-bit C string literal, which is then converted to an 8-bit string in
  order for the lookup to occur;

- an 8-bit C string literal converted to a 16-bit string, which is then
  converted back to an 8-bit string in order for the lookup to occur.

This patch introduces and uses alternative methods that can take an 8-bit C
string literal, which requires changing some signatures in other methods and
functions. It replaces all C++ uses of the old methods.

The patch also changes the existing {Get,Format}StringFromName() methods so
they take an AUTF8String argument for the name instead of a wstring, because
that's nicer for JS code.

Even though there is a method for C++ code and a different one for JS code,
|binaryname| is used so that the existing method names can be used for the
common case in both languages.

The change reduces the number of NS_ConvertUTF8toUTF16 and
NS_ConvertUTF16toUTF8 conversions while running Speedometer v2 from ~270,000 to
~160,000. (Most of these conversions involved the string
"deprecatedReferrerDirective" in nsCSPParser.cpp.)

--HG--
extra : rebase_source : 3bee57a501035f76a81230d95186f8c3f460ff8e
2017-07-12 15:13:37 +10:00
Carsten "Tomcat" Book
b72c4833d5 merge mozilla-inbound to mozilla-central a=merge 2017-07-05 13:01:22 +02:00
Phil Ringnalda
22cb9f77bb Merge m-c to m-i
MozReview-Commit-ID: H6zGgEm7oOM
2017-07-04 20:32:07 -07:00
Ehsan Akhgari
86018d0bcc Bug 1377447 - Add a new flush type between Frames and InterruptibleLayout to initialize layout if needed and use it from CheckIfFocusable; r=smaug 2017-07-04 22:00:09 -04:00
Ehsan Akhgari
dd036d1249 Backout bug 1377447 for more test failures on a CLOSED TREE 2017-07-04 17:01:42 -04:00
Ehsan Akhgari
04bd0e3db3 Bug 1377447 - Add a new flush type between Frames and InterruptibleLayout to initialize layout if needed and use it from CheckIfFocusable; r=smaug 2017-07-04 15:13:20 -04:00
Sebastian Hengst
6df5db8045 Backed out changeset bd3edebd5f20 (bug 1377447) for failing its own test 1377447-1.html on Windows 7 and OS X. r=backout 2017-07-04 18:18:30 +02:00
Ehsan Akhgari
d39018ac62 Bug 1377447 - Add a new flush type between Frames and InterruptibleLayout to initialize layout if needed and use it from CheckIfFocusable; r=smaug 2017-07-04 11:13:30 -04:00
Henri Sivonen
cd8b20334c Bug 1377859 - Make the HTML parser translation makefile use nsGkAtomList. r=wchen
MozReview-Commit-ID: 7PgZ0VB2PKt

--HG--
extra : rebase_source : 748d113720f041ae66ecf6a3328cb32461bdae60
2017-07-03 14:23:30 +03:00
Henri Sivonen
a0fe0048af Bug 562590 - Make incomplete byte sequences near HTML EOF emit a REPLACEMENT CHARACTER. r=emk
MozReview-Commit-ID: 6NF4rMWxyVu

--HG--
extra : rebase_source : 0d4f557cd14f256f9100b16c27a00df381bfbdb1
2017-06-22 14:32:34 +03:00
Henri Sivonen
892c3d2d78 Bug 1376154 - Preserve nsHtml5MetaScanner::mEncoding initialization when re-translating parser. r=wchen.
MozReview-Commit-ID: I2vM178Rq6e

--HG--
extra : rebase_source : 518a5b45df7fca6e72f97c7ce1c2e81d76d1568a
2017-07-03 14:52:19 +03:00
Carsten "Tomcat" Book
7918eeee02 merge mozilla-inbound to mozilla-central a=merge 2017-06-28 13:23:29 +02:00
William Chen
a7d3b243a3 Bug 1366241 - Change memory layout of element name and attribute name hashes in HTML parser from sorted to level order BST in order to take advantage of cache during lookup. r=hsivonen
--HG--
extra : rebase_source : 3100da08a88a71b1d9253a664f0fd0f935bdcc01
2017-06-27 13:48:25 -07:00
Henri Sivonen
29ef683ca2 Bug 1333333 - Label runnables in the HTML parser (again). r=billm.
MozReview-Commit-ID: 1Z89LSr46dN

--HG--
extra : rebase_source : 4f7e31741fcfe65d6e6e44f3f0df9c9d6df31e7d
2017-06-27 10:38:30 -07:00
Carsten "Tomcat" Book
4e00eff077 merge mozilla-inbound to mozilla-central a=merge 2017-06-27 10:56:41 +02:00
Bill McCloskey
f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Masatoshi Kimura
b515c9c804 Bug 1373984 - Turn nsIDocument::mCharacterSet into mozilla::NotNull<const mozilla::Encoding*>. r=hsivonen
MozReview-Commit-ID: GF0YXDwfA14

--HG--
extra : rebase_source : fdae0046f882d47fb539a7f882364e5c5caafdcd
extra : source : 49249788c0dee331ac2989dc39f0505d965a7bd8
2017-06-18 20:37:50 +09:00
Nicholas Nethercote
58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Sebastian Hengst
b2f7adcc7d Backed out changeset 38722eed8c8a (bug 1355746)
MozReview-Commit-ID: 1HcpK10x0V4
2017-06-21 19:49:04 +02:00
Henry Chang
a221ac674f Bug 1355746 - Part 2. Polish IdleTaskRunner and reuse it for background parsing. r=smaug
This patch is mainly to make IdleTaskRunner reusable by nsHtml5TreeOpExecutor.
The only necessary work to that purpose is to remove the dependency of
sShuttingDown, which was a static variable in nsJSEnvironment.cpp.
The idea is to have a "ShouldCancel" as a callback for the consumer to
return sShuttingDown.

In addition to sShuttingDown, we use std::function<bool()> as the runner
main callback type.

MozReview-Commit-ID: FT2X1unSvPS

--HG--
extra : rebase_source : cfd99aba19f014327875683f5ea85d183c8af674
extra : intermediate-source : 99af874c7b1d278057194894d406474b8af07349
extra : source : 792359c898f68241e1373820ea8fd3ba18b09994
2017-06-15 15:51:29 +08:00
Sebastian Hengst
efd723cdad merge mozilla-central to autoland. r=merge 2017-06-18 00:21:41 +02:00
Masatoshi Kimura
838ccc4108 Bug 1369025 - Remove mozilla::dom::EncodingUtils. r=hsivonen
MozReview-Commit-ID: 5O5WtxbmATQ

--HG--
rename : dom/encoding/encodingsgroups.properties => intl/locale/encodingsgroups.properties
extra : rebase_source : 13143b43ee745b618e05ed1b6991d69781c2767d
2017-06-17 11:54:40 +09:00
Mats Palmgren
f4bd97507a Bug 1372029 - Use EnsureInserted instead of Contains+PutEntry to avoid unnecessary hashtable lookups. r=froydnj
MozReview-Commit-ID: 7p0ZFLVGFEY
2017-06-17 00:06:04 +02:00
Henri Sivonen
432653453a Bug 1261841 part 2 - Use encoding_rs instead of uconv. r=emk,mystor.
MozReview-Commit-ID: 15Y5GTX98bv
2017-06-13 13:23:23 +03:00
Bill McCloskey
66e73fd8ed Bug 1371132 - Convert NS_GetCurrentThread calls in parser/ (r=hsivonen)
MozReview-Commit-ID: Cn1h0iK0Brl
2017-06-12 20:21:43 -07:00
Henri Sivonen
7b90492a1f Backout changeset 3d64bdd31c15 (bug 1333333) for causing bug 1367067, bug 1367085 and bug 1367330.
MozReview-Commit-ID: E7Q3LQDXgIA
2017-05-24 11:35:33 +03:00
Henri Sivonen
118fc52e41 Bug 1333333 - Label runnables in the HTML parser. r=billm
MozReview-Commit-ID: 6ItIgFSSR2s

--HG--
extra : rebase_source : b7451779a0e2ab8fd427a7a9ab1fb4cb8c0801e4
2017-05-15 15:54:54 +03:00
William Chen
17c14a6258 Bug 1355441 - Reuse StackNode in TreeBuilder to avoid malloc. r=hsivonen.
MozReview-Commit-ID: 4QwQwISCKPk
2017-05-15 17:18:20 +03:00
Bill McCloskey
c197e07ff2 Bug 1363560 - Name more runnables (r=mccr8)
MozReview-Commit-ID: 3hxZDA4JlTV
2017-05-09 21:53:25 -07:00
Iris Hsiao
cdb9631de8 Backed out changeset 2e7615b554ee (bug 1355441) for crashing at nsHtml5TreeBuilder::getUnusedStackNode() intermittent failures 2017-05-09 17:11:28 +08:00
William Chen
5e9c898c8f Bug 1355441 - Reuse StackNode in HTML parser TreeBuilder to avoid malloc. r=hsivonen 2017-05-01 17:25:05 -07:00
Andrea Marchesini
1981f67eb3 Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan
This patch does these things:

1. it moves nsScriptElement, nsScriptLoader, ScriptSettings, nsIScriptElement
   and nsIScriptLoaderObserver in dom/script
2. it renames nsScriptElement to mozilla::dom::ScriptElement
3. it renames nsScriptLaoder to mozilla::dom::ScriptLoader

--HG--
rename : dom/base/nsScriptElement.cpp => dom/script/ScriptElement.cpp
rename : dom/base/nsScriptElement.h => dom/script/ScriptElement.h
rename : dom/base/nsScriptLoader.cpp => dom/script/ScriptLoader.cpp
rename : dom/base/nsScriptLoader.h => dom/script/ScriptLoader.h
rename : dom/base/ScriptSettings.cpp => dom/script/ScriptSettings.cpp
rename : dom/base/ScriptSettings.h => dom/script/ScriptSettings.h
rename : dom/base/nsIScriptElement.h => dom/script/nsIScriptElement.h
rename : dom/base/nsIScriptLoaderObserver.idl => dom/script/nsIScriptLoaderObserver.idl
2017-05-08 08:24:22 +02:00
Carsten "Tomcat" Book
f0d6de60d7 Backed out changeset 5d77f6b14633 (bug 1362119) for android bustage in nsCCUncollectableMarker.cpp:500:7: error: 'TraceScriptHolder' is not a member of 'mozilla'
--HG--
rename : dom/script/ScriptSettings.cpp => dom/base/ScriptSettings.cpp
rename : dom/script/ScriptSettings.h => dom/base/ScriptSettings.h
rename : dom/script/nsIScriptElement.h => dom/base/nsIScriptElement.h
rename : dom/script/nsIScriptLoaderObserver.idl => dom/base/nsIScriptLoaderObserver.idl
rename : dom/script/ScriptElement.cpp => dom/base/nsScriptElement.cpp
rename : dom/script/ScriptElement.h => dom/base/nsScriptElement.h
rename : dom/script/ScriptLoader.cpp => dom/base/nsScriptLoader.cpp
rename : dom/script/ScriptLoader.h => dom/base/nsScriptLoader.h
2017-05-08 09:54:38 +02:00
Andrea Marchesini
7a4ef797cb Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan
This patch does these things:

1. it moves nsScriptElement, nsScriptLoader, ScriptSettings, nsIScriptElement
   and nsIScriptLoaderObserver in dom/script
2. it renames nsScriptElement to mozilla::dom::ScriptElement
3. it renames nsScriptLaoder to mozilla::dom::ScriptLoader

--HG--
rename : dom/base/nsScriptElement.cpp => dom/script/ScriptElement.cpp
rename : dom/base/nsScriptElement.h => dom/script/ScriptElement.h
rename : dom/base/nsScriptLoader.cpp => dom/script/ScriptLoader.cpp
rename : dom/base/nsScriptLoader.h => dom/script/ScriptLoader.h
rename : dom/base/ScriptSettings.cpp => dom/script/ScriptSettings.cpp
rename : dom/base/ScriptSettings.h => dom/script/ScriptSettings.h
rename : dom/base/nsIScriptElement.h => dom/script/nsIScriptElement.h
rename : dom/base/nsIScriptLoaderObserver.idl => dom/script/nsIScriptLoaderObserver.idl
2017-05-08 08:24:22 +02:00
Henri Sivonen
4abd5bbff7 Bug 1358095 - Remove useless interned attributes from the HTML parser. r=wchen
Stuff that's removed includes:
 * IE data binding
 * SVG fonts
 * Web Forms 2.0 templates
 * unsupported math spaces
 * abandoned HTML5 features
 * random inexplicable stuff

MozReview-Commit-ID: 1iiKyFHZQWd

--HG--
extra : rebase_source : d5c2ae8d309e433053b5e9c1579707a24bf903b9
2017-04-20 14:19:12 +03:00
Henri Sivonen
c18a3863eb Bug 1269490 - Merge nsHtml5Atoms into nsGkAtoms. r=wchen
MozReview-Commit-ID: EcfnXkFuJy3

--HG--
extra : rebase_source : eb4ba2c1b95a9ccabdcdecf65f3b757691f033b8
2017-04-20 11:47:02 +03:00
Henri Sivonen
1eb6516385 Bug 1358037 - Inline the methods of nsHtml5ElementName and nsHtml5AttributeName. r=wchen
Moving methods that refer to constant to the header that defines the
constants makes it infeasible to #define the constants at the end
of the header. To avoid introducing a new pass over the Java AST,
this patch turns the primitive constants that were
previously #defined into C++ contants, which, according to
Stroustrup 3rd ed., are handled at compile-time and don't consume
storage.

MozReview-Commit-ID: JnaDgW2OM7t

--HG--
extra : rebase_source : 3678d8db967e83d8b7e265a5ef926050cc20d770
2017-04-20 10:34:32 +03:00
Swapnesh Kumar Sahoo
c11cf34901 Bug 1354331 - Remove network.http.enablePerElementReferrer usages. r=valentin r=baku 2017-05-01 00:12:34 +05:30
Henri Sivonen
b94c082c37 Bug 1355479 - Flatten attribute storage in the HTML parser to AutoTArray to avoid malloc. r=wchen
MozReview-Commit-ID: 77Hqo24F2nB

--HG--
extra : rebase_source : 9829c4ce7561e3a1d64d79884af6a8f72326021d
2017-04-13 11:14:48 +03:00
Henri Sivonen
586ba83170 Bug 1355779 - Skip interned nsHtml5ElementName lookup for Custom Elements (ones with hyphen). r=wchen
MozReview-Commit-ID: 4xQlhExyo7d

--HG--
extra : rebase_source : 2acb38715feeeec5a1817dddae31960f18b2fe72
2017-04-12 14:28:49 +03:00
Henri Sivonen
8de02e50f5 Bug 1355769 - Avoid malloc for nsHtml5ElementName when processing a non-interned element name. r=wchen
MozReview-Commit-ID: 4In5wo0flOB

--HG--
extra : rebase_source : 912c5be12ab9ef96bacdf4ef84905f7056addecb
2017-04-12 13:21:03 +03:00
Henri Sivonen
b05b669637 Bug 1355493 - Tweak bufToHash() and reduce the number of pre-interned elements. r=wchen.
MozReview-Commit-ID: 1fiqOuGUOBG

--HG--
extra : rebase_source : 8d2efb1ef9a18da0604109e9ee37e5edfb570b17
2017-04-11 17:43:54 +03:00
Henri Sivonen
658e8c34d3 Bug 1352082 - Avoid shifting a signed integer left in C++. r=wchen
MozReview-Commit-ID: 52YqyHAz2c3

--HG--
extra : rebase_source : 38faa832b92564783d06c85a2f23fb7c16ba38fe
2017-04-07 13:26:31 +03:00
Henri Sivonen
2dfbad67f6 Bug 1347737 - Introduce a new non-heap-allocated type for holding nsStringBuffer* in the HTML parser. r=wchen.
MozReview-Commit-ID: Gn9fXroxQhY

--HG--
extra : rebase_source : 70bc539e80ce0b2372569a194366cfe559614fd1
2017-03-20 14:45:15 +02:00
Olli Pettay
c30a0ed796 Bug 1351303, make HTML parser to use faster atomization in main thread, r=froydnj
--HG--
extra : rebase_source : 60b5877f237644d99e97c19e8086e2302b2aad84
2017-04-03 23:13:55 +03:00
Olli Pettay
63bf3cc260 Bug 1352874 - Improve nsHtml5AtomTable performance, r=hsivonen
--HG--
extra : rebase_source : 138f6fa73a9f16610097175ca0e3b81bdce527fd
2017-04-03 13:12:05 +03:00
Olli Pettay
ac0ae74439 Bug 1352734, use memcmp for nsIAtom Equals to improve performance, r=hsivonen
--HG--
extra : rebase_source : 1a78863c52f088609a6edcb6b32bf16bc02a4118
2017-04-02 22:40:06 +03:00
Xidorn Quan
082e026668 Bug 1345696 part 1 - Lots of fixup for the next patch. r=heycam
The next patch moves nsCSSFontFaceRule into a separate header, which
somehow affects lots of header dependencies. I'm not completely sure
why this happens, though.

MozReview-Commit-ID: KuXbsaX0NUd

--HG--
extra : rebase_source : cef91018964b5488c5031df8aada90aa7fa0ad51
2017-03-28 20:05:12 +11:00